我很难通过jQuery遇到IFRAME的contents()
。它实际上是我正在尝试访问的帧内的帧。这些帧都来自相同的源(相同的域,相同的根路径等)。
我目前通过以下方式访问该框架:
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 question中所述),我得到一个空数组。
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
我做错了什么?
答案 0 :(得分:0)
这是未经测试的,您应该在访问框架时使用内容。我认为它会是:
var someDivs = $("#outerIframe").contents().find("#innerIframe").contents().find("div");