6

我正在寫一個html頁面使用bootstrap3模板,並在其中包含respond.js,但是當我在IE8上運行它時,它給我錯誤「Access is denied 「在控制檯中。 我正在使用它來使IE8支持媒體查詢。我在論壇上嘗試了很多東西,但沒有運氣。 respond.js是否可以在本地使用,或者我們需要在本地主機/ Web服務器上運行?Respond.js不在本地工作 - 支持在IE8中的媒體查詢

Respond.js鏈接 - https://github.com/scottjehl/Respond

HTML

<!DOCTYPE html> 
<html> 
    <head> 
    <title></title> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 

    <link href="css/bootstrap.min.css" rel="stylesheet" media="screen"> 
    <link href="css/main.css" rel="stylesheet" media="screen"> 

    <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> 
    <!--[if lt IE 9]> 
     <script src="js/html5shiv.js"></script> 
     <script src="js/respond.js"></script> 
    <![endif]--> 
    </head> 
    <body> 
    <div class="container"> 
    <h1>Hello, world!</h1> 

    <div class="main-cont">   
    </div> 
</div>   
    <script src="js/jquery-1.10.2.min.js"></script>   
    <script src="js/bootstrap.min.js"></script> 
    </body> 
</html> 

CSS - main.css的

.main-cont {background:#2d3a42; height:100px;} 

回答

7

我只是設法讓respond.js IE8上運行用於媒體查詢支持,通過在本地主機上運行。如果簡單地打開html文件,它並沒有幫助。

+1

實際上,我使用標頭中的絕對鏈接將一個respond.js文件鏈接到駐留在別人的Web服務器上的一個,但在本地查看站點時仍然出現「訪問被拒絕」錯誤。如果沒有本地的網絡服務器,這不是一種解決方法嗎? – redshift

+0

那麼,我不太確定這是否會解決問題。我只是嘗試在本地主機上運行,​​並開始工作。 – whyAto8

+0

這對我不起作用 - 在本地主機上本地拒絕訪問,或者如果我使用遠程腳本。 – jimiayler

9

Respond.js Docs ...

「由於安全限制,一些瀏覽器可能不允許這個腳本文件上工作://網址(因爲它使用的XMLHttpRequest)的Web服務器上運行。 「。

具體而言,「Respond.js使用Ajax重新請求CSS文件並解析文本響應」,這是IE本地安全策略阻止您的地方。另一位用戶建議changing the security settings in IE,但由於我的IE8副本不允許我更改這些設置,因此我無法確認該解決方案。

哦,爲了節省您的麻煩,我已經測試並確認,在jQuery中使用ajaxSetup()方法將「isLocal」屬性設置爲「true」不會克服IE中的本地限制。