我在通過jQuery遇到IFRAME的contents()
時遇到困難。它實際上是我嘗試訪問的框架內的一個框架。這些幀全部來自同一個源(相同的域,相同的根路徑等)。無法訪問jQuery中IFRAME的內容
我目前通過訪問幀:
var $frame = $(window.top.frames[1].document).find('#innerFrameName');
這工作得很好,如果我console.log
$幀的價值,我看到它是一個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
我在做什麼錯?
「我在做什麼錯了?」使用框架? :) – epascarello
相信我,這不是選擇!這是第三方產品。 –