作者foreverangle (路人)
看板Ajax
標題Re: [問題] iframe置換function問題,求解
時間Thu Apr 17 10:09:29 2014
※ 引述《azureshin (azureshin)》之銘言:
: 小弟卡在一個iframe操作問題
: 有一個 B 網頁,載入了B1.js,其中B1.js有一個 foo()會被B網頁的按鈕觸發
: A網頁內置入Iframe ,來源是B網頁.
: 現在有一個需求,需要置換B網頁的foo(),且要從A網頁著手,所以我就突發起想
: http://ppt.cc/lOT0
: 但還是不行....請指教該怎做
因為你在A網頁的scope使用getScript,B2.js當然會載入到A網頁,如果你堅持在A網頁讀檔,然後再塞入B網頁,你可以使用ajax方式。
如下:
var defered = $.get("B2.js");
defered.done( function( resp ){
var iframeWindow = $iframe.get(0).contentWindow;
iframeWindow.eval( resp );
iframeWindow.document.querySelector("button").onclick = function(){
iframeWindow.foo();
};
});
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.219.10.223
※ 文章網址: http://webptt.com/m.aspx?n=bbs/Ajax/M.1397700571.A.8C2.html
※ 編輯: foreverangle (61.219.10.223), 04/17/2014 10:11:17
1F:推 eight0:不知道如 iframeWindow.foo = B2_foo 這樣是否有效? 04/17 10:55
2F:→ mmis1000:理論上會work,但跟dom有關的會炸,因為是在主視窗執行 04/17 11:17
3F:→ mmis1000:所以window會綁到主視窗去 04/17 11:18
4F:→ mmis1000:alert之類的也會出問題 04/17 11:27
5F:推 azureshin:太神了...感謝您 04/17 15:19