javascript - js 同時に開いている 2 つのタブ間で通信するエレガントな方法はありますか?
黄舟
黄舟 2017-05-16 13:39:46
0
4
702

例を挙げてください:

2 つのページ a と b を同時に開き、a に焦点を当てていくつかの操作を実行し、ページ a の js に操作を処理させ、データをその隣のページ b に送信しました。現時点では、ページ b は、更新したりサーバーを経由したりすることなく、これらのデータを受信して​​フィードバックを提供できます。百度音楽 PC Web 版で曲を聴くときと同様に、百度オルゴールページとリストページが開いている場合、リストページで曲の「再生」ボタンをクリックすると、隣のオルゴールページが表示されます。新しいページを開かなくても、自動的にその音楽の再生を開始できます。

これを行うためにクッキーなどを使用するのは少し無駄だといつも感じます。

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全員に返信(4)
阿神

これは、さまざまな方法によるアリババの面接の質問です。通信は localstorage の storage イベントを使用して実現できます。shadredworker も問題を解決でき、WebSocket も使用できます。

いいねを押す +0
仅有的幸福

ab ページを制御でき、URL さえ決定できれば、sharedworker / localstorage / sessionstorage を使用できます

いいねを押す +0
世界只因有你

リーリー

属性 target="framename" は、指定されたフレーム (ページ) でリンクを開くことを意味します。
実現できること:
クリックしてショッピング カートに商品を追加するとき、ショッピング カート ページが既に開いている場合は、ページのみを更新します。新しいショッピング カート ページを開く代わりに。
クリックして曲を再生すると、プレーヤー ページが既に開いている場合は、新しいプレーヤー ページは開かずにページのみが更新されます。

いいねを押す +0
世界只因有你

ここにアイデアがあります:
ブラウザは同じドメイン名を持つ 2 つの Web ページを同時に開きます。localStorage是共享的,不仅如此,他们之间的localStorage值改变也是可以监听的。同域的a和b两个页面,a页面发生localStorage.set('abc', 123)、それらのページは次の方法で変更を監視できます。 リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート