2016年3月11日金曜日

javascriptで動的にページを作成した時にonUpdatedイベントは動かない

window.openで子ウィンドウを作成し、子ウィンドウに対してjavascriptで動的にページを作成する場合、Google ChromeのonUpdatedイベントは動かないようです。

要するに


test_win = window.open('', 'test_window', 'menubar=no, toolbar=no, location=no, status=no, resizable=yes, scrollbars=no');

test_win.document.open();
test_win.document.write('<html>');
・・・
test_win.document.write('</html>');
test_win.document.close();


というコードをChromeで実行した場合onCreated、onSelectionChangedは動くけど


test_win = window.open('sample.html', 'test_window', 'menubar=no, toolbar=no, location=no, status=no, resizable=yes, scrollbars=no');


みたいに普通にHTMLファイルを読み込んだときみたいにonUpdatedイベントは動かないという話。
onUpdatedはやたら動くからdocument.writeされる度に動いても良さそうなんだけども、動かないんですね。

もしも毎回動くからと初期化をonUpdatedに任せてしまっていたら、ふと動的にページを作成しようとした時に困るかもしれないです。(現に私は困りました。)

ウィンドウを開いたときの初期化はonCreatedに任せましょう。

0 件のコメント:

コメントを投稿