問題タブ [cross-window-scripting]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
17215 参照

javascript - JavaScript を使用して、開いているすべてのウィンドウ/タブにメッセージを送信する

HTML5 にはwindow.postMessage(). 開いているすべてのウィンドウにブロードキャストしたい場合はどうすればよいですか? これは可能ですか?

(私がやろうとしているのは、ユーザーが1つのウィンドウで他のウィンドウに影響を与える何かを行ったときに、サーバーのラウンドトリップなしで他のウィンドウに警告して、コンテンツを更新できるようにすることです。ただし、一部のウィンドウは既存のウィンドウから開くことができますが、 --それらへの参照を傍受して保存できるようにする--ユーザーが手動でいくつかの新しいウィンドウを開き、ブックマークを選択するか、URLを入力する場合があります。この場合、参照を傍受して保存する方法はないようです。 .)

0 投票する
1 に答える
415 参照

javascript - 両方のウィンドウが同じドメインにある場合、javascript コードが開いたウィンドウ (window.opener) の変数にアクセスできないのはなぜですか?

Facebook Connect Javascript API を使用しようとしています。subdomain.example.com/foo/bar/baz/article.html に Facebook のログイン ボタンがあります。ボタンをクリックすると、Facebook のドメインのログイン ページが開きます。ログインすると、その子ウィンドウは subdomain.example.com/foo/xd_receiver.html に移動します。これは Facebook が提供するファイルで、元のウィンドウにアクセスしようとするドメインからスクリプトをロードするためのスクリプト タグが含まれています。そこから関数を呼び出します。

子ウィンドウと親ウィンドウは両方とも同じドメインにあるため、子ウィンドウは親のウィンドウ オブジェクトのプロパティにアクセスできると思います (場所だけでなく)。何故か出来ません。考え?

ドキュメントによると、xd_receiver ファイルは、ログイン ボタンが表示されているページから相対パス (「..」を除く) でアクセスできる場所にある必要があると書かれていますが、Firefox では絶対パスが機能すると書かれています。これは私が使用しているものです。xd_receiver ファイルがロードされているので、問題はないと思います。とにかくそのような制限が存在する理由を知っている人はいますか? ドキュメントは、理由を説明せずに「これを行う」と言うのが好きです。楽しい時間。

0 投票する
3 に答える
4924 参照

javascript - Javascript クロス ウィンドウ インタラクション

リンクがクリックされたときにテキスト領域に書き込むためのこの非常に単純な Javascript があります。

今、私はアンティを上げたいと思っています。

私がやりたいことは、フォームを別の別のウィンドウに表示することです。リンクをクリックすると、別のウィンドウのテキストエリアに書き込みます。

これは非常に複雑になる可能性があることを認識しているため、必ずしもコードを要求しているわけではありません。

問題は、手がかりがないので、どこから始めればよいかということです!! (Google で Javascript とのクロス ウィンドウまたはクロス ドメインのやり取りを行った場合、実際には何も役に立ちません)。

したがって、ライブラリ、プラグイン、または正しい方向に導く可能性のあるものであれば、私が得ることができるヘルプは大歓迎です。

0 投票する
1 に答える
1062 参照

jquery - jQueryが子ウィンドウで動作しませんか?

私が書くとき:

アラートが表示されます。

でももしそうなら--

それからそれは動作しません。それは何もしません。私は一晩中これを理解しようとしてきました。何か案は?

0 投票する
1 に答える
1073 参照

javascript - jQuery - クロス ウィンドウ通信 (ファイルを選択するためのポップアップ、サーバー側なし)

jQuery を使用してオフラインの Web ページを作成しています。ユーザーが選択したファイル (または複数のファイル) を読み取るようにしたいと思います。ファイルピッカーを別のブラウザウィンドウに表示して、データを元のウィンドウに送り返したいと思います。

そう:

  1. 元のウィンドウには、「ファイルを選択」というボタンがあります。
  2. 新しいウィンドウが開き、ユーザーはフォーム内のファイルを選択できます。ユーザーが「OK」をクリックすると、ウィンドウが閉じられ、選択したファイルに関するデータが元のウィンドウに送信されます。
  3. 受信したデータが処理されます (およびイベントがトリガーされます)。

私が見つけたのはこれです: http://www.sfpeter.com/2008/03/communication-between-browser-windows-with-jquery-my-new-plugin/

しかし、かなり古いようです - 新しいより良い解決策を知っていますか?

0 投票する
2 に答える
1755 参照

javascript - Chromeクロスウィンドウ通信

私はHTML5フレームワークを持っており、デバッガー/プロファイル/コンソールなどを開発して統合しました。フルスクリーンモードの場合、デバッガーが表示されません(明らかに、キャンバスがフルスクリーンであるため)。したがって、デバッガーを別のモニターなどに移動できるように、別のタブまたはポップアップを実行する必要があります。ただし、デバッガーは、デバッガーを開いたウィンドウまたはタブにアクセス(監視)できる必要があります。

私の他の唯一のオプションは、フレームワークのデバッグバージョンがロードされたときにフルスクリーンを許可しないことですが、それはさまざまなシーズンに必要なパスではありません。基本的に私の質問は、ウィンドウ(webapp)にポップアップ(デバッガー)を開いて、そのポップアップに開いているウィンドウ(webapp)にアクセスさせることはできますか?

0 投票する
1 に答える
1198 参照

javascript - 同じドメインの複数のウィンドウでイベントを共有するにはどうすればよいですか?

ページに iframe があり、親またはフレーム内からトリガーできるイベントがあるとしますが、どちらかがトリガーされたときに実行するには、両方のページにリスナーが必要です。これを達成するための最良の方法は何ですか?

両方のページが同じドメインにあるため、同じオリジンのセキュリティ ポリシーの問題について心配する必要はないと思います。

私は jQuery を使用していますが、必要に応じて裸の JavaScript を使用できます。

これまでに試したことを、簡単な例にまとめました。

親:

HTML:

JS:

子供の場合:

HTML:

JS:

いずれかのボタンをクリックすると、他のウィンドウで「custom_event」もトリガーされると思います。つまり、親で $iframe.contentWindow.document を介してフレーム内でイベントをトリガーできるようになり、同様にフレームで window.parent.document を介してイベントをトリガーできるようになりますが、残念ながら違います! エラー、警告、その他の手がかりはありません。

私は何か間違ったことをしているのですか、明らかな何かを見逃していますか、それとも単に不可能ですか?

助けてくれてありがとう。

0 投票する
0 に答える
574 参照

javascript - localStorage クロス ウィンドウ イベント ios7 がトリガーされない

同じドメインの 2 つのウィンドウ間でデータを通信する必要があります

前述の質問に対する回答の 1 つで提案されているように、この localStorage イベント メッセージの回避策を試すことにしました。

このフィドルで示されているこのコードは、他のタブ/ウィンドウが入力フィールドの値として持っているものを表示します。これは、Mac の chrome、safari、firefox、および Android の chrome とデフォルト ブラウザで完全に動作します。(フィドルで 2 つのタブを開き、入力フィールドに何かを入力してから、タブを切り替えて、「#textout」の内容が変更されていることを確認してください。)

ただし、これはios7では機能しません(申し訳ありませんが、古いものではテストできませんでした)。chromeとsafariの両方で何も起こりません。Apple デバイスを持っていればこれをデバッグできたでしょうが、残念ながらこれをテストしたデバイスは私のものではないので、ここで助けが必要です。

なぜこれが起こっている/起こっていないのか誰にも分かりますか?

0 投票する
0 に答える
687 参照

javascript - window.postMessage - 機能させるのが難しい

PayPal Ipn.php スクリプト (「完了」メッセージが受信された場合 - その部分はテスト済みで正常に動作します) と、送信ボタンを含むフォームの元のページから通信を確立しようとします。アイデアは、送信ボタンをクリックさせることです。

2 つのページは、同じプロトコルを使用する同じドメインにあります。

Ipn.phpスクリプトの私のスクリプトは次のとおりです。

さらにテストした後、受信部分は機能しますが、送信部分 (上記) は機能しません。

送信ボタンを含む元のフォームのスクリプトは次のとおりです。

これまでの結果: 動作しない、送信部分が動作しない (受信部分のテスト後)。

よろしくお願いします。