当超链接/动作链接/链接按钮被右键单击时,'新窗口或页面中未打开'
我试图使用动作链接/超链接从ASP.NET MVC视图(.html)调用JavaScript函数()/链接按钮。左键单击工作正常,但右键单击链接并选择“打开新标签页”不起作用。当超链接/动作链接/链接按钮被右键单击时,'新窗口或页面中未打开'
我尝试迄今已有:
<a href="#" onclick=aFunction()>link</a>
aFunction(object)
{
alert('Inside Javascript Function')
}
This answer可能的帮助。
试着给你的超链接的id
属性(比如,id="foo"
),并创建一个执行指定的动作click处理每当a#foo
是右键单击:
document.getElementById("foo").onmousedown = function(event) {
if (event.which == 3) {
alert('Inside Javascript Function');
}
}
编辑:
每您的评论:
我不想尽快执行函数t他用户右键单击。我想在用户右键单击链接并单击打开新选项卡选项后执行该功能。
我不认为这是可能的(除非有一些神秘的Chrome JavaScript API检测到这种事件)。 JavaScript不知道Chrome的工作原理。此外,JavaScript被沙盒化的方式使得它无法访问用户的本地文件系统 - 扩展后,它不应该知道Google Chrome进程本身在做什么。
这看起来接近我的目标,但我不想在用户右键单击时执行该功能。我想在用户右键单击链接并单击打开新选项卡选项后执行该功能。 谢谢。 –
@ G.Ashu我认为这是不可能的。请看我更新的答案。 – alex
使用此答复中提到的方法:How to run function on new tab from main tab? (Google Chrome)
基本上你将功能存储在本地存储和页面上的这个链接打开的网页加载事件,你会检查是否有存储在本地的功能存储,如果是的话,然后执行它。
我在anchor tag上添加了像这样的target属性。 link –