2012-01-07 24 views
5

ウェブアプリケーションにiframeがあり、親ドキュメントから現在のURLを取得する必要があります(ユーザーがフレームをナビゲートして元のソースURLを変更した場合も同じです)。iframeの現在のsrc URLをクロスドメインで取得する

URLは単に社会的に共有するために必要です。

クロスドメインのシナリオとして、私は子ドキュメント(そのリモートドメイン)を所有していません。

私は親ドキュメントから子ドメインへのクロスドメインアクセスを妨げる同じ起源ポリシーを知っていますが、私は可能な限りクリエイティブな手段で解決策を探しています。

+0

同様のepascarelloは、iframeがない方法も求めています。これらの提案はすべてクロスブラウザに準拠しているわけではなく、正しく動作しません。 – Fallouturama

+0

また、彼はサーバー側のソリューションに重点を置いています。私はクライアント側を見つける方が好きです。 – Fallouturama

+0

あなたはURLを得ることができません、それを防ぐセキュリティと呼ばれるものがあります。あなたが "ソーシャル"になりたいのであれば、それを回避できるブラウザプラグインを開発する必要があります。それ以外は読むことができません。 – epascarello

答えて

0

iFrameコンテンツを制御しない場合、唯一の解決策は、次のコード行をすべてのページに挿入するプロキシを作成することです。

window.postMessage(window.location,'*'); 

次に、親ページでメッセージを聞くことができます。

window.addEventListener("message", receiveMessage, false); 

function receiveMessage(event) { 
    console.log(event.data); 
} 
+0

私はプロキシを使用する場合、ドメインは自分のウェブサイト自体と同じになる可能性があります。それから私はiframeにアクセスすることができました。 –

+0

これは正しい –

関連する問題