javascriptの父、子ページのインタラクティブな技巧の総括
2163 ワード
フレームはサブページを保存するために使用され、iframeでも良いし、frameでも良い.windowオブジェクトはグローバルオブジェクトで、ページ上のすべての関数とオブジェクトはそのスコープにあります.1、parentは親ウィンドウを表し、また親ウィンドウにいくつかの層の入れ子がある場合、トップクラスの親ウィンドウを表します.selfはウィンドウ自体を表します.
if(self==top){//}
if(self==parent){}//
2.1、親ページから副ページ要素にアクセスする.考え方はサブページの要素はすべてwindow.documentの対象の中にあります.まずそれを取ってから言います.フレームはname属性を設定したほうがいいです.これが一番便利です.如き
もしchild.htmlの のidが'menu'の を るなら、このように くことができます.
window.frames["test"].document.getElementById('menu');
// window , window:
frames["test"].document.getElementById('menu');
// , name window , :
test.document.getElementById('menu');
2.2 ページアクセスサブページ またはオブジェクト.サブページの とオブジェクトは、そのwindowオブジェクトの にあります.
// child.html showMesg , ,
window.frames['test'].showMesg();
//
test.showMesg();
// ,
alert(test.person);
2.3その Dcumentを する .まず'document.getElement ById()'または'document.getElements ByTagName''を ってフレームをdocumentの のElementとして し、そのプロパティcontent Doctdocument/content Window(iframe、frame )にアクセスします.
//======
var doc=document.getElementById('testId');
//
var doc=document.getElementsByTagName('iframe')[0];
var winOrdoc=doc.contentDocument||doc.contentWindow;//
if(winOrdoc.document)winOrdoc=winOrdoc.document;
winOrdoc.getElementById('menu');
// window , :
if(winOrdoc.defaultView)winOrdoc=winOrdoc.defaultView;
3.1サブページは ページ にアクセスします. は2.1と じで、 に のウィンドウwindow.documentの を します.
parent.window.document.getElementById('parentMenu');
//
parent.document.getElementById('parentMenu');
3.2、サブページは ページ またはオブジェクトにアクセスします. えは2.2と じで、 に の のwindowオブジェクトを します.
parent.parentFunction();
に、jsの を します.つまり、AサイトにあるjsコードはBサイトの にアクセスすることができません.フレームが のサイトのページであれば、 の で にアクセスする 、ブラウザは「 がない」エラーを するはずです.