這裏我有一個問題。下面我動態地創建腳本元素..問題是ga.onload = function()不能在ie中工作。其他瀏覽器如ff,chrome工作正常。但IE無法正常工作。代碼是使用javascript如何克服document.createElement('script')。onload問題爲ie版本
1
A
回答
1
腳本標記上的onload事件可能會或可能不會運行,具體取決於瀏覽器。
如果您使用的是jQuery,那麼您可以使用$.getScript()
函數來加載JavaScript文件併爲其分配回調函數。當JavaScript代碼被加載時,回調被觸發。
如果您沒有使用JavaScript框架,那麼您仍然可以使用上面提到的代碼在DOM中注入腳本標籤。這應該適用於所有瀏覽器,但沒有防彈的方法來確定腳本實際加載的時間。 onload可能會或可能無法正常工作。
從這一點開始,您可以每隔幾秒嘗試一次「輪詢」符號。這意味着您使用window.setInterval()
函數在注入腳本標記後每隔幾秒執行一次輪詢函數。在輪詢功能中,您可以使用JavaScript typeof
運算符來查看特定變量是否爲undefined
(對於上述示例,您將檢查typeof jQuery.fn.hint
是否未定義)。一旦定義,取消輪詢功能並執行某些操作。
2
您可以使其適用於所有瀏覽器。問題是IE報告狀態不可靠,它並不總是報告完整,有時它只是報告加載。以下代碼適合我。
runFun = "";
var newScript = document.createElement('script');
if(document.all){
newScript.onreadystatechange = function() {
if (newScript.readyState == 'complete') {
newScript.onreadystatechange = "";
runFun = new Function("alert('here');");
}
else if (newScript.readyState == 'loaded') {
newScript.onreadystatechange = "";
runFun = new Function("alert('here');");
}
runFun();
}
}
else {
// most browsers
newScript.onload = function() {
var runFun = new Function("alert('here');");
runFun();
}
}
2
嘗試在src之前放置onload。結果發現,我在這種類型的編程JS功能在IE7 +中的不正常失敗導致了很多問題,這是由於程序員錯誤造成的,哈哈。當我以編程方式將它們交換時,它開始奇蹟般的工作,正如我所期望的那樣,我在標記不調用onload處理程序時遇到了問題。 #ieFAIL!
相關問題
- 1. 如何克服javascript問題?
- 2. jQuery getScript()vs document.createElement('script')
- 3. 問題使用的onload的JavaScript
- 4. JavaScript SDK Facebook:使用Init Script的問題
- 5. IE問題:使用javascript
- 6. 爲document.createElement('script')設置'src'屬性?
- 7. 腳本onload/onerror與IE(用於延遲加載)問題
- 8. document.createElement無法在IE 8及以下版本中工作
- 9. Javascript .onload在IE中不能觸發? window.open參考問題?
- 10. IE9 selectSingleNode從測試版中缺失,如何在JavaScript中克服這個問題?
- 11. CKEditor的版本3.6.2問題IE 10
- 12. IE不同版本的問題
- 13. 如何使用Javascript打印</script>作爲文本
- 14. IE檢測Javascript版本
- 15. Javascript問題IE 11
- 16. IE javascript/jquery問題
- 17. IE Javascript String.Match問題
- 18. 克服Java中使用文件問題
- 19. 如何克服IE7填充問題?
- 20. 如何克服ReactJS中的CORS問題
- 21. 如何克服以下url問題?
- 22. 如何克服在JavaScript代碼中缺少Perl \ G的問題?
- 23. 如何檢測IE版本
- 24. 如何使用JSONP來克服XSS問題?
- 25. jQuery版本1.5 - ajax - <script>標記時間戳問題
- 26. ssh&script問題
- 27. 克服的基本問題與使用FasterCSV寶石
- 28. javascript document.createElement函數?
- 29. JavaScript submit();問題在IE/Safari/FF爲Mac
- 30. Javascript輸入佔位符文本使用背景圖像onload問題