がある場合の対処
超適当に書いた。
下のコードに特に意味はない。
(function(wnd){ var frms = wnd.frames || wnd.document.frames, len = frms.length; if (len>=1) { for (var i=0; i<len; i++) { arguments.callee(frms[i]); } } else { wnd = wnd.contentWindow || wnd; var elems = wnd.document.getElementsByTagName("*"); for (var i=0,len=elems.length; i<len; i++) { if (typeof elems[i].disabled==="boolean") { elems[i].disabled = true; } } } })(window);
これで階層深く潜っていけばいろんなオブジェクト操作できる。
<frame>
よりも<div>
が主流の今、使う場面はだいぶ少ないと思うけど。
<iframe>
も<object>
に取って代わられて消え行くと思われていたが、HTML5にも採用されたことで一定の地位を確立した。
けど、採用場面はクロスドメインの場合が多く、これはJavaScriptのポリシーでどんなに頑張っても中身を弄れないので今回は無視しました。