私はOpenLayersを使用してプロジェクトに取り組んでいます。また、IEでのみ「アクセスが拒否されました」というエラーが表示されます。私は(多分)より簡単な問題に対するいくつかの解決策があることを知っています:
SCRIPT5:xmlhttprequestのIE9でアクセスが拒否され
ましたIEのjQueryスクリプトへのアクセスが拒否されました
しかし、私の制限は、使用しているライブラリを変更できないことです。しかし、これは一般的な問題であるため、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の標準的な方法はありますか?
編集:これ
が私の問題のより簡単なデモンストレーションです:
次のWebページはIEとFirefoxの両方で機能します:http
://www.openlayers.org/dev/examples/kml-layer.html
しかし、私がそれをダウンロードした場合、それはのみ機能しますFirefox、IE7であり、IE8/IE9ではありません。オンラインではなくクライアントのコンピューター上にあるときにWebページを機能させる必要があります。