1

そこで、.NET 4.5 の WebForms で OpenLayers を使用して Web マッピング アプリケーションを作成しています。

私のブラウザが IE9 にアップグレードされるまで、それは素晴らしく機能していました。JavaScript が失敗するようになりました。調査した結果、IE9 が特定の種類の JavaScript の処理方法を変更したことが問題のように思われることがわかりました。したがって、コミュニティが JavaScript ライブラリを書き直すことができるようになるまでの解決策は、ブラウザーを互換モードで実行することのようです。残念ながら、互換モードを正しく機能させることができないようです。

現在、私のアプリケーションには 1 つのページがあり、これがヘッダーです。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="AgPlaceHolder._default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
<title>Agrilogic Place Holder</title>
<script src="OpenLayers.js"></script>
<script src="AgInit.js"></script>
<script src="AgLabels.js"></script>

<style>
    html, body
    {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
    }
</style>

うまくいきませんでした。そこで、web.config ファイルに追加するこの代替手段を見つけました。

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <add name="X-UA-Compatible" value="IE=EmulateIE8"/>
    </customHeaders>
  </httpProtocol>
</system.webServer>

これもうまくいきませんでした。

使用されているいくつかのバリエーションを試しましたが、どれも機能していないようです。私が間違ったことをした人はいますか?または、この問題に対する別の解決策がありますか?

ありがとう。

新しく構築されたページには同じエラーがあります。Bing を削除すると:

0x800a138f - Microsoft JScript runtime error: Unable to get value of the property 'wrapDateLine': object is null or undefined

Bing を含める場合:

0x800a138f - Microsoft JScript runtime error: Unable to get value of the property 'resources': object is null or undefined

私はあなたの専門知識に翻弄されています。

4

1 に答える 1

2

そのため、どうやら BING はステータス 200 で「キーの有効期限が切れています」というエラー メッセージを送信するようです。OpenLayers は、BING が「これを正しく行うには怠惰すぎる」という意味であるのに対し、ステータス 200 は「OK」を意味するとかなり合理的に想定していました。当然のことながら、Chrome Developer Tools、FireBug、および Visual Studio は同じことを行い、問題は報告されず、スクリプトの実行が試行されるまで. 次の人に注意してください。応答全体を開き、ヘッダーを信じないでください。

于 2013-05-01T15:10:43.397 に答える