1
我使用JavaScript動態加載jQuery。爲了加載jQuery,定義了回調函數並在其回調函數中調用了一些jQuery的東西。IE8 - 使用javascript回調函數的jQuery加載問題
按照預期在Firefox,Chrome和IE9中運行良好,但在IE8中給出了類似的錯誤消息「$未定義」表示在IE8中存在回調函數執行問題。我花了整整一天的時間找出解決方案,但沒有得到任何解決辦法。
<body>
<script language="javascript" type="text/javascript">
function loadjQuery(callback) {
var ver = getInternetExplorerVersion();
var body = document.getElementsByTagName('body')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
if (ver == 8.0) {
script.onload = callback.call();
}
else {
script.onload = callback;
}
script.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js';
body.appendChild(script);
}
loadjQuery(function() {
alert($(window).height());
});
function getInternetExplorerVersion() {
var rv = -1;
if (navigator.appName == 'Microsoft Internet Explorer') {
var ua = navigator.userAgent;
var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
if (re.exec(ua) != null)
rv = parseFloat(RegExp.$1);
}
return rv;
}
</script>
</body>
我完全被卡住了。任何幫助將明顯?
只要確保你已引用jQuery庫。還使用IE 8調試器轉到腳本選項卡,並驗證您的jQuery庫是否出現,也應該在頂部。 – 2013-02-28 06:22:26