2017-09-29 54 views
3

私はMeteor/NodeJSのWebサイトにTwitter's tracking pixelをロードしようとしています。TwitterのトラッキングピクセルがMIMEタイプエラーを引き起こしています

、それらが提供するコードは次のとおりです。

!(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 Twitterは、Chromeが実行を妨げるスクリプトhttps://analytics.twitter.com/i/adsctをリクエストします。

This answerは、MIMEタイプの設定問題(Nginxを実行しています)またはヘッダーの問題ですが、X-Content-Type-Options: nosniffを削除してNginxを再起動しても効果がないことを示しています。

この問題を解決する方法や改善する方法はありますか?

+0

「//analytics.twitter.com/i/adsct?p_id=Twitter」はどこにリクエストされていますか? – guest271314

+0

縮小されたuwt.jsファイルを見てください。 – OrdinaryHuman

+0

関数内で 'e'とは何ですか? – guest271314

答えて

6

TLDR:この恐ろしいエラーメッセージは、変換が実際にTwitterで受信されていることを証明しています。ありがたいことに心配することはありません。

Twitter's Google Tag Manager instructionsとして実装すると、同じコンソールエラーが発生します。私の場合、クッキーをクリアすることは役に立たなかった。実際、Twitterの独自のヘルプページにも同じエラーが表示されます。それはsrcプロパティが設定されますよう

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

ユーザーエージェントは、すぐImageの要求をキューになり、多くの場合、有効なイメージを期待:

ここtwttr.conversion.buildPixel()として露出縮小さuwt.jsスクリプトで問題のある機能は、ですに応じて。しかし、Twitterのサーバーは応答ヘッダーとしてcontent-type:text/html;charset=utf-8を提供しています。

Chromeの最新バージョンでは、応答はまた、参照するには何もない示すContent-Length: 0ヘッダを含む、特に以来、明らかにImageのインスタンスにロードtext/htmlが好きではありませんが、おそらくよりよいエラーメッセージをログに記録することができます。

+0

Chromeシークレットモードでもこのエラーメッセージが表示されますか? – OrdinaryHuman

+0

これは正解です。クッキーをクリアしても問題は解決しません。シークレットは問題を解決しません。これは、MIMEタイプとX-Content-Type-Options:nosniffの不一致によって引き起こされるブラウザのセキュリティ上の問題です。この問題は、サーバーレベルで正しいコンテンツタイプを送信することによってのみ解決できます。 –

+0

try/catchなどで非表示にする方法はありませんか? – webdif

関連する問題