2017-06-06 12 views
0

私は現在webExtensionで作業していて、webExtensionのhtmlをiframeに挿入しています。私は、任意のWebページからiframe内の削除可能な領域にドラッグをドラッグして、ドロップ可能領域に表示したいと考えています。 dragstartイベントを待機するたびにドラッグされる要素のHTMLドキュメントをpostMessageを使用してドラッグするdragstartListenerがあります。しかし、postMessageはメソッドを内部に持つオブジェクトを送ることができません。この機能を実装するための選択肢はありますか?ありがとうございました!postMessageはより複雑なオブジェクトを送信できます

+0

JSON.stringify/parse ...可能です。しかし、それは単に関数を渡して相手側に呼び出すことはできないということです。 –

+0

なぜあなたはIframe内のサイトに関数を実装していないので、コンテンツをIframeに "送信"して、反対側の関数を使用することができます –

+0

コメントありがとうございます! Jonas:JSON.stringify/parseを使用しようとしましたが、メソッドが内部にあるため、オブジェクトの大部分が解析された後にnullになりました。 @Matthias:私は、Iframeにコンテンツを送信しようとしていますが、私の関数は、要素のHTMLドキュメントが必要とpostMessage経由で送信することはできません。 –

答えて

0

解決策を見つけました:XMLSerializerを使用しました。

XMLシリアライザは実際にDOM要素を文字列にシリアライズできます。ポストメッセージは別のウィンドウに安全に文字列を送ることができます。

関連する問題