如何在新窗口和新选项卡/窗口中用鼠标右键打开链接
How to open a link in a new window and also in a new tab/window with right click?
我有一个帮助链接。如果用户单击它,它将打开一个具有固定宽度和高度的新窗口。它运行得很好,只是当我右键单击链接时,要么没有"在新选项卡中打开"选项(在IE中),要么我可以在新选项卡上打开,但指向一个空页面(chrome)。有人能帮我把它变成一个链接吗?默认情况下,它也会在一个新窗口(而不是选项卡)中打开?
<html>
<head>
<title>
link
</title>
<script type="text/javascript">
function activateHelpView(helpUri) {
var WindowId = 'SomeWindowId';
var helpWindow = window.open(helpUri, WindowId, 'width=400,height=500,menubar=no,status=no,scrollbars=no,titlebar=no,toolbar=no,resizable=yes');
if (helpWindow) {
(helpWindow).focus();
}
}
</script>
</head>
<body>
<a id='PortOrderPageLearnMoreLink' href='javascript:' title='Learn more' onclick='activateHelpView("http://stackoverflow.com/")'>Learn more</a>
</body>
</html>
使用实际链接,而不是空的javascript:
地址。onclick
处理程序可以防止链接做任何"正常"的事情,但您将有一些东西可供右键单击使用。
target=_blank
是一个强烈的提示,表明您希望在新窗口中打开页面,但无论是在窗口中还是在选项卡中,这都是页面无法控制的。
<script type="text/javascript">
function activateHelpView(helpUri) {
var WindowId = 'SomeWindowId';
var helpWindow = window.open(helpUri, WindowId, 'width=400,height=500,menubar=no,status=no,scrollbars=no,titlebar=no,toolbar=no,resizable=yes');
if (helpWindow) {
(helpWindow).focus();
}
}
</script>
<a id='PortOrderPageLearnMoreLink' href='http://stackoverflow.com/' title='Learn more' onclick='activateHelpView(this.href); return false;' target='_blank'>Learn more</a>
处理所有这些的一种更现代的方法——特别是如果有多个帮助链接的话——是向所有这些链接添加一个类,然后运行一些JavaScript依次向每个链接添加点击处理程序。HTML保持干净(并且具有真实链接,如果禁用或未加载JavaScript,仍然可以工作)。
var helplinks = document.querySelectorAll('.helplink');
for (var i = 0; i < helplinks.length; ++i) {
helplinks[i].addEventListener('click', activateHelpView);
}
function activateHelpView(event) {
event.stopPropagation(); // don't let the click run its course
event.preventDefault();
var helpUri = this.href; // "this" will be the link that was clicked
var WindowId = 'SomeWindowId';
var helpWindow = window.open(helpUri, WindowId, 'width=400,height=500,menubar=no,status=no,scrollbars=no,titlebar=no,toolbar=no,resizable=yes');
if (helpWindow) {
helpWindow.focus();
}
}
<a id='PortOrderPageLearnMoreLink'
href='http://stackoverflow.com/' title='Learn more'
class='helplink' target='_blank'>Learn more</a>
StackOverflow代码段不允许使用其中的某些函数。可以在这里找到一个工作示例。
相关文章:
- node-webkit-从父窗口捕获iframe鼠标事件
- 如何禁用鼠标中键单击超链接以在新选项卡或新窗口中打开
- 仅当我在 1 秒后将鼠标悬停在 li 上时,才会在悬停时显示弹出窗口
- 鼠标悬停弹出窗口,但有延迟
- Kango 浏览器扩展开发中的鼠标悬停事件弹出窗口
- 如何在鼠标移动事件时更改图像的窗口中心和宽度
- 鼠标离开浏览器窗口的Javascript修改
- Jquery:当鼠标指针进入和离开元素时,创建一个弹出窗口
- 鼠标悬停在脚本上时使用居中图像弹出窗口
- 有没有一种方法可以强制浏览器's窗口对象以重新评估鼠标所在的位置
- 在离子弹出窗口上传递值,但获取鼠标事件
- 画布 - 在调整窗口大小时转换鼠标坐标
- 将鼠标悬停在表格单元格 HTML JavaScript 上时的弹出窗口
- javascript Y 滚动条在向下按钮的鼠标上移动,但窗口水平
- 将鼠标悬停在表行上时,如何显示包含该行字段数据的弹出窗口
- 如何在鼠标悬停在另一个图像/链接上时显示新图像/窗口
- 当鼠标按钮的指针尝试关闭弹出窗口时,阴影弹出框消失
- 鼠标离开窗口警报弹出窗口--Moodle
- jQuery鼠标每次滚动整个窗口,就像aplle iphone5网站一样
- 谷歌地图多边形悬停-关闭信息窗口在多边形鼠标out或信息窗口鼠标out