语言: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/