我现在有一种需求,就是在自己的页面中插入一段别人的广告代码,
他们提供的是一段外部JS文件,是一个绝对地址。
这段JS会返回一个图片,注意是随机返回的,也就是每次可能不一样。
我现在由于很多原因需要在页面多个地方插入这段代码,但是这样的话,
多处的内容会显示不一样,我想让这几个地方显示的都一样。
请问大家有什么好的方法没?
不一定直接插入这段代码,例如使用iframe也可以。只要能保证,我各个地方显示的一样就行。
多谢!!!!!!!!急用!!!!!

解决方案 »

  1.   

    var image = new Image(url);
    image.onload = function() {
        div1.appendChild(image.clone(false));
        div2.appendChild(image.clone(false));
        div3.appendChild(image.clone(false));
    }
    这样试试
      

  2.   

    非常感谢您的回答,但是可怕不行,因为我那段JS返回的不只是一个图片而已,
    还有一些DIV和JS,有时候还会返回一个Flash回来,
    只是在页面展现的时候,展现在用户面前的是一张图片或者一个Flash。
    有好多东西用户是看不到的。但是确实是返回来了。
      

  3.   

    像一楼那样,不管返回什么,找到对应的HTML,都是可以clone的,clone后再插入对应的地方?
      

  4.   

    复制的话可以连事件以前复制过去,例如$(this).clone(true).appendto($("div"))
      

  5.   

    写个控件页,然后再控件页引用那段js,然后在其他任何需要显示这段JS返回内容的页面嵌入控件页
      

  6.   

    可以试试这样
    <script src="url.js?q=1" />
    因为,浏览器加载时会发现该文件已经在缓存中了,所以可以直接加载缓存。
      

  7.   

    这个难吗???按说楼主应该没问题吧,当局者迷吧(要不就是我想当然,反正没实验)。<div id="theforever_csdn">
    <script src="那个js.js"></script> 它肯定返回一些内容放在这里了,无论是怎样组织的,但都在外层这个theforever_csdn的DIV中啊。
    </div>然后在其他需要用到它的内容的地方,写上:
    <div id="theforever_csdn1">1</div>
    <div id="theforever_csdn2">2</div>
    <div id="theforever_csdn3">3</div>
    最后用js:
    <script>
    document.getElementById("theforever_csdn1").innerHTML=document.getElementById("theforever_csdn2").innerHTML=document.getElementById("theforever_csdn3").innerHTML=document.getElementById("theforever_csdn").innerHTML;
    </script>
      

  8.   

    需要注意的就是外部JS有个加载过程,如果后面的JS过快执行了,就得不到正确的内容。所以把最后面放到window.onload中并加一个setTimeOut延时处理。另外,也可以用后台程序把对方提供的JS下载到自己网站上来(解决跨域访问问题),然后用AJAX取得JS,并在成功事件中进行数据设置。