添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
愉快的夕阳  ·  In Unity, ...·  1 月前    · 
礼貌的高山  ·  最新Axure ...·  9 月前    · 
温文尔雅的甜瓜  ·  Centennial Term ...·  1 年前    · 
好帅的大蒜  ·  API Reference | Vue ...·  1 年前    · 
A页面中使用 window.open('B.html'); 在新窗口打开B页面;
B页面点击返回按钮,如果A页面窗口存在则给予A页面所在窗口焦点(即显示A窗口),如果A页面窗口不存在,则在新窗口打开
B页面js代码如下:
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('返回');//可行,但是体验不好 //============
window.focus()   方法可把焦点给予一个窗口
在Chrome、FireFox、360浏览器、或者较高版本IE等等 无效
网上搜索提到用 setTimeout 延时执行可解决,经尝试还是没有效果
用 alert 提示信息就可以,但是用户体验不好

请问各位大神有什么好的解决方法,谢谢!

    <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>

@弦断有谁听: 谢谢你的回复。

可能你没有明白我的意思。就像提问里给出的例子,浏览器有A、B两个窗口,B窗口是由A窗口打开的,打开B窗口后看到的当然是B页面的内容,B页面有一个按钮,要求点击按钮后,浏览器显示A窗口,B窗口不关闭

显示的是B页面:

点击按钮后,显示A页面,B页面不关闭

支持(0) 反对(0) 园豆:154 (初学一级) 2017-02-15 16:56