0

私は最終的に、通常の/優先ブラウザであるChromeで、従来のサイトを実行することができました。私はF12ツールでJavaScriptコードをステップ実行する方法を見てみました。スクリプトコードにアクセスする方法がわからないとき、私はいくつかの調査を行い、ASP.NETプロジェクトのjavascriptデバッグが(おそらく?)IEでのみ行われることがわかりました。ASP.NETサイトを実行しているときにIEでは例外が発生しますが、Chromeでは例外が発生するのはなぜですか?

プロジェクトでは、ChromeからIEにブラウザを切り替えました。今、私はVS IDEからサイトを開こうとすると、それは例外で破る:

enter image description here

なぜChromeは陽気に、これを無視し、あるいはなぜIEはgrouchilyそれの問題を作るのですか? Chromeの場合

、私は様々なScriptResourceファイルを参照してください。

enter image description here

...しかし、これらはすべてが、サイトのためのカスタムJavaScriptのようです - マイクロソフトとTelerikコード。

このASP.NETサイトは.NET 3.5をターゲットにしています。 IE11; Visual Studio 2013.

答えて

4

Cookiesコレクションからアイテムをリクエストしています。このCookieはChromeに存在する可能性が高く、例外が発生しません。おそらく、このCookieはInternet Explorerには存在しません。Internet Explorerでは、例外が発生します。

さらに処理する前に、Request.Cookies [...]がnullの場合は常に結果がチェックされます。

1

Request.Cookies(PortalHelper.BUTTON_MEMBER)を初期化している場所で、そのコードが実際にそのコードを実行していることを確認してから、値が存在することを確認してください。そのコード行とエラーのあるコード行にブレークポイントを設定し、次にIDE経由でIEを実行して、どのコードが最初に実行されるかを確認します。

IDEからは、Chromeを使用しているコードの一部をスキップしている可能性があります。そうしないと、以前に他のワークフローで初期化したことがあります。

1

実際のコードの問題を修正するかどうかわかりませんか?それとも、クロムとIEの動作の違いを尋ねるだけですか?

後者の場合、VSがIE jsデバッグセッションを起動し、エラーでブレークします(JSがVSでデバッグされているのがわかります)。これは、ブラウザ開発ツールが(まだIEのために)まだかなり初期段階であったときに便利な機能でした。クロムで実行すると、そのようなVSブラウザのデバッグセッションはありません。そのため、サイレント実行が実行されます。

新しいブラウザを開いて実行中のサーバーのURLにヒットした場合(これはVSプロセスフックを持たない)、IEはサイレント実行を実行します。

関連する問題