加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

javascript – Twitter跟踪像素导致MIME类型错误

发布时间:2020-12-13 21:31:10 所属栏目:Nginx 来源:网络整理
导读:我正在尝试在我的Meteor / NodeJS网站上加载Twitters tracking pixel. 他们提供的代码是: !(function(e,t,n,s,u,a) { e.twq || ((s = e.twq = function() { s.exe ? s.exe.apply(s,arguments) : s.queue.push(arguments); }),(s.version = "1.1"),(s.queue

我正在尝试在我的Meteor / NodeJS网站上加载Twitter’s tracking pixel.

他们提供的代码是:

!(function(e,t,n,s,u,a) {
    e.twq ||
        ((s = e.twq = function() {
            s.exe ? s.exe.apply(s,arguments) : s.queue.push(arguments);
        }),(s.version = "1.1"),(s.queue = []),(u = t.createElement(n)),(u.async = !0),(u.src = "//static.ads-twitter.com/uwt.js"),(document.body.appendChild(u)));
   })(window,document,"script");

twq("init","MY-TRACKING-ID");
twq("track","PageView");

它加载正常,但在控制台中返回以下错误:

Refused to execute script from ‘07001…’ because its MIME type (‘text/html’) is not executable,and strict MIME type checking is enabled.

这是完全相同的问题:https://twittercommunity.com/t/analytics-tracking-pixel-error-was-blocked-due-to-mime-type-mismatch-x-content-type-options-nosniff/83583/2,但是当该线程未解决时,他现在正在该网站上运行Twitter跟踪像素,这表明这是服务器配置问题.

看一下这个代码,uwt.js file from Twitter它从https://analytics.twitter.com/i/adsct开始请求一个Chrome阻止运行的脚本.

This answer表明它是MIME类型配置问题(我正在运行Nginx)或标题问题,但删除X-Content-Type-Options:nosniff并重启Nginx没有任何效果.

知道如何修复或更好地排除故障吗?

最佳答案
TLDR:这个可怕的错误消息证明Twitter实际上正在接收转换,所以谢天谢地,没什么好担心的.

按照Twitter’s Google Tag Manager instructions实现时,我收到相同的控制台错误.清除cookie对我的实例没有帮助.事实上,同样的错误出现在Twitter自己的帮助页面上!

这是缩小的uwt.js脚本中的违规函数,公开为twttr.conversion.buildPixel():

buildPixel: function(e) {
    var t = new Image;
    t.src = e
},

用户代理将在设置src属性后立即排队请求Image,并且通常期望响应的有效映像.然而,Twitter的服务器提供内容类型:text / html; charset = utf-8作为响应头.

Chrome的最新版本显然不喜欢将text / html加载到Image的实例中,但可能会记录更好的错误消息,特别是因为响应还包含Content-Length:0标头,表明没有什么可看的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读