1

これはロングショットであり、不可能だと確信していますが、誰かが私に関係のないブードゥー教を知っている場合に備えて質問すると思いました.

どんな状況でも、どんなブラウザでも、何らかのプラグインが必要な場合でも、あるブラウザ ウィンドウから別のブラウザ ウィンドウに要素をドラッグすることはできますか?

4

2 に答える 2

2

これは少し奇妙ですが、微調整すればうまくいくかもしれないセットアップの厄介なハックがあります。

LocalConnectionFlash には、 IPC を使用して他の Flash インスタンスと通信するというクラスがあります。これは同じページの Flash ムービー間でよく使用されますが、他のブラウザ ウィンドウの Flash ムービー間、さらには他のブラウザで完全に機能します。たとえば、Chrome のページの Flash ムービーから Internet Explorer のページの Flash ムービーにメッセージを送信できます。

さて、この通信チャネルは、必要なもののほとんどであるはずです。フローは彼のようなものでなければなりません:

  1. ページ A で開始ドラッグを検出する
  2. マウスがページ A を離れるのを検出する
  3. イベント 1/2 が発生したというメッセージと、ドラッグされているオブジェクトを説明する必要なデータをブロードキャストします。
  4. ページ B でそのブロードキャストを検出し、しばらくそれを待ちます。
  5. ページ B に入るマウスを検出する
  6. ページ B でマウスアップを検出する
  7. 以前にブロードキャストされたデータに基づいて行動します。

きれいではなく、エラーが発生しやすいですが、これがどれほどひどく必要かによっては、うまくいくかもしれません。

于 2012-11-16T22:00:39.113 に答える
1

JavaScript の仕組みにより、あるウィンドウから別のウィンドウにデータを移動することは困難です。フレームを使用している場合でも (同じドメインで)。

あるフレームでを作成した場合DOMElement、同じ祖先を共有していないため、別のフレームの DOM に追加することはできません。同様にinstanceof、フレーム間などでオブジェクトを送信すると、チェックは失敗します。

ただし、それをモックすることもできますが、これには2つのウィンドウが互いに非常に同期している必要があります(サーバー経由?ラグ?)。端に到達したらウィンドウでドラッグイベントを終了する場合は、適切なデータなどを使用して他のウィンドウでドラッグ開始イベントを開始するサーバーに信号を送信して、それを機能させることができます。

于 2012-11-16T21:59:11.537 に答える