1

それを制御するJavascriptビューモデルを含むアプリケーションがあります。

アプリケーションは (window.open()) で新しいウィンドウを起動し、新しいウィンドウのボタンに「クリック」イベント リスナーを割り当てます。新しいウィンドウにはフォームが含まれており、送信されるとウィンドウで「アンロード」イベントが発生し、親ウィンドウからのアクセスが中断されます。

ウィンドウが「アンロード」されてフォームが送信されたときに、この新しいウィンドウへの親の参照をどのように保持または復元できますか?

4

2 に答える 2

0

私が知る限り、すべてのブラウザがウィンドウへの名前によるアクセスを許可しているわけではありません。しかし、私はまだ別のウィンドウ名を使用しようとしますwindow.open.

アクセスを取り戻そうとするときは、url なしで window.open を実行するだけです (おそらくjavascript:void(0)アドレスとして (ウィンドウが移動しないように)、同じ ID を使用している限り、同じウィンドウである必要があります)。

それはかなりハッキーですが

于 2013-05-09T18:12:50.057 に答える
0

その参照を保持することはできません。ただし、何らかの値にアクセスしようとしている場合は、Cookieまたはローカル ストレージを調べることができます。

また、イベント リスナーを「unload」イベントにアタッチして、参照を元に戻そうとすることもできます。イベントが発生したら、現在の「親」ウィンドウを閉じ、「送信」スクリプトが親ウィンドウを指すようにします。開いたら、そこから子ウィンドウを再度開くことができます。

アップデート

クロスウィンドウ JavaScript は厄介なテーマです。該当する場合は、最初のアプローチを取ることをお勧めします。

于 2013-05-09T17:52:17.837 に答える