iframeに開くページを、location.searchで受け取った値で変更させちゃっても問題ない?

  • このエントリーをはてなブックマークに追加
  • LINEで送る

iframeを持つ1つのhtmlを使い回して
中身だけを変更したいんだけど何かいい方法はないかね?と聞かれて
iframeの中身をバラバラに作るくらいならiframeやめなよと答えたけど
気になったので少し考えて
location.~が使えそうじゃない?と以下のソースを書いた

親(index.html
[html]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>乱雑モックアップ|親ページ</title>
<meta http-equiv="Content-Script-Type" content="text/javascript" />

</head>
<body>
<ul>
<li><a href="after.html?http://www.google.com">googleを開く</a></li>
<li><a href="after.html?http://www.yahoo.com">yahooを開く</a></li>
</ul>
</body>
</html>[/html]

子iframeがあるhtml(after.html
[html]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>乱雑モックアップ|子ページ</title>
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<script type="text/javascript">
window.onload=function(){
var innerUrl=location.search.substring(1);
document.getElementById("innerFrame").src=innerUrl;
}

</script>
</head>

<body>
<iframe id="innerFrame" src="" frameborder="0" width="640" height="480"></iframe>
</body>
</html>

[/html]

これで、親ページのリンクの?以下の名前
(after.html?http://yahoo.co.jpならhttp://yahoo.co.jp)のファイルを
子のiframeで開けるのだが
これ、大丈夫なんでしょうか?

?javascript:alert('alert');

でalertがでるけど、alertを任意に使えるって事は何か別の事がされるんだろうか?
パスワードなんかを扱わないページは気にしなくていいのだろうか。
という感じで使えるものかわからんので教えてない。

  • このエントリーをはてなブックマークに追加
  • LINEで送る

SNSでもご購読できます。

コメントを残す


You can add images to your comment by clicking here.