整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

jquery打开新窗口window.open和新窗口操作父窗口window.opener

个项目切图需要用到的,做个笔记。

jquery打开新窗口window.open和新窗口操作父窗口window.opener,支持jquery写法,支持打开窗口带参数,新窗口url获取参数等等。

打开新窗口

function newDialog(id){
var url = 'dialog.html?id='+id;
var iWidth = 260;
var iHeight = 550;
var iTop = (window.screen.height-30-iHeight)/2;
var iLeft = (window.screen.width-10-iWidth)/2;

window.open(url,'newBridge','left='+iLeft+',top='+iTop+',width='+iWidth+',height='+iHeight+',location=no,resizable=yes,status=no,toolbar=no,menubar=no');
}

新窗口操作父窗口

document.getElementById("get_selected_vals").onclick = function (){
//alert(yntree.getValues());

//var windowOpener=window.opener;
var parent=$(window.opener.document);

var id = getQueryString('id');
parent.find('#'+id).val(yntree.getValues());
//windowOpener.location.reload(true);
window.close();
}

获取url参数

//alert(getQueryString('id'));
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]);
return null;
}

本文由专业的WEB前端外包公司-切图网原创,切图网始于2007年,提供高品质的前端开发服务、前端外包、切图外包。欢迎来电咨询!

0230418星期二:


打开新窗口的语法:注意 newUrl 加引号

newUrl = 'https://chromedriver.storage.googleapis.com/index.html'
newwindow = f'window.open("{newUrl}")'
driver.execute_script(newwindow)

当前句柄,当前总的句柄(当前窗口,当前所有窗口):

print("当前窗口:",driver.current_window_handle)
print("当前总的窗口:",driver.window_handles)

切换窗口语句:通过索引进行切换

求场景

客户希望实现这样一个场景:点击一个超链接,使用新窗口打开链接页面。但是当链接窗口已经被打开时,这是就不能弹新窗口,必须在这个链接已打开的窗口进行页面刷新。
这确实是一个非常好的体验增强功能,特别页面在列表打开详情页时可以使用,有效减少了浏览器选项卡中打开重复多余的页面。

关键在于,如何实现此功能呢?

其实很简单,一说就懂一点就通,HTML本身的特性就可以解决这样的功能需求。

a标签target属性

通常,进行页面新窗口打开跳转,我们使用<a>标签即可实现。
<a>标签可以通过设置target的值来控制此链接的打开方式,一般可取以下值:

  • _self:默认值,链接在当前窗口打开
  • _blank:链接在新窗口打开
  • _parent:链接在父级框架窗口打开
  • _top:链接在整个窗口打开
    上面几个属性,基本都是很常见的target属性。
    然而,要实现本文开头所说的功能需求,上面这几个值是无法实现的。当然,target还有一个隐藏特性,那就是可以指定为具体的URL地址或者任意自定义的名称。
    例如:
<a href="demo.html" target="demo.html">demo空白页</a>

点击上述标签,当浏览器没有标签页的地址是demo.html时,这时游览器表现为打开一个新页面,地址为demo.html(此时的target属性的行为表现类似'_blank'),当我们再次点击时,因为现在浏览器标签页已经有一个地址为demo.html的页面了,这时游览器表现为不会打开新窗口,而是直接刷新已经打开的demo.html。

也就是说,我们要想实现链接地址自动刷新和新窗口打开的这个需求,知道设置链接元素和表单元素的target属性值为目标URL地址值就好了。

思考

如果我们想要不同链接,打开同一个标签卡页面刷新如何实现捏?

<a href="blank.html?s=1" target="_search">空白页?s=1</a>
<a href="blank.html?s=2" target="_search">空白页?s=2</a>

结语

牵手 持续为你分享各类知识和软件 ,欢迎访问、关注、讨论 并留下你的小心心❤