我一直在拉我的頭髮試圖解決這個問題。我們支持IE8,並使用一家名爲「Marketo」的公司進行一些分析。當我加載他們的Javascript文件作爲外部,然後嘗試實例化該文件中的類,它會在IE8中拋出一個Javascript「Object expected」錯誤。它不會在Firefox或Safari中造成這種情況。IE8外部文件導致對象期望的錯誤(Marketo)
但是,當我手動將外部內容粘貼到<script>
標記內時,該類實例化的很好!只有當JavaScript文件是外部的時候纔會導致問題。我必須使用外部,因爲Marketo定期更新他們的代碼,我無法繼續複製/粘貼。
這裏是外部:http://munchkin.marketo.net/munchkin.js
這是我如何加載文件:
<script type="text/javascript" src="http://munchkin.marketo.net/munchkin.js"></script>
這是我如何實例化類:
<script type="text/javascript">
mktoMunchkin("300-EOJ-215");
</script>
使用setTimeout()
沒有幫助任何東西(我想也許這是一個緩慢的服務器導致時間問題):
<script type="text/javascript">
setTimeout(function() {
mktoMunchkin("300-EOJ-215");
}, 5000);
</script>
任何想法?
UPDATE:找出問題所在。我們通過HTTPS發佈了我們的網頁,並通過HTTP將Marketo munchkin.js文件拉下,無論出於何種原因IE8(而不是Firefox,Safari等)都遇到了問題。將網址切換爲https://munchkin.marketo.net/munchkin.js
,這很好。
我能夠在IE 8中沒有錯誤的情況下運行這個腳本。不知道它到底在做什麼(它需要很長時間才能運行),但是在我的IE 8瀏覽器中不會出現錯誤。 – 2012-02-21 20:34:43
這在IE8中爲你工作沒有錯誤? – seibelj 2012-02-21 20:35:52
下面是我沒有問題的代碼...' \t
\t \t <腳本類型= 「文本/ JavaScript的」 SRC = 「http://munchkin.marketo.net/munchkin.js」> \t \t \t \t測試...
\t \t <腳本類型= 「文本/ JavaScript的」> \t \t \t mktoMunchkin( 「300-EOJ-215」); \t \t \t ' – 2012-02-21 20:38:42