人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

iframe内の現在のURLを取得する方法を教えてください。javascript,flash,cgi手法は問いません。
ただし、iframe内のページが別ドメインの場合でも可能な事が条件です。
以下の事は試してみました。
・iframeのsrc属性を取得。ユーザがiframe内で違うページに移動した場合のURLは取得できませんでした。
・javascriptで普通にwindow_name.location.hrefと取得。別ドメインの場合はクロスドメインのセキュリティ制限に引っかかりました。

最終的に達成したい事
・自分のサイト内からユーザに他のサイトを閲覧してもらって、そのサイトのURLを取得したい
上記が達成できるならiframeにこだわりません。
よろしくお願いします。

●質問者: dddrive
●カテゴリ:コンピュータ インターネット
✍キーワード:CGI Flash href JavaScript SRC
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● はれる
●32ポイント

CGIでリファラを取得してみてはどうでしょうか。

その場合でもユーザがiframe内で違うページに移動した場合のURLは取得できないと思うので、フォームに変数を隠してやるなどの手法が考えられます。

◎質問者からの返答

ありがとうございます。

うーん、もしかしたら聞き方が悪かったかもしれません。

cgiでリファラをとるには、自分のサイトへのURLをクリックしてもらわないといけないと思いますが、iframe内は完全に他人のサイトなので、他人サイト→他人サイトだったらリファラはとれないのでは?

あと、変数を埋め込むのも他人サイトだと難しいのでは?

もし私の認識違いや、良い方法があるなら教えてください。

よろしくお願いします。


2 ● sukesam
●16ポイント

JavaScriptのsame origin policyに反してしまいますので、それは無理なのではないかと思います。

◎質問者からの返答

same origin policy、初めて知りました。

勉強になりました。ありがとうございます。

やはりjavascriptでは無理ぽいですよね。


3 ● はれる
●32ポイント

やはり、CGI、PHPなどを使用する必要があるのではないでしょうか。

雰囲気的には、CGIでProxyを作ってやる感じですかね。

たとえば、http://www.a.co.jp/の中で、http://www.b.co.jp/を開こうとしていて、

その中にhttp://www.c.co.jp/へのリンクがある場合、

http://www.a.co.jp/のページの中に、

iframeで、http://www.a.co.jp/iframe.php?u=www.b.co.jpみたいな形で呼び出し、

そのiframe中のURLはhttp://www.a.co.jp/index.php?www.c.co.jpみたいに書き換える

っていう感じではないでしょうか。

ちょっとわかりづらくてすみません。

◎質問者からの返答

ああ、そういうことですね。わかりました。ありがとうございます。

実はこの形で実装したのですが、フォームを使った検索などのWebページなんかは、対応させるのがなかなか大変でした。

今はまだ不完全で、今後完璧にチューニングすればいけそうな感じです。

しかし、URLが知りたいだけなのでもう少しお手軽にできないかなーーーっと色気を出してしまい、こんな質問をさせていただきました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ