我正在使用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。我需要網頁在客戶端計算機上工作,而不是在線。
沒有答覆? OpenLayers是廣泛使用的庫,許多用戶仍然擁有IE瀏覽器。必須有一些出路。我不相信人們會每次修改這些庫在相同的部分,然後再次重新編譯它們... –
如果它從web服務器,但不是本地機器,它不是最有可能的故障點IE的安全設置?這似乎代碼本身並不構成問題。 – invertedSpear
@invertedSpear感謝您的建議。我試圖用最小的安全設置運行網頁,然後以管理員身份運行。它似乎沒有幫助。 –