0

私はバグに取り組んでいます。リクエストが行われた後、更新されたビューがインラインスクリプトブロックとともに返され、ビューの一部が更新されます。$が定義されていないという奇妙な参照エラーが発生していました。Chromeで調査した結果、参照エラーが発生した瞬間に存在するように見えるコンテキストでは、$は定義されていませんが、window.parent。$が定義されていることがわかりました。

発見の方法:基本的に、未処理のエラーでChromeが中断しました。これにより、無名関数である1つの呼び出しのコールスタックが自然に発生しました。通常、コンソールはブレークポイントと一致するコンテキストを使用しているように見えますが、この場合、ウォッチウィンドウを使用して、何が定義され、何が定義されていないかを確認する必要がありました。Firefox、Chrome、IEのすべてでこの動作を観察しています

リクエストがAJAXリクエストであるという事実はおそらく無関係です。HTMLが既存のDOMに追加され、インラインスクリプトタグがある場合-これらのインラインスクリプトタグは、iframeと同様に独自の子ウィンドウコンテキスト内で実行されますか?

返された応答をjQueryを介して注入しています。これは、実行を処理している可能性があると想定しています。jQueryは新しい子ウィンドウコンテキストを作成できますか?

IFrameの外部で子ウィンドウコンテキストが使用されるのはどのような状況ですか?

4

1 に答える 1

0

問題は実際にはIFrameになってしまいました。誰かが、内部でIFrameを使用する「ajaxSubmit」拡張機能を使用するコールバック内でコールバックを使用していました。IFrameが使用されていないという私の仮定は正しくありませんでした。

于 2012-11-19T21:28:12.640 に答える