「リリースされたScriptコードを実行できません」エラーの原因と解決方法


多くのweb開発者がこのような問題に遭遇したかもしれません。プログラムがおかしくて、「すでにScriptを釈放したコードを実行できない」という問題が発生しました。エラー行1、列1。このような情報については説明しきれないです。列の説明は更に困惑しているjsエラーです。すべてのjsプログラムを調整している友達が一番憂鬱で、最も憎むことだと信じています。このような問題に直面して、最も簡単な方法は直接baiduやgoogleの小さな入力ボックスに誤って貼って、彼らに先にポイントを教えてもらって解決しますが、今回はこんなに簡単ではありません。baiduで検索すると、多くの人がこのような問題に遭遇したようです。   このような誤りはどこから調整されますか?後はしょうがないです。また推測します。tryです。catchは間違っています。長い間探してやっと間違った位置を見つけましたが、書いたのは問題がないことを発見しました。その後、知恵を絞ってプログラムの説明過程を考えましたが、まだ手がかりがありません。baiduを続けていますが、あるページで突然、ページが閉じられたら自動的にページのjsが解放されます。短い一言が私に大きな啓発を与えた。私のプログラムにページの閉じや方向があるかどうかを確認してください。ステアリングを実行してからこのページに戻った時にエラーが発生しました。急に分かりました。場面:ページはaとbの2つのフレームページiframeがあり、bページではjsを介して関数参照(関数ポインタ)をaページに入力し、aページの変数の中に保存します。aページはこの参照操作bページまたはbページのいくつかのプログラムによって覚えられます。この時、aページで変数が保存されているのはbページの関数のポインタ(メモリアドレス)です。bページが更新されたり、リダイレクトされたりすると、bページの関数ポインタが変化しますが、aにはbページのリフレッシュ前に転送されたポインタ(メモリアドレス)が保存されています。aページの変数は、ポインタアドレスを介してbページの対応する関数にアクセスできなくなります。および元のメモリポインタが解放されました。これは実行時に「リリースされたScriptコードを実行できません」というエラーが発生します。解決策:aページにフォールトトレランス処理を追加し、参照が間違っている場合は保存されている参照(関数ポインタ)をクリアするか、またはデフォルトの関数を指します。また、bページの再読み込み時にaページ転送関数に再参照すると、このようなエラーは発生しません。ここの説明は抽象的すぎるかもしれません。デモンストレーションを見てコードを見れば分かりやすくなります。 url、あとでtestでこの問題が発生します。