3

iframe を使用する方法はありますが、iframe 内のものをクリックするとアドレスバーが実際のページに変更されますか? ページの上部に、サイトの閲覧中に音楽を再生できる音楽プレーヤー付きの水平バーを配置したいと考えています。でも、ブックマークも簡単にできるようにしてほしいです。

検索しましたが、答えが見つかりません。多くの人は、iframe に読み込まれる URL を変更しようとしているだけです...それは私が望んでいることではありません。ブラウザに表示される実際のアドレスバーを更新したい。

4

2 に答える 2

1

この文は、30 文字の最小値に到達するのに役立ちます。これを無視して、次の文を読んで答えてください。

いいえ。

アップデート:

「変更」と「リダイレクト」は別物です。どちらであるかを明らかにする必要があります。アドレスバーを「変更」することはできません。「リダイレクト」は可能です。

iframe 内から標準リンクをクリックしても、それ自体では最上位のウィンドウには影響しません。iframe 内の Javascript リダイレクトの簡単な例は、次のようになります。

ウインドウ上部:

<html>
<head></head>
<body>
    <iframe src="http://yoursite.com/iframe_test.html" />
</body>

IFRAME テスト:

<html>
<head>
    <script>
    window.onload = ready;
    function ready()
    {
        document.getElementById("link1").onclick = linkClick;
        document.getElementById("link2").onclick = linkClick;
    }
    function linkClick(e)
    {
        e.preventDefault();
        window.top.location.href = this.href;
    }
    </script>
</head>
<body>
    <a id="link1" href="http://youtube.com">Link1</a>
    <a id="link2" href="http://facebook.com">Link2</a>
</body>

説明:

Javascript が配置されていない場合、iframe 内のリンクをクリックすると元のページに留まり、iframe はクリックしたリンクにリダイレクトされます。この方法で iframe 内で Javascript を使用すると、最上位のフレームが強制的にリダイレクトされる可能性があります。

これに頼ることは絶対にお勧めしません。それは一般的にずさんなプログラミングであり、可能であれば iframe には完全に近づかないでしょう。

于 2012-07-26T03:17:53.147 に答える