0

我使用的聯盟計劃,在這種情況下,意味着一旦客戶按下「訂單」按鈕,他/她將被定向到賣家網站。賣家然後註冊客戶來自我們的按鈕,這是通過使用他註冊的跟蹤器完成的。這個跟蹤器得到的「訂單」按鈕點擊執行,使用下面的代碼:appendChild()專門用於Chrome。可能不解釋爲JavaScript

<script type="text/javascript"> 
    $(function() { 
     function injectFile(filePath) { 
      var newScript = document.createElement('script'); 
      newScript.type = 'text/javascript'; 
      newScript.src = filePath; 
      document.getElementsByTagName('body')[0].appendChild(newScript); 
     } 

     $('#custom_form').on('success.form', function() { 
      injectFile('https://example.com/&ti=' + Math.round((new Date().getTime() * Math.random())) + '&charset=ISO-8859-1'); 
     }); 
    }); 
</script> 

我刪除了實際的URL和大部分參數。 ti表示reg工作所需的訂單ID,但不一定有效。上面的數學生成一個隨機數並插入它。

通過跟蹤HTTP標頭,我可以確認這適用於Firefox和IE,因爲它正確地請求URL。但是,在Chrome中,沒有註冊請求,賣家也不會看到我的客戶。

有時,Chrome控制檯顯示如下:「資源解釋爲腳本,但以MIME類型text/html傳輸。」但是,這只是一個警告,因爲它將它定義爲腳本,它不應該影響執行?這裏奇怪的是我每次都沒有得到這個錯誤。

我已經嘗試了幾乎所有的東西,我看不出爲什麼Chrome會與這種基本功能不兼容。有沒有可能的解決方法或實際解決我的問題?

由於提前, 弗雷德裏克

+1

您確定事件'success.form'總是在Chrome上觸發嗎? –

+0

事件似乎正常啓動。我輸入了一個警報(「HEY」);緊接在injectFile調試之前的事件之後,並且確實彈出消息。 – Fredrik

+0

想知道,如果將腳本追加到HEAD,結果相同嗎? –

回答

1

這是遠程服務器的阿帕奇/ Nginx的配置的錯誤的配置。 該文件的MIME類型不是「文本/ JavaScript」。 但是對您的代碼沒有影響;)

+0

但它確實將它解釋爲一個腳本,然後在chrome中查看配置文件,它甚至可以成功執行injectFile函數,但是沒有HTTP請求..? – Fredrik

0

嘗試在隱身窗口或全新安裝的Chrome中運行您的代碼 - 某些擴展程序以難以檢測的方式阻止從廣告或跟蹤網站加載異步腳本。

+0

感謝您的迴應,但它似乎沒有什麼區別。 – Fredrik