0

IE8 でマップが機能しない OpenLayers を使用した Web サイトがあります (IE9、Firefox、Opera、Chrome、Safari では機能します)。

しかし、IE8 でデバッガー ツールを実行し、完了するまで F5 キーを押し続けると、Web サイトが突然正常に動作します。それが特定する問題は、私のスクリプトではなく、OpenLayers.js のみにあります。

今、私は Web 開発に本当に慣れていませんが、手動で変更しない限り、デバッガーはコードを変更しないと常に思っていました。しかし、IE8 は問題を指摘するだけで、Web サイトは機能します。

これはウェブサイトへのリンクです:

http://xweb.geos.ed.ac.uk/~s1148194/eq/map.html

誰かがこれを簡単な言葉で説明できますか?

ありがとう、そしてこの質問がかなりばかげている場合はお詫び申し上げます。

4

2 に答える 2

0

動作しない方法を指定していただければ助かりますが、デバッガーの一時停止は何かが追いつくのに十分な長さであると思います。それが必要でした。

于 2012-07-15T20:23:06.077 に答える
0

ほぼ確実に競合状態です。AJAX 呼び出しがある場合、その背後にある HTTP 要求はスクリプトが一時停止されても実行を継続するため、F5 を押して続行する前に完了する可能性があります。デバッグを行わないと、スクリプトは実行を続け、AJAX の結果が到着する前にアクセスを試みる可能性があります。

修正するには、AJAX の結果が到着するのを待ってから、含まれているものを使用してください。別の方法として (推奨されませんが可能です)、AJAX リクエストを同期させることができます。これにより、競合状態が発生する可能性がなくなります。

于 2012-07-15T20:26:19.270 に答える