2017-07-27 12 views
-2

私はpage1.htmlとscript1.jsファイルを持っています。 page1が読み込まれると、script1.jsはc/C++層との接続を作成し、データを送受信します。これまではすべてうまく動作します。htmlページ間でjsを共有する

page2.htmlで読み込まれたscript2.jsでpage2.htmlページを追加しました。 page2.hmtlもc/C++層と通信する必要があります。そのために私はscript1.jsから既存の接続を再利用しようとしています これは私が何をしようとしているのか分かりませんか?はいの場合は、どうですか?または、ページ2が読み込まれたときに、cレイヤーとの接続を再度開く必要がありますか?

私がしようとしたことはshared.jsファイルを作成し、2つのhtmlページ間で同じ接続を共有しようとしました。しかし、HTMLページ間でjsオブジェクトを共有できないために失敗しました。 (接続情報はpage2がロードされるとリセットされますが、localstorageを試しましたが、文字列の格納にのみ使用されます) this questionは私の場合と似ていますが、その解決策は完全にはわかりませんでした。

+1

これはC++とは関係ありません。接続のもう一方の端がC++で書かれているという事実は無関係です。タグを削除してください。 –

+0

https://stackoverflow.com/help/mcve –

+0

実際には、localStorageまたはsessionStorageを使用してページ間でオブジェクトを共有できますが、JSON.stringifyメソッドを使用して文字列に変換し、JSON.parseを使用してオブジェクトを復元する必要があります文字列から。 –

答えて

0

ここには2つのオプションがあります。コードを共有していないので、私の答えは推測に基づいています。 1つの選択肢は、ラッパーのhtmlファイルを作成し、それにjsファイルを含めることです。次に、XMLHTTPリクエスト(ajax)を使用してセカンダリ・ページをロードして、ページ全体をリロードしないでください.jsファイル・インスタンスはどちらのページにも残っています。もう1つの選択肢は何らかの接続があると言われているので、もしそれがオブジェクトであれば、ブラウザ上でlocalStorage/sessionStorageを見て、ページが変化している間にブラウザ上にデータを保持することができます。

+0

ヒントをありがとう。私は提案オプション1で問題を解決しました。つまり、2番目のhtmlを1番目のhtmlにロードします。 – miradham

関連する問題