2014-03-03 6 views
-1

Safari와 FireFox 모두에서 잘 작동하는이 JavaScript가 있지만 IE에서는 작동하지 않으며 제대로 작동하지 않습니다. 구글은 여기에 많은 도움이되지 :( 을 스크립트는 약간의 메뉴에서 클릭 할 때 어떤 링크 사업부의 dependend의 내용 변경! 나는이 페이지에서이 JSFiddle에 코드를 가지고!IE에서 JavaScript가 작동하도록 설정

페이지를 어디 코드/일 것입니다해야합니다

Live workingpage 너희들이 날 IE에서이 일을하는 데 도움이됩니다 희망 그것은 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

오류를보고하고 있습니까? 악명 높은 노란색 플래그 또는 "F12 개발자 도구"에서 (IE8 이상을 사용하는 경우). –

+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(); 
}); 

을 입력하여

는 핸들러가 추가됩니다.

+0

이 대답은 Thx입니다. "Begin"과 "$ (function()"사이에 공백을 삽입했으나 아직 작동하지 않았습니다. –

+0

주석 부분을 완전히 제거합니다. 공간이 아닙니다. 전체 줄이 주석이므로 실행되지 않습니다. ''부분은 필요 없습니다. – 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> 태그가 있습니다.


또 다른 문제.

은 XMLHttpRequest http://www.simonhollander.dk/v/heste/Churchill/html/churchillresul.html를로드 할 수 없습니다 : 나는 당신의 연결의 몇 가지를 클릭하면 크롬이를보고합니다. 요청한 리소스에 'Access-Control-Allow-Origin'헤더가 없습니다. 따라서 'http://simonhollander.dk'은 액세스가 허용되지 않습니다. churchill.shtml는 : 1

기본적으로 당신의 아약스 호출은 보안 이유로 거부되고 있으며,이 문제는 페이지가 http://simonhollander.dk 있다는 것이다 것 같습니다, 그러나 당신이 요청하는 URL은 http://www.simonhollander.dk입니다. 하나는 www가 있습니다. 다른 하나는 그렇지 않습니다. 이로 인해 도메인이 달라 지므로 동일한 출처 정책으로 인해 ajax가 차단됩니다. 도메인을 정확히 일치시키고이 요청을 차단해서는 안됩니다.

+0

좋은 점이 있지만 IE8 이상은 개체 이니셜 라이저에 매달려있는 쉼표로 문제가 없으며 (문제가있는 IE7 및 이전 버전 만 해당) OP는 (마지막으로) 돌아와서 말했습니다. 그는 IE11을 사용하고 있습니다. –

+0

Thx,하지만 문제가되지 않았습니다! –

+0

@SimonJensen - 이전 버전의 IE에서는 문제가있었습니다. 문제를 관찰 한 것에 대해 자세히 설명해 주시면 더 좋은 기회를 가질 수 있습니다. 돕는 데. – jfriend00

관련 문제