Я новичок в DOM и JavaScript и сталкиваюсь с некоторыми проблемами при попытке вызвать функцию, определенную во фрейме, из контекста фрейма верхнего уровня или Firebug.
Учитывая следующий набор фреймов:
<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, который будет вызывать функцию javascript, определенную в # leftFrame при первом открытии вышеуказанного документа. Я выполняю это в сеансе Firebug с jQuery .
jQuery ("# leftFrame") возвращает элемент DOM кадра. Теперь я хотел бы выполнить мою функцию ( openLink , определенную в виде простого старого тега сценария в leftFrame.aspx) в контексте фрейма. Насколько я понимаю, функция будет узлом DOM под элементом документа leftFrame . Однако я не могу достать документ фрейма.
Я пробовал:
jQuery("#leftFrame").document
jQuery("#leftFrame").contentDocument
jQuery("#leftFrame").find("html")
Также при проверке дерева DOM в Firebug я не вижу функции openLink под любыми узлами DOM, как я ожидал.
Кто-нибудь может мне помочь?