1

iframe にデフォルトのリンクをロードするメイン ページがあります http://mypage.com/myurl。ブログに載せて、投稿ページごとに、iframe 内のデフォルトのリンクを動的に変更したいと考えています。次のようにデフォルトのリンクをロードします。

<iframe width='1000' height='500' name='iframename' frameborder='0'
        src='http:/mypage.com/myurl'></iframe>

(すべてのブラウザーで動作します)、すべての投稿ページにこのコードを配置して、iframe 内のリンクを動的に変更します。

<script type="text/javascript">
    document.iframename.location = "http://mypage.com/mynewurl"; 
</script>

chrome や ie では問題なく動作しますが、firefox では動作しません!!

アイデアや回避策はありますか?

ここで簡単な例www.tinyurl.com/9l7zt2n を見ると、Firefox との違いがわかり、iframe にデフォルトのリンクがロードされます。つまり、chrome は、追加された JavaScript で変更できます。

ブログ www.tinyurl.com/9axhquhでテストするのに役立つ場合は 、クロムで動作していることがわかります。つまり、投稿のタイトルまたは「続きを読む」をクリックして投稿のページをロードすると、それに応じて上部のiframeが変更されます

アイデアや回避策はありますか?

4

1 に答える 1

0

document.iframename.locationおそらくクロスブラウザには対応していません。

試す:

<iframe width='1000' height='500' id='iframeid' frameborder='0' src='http:/mypage.com/myurl'></iframe>

<script type="text/javascript">
    document.getElementById('iframeid').src = "http://mypage.com/mynewurl";
</script>

これの意味は:

  1. document.elementName構文による名前による要素へのアクセスはサポートされていません。
  2. iframe 要素には というプロパティがありませんlocationlocationのプロパティですwindow。を使用してwindowの にアクセスできます。iframecontentWindow

http://jsfiddle.net/FyNW9/に短いテストを書きました。さまざまなブラウザーで実行します。

于 2012-10-30T08:17:09.190 に答える