单击时加载带参数的脚本

时间:2010-11-18 05:25:16

标签: jquery

我通过adspeed.com投放广告我希望每次点击标签链接时都会刷新我们的富文本(推荐)广告。单击链接时是否可以重新加载脚本?目前,脚本只是放在div中,并在页面加载时执行。

div id="quoteContain">
 <!-- AdSpeed.com Serving Code XXX for [Zone] XXX -->
<script type="text/javascript" src="http://g.adspeed.net/ad.php?do=XXX&amp;wd=200&amp;ht=600&amp;target=_top"></script>
<noscript><iframe width="200" height="600" src="http://g.adspeed.net/ad.php?do=XXX&amp;wd=200&amp;ht=600&amp;target=_top" frameborder="0" scrolling="no"   >
<a href="http://g.adspeed.net/ad.php?do=XXX&amp;wd=200&amp;ht=600&amp;pair=as" target="_top"><img style="border:0px;" src="http://g.adspeed.net/ad.php?do=img&amp;zid=XXX&amp;wd=200&amp;ht=600&amp;pair=as" alt="i" width="200" height="600"/></a></iframe>
</noscript><!-- AdSpeed.com End -->
                <!-- /quoteContain --></div>

我一直试图从div中删除脚本并每次加载都没有成功

$("ul#flowtabs li a").click(function(){
    $("#quoteContain").load("http://link?params");
)};

2 个答案:

答案 0 :(得分:2)

那是Same Origin Policy给你的地狱。基本上,它阻止您使用XHR从其他域访问资源。我建议你阅读链接网站。

一种可能的解决方法是创建一个简单的代理来获取所需的脚本,并根据请求将其注入页面。

答案 1 :(得分:1)

每次重新加载页面时,都会重新加载页面的所有资源。这是设计的。浏览器的作用是“缓存”结果,试图为您提供更好的响应时间。否则,您必须等待加载每个资源。当logo经常是250k而javascript包含另外250k然后CSS文件是50k时,突然间事情开始堆积起来,而你只是为了向你显示价值5万美元的文本,你会看到每页一兆或更多。好吧,在您看到页面之前,它会变成接近一两秒的加载。

您需要做的是在返回的脚本上配置标头以强制执行无缓存,或者您需要确保每个请求在末尾都包含一个随机字符串,以使其看起来正在请求新资源。

ajax文档上的脚本注入标记也是如此。浏览器将缓存它的内容。