0条评论
还没有人评论过~
var Awin = null;//A 窗口对象 function GoBack() { if (Awin == null) { Awin = window.opener;//返回对创建此窗口的窗口的引用(A窗口对象) } if (Awin.closed) { Awin = window.open(Awin.location.href); } else { //方法1====== Awin.focus();//无效 //=========== //方法2======= window.blur(); setTimeout(Awin.focus, 0);//无效 //============
//方法3======== Awin.alert('返回');//可行,但是体验不好 //============ } }
请问各位大神有什么好的解决方法,谢谢!
在A中 为window定义名称(因为默认是空),然后在B打开此名称的窗口。代码如下:
页面A代码
<script>
window.name = '123'
document.getElementById('test').addEventListener('click', function () {
window.open('index2.html', 'mywindow');
});
document.getElementById('test2').addEventListener('click', function () {
window.open('javascript:;', 'mywindow');
});
</script>
页面B代码:
<script>
document.getElementById('test').addEventListener('click', function () {
window.open("javascript:;", window.opener.name);
})
</script>
window.open用户体验就是不好,建议不要用。你可以弹出一个div,div里面可以嵌套一个iframe
setTimeout(Awin.focus(), 100);
lz,请问这个问题解决了没有啊 ,我也遇到同样的需求同样的问题 , 研究了好久也没有找到完美的解决方案;可以相互分享下不