我在contents()
通过 jQuery 遇到 IFRAME 时遇到了困难。它实际上是我试图访问的框架中的一个框架。这些帧都来自相同的源(相同的域、相同的根路径等)。
我目前正在通过以下方式访问框架:
var $frame = $(window.top.frames[1].document).find('#innerFrameName');
这很好用,如果我console.log
是 $frame 的值,我会看到它是一个 jQuery 数组:
[<frame src="mypage.htm" id="innerFrameName" frameborder="1" border="1" scrolling="auto" title="My Inner Frame" name="bsscright">]
但是,当我尝试调用以下内容时(如本StackOverflow 问题中所述),我得到一个空数组。
var $contents = $frame.contents();
console.log($contents); // => []
即使我尝试访问文档本身,我也做不到。
var innerDocument = $frame.get(0).document;
console.log(innerDocument); // => undefined
我什至尝试在不使用 jQuery 的情况下进行操作,并且得到与上述相同的结果。
var innerFrame = window.top.frames[1].frames['innerFrameName'];
var innerDocument = innerFrame.document;
console.log(innerFrame); // => the DOM object representing the IFRAME
console.log(innerDocument); // => undefined
我究竟做错了什么?