0

まずはコードです

<div id="channelmiddle" class="middle-content alignleft">
    <script type="text/javascript">
    function changechannel(ch)
    {
        var url = "ch"+ch+".html";
        document.getElementById("channelchange").src = "ch"+ch+".html";
    }
    </script>
    <center>
    <button class="button_static" onclick="changechannel(1)">Channel 1</button>
    <button class="button_static" onclick="changechannel(2)">Channel 2</button>
    <button class="button_static" onclick="changechannel(3)">Channel 3</button>
    <button class="button_static" onclick="changechannel(4)">Channel 4</button>
    <button class="button_static" onclick="changechannel(5)">Channel 5</button>
    </center>
    <iframe id="channelchange" src="ch1.html" onLoad="alert('123')" width="500" height="400" scrolling="no"></iframe>

</div>

このページでは、ボタンをクリックするたびにホームページにリダイレクトされます。理由がわかりません。誰かが私を助けることができますか?コードに関する詳細情報が必要ですか?

4

1 に答える 1

1

最新のブラウザーには、src 属性を変更したときに iframe が Web コンテンツを表示しないようにするためのセキュリティ チェックが組み込まれています。Chrome には、&output=embed を使用して機能をバイパスする機能があります。この記事を参照してください。私のテストでは、src 属性を変更できますが、コンテンツは変更されません。できる最善の方法は、最初のページの読み込み時に iframe を読み込み、src 属性を変更しないことです。いくつかの解決策があります。

  1. 再設計を行います。ボタンのクリックを使用せずに表示する必要があるコンテンツを含む iframe を読み込みます。

  2. ユーザーを別のページに送ります。最初のページ読み込みのボタンに対応する URL で iframe の src を設定します。

  3. どうしても必要な場合は、各 URL の iframe を作成して、ボタンのクリックに基づいて iframe を非表示にしてみてください。これは理想的なソリューションではありませんが、目的は達成できます。

于 2012-09-27T17:44:08.767 に答える