需求场景
客户希望实现这样一个场景:点击一个超链接,使用新窗口打开链接页面。但是当链接窗口已经被打开时,这是就不能弹新窗口,必须在这个链接已打开的窗口进行页面刷新。
这确实是一个非常好的体验增强功能,特别页面在列表打开详情页时可以使用,有效减少了浏览器选项卡中打开重复多余的页面。
关键在于,如何实现此功能呢?
其实很简单,一说就懂一点就通,HTML本身的特性就可以解决这样的功能需求。
a标签target属性
通常,进行页面新窗口打开跳转,我们使用标签即可实现。
标签可以通过设置target的值来控制此链接的打开方式,一般可取以下值:
- _self:默认值,链接在当前窗口打开
- _blank:链接在新窗口打开
- _parent:链接在父级框架窗口打开
- _top:链接在整个窗口打开
上面几个属性,基本都是很常见的target属性。
然而,要实现本文开头所说的功能需求,上面这几个值是无法实现的。当然,target还有一个隐藏特性,那就是可以指定为具体的URL地址或者任意自定义的名称。
例如:
点击上述标签,当浏览器没有标签页的地址是demo.html时,这时游览器表现为打开一个新页面,地址为demo.html(此时的target属性的行为表现类似'_blank'),当我们再次点击时,因为现在浏览器标签页已经有一个地址为demo.html的页面了,这时游览器表现为不会打开新窗口,而是直接刷新已经打开的demo.html。
也就是说,我们要想实现链接地址自动刷新和新窗口打开的这个需求,知道设置链接元素和表单元素的target属性值为目标URL地址值就好了。
思考
如果我们想要不同链接,打开同一个标签卡页面刷新如何实现捏?
结语
牵手 持续为你分享各类知识和软件 ,欢迎访问、关注、讨论 并留下你的小心心❤