2008-11-26 68 views
0

这可能是一个简单的问题,我有点尴尬地问这个问题,但我一直在处理这段JavaScript广告代码一段时间,这让我感到困扰,它对我来说没有任何意义,可能现代浏览器已经过时了。我的问题是,我们是否还需要检查浏览器类型,脚本的第二部分是干什么的?我们是否仍然需要检查JavaScript中的不同浏览器类型?

<script type="text/javascript"> 
    document.write('<scr' + 'ipt src="" type="text/javascript"></scr' + 'ipt>'); 
</script> 
<script type="text/javascript"> 
    if ((!document.images && navigator.userAgent.indexOf('Mozilla/2.') >= 0) || navigator.userAgent.indexOf("WebTV")>= 0) { 
    document.write('<a href="">'); 
    document.write('<img src="" border="0" alt="" /></a>'); 
    } 
</script> 

我想澄清的是,我居然称某人一些广告代码,所以虽然我可以查看浏览器的类型,这将真正做到了代码管理人员的责任。如果我可以将它转换成jQuery,我会很喜欢它 - 但是我在拨打电话时遇到了问题(请参阅下面的其他文章)。

我想知道的是,我还需要检查这些浏览器类型吗?

干杯,
史蒂夫

回答

1

在第二个代码片段: 它检查两件事情:

  • 浏览器打开文档支持DOM的document.images部分,该文件包含的任何图像,浏览器的用户代理字符串(标识符)含“的Mozilla/2。”
  • 或该用户代理字符串包含“的WebTV”
在这些情况下

,它输出一个空链路和图像标签。

5

主要是我们使用像jQuery JavaScript库,其处理这种事情对我们来说。

奇怪的是,现在我发现自己经常浏览每个浏览器的CSS。

+0

我明白,jQuery处理这个,但我实际上是试图建立一个调用,而不是用jQuery构建的elses脚本。 – 2008-11-26 18:22:58

2

最好检查浏览器DOM是否支持特定的功能,而不是直接处理用户代理字符串。

0

这就是为什么使用API​​(如jQuery)的原因。他们将检查浏览器兼容性(以及未来兼容性)的行为从开发者身上移开。当新的浏览器或新版本的浏览器出现时,如果有必要,API将被更新,以便您的代码继续工作。

所以看看你是否可以想出一个jQuery的解决方案,你不必担心这一点。为了将来的兼容性,你可能需要获得最新版本的jQuery,但理论是你的代码不需要更新。

0

很高兴听到有这么多人支持jQuery,但我添加的代码是针对外部脚本,我无法控制,而我的问题是,每当我使用jQuery调用此脚本时,广告将打开建立自己的网页上:

$(this).append().html('<script src="http://ad.doubleclick.net/adj/' + site + '.iclick.com/adtarget;subss=' + subss + ';subs=' + subs + ';area=' + area + ';site=' + site + ';kw=' + kw + ';sz=' + $adSize + ';pos=' + count + ';tile=' + tilecount + ';ord=' + zzzzadslotzzzz + '"></script>'); 

我喜欢这个东西进入的jQuery(这是我的目标,因为我想阻止加载广告,直到文档的准备)

谢谢,
Steve

相关问题