【问题标题】:Do we still need to check for different browser types in JavaScript?我们还需要在 JavaScript 中检查不同的浏览器类型吗?
【发布时间】:2010-09-24 05:00:20
【问题描述】:

这可能是一个简单的问题,我有点不好意思问这个问题,但我已经使用这段 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,我会很高兴 - 但我在调用时遇到了问题(请参阅下面的另一篇文章)。

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

干杯,
史蒂夫

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    我们大多使用像 jQuery 这样的 JavaScript 库来为我们处理这类事情。

    奇怪的是,这些天我发现自己更频繁地破解每个浏览器的 CSS。

    【讨论】:

    • 我知道 jQuery 可以处理这个问题,但我实际上是在尝试构建对其他人的脚本的调用,该脚本不是用 jQuery 构建的。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      在代码的第二个 sn-p 上: 它正在检查两件事:

      • 打开文档的浏览器支持 DOM 的 document.images 部分,文档包含任何图像,并且浏览器的 UserAgent 字符串(标识符)包含“Mozilla/2.”,
      • 或者 UserAgent 字符串包含“WebTV”

      在这些情况下,它会输出一个空链接和图像标签。

      【讨论】:

        【解决方案4】:

        这就是使用 API(例如 jQuery)的原因。他们将检查浏览器兼容性(和未来兼容性)的工作从开发人员身上转移了出去。当新浏览器或新版本的浏览器出现时,API 会在必要时更新,以便您的代码继续工作。

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

        【讨论】:

          【解决方案5】:

          很高兴听到这么多人支持 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 中(这是我的目标,因为我想在文档准备好之前停止加载广告)

          谢谢,
          史蒂夫

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2012-01-02
            • 2020-07-31
            • 1970-01-01
            • 2013-01-06
            • 1970-01-01
            • 1970-01-01
            • 2016-11-27
            相关资源
            最近更新 更多