例を挙げてください:
2 つのページ a と b を同時に開き、a に焦点を当てていくつかの操作を実行し、ページ a の js に操作を処理させ、データをその隣のページ b に送信しました。現時点では、ページ b は、更新したりサーバーを経由したりすることなく、これらのデータを受信してフィードバックを提供できます。百度音楽 PC Web 版で曲を聴くときと同様に、百度オルゴールページとリストページが開いている場合、リストページで曲の「再生」ボタンをクリックすると、隣のオルゴールページが表示されます。新しいページを開かなくても、自動的にその音楽の再生を開始できます。
これを行うためにクッキーなどを使用するのは少し無駄だといつも感じます。
これは、さまざまな方法によるアリババの面接の質問です。通信は localstorage の storage イベントを使用して実現できます。shadredworker も問題を解決でき、WebSocket も使用できます。
ab ページを制御でき、URL さえ決定できれば、sharedworker / localstorage / sessionstorage を使用できます
リーリー
属性 target="framename" は、指定されたフレーム (ページ) でリンクを開くことを意味します。
実現できること:
クリックしてショッピング カートに商品を追加するとき、ショッピング カート ページが既に開いている場合は、ページのみを更新します。新しいショッピング カート ページを開く代わりに。
クリックして曲を再生すると、プレーヤー ページが既に開いている場合は、新しいプレーヤー ページは開かずにページのみが更新されます。
ここにアイデアがあります:
ブラウザは同じドメイン名を持つ 2 つの Web ページを同時に開きます。
localStorage
是共享的,不仅如此,他们之间的localStorage
值改变也是可以监听的。同域的a和b两个页面,a页面发生localStorage.set('abc', 123)
、それらのページは次の方法で変更を監視できます。 リーリー