我们是否需要为所有不同的第三方脚本添加noscript标签

时间:2019-01-21 20:14:38

标签: javascript html noscript

我在网页上安装了许多第三方脚本。 其中很少有Google Analytics(分析),Facebook Pixel,Bing跟踪,Google Ads跟踪等等。 它们都提供了一段脚本和noscript代码。 例如: 必应跟踪代码

<script>
        (function(w,d,t,r,u){
            var f,n,i;w[u]=w[u]||[],f=function(){
                var o={ti:"5709384"};o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")},
                n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function(){
                    var s=this.readyState;s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)
                },i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)})(window,document,"script","//bat.bing.com/bat.js","uetq");
    </script>
    <noscript><img src="//bat.bing.com/action/0?ti=5709384&Ver=2" height="0" width="0" style="display:none; visibility: hidden;" /></noscript>

还有Facebook像素代码

  <script>
    !function(f,b,e,v,n,t,s)
    {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
    n.callMethod.apply(n,arguments):n.queue.push(arguments)};
    if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
    n.queue=[];t=b.createElement(e);t.async=!0;
    t.src=v;s=b.getElementsByTagName(e)[0];
    s.parentNode.insertBefore(t,s)}(window,document,'script',
    'https://connect.facebook.net/en_US/fbevents.js');
    fbq('init', '756756745676'); 
    fbq('track', 'PageView');
    </script>
    <noscript>
    <img height="1" width="1" 
    src="https://www.facebook.com/tr?id=756756745676&ev=PageView
    &noscript=1"/>
    </noscript>

现在我担心的是我们是否需要添加所有noscript标签。如果我删除所有noscript标记并放置一个带有消息的单个noscript标记以打开javascript,那会很好。还是我对noscript标签有错误的想法。请告知。

1 个答案:

答案 0 :(得分:1)

如果明确向您提供了<noscript>标签,尤其是Facebook Pixel,Google Tag Manger等,则不应删除它们。

对于普通用户(默认情况下已打开脚本),常规<script>标签将运行,您的第三方跟踪工具将按预期运行,从而为您的分析做出了正确的贡献。

但是,对于某些关闭了脚本执行功能的用户,正常的<script>标签不会运行,因此您的分析将不再准确。这就是<noscript>发挥作用的地方。

如果您注意到,这些第三方分析提供的<noscript>具有<iframe>属性的<img>src以及您的“ app_id”。使用Facebook Pixel和GTM,您还将在属性中看到类似“ PageView”之类的内容。

只要加载了<iframe>的{​​{1}}或<img>,页面浏览量就会归因于您的跟踪ID。

因此,在脚本关闭的情况下,src现在可以用来跟踪您的网络性能,从而使您的分析更加准确(即使某些高级跟踪功能无法使用)。

阅读详细信息herehere