javascript - js页面渲染的时候替换指定id的div下面的iframe的地址,无法准确替换??
天蓬老师
天蓬老师 2017-04-10 14:27:22
[JavaScript讨论组]

各位好,我现在写了js想在页面渲染的时候替换指定id的p下面的iframe的地址,页面是别人的页面,我没有改写代码的权限,只有把js植入,然后替换,我发现随着我的轮询时间的调低,替换的准确率也在下降,当我调到20毫秒的时候基本是页面上没有被替换的了,我想知道这是为什么昵?谢谢各位了,代码如下:

function replaceAd(param){
        var i=0;
        var p_timer=setInterval(function(){
            if(document.readyState==="complete")
                clearInterval(p_timer);       
            var allps=document.getElementsByTagName("p");
            (function(allp){
                console.log(allp.length+"____"+i);
                for (;i<allp.length; i++) {                   
                var p=allp[i];  
                var id=p.id;  
                if(!id) continue;           
                for(var p in param){
                    var reg=eval("/"+p+"/gi");                                      
                    if(reg.test(id)&&p.getElementsByTagName("iframe")[0]){
                        console.log(id)
                        var e=p.getElementsByTagName("iframe")[0];                    
                        e.src=param[p];                     
                        }
                    }
                }               
            })(allps);     
        },200);
}

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(1)
大家讲道理

iframe虽然内嵌在网页里,也是一个独立的页面,你更改了url,就好比一个正常页面发起了请求,请求链接开始,浏览器解析dns,连接查询到的ip,请求资源等,这一系列都需要时间,你自己在network面板里查看一下你发起的每个请求所消耗等待的时间,就比如说你设定的20ms,上述的那么多操作能在20ms内完成吗,如果浏览器还未完成请求你又更改了url,浏览器就会取消这次的请求转而请求下一次的,所以这一次的操作就失败了,之后的就都一样了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号