2014-03-03 55 views
-1

我有這個JavaScript在Safari和FireFox中都能很好地工作,但在IE中它不起作用,我無法使它工作!谷歌沒有在這裏幫了不少:( 腳本修改在點擊一個小菜單有什麼聯繫一個div dependend內容! 我有這個網頁上,並在此JSFiddle代碼!使JavaScript在IE中工作

的頁面裏代碼應該/將工作:Live workingpage

希望你們會幫我指明瞭IE這項工作它可以在Safari,有時在FF

問題已更新

這裏是我的JS:

<script type="text/javascript" src="https://code.jquery.com/jquery-1.10.2.min.js"></script> 
<script type="text/javascript"> 
<!-- Begin 
$(function() { 
$('#om').click(function(e) { 
    $('.hestetekst').load('heste/Churchill/html/churchilltekst.html'); 
    e.preventDefault(); 
}); 

$('#resul').click(function(e) { 
    $('.hestetekst').load('heste/Churchill/html/churchillresul.html'); 
    e.preventDefault(); 
}); 

$('#billeder').click(function(e){ 
    $('.hestetekst').load('heste/Churchill/html/churchillbilleder.html'); 
    e.preventDefault(); 
}); 

$('#video').click(function(e){ 
    $('.hestetekst').load('heste/Churchill/html/churchillvideo.html'); 
    e.preventDefault(); 
}); 

$('#afkom').click(function(e){ 
    $('.hestetekst').load('heste/Churchill/html/churchillafkom.html'); 
    e.preventDefault(); 
}); 
}); 

$.ajaxSetup({ 
'beforeSend' : function(xhr) { 
    xhr.overrideMimeType('text/html; charset=ISO-8859-1'); 
} 
}); 
// End --> 
</script> 

包括菜單的HTML:

<div class="hesteundertop"> 
    <p> 
     <span class="linkstyle3"><a id="om" href="#">Om Churchill</a></span> &#124; 
     <span class="linkstyle3"><a id="resul" href="#">Resultater</a></span> &#124; 
     <span class="linkstyle3"><a id="billeder" href="#">Billeder</a></span> &#124;   
     <span class="linkstyle3"><a id="video" href="#">Video</a></span> &#124; 
     <span class="linkstyle3"><a id="afkom" href="#">Afkom</a></span> 
    </p> 
</div> 

<div class="hestetekst"> 
    <!--#include virtual="heste/Churchill/html/churchilltekst.html"--> 
</div> 
+0

您正在使用哪個版本的IE? –

+0

它是否報告任何錯誤?無論是臭名昭着的黃旗,還是(如果您使用IE8或更高版本)的「F12開發者工具」。 –

+2

在IE中有什麼問題? 「不起作用」並不是很多描述。你看錯誤控制檯,看看它報告? – jfriend00

回答

0

看看頁面源代碼,看起來頁面已經被最小化了。整個JavaScript是一個單行註釋,因爲它以<!-- Begin$(function()開頭。該腳本從未執行。

通過手動鍵入

$('#om').click(function(e) { 
    $('.hestetekst').load('http://www.simonhollander.dk/v/heste/Churchill/html/churchilltekst.html'); 
    e.preventDefault(); 
}); 

到Chrome中的控制檯中,如預期的那樣的處理程序中的溶液。

+0

Thx爲這個答案。我在「Begin」和「$(function()」之間插入了一個空格,但是仍然沒有成功。 –

+0

完全刪除註釋部分。不是空格。整行是註釋,因此從未執行過。你不需要'<! - Begin'或'// End - >'部分 – andyb

+0

我真的認爲這些都沒有關係?! 但是,這使它的工作!但不是沒有刪除逗號因爲@ jfriend00自帶了 –

0

我不知道,如果這是唯一的問題,但你應該在這裏刪除多餘的逗號這是衆所周知的導致問題在IE的一些版本:

$.ajaxSetup({ 
    'beforeSend' : function(xhr) { 
     xhr.overrideMimeType('text/html; charset=ISO-8859-1'); 
    },  // <== remove the comma on this line 
}); 

另一個問題。您的真實HTML頁面中有兩個<body>標籤。


另一個問題。 Chrome的這個報告時,我點擊了幾個您的鏈接:

的XMLHttpRequest無法加載 http://www.simonhollander.dk/v/heste/Churchill/html/churchillresul.html。 請求的 資源上沒有「Access-Control-Allow-Origin」標題。原因'http://simonhollander.dk'因此不允許 訪問。 churchill.shtml:1

基本上你的Ajax調用被拒絕的安全考慮,它看起來像這樣的問題是,你的網頁是http://simonhollander.dk,但您所請求的網址爲http://www.simonhollander.dk。請注意,有一個www。另一個則沒有。這使他們不同的領域,所以阿賈克斯由於同源策略而被阻止。使域精確匹配,並且不應阻止此請求。

+0

不錯的地方,但IE8及以上版本在對象初始化程序中懸掛逗號(這只是IE7和更早版本有問題),並且OP(最終)回來並說他使用的是IE11 –

+0

Thx,但這不是問題! –

+0

@SimonJensen - 這是舊版IE瀏覽器的一個問題,也許如果你更詳細地描述了你觀察到的問題,我們可以有更好的機會在幫助。 – jfriend00

相關問題