3
我是DOM和JavaScript的新手,在嘗試從頂級框架或Firebug的上下文中調用框架中定義的函數時遇到了一些問題。Javascript/jQuery:在另一個框架中調用函數
鑑於以下框架:
<html>
<body>
<frameset cols="*" rows="81,*">
<frame id="topFrame" tabindex="1" name="topFrame" noresize="noresize" scrolling="No" src="hometop.aspx"/>
<frameset border="0" cols="214,*" frameborder="no" framespacing="0">
<frameset border="0" cols="*" frameborder="no" framespacing="0" rows="70,*">
<frame tabindex="-1" id="chatFrame" name="chatFrame" scrolling="No" noresize="noresize" src=""/>
<frame tabindex="-1" id="leftFrame" name="leftFrame" noresize="noresize" src="leftFrame.aspx"/>
</frameset>
<frame tabindex="-1" id="mainFrame" name="mainFrame" src=""/>
</frameset>
<noframes>Your browser does not support frameset.</noframes>
</frameset>
</body>
</html>
我想寫一個javascript掛鉤,將調用在#leftFrame定義的JavaScript函數上述文件首次打開時。我在Firebug會話中執行此操作,jQuery已加載。
jQuery(「#leftFrame」)返回一個框架DOM元素。現在我想在框架的上下文中執行我的函數(openLink,在leftFrame.aspx中的普通舊腳本標記中定義)。我的理解是,該函數將是leftFrame的文檔元素下的DOM節點。但是我無法掌握框架的文檔。
我已經試過:
jQuery("#leftFrame").document
jQuery("#leftFrame").contentDocument
jQuery("#leftFrame").find("html")
而且檢查DOM樹在Firebug我看不到在任何DOM節點OpenLink公司功能我期望時。
任何人都可以幫我嗎?
'contentWindow'是一個IE擴展,在HTML5之前並未標準化,並且在其他瀏覽器的舊版本中有支持問題。通常,你應該首先在存在長標準contentDocument屬性的情況下分支代碼(並且使用'defaultView'來獲得關聯的'window'),並回落到IE6-7的'contentWindow'中。 – bobince 2010-08-17 09:51:42