我愚蠢地決定在我的最新項目中支持IE8,這無疑將成爲我生命中最愚蠢的想法。IE8中的類未定義
所以我遇到的最基本的問題是我的主類變量是未定義的。我的意思是我有一個原型,看起來有點像這樣一個文件general.js設置:
var generalClass;
// jQuery Object
var $ = jQuery;
$(document).ready(function() {
// A general class for a general file.
generalClass = function() {
}
generalClass.prototype = {
}
new generalClass();
});
所以generalClass變量與我的原型/等填滿。然後我包括這在我的文檔的頭部,後來我在generalClass呼籲函數別的東西,有點像這樣:
<script type="text/javascript" src="general.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
type: 'POST',
url: ...,
data: {
},
success : function(data) {
// CALL MY FUNCTION:
generalClass.prototype.myFunction();
}
}
});
</script>
在每一個瀏覽器,IE9從Chrome瀏覽器工作原理。在IE8中這是行不通的,generalClass是未定義的。它爲什麼這樣對我?
這jQuery的版本是您使用? – 2014-09-29 17:43:25
'new generalClass();'''generalClass.prototype.myFunction();'沒有意義 – epascarello 2014-09-29 17:44:12
是否有其他錯誤發生? IE8基於ECMAScript 3,而您提到的其他瀏覽器遵循ECMAScript 5.您可能會遇到ES5允許的語法錯誤。 – 2014-09-29 17:45:56