4

HTMLページにiFrameを1つ含めました。

iFrameでは、1つのリンクを持ち、

<a href="#" class="modal {targetelement:'#newstyle',closetext:'Close details',opentext:'View details'}">open window</a>

親ウィンドウにリンクとポップアップ html を追加すると、正常に動作します。

しかし、iframeポップアップhtml内にリンクを追加している場合、htmlが開きません。

私の正確な要件:iframeの上のポップアップを開きます。

ポップアップ html の位置 (iframe または親ページ内) をどこにでも移動できますが、<a href="#" id="modelboxnew">open window</a>その位置を iframe のみに変更することはできません。

これが私のポップアップです

<div  id="newstyle" > xyax text ..my popup html </div>
4

2 に答える 2

4

あなたの iframe は事実上完全に異なるページなので、モーダル JavaScript が iframe のページに存在しないため、おそらく機能していません。そうは言っても、すべての JavaScript を iframe 内に移動したとしても、そこからモーダルを起動すると、iframe 内に閉じ込められたままになります。

代わりに、すべての javascript とモーダル html/css を親ウィンドウに配置し、iframe リンクから親ウィンドウに存在するポップアップ起動関数を呼び出します。したがって、正確なコードや使用しているフレームワークを知らなくても、簡単な言葉で言えば、基本的な考え方は次のことです (質問にそのようにタグを付けたので jquery を想定しています)...

メイン ウィンドウで:

<script type="text/javascript" >
    function showPopup() {
        $("#newstyle").dialog();
    }
</script>
...
<div id="newstyle" > xyax text ..my popup html </div>

あなたのモーダルで:

<script type="text/javascript">
    $(function() {
        $("#modelboxnew").click(function() {
            parent.showPopup();
        });
    });
</script>
...
<a href="#" id="modelboxnew" >open window</a>

メイン ページと iframe の両方を制御する必要があり、ブラウザのセキュリティによってブロックされないようにするには、同じドメインからホストする必要があることに注意してください。

于 2013-05-10T05:41:01.817 に答える