作者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/cn.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