Javascript 动态添加iframe时重新加载不需要的页面
看起来这是Firefox Home的一个严格问题,随着Mozzilla放弃了对它的支持并将其从iStore中删除,我想尝试解决方法()是没有意义的,不管怎样,如果有人对跟随/solwing感兴趣,我已经向他们发布了bug()Javascript 动态添加iframe时重新加载不需要的页面,javascript,iphone,firefox,iframe,reload,Javascript,Iphone,Firefox,Iframe,Reload,看起来这是Firefox Home的一个严格问题,随着Mozzilla放弃了对它的支持并将其从iStore中删除,我想尝试解决方法()是没有意义的,不管怎样,如果有人对跟随/solwing感兴趣,我已经向他们发布了bug() 我已经得到了非常好的交叉排列库,使用iframe方法进行通信 而且它一直工作到。。在iPhone上使用Firefox打开。带有库的页面启动,然后神奇地重定向 我已经研究了代码并试图找出问题: 动态添加iframe父对象后,将重新加载到iframe src。我测试了以下内容
我已经得到了非常好的交叉排列库,使用iframe方法进行通信 而且它一直工作到。。在iPhone上使用Firefox打开。带有库的页面启动,然后神奇地重定向 我已经研究了代码并试图找出问题: 动态添加iframe父对象后,将重新加载到iframe src。我测试了以下内容:
document.createElement('iframe')
附加到文档document.createElement('iframe')
附加到预创建的div.innerHTML
方法,其中包含预创建的iframe代码frames['iframe\u name'].location.src
带有空src的预创建iframe.location.assign()
- 使用
失败document.getElementById()
- 使用
重定向帧['iframe\u name']
$(“”)。附录(“#报告A”)代码>
$('#iframe').attr('src','link')
原因重定向进行更新var head = document.getElementsByTagName("head")[0];
var script = null;
script = document.createElement('script');
script.type = 'text/javascript';
var tag = Math.round(new Date().getTime() / 1000);
script.src = GLOBAL_VARIABLE_WITH_PATH_TO_URL+'jsc/include.js?'+tag ;
head.appendChild(script);
也试过
document.write("<script src='"+FUTUREclickINFOpathS+"fcijsc/fci-include.js?"+tag+"'><\/script>");
document.write(“”);
更新
还尝试在jquery$(document.ready()
-与document.write
方法一起使用时,它工作正常,直到在setTimeout中调用appending
更奇怪的是,当在主静态js文件中使用setTimeout()
时,同样的事情也会发生。我今天将尝试setInterval()
,看看发生了什么
所以很明显,iframe的src上的任何更改都会导致父级重新加载,即使iframe已预创建。你知道为什么吗
ps.抱歉有些不理解的句子,但我对这个问题感到困惑您是否使用postMessage
从iframe与家长进行沟通?我遇到了这个问题,并注意到从iframe的脚本中删除parent.postMessage
修复了它。如果我找到一个,我会用一种方法来解决这个问题。只是一个想法,但是您是否尝试过用.location.assign(字符串url)更改url/src,所以您的意思是,当您尝试更改iframe上的src
属性时,父页面会重新加载?如果您保持所有脚本不变,只注释掉iframe src更改的行,则一切正常(当然,iframe除外)?使用预先创建的iframe,但将初始src属性设置为实际页面,即www.yourdomain.tld/blank.htm,然后使用$('#premadeframeid').attr('src',newURL)对其进行更改;chris:是的,Evetryhing在iframe Appeading之前工作正常-我已经评论了几乎所有的库,只留下了elf诊断功能,10秒后触发,看看是什么过程。它在域a上运行,如果发现问题,将iframe附加到域B,错误代码在URLASTCODER中传递-不能这样做,我在客户端域上运行,但不允许我预创建任何内容。但我将尝试使用jQuery更改src。