
[1]
[CITE[d:id:quaa]] ([CODE[2007-07-24 01:31:19 +09:00]] 版) <http://d.hatena.ne.jp/quaa/20070722#p2>
([[名無しさん]] [WEAK[2007-07-27 14:15:33 +00:00]])

[2]
[CITE[2007-11-11 - d:id:quaa]] ([CODE[2007-12-15 11:45:44 +09:00]] 版) <http://d.hatena.ne.jp/quaa/20071111#p1>
([[名無しさん]])

[3]
[CODE(DOMa)@en[[[window]]]] の[[特性]]
([[JavaScript]] の [[Global]] の[[変数]]) や 
[CODE(DOMa)@en[[[location]]]] は変化しないみたいです。

;; テスト:
<http://suika.fam.cx/~wakaba/-temp/test/dom/window/doc/set-document-1.html>

([[名無しさん]])

[4]
第1引数が [CODE(DOMi)@en[[[Document]]]] でないと引数が違うというエラーになります。
([[名無しさん]])

[5]
[CODE(HTMLe)@en[[[iframe]]]] で[[レンダリング]]されている
[CODE(DOMi)@en[[[Document]]]] を[[引数]]に指定すると、エラーも出ませんが、何も起こりません。

;; テスト:
<http://suika.fam.cx/~wakaba/-temp/test/dom/window/doc/set-document-frame-1.html>

([[名無しさん]])

[6]
その [CODE(DOMi)@en[[[Window]]]] の [CODE(DOMa)@en[[[document]]]] 自体を[[引数]]に指定すると、再[[レンダリング]]が発生するようです。

;; [[HTML]] の[[構文解析]]はしないので、当然[[スクリプト]]は実行されませんし、
[[DOM]] 上の変更も保持されます。
[[フォーム制御子]]の中身や[[スクロール]]の状態も保存されますが、
[CODE(HTMLe)@en[[[iframe]]]] は再読み込みされ、[[スクロール]]の状態は初期化されます。

;; テスト:
<http://suika.fam.cx/~wakaba/-temp/test/dom/window/doc/set-document-self-1.html>

([[名無しさん]])

[7]
>>3、>>6
[CODE(DOMa)@en[[[onload]]]] は呼ばれないみたいです。。。
([[名無しさん]])

[8]
[CODE(DOMm)@en[[[setDocument]]]] される前の元々の
[CODE(DOMi)@en[[[Document]]]]
の [CODE(DOMa)@en[[[defaultView]]]] は
[CODE(JS)@en[[[null]]]] になるようです。
([[名無しさん]])

[9]
>>3-8 は [[Opera]] 9 での結果です。
([[名無しさん]])


[10]
どうやら、同じ頁内で作られた [CODE(DOMi)@en[[[Document]]]]
でないと、黙って無視されるようです。例えば、 
[CODE(DOMi)@en[[[XMLHttpRequest]]]] や
[CODE(DOMi)@en[[[DOMParser]]]] で作った 
[CODE(DOMi)@en[[[Document]]]] を
[CODE(HTMLe)@en[[[iframe]]]] 内の
[CODE(DOMi)@en[[[Window]]]] に
[CODE(DOMm)@en[[[setDocument]]]] しようとしても、
(明らかに same-origin でも) 無視されるようです。
([[名無しさん]])

