【问题标题】:Twitter tracking pixel causing MIME type errorTwitter 跟踪像素导致 MIME 类型错误
【发布时间】:2018-03-11 15:02:14
【问题描述】:

我正在尝试在我的 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");

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

拒绝执行来自 'https://analytics.twitter.com/i/adsct?p_id=Twitter...' 的脚本,因为它的 MIME 类型 ('text/html') 不可执行,并且启用了严格的 MIME 类型检查。

这与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 Twitterhttps://analytics.twitter.com/i/adsct 请求一个脚本,Chrome 阻止该脚本运行。

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

知道如何解决或更好地解决此问题吗?

【问题讨论】:

  • 请求的“//analytics.twitter.com/i/adsct?p_id=Twitter”在哪里?
  • 查看缩小的 uwt.js 文件。
  • 函数中的e是什么?

标签: javascript nginx twitter


【解决方案1】:

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 的服务器提供 content-type:text/html;charset=utf-8 作为响应标头。

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

【讨论】:

  • 您在 Chrome 隐身模式下是否仍然收到此错误消息?
  • 这是正确答案。清除 cookie 并不能解决问题。隐身无法解决问题。这是由 MIME 类型和 X-Content-Type-Options: nosniff 不匹配导致的浏览器安全问题。这个问题只能在服务器级别通过发送正确的内容类型来解决。
  • 无法用 try/catch 之类的方法隐藏它?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-07
  • 1970-01-01
  • 1970-01-01
  • 2011-10-30
  • 1970-01-01
  • 2018-09-24
相关资源
最近更新 更多