2012-08-29 71 views
0

我正在使用OpenLayers進行項目工作。我只在IE上看到「訪問被拒絕」的錯誤。我知道有來(也許)更容易一些問題的解決方案:OpenLayers:IE:SCRIPT5:訪問被拒絕

SCRIPT5: Access is denied in IE9 on xmlhttprequest
Access denied to jQuery script on IE

但我的限制是我不能修改,我使用的任何庫。但是由於這是一個常見問題,也許OpenLayers已經有一些解決方案,我找不到合適的語法來使用它。

 var sundials = new OpenLayers.Layer.Vector("KML", { 
      projection: map.displayProjection, 
      strategies: [new OpenLayers.Strategy.Fixed()], 
      protocol: new OpenLayers.Protocol.HTTP({ 
       url: "london_shapes.kml", 
       format: new OpenLayers.Format.KML({ 
        extractStyles: true, 
        extractAttributes: true 
       }) 
      }) 
     }); 

     map.addLayers([wms]); 
     map.addLayers([sundials]);//if you comment this, the error disappears 
     //so it is obvious that the script cannot load london_shapes.kml under IE. 

http://jsfiddle.net/dt1510/huepP/5/

問:是否有擺脫IE問題的一個標準的OpenLayers方式?

編輯: 這裏是我的問題的一個簡單的演示:
以下網頁都在IE和Firefox的工作:http://www.openlayers.org/dev/examples/kml-layer.html
但是如果我下載它,它只能在Firefox,IE7和不IE8/IE9。我需要網頁在客戶端計算機上工作,而不是在線。

+0

沒有答覆? OpenLayers是廣泛使用的庫,許多用戶仍然擁有IE瀏覽器。必須有一些出路。我不相信人們會每次修改這些庫在相同的部分,然後再次重新編譯它們... –

+0

如果它從web服務器,但不是本地機器,它不是最有可能的故障點IE的安全設置?這似乎代碼本身並不構成問題。 – invertedSpear

+0

@invertedSpear感謝您的建議。我試圖用最小的安全設置運行網頁,然後以管理員身份運行。它似乎沒有幫助。 –

回答

3

我解決了它由1.8.1更改jQuery庫版本1.8.0

+0

這對我來說也是一個無關緊要的問題。一個簡單的$('

');似乎導致在IE9中發佈相同的'script5訪問被拒絕'並且jquery的升級修復了它。 – Zimzat

+0

這個答案有效! – Rees

+0

我也是,通過升級jQuery版本1.8.1 +解決了類似的問題, – sanandrl