Home‎ > ‎Application‎ > ‎Flash‎ > ‎

getURLでプチはまり

getURL()はFlash側からjavascriptを呼び出す、最も簡便な方法だ。
で、別ウィンドウとかを出すときとかも使ったりする。
getURL(href,target);
このhrefにjavascript:<function>;みたいな形で埋め込むことで、実行できるわけだ。
function anotherWindow(){
    window.open('href','target');
}
で、 swfを呼び出すhtmlに上記のようなjavascriptの関数が定義されていて、ActionScriptで下記のようなコードを入れると、どうなるか?
javascript:
Flash側とjavascript側で、targetが2つあるわけで、これがどうなるのか?ということなんだけど…。

結論から言うと、Firefoxでは(というか、他試していないけど)getURL側のターゲットで開いて、その中でjavascriptを実行しようとするみたいなのだ。
当然、javascriptの関数は子windowでは定義されていないからエラーになる。
ついでに、targetに空文字列を渡しても、_blank扱いで開くみたい。

※このあたりちょっといい加減。後で確認しておこう。

getURLで別窓を開くスクリプトを開くときには、getURLのtarget引数は指定しないようにしましょう。ということで。


参考
Comments