簡體   English   中英

Twitter跟蹤像素導致MIME類型錯誤

[英]Twitter tracking pixel causing MIME type error

我正在嘗試在我的Meteor / NodeJS網站上加載Twitter的跟蹤像素

他們提供的代碼是:

!(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跟蹤像素,這表明這是一個服務器配置問題。

查看代碼, 來自Twitter的這個uwt.js文件請求來自https://analytics.twitter.com/i/adsct的腳本,Chrome阻止其運行。

這個答案表明它是MIME類型配置問題(我正在運行Nginx)或標題問題,但刪除X-Content-Type-Options: nosniff並重新啟動Nginx沒有任何效果。

知道如何修復或更好地排除故障嗎?

TLDR:這個可怕的錯誤消息證明Twitter實際上正在接收轉換,所以謝天謝地,沒什么好擔心的。

根據Twitter的Google跟蹤代碼管理器說明實施時,我遇到了相同的控制台錯誤。 清除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標頭,表明沒有什么可看的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM