環境
・Windows XP
・xulrunner 1.9.1.3 (=Firefox3.5.3?)
現在、xulrunnerで簡単なウェブブラウザを作っていて、
ウェブページ(非特権ドキュメント)からshowModalDialogで、子ウィンドウを呼び出す時に、
値を受け渡すjavascriptを実行したところ、
Firefoxだと受け渡せるのですが、
自作ブラウザだと、受け渡せません。
以下は、htmlに記述してあるjavascriptです。
////////////// 親ページ
コード:
<script>
function open_dialog(){
var ret = window.showModalDialog('./sub.html', '子ウィンドウへ渡す値');
alert(ret) //=> Firefoxだと、子ページの('親ページに戻したい値')が返り、自作ブラウザだとnullが返る。
}
</script>
///////////// 子ページ(sub.html)
コード:
<script>
function close_dialog()
{
var dargs = window.dialogArguments;
// firefoxだと、dargs変数には、親ページのshowModalDialogの第2引数の値が入りますが、
// 自作ブラウザですと、nullとなります。
var args = window.arguments;
// 一方、args変数には、自作ブラウザだと、showModalDialogの第2引数の値が入ってきて、
// Firefoxだとnullとなります。
window.returnValue = "親ページに戻したい値";
window.close();
}
</script>
というわけで、window.returnValueとwindow.dialogArgumentsに入る値は、
自分でセットしないといけないのかな(Firefox3では、動作しているから)、と思いまして、
表題のタイトルとさせていただきました。まったく的外れかもしれませんが。
非特権ドキュメントでのwindow.dialogArgumentsとwindow.returnValueの
値の取得方法に関するヒントでもよいので、ご教授いただければ幸いでございます。
なにか情報をお持ちの方何卒よろしくお願い申し上げます。