Board logo

標題: 關於iframe的onload事件? [打印本頁]

作者: JS領事    時間: 2009-8-20 22:18     標題: 關於iframe的onload事件?

我寫了一段改變iframe內元素的JavaScript
直接執行是OK的
但如果放進iframe.onload=function(){}內就不起作用了……
應該怎麼寫呢?
作者: wmh    時間: 2009-8-21 00:05

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

作者: JS領事    時間: 2009-8-21 16:18

嗯……
但我加上其它指令就不行了
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……
作者: wmh    時間: 2009-8-22 08:35

我試過這樣是 ok 的喔:
var aa = document.getElementById('test');
aa.onload = function() {
  var b = aa.contentWindow.document;
  alert('done!');
};
不知道你加的是什麼其他指令?
你可以用 Firefox 安裝 Firebug 後,開啟 Firebug 的主控台來看,就可以看到 JavaScript 錯誤訊息。
作者: JS領事    時間: 2009-8-22 11:53

啊囧
我去查了些資料……
好像是iframe和parent不同網域就無法存取……
有什麼解決辦法嗎?……
錯誤主控台是寫
³å€Ö property Window.document
作者: wmh    時間: 2009-8-23 23:18

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




歡迎光臨 jsGears.com 技術論壇 - AJAX, JavaScript, jQuery, 網站開發, 前端效能優化 (http://jsgears.com/)