我有一个要求,我需要从父窗口打开一个弹出窗口。我能够成功地做到这一点。
现在我要做的是 - 假设弹出窗口打开,弹出窗口中有一些链接,如果我尝试单击该链接,它应该在新窗口和原始弹出窗口中打开该链接应该关闭。
这是我的fiddle。在这个小提琴中,如果你单击“应用”按钮,那么它将打开一个正常工作的弹出窗口,但如果你点击该弹出窗口中的任何链接,那么该链接将在同一个弹出窗口中打开,这就是我不想要的想。我想在新的外部窗口中打开该链接,原始弹出窗口应该关闭。
以下是JS代码 -
function open(url) {
$('#blockdiv').fadeIn();
$('#iframe').attr('src', url);
$('#containerdiv').fadeIn();
}
function close() {
$('#blockdiv').fadeOut();
$('#containerdiv').fadeOut();
}
$(document).ready(function() {
$('ul').css({width: $('#containerdiv').width(),height: $('#containerdiv').height()})
$('#close').click( function() { close() })
$('.JN_apply').click( function() { open($(this).data('url')); })
});
我在小提琴中提供的示例将打开www.ebay.com网站,但一般情况下,我的页面将作为弹出窗口打开。
有可能吗?如果是的话,有人可以帮我吗?
更新代码: -
现在我已经开始使用jQuery colorbox做同样的事情 -
下面是我的父窗口代码,它将打开弹出窗口 -
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'/>
<title>Colorbox Examples</title>
<style>
body{font:12px/1.2 Verdana, sans-serif; padding:0 10px;}
a:link, a:visited{text-decoration:none; color:#416CE5; border-bottom:1px solid #416CE5;}
h2{font-size:13px; margin:15px 0 0 0;}
</style>
<link rel="stylesheet" href="C:\Users\rj\Downloads\colorbox-master\example4\colorbox.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="C:\Users\rj\Downloads\colorbox-master\jquery.colorbox.js"></script>
<script>
$(document).ready(function(){
//Examples of how to assign the Colorbox event to elements
$(".iframe").colorbox({iframe:true, width:"80%", height:"80%"});
});
</script>
</head>
<body>
<h2>Other Content Types</h2>
<p><a class='iframe' href="http://www.wikipedia.com">Outside Webpage (Iframe)</a></p>
</body>
</html>
以下是我的弹出窗口代码,通过关闭原始弹出窗口,我需要在新的外部窗口中打开一个链接 -
<html>
<head>
<title>Apply</title>
</head>
<body>
<script>
function getUrlParameters() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,
function(m,key,value) {
vars[key] = value;
});
return vars;
}
var id = getUrlParameters()["ID"];
var title = getUrlParameters()["Title"];
var id = unescape(id);
var title = unescape(title);
var myJScript = document.createElement('script');
myJScript.setAttribute('type', 'Apply');
myJScript.setAttribute('data-companyId', '40');
myJScript.setAttribute('data-jobTitle', id );
myJScript.setAttribute('data-email', 'admin@domain.net');
document.body.appendChild(myJScript);
</script>
<hr>
<input name="Apply Online" type="button" id="Apply Online" value="Apply Online" ONCLICK="window.location.href='some_url'">
</body>
</html>
现在如何在单击“在线申请”链接后关闭弹出窗口,并在新的外部窗口中打开“在线申请”链接?我希望这个问题应该足够明确。
答案 0 :(得分:2)
尝试
<input name="Apply Online" type="button" id="Apply Online" value="Apply Online" ONCLICK="window.location.href='some_url';$.colorbox.close();">
或
<input name="Apply Online" type="button" id="Apply Online" value="Apply Online" ONCLICK="window.location.href='some_url';parent.$.colorbox.close();">