1

この問題が以前に議論されたことは知っていますが、うまくいかないようです。iframe を含むマスター HTML ページがあります。jQuery prettyphoto を使用していますが、iframe のリンクをクリックしたときにライト ボックスを親ウィンドウに表示するにはどうすればよいのでしょうか?

マスター ページ:

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Master Page</title>
</head>

<body>
 <iframe src="iframe.html" width="300" height="300px" frameborder="0"></iframe>
</body>
</html>

iFrame ページ:

<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>iframe</title>

<style type="text/css" media="screen">
 @import url("assets/css/infotech-iframes.css");
 @import url("assets/css/infotech-popup.css");
</style>

<script src="assets/js/jquery.js" type="text/javascript" charset="utf-8"></script>
<script src="assets/js/jquery.popup.js" type="text/javascript" charset="utf-8"></script>

</head>

<body>
 <a href="assets/images/screenshots/campaign-setup-lg.png" rel="prettyPhoto[gallery]"><img src="assets/images/screenshots/campaign-setup-sm.gif" /></a>
<script type="text/javascript" charset="utf-8">
 $(document).ready(function(){
    $("a[rel^='prettyPhoto']").prettyPhoto();
 });
    </script>
</body>
</html>

助けてくれてありがとう。

4

2 に答える 2

2

CalebD の回答は正しいです (詳細については投稿を参照してください)。ただし、iFrame の親で API にアクセスできるようにするには、親に次の初期化コードを追加して、これが機能するようにする必要があります。

$.fn.prettyPhoto({ social_tools: false });
于 2012-09-17T19:05:58.643 に答える
1

これは、親フレームと子フレームのドメインが同じである場合にのみ機能します。

親フレームに必要なJavaScriptをロードする必要があります。次に、iframeで次のようなものを試してください。

$(document).ready(function(){
    $('a').click(function(){
        window.parent.$.prettyPhoto.open($(this).attr('src'), $(this).attr('title'), $(this).children('img').attr('alt'));
        return false;
    });
});

$('a')セレクターを別のものに変更する必要があるかもしれません。rel親とiframeの両方できれいな写真が開く可能性があるため、リンクを張るべきではないと思います。

これはすべて理論的には機能するはずです。私はそれをテストしていません。

于 2010-02-01T21:06:59.297 に答える