Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态添加iframe时重新加载不需要的页面_Javascript_Iphone_Firefox_Iframe_Reload - Fatal编程技术网

Javascript 动态添加iframe时重新加载不需要的页面

Javascript 动态添加iframe时重新加载不需要的页面,javascript,iphone,firefox,iframe,reload,Javascript,Iphone,Firefox,Iframe,Reload,看起来这是Firefox Home的一个严格问题,随着Mozzilla放弃了对它的支持并将其从iStore中删除,我想尝试解决方法()是没有意义的,不管怎样,如果有人对跟随/solwing感兴趣,我已经向他们发布了bug() 我已经得到了非常好的交叉排列库,使用iframe方法进行通信 而且它一直工作到。。在iPhone上使用Firefox打开。带有库的页面启动,然后神奇地重定向 我已经研究了代码并试图找出问题: 动态添加iframe父对象后,将重新加载到iframe src。我测试了以下内容

看起来这是Firefox Home的一个严格问题,随着Mozzilla放弃了对它的支持并将其从iStore中删除,我想尝试解决方法()是没有意义的,不管怎样,如果有人对跟随/solwing感兴趣,我已经向他们发布了bug()


我已经得到了非常好的交叉排列库,使用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']
      重定向
  • 与jquery相同
    $(“”)。附录(“#报告A”)
  • 还尝试先创建没有src的iframe,然后设置它
  • 同时使用
    $('#iframe').attr('src','link')
    原因重定向进行更新
  • 另外,我在日志上看到了(iframe中称为page的是日志状态)。 实际上有两个调用,所以看起来像是首先读取附加的iframe,然后在新页面中打开ds iframe src

    在剖析我的代码时,我发现在代码的一部分中创建iframe时会出现问题,这是由我的js加载程序动态添加的。我使用了以下附加脚本

    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。