语言:PHP和jQuery

我想做的是当用户单击它时弹出一个动态链接。
我不希望在新窗口中打开页面,而希望在当前页面上覆盖的模式窗口中打开。

因此,使用javascript,当用户单击此链接时,操作是找到链接的attr href,并为该链接创建一个代码,使其位于模态窗口内的iframe中。

具有动态PHP链接的HTML:

 <a href="http://www.facebook.com/share.php?u=<?php echo $root_url; ?>?id=<?php echo $rows['id']; ?>&title=<?php echo urlencode($rows['keyword']); ?>" style="border: none;" onclick="return false;" class="fblink" target="iframe"><img src="./img/Facebook.png" style="float: right; margin-top: 0px;" title="Share on Facebook" alt="Share on Facebook" id="<?php echo $rows['id']; ?>"></a>


jQuery脚本:

    var makePop = function() {
    link = $(this).attr('href');
    return '<div class="the_box" id="box" style="display: block;"><a class="boxclose" id="boxclose"></a>
    <iframe src="' + link + '" height="500px" width="600px" id="" name="iframe"></iframe></div>';
    } // End of Function.

    $("a.fblink").click(makePop);


我不知道该如何实现...这是行不通的。
有人吗:o)

最佳答案

以下应该提供您想要的东西。但是,将需要考虑诸如XHR“加载”调用的相同来源策略之类的问题。

请参见以下示例:http://jsfiddle.net/qeXea/2/
注意:由于采用了相同的来源政策,因此iframe无法填充内容,只需在网站上设置自己的页面并使用自己的网址即可查看。

的HTML

<a href="http://www.yoururl.com" onclick="launchUrl(this); return false;">Click Here</a>
<div id="fade"></div>
<iframe id="dialog" src=""></iframe>
<script type="text/javascript">
function launchUrl(owner) {
    $('#fade').show();
    var link = $(owner).attr('href');
    $('#dialog').load(link, function(response) {
        $('#dialog').show();
    });
}
</script>


的CSS

#fade {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
    display: none;
    position: absolute;
    background-color: rgba(255, 255, 255, 0.5);
}

#dialog {
    top: 100px;
    left: 100px;
    width: 200px;
    height: 200px;
    z-index: 101;
    display: none;
    position: absolute;
}




另类

的HTML

<a href="" onclick="launchUrl('http://www.yoururl.com'); return false;">Click Here</a>
<div id="fade"></div>
<iframe id="dialog" src=""></iframe>
<script type="text/javascript">
    function launchUrl(link) {
        $('#fade').show();
        $('#dialog').load(link, function(response) {
            $('#dialog').show();
        });
    }
</script>

关于php - 找到attr('href')并在页面上的隐藏iframe中打开,然后在show()iframe中打开(jQuery + PHP),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10961366/

10-12 00:59