返回列表 發帖

關於iframe的onload事件?

我寫了一段改變iframe內元素的JavaScript
直接執行是OK的
但如果放進iframe.onload=function(){}內就不起作用了……
應該怎麼寫呢?
I.WON'T.DIE

這樣寫應該沒問題啊
var myIFrame = document.getElementById('myIFrame');
myIFrame.onload = function() {
  alert('done!');
};
To infinity and beyond!

TOP

嗯……
但我加上其它指令就不行了
var a=document.getElementById('iframe_0');
a.onload=function(){
  var b=a.contentWindow.document;
  alert('testABC');
};
這樣alert跳不出來,而
var a=document.getElementById('iframe_0');
  var b=a.contentWindow.document;
  alert('testABC');
就跳出alert……
I.WON'T.DIE

TOP

我試過這樣是 ok 的喔:
var aa = document.getElementById('test');
aa.onload = function() {
  var b = aa.contentWindow.document;
  alert('done!');
};
不知道你加的是什麼其他指令?
你可以用 Firefox 安裝 Firebug 後,開啟 Firebug 的主控台來看,就可以看到 JavaScript 錯誤訊息。
To infinity and beyond!

TOP

啊囧
我去查了些資料……
好像是iframe和parent不同網域就無法存取……
有什麼解決辦法嗎?……
錯誤主控台是寫
³å€Ö property Window.document
I.WON'T.DIE

TOP

嗯,不同網域之間的 JS 無法互通喔。如果只是要撈不同網域的資料或許還有辦法,但是要直接存取網頁上的 element 就不行了。
To infinity and beyond!

TOP

返回列表 回復 發帖