繁体   English   中英

右键单击超链接/操作链接/链接按钮时,未出现“在新选项卡或页面中打开”

[英]'Open in New Tab or Page' not appearing when Hyperlink/Action Link/Link Buttons are right-clicked

我正在尝试使用Action Link / Hyperlink()/ Link Buttons从ASP.NET MVC视图(.html)调用JavaScript函数。 左键单击效果很好,但是右键单击链接并选择“打开新标签页或页面”无效。

到目前为止,我的尝试是:

<a href="#" onclick=aFunction()>link</a>

    aFunction(object)
    {
       alert('Inside Javascript Function')
    }

这个答案可能会有所帮助。

尝试给您的超链接提供id属性(例如id="foo" ),并创建一个单击处理程序,该处理程序将在右键单击a#foo时执行指定的操作:

document.getElementById("foo").onmousedown = function(event) {
    if (event.which == 3) {
        alert('Inside Javascript Function');
    }
}

编辑

根据您的评论:

我不想在用户右键单击后立即执行该功能。 我想在用户右键单击链接并单击“打开新选项卡”选项后执行该功能。

我认为这是不可能的(除非有一些不可思议的Chrome JavaScript API可以检测到此类事件)。 对于JavaScript而言,了解Chrome的工作原理毫无意义。 此外,对JavaScript进行沙箱处理的方式是,它无法访问用户的本地文件系统-扩展来说,它不应该知道Google Chrome进程本身在做什么。

使用此答案中提到的方法: 如何在主选项卡的新选项卡上运行功能? (谷歌浏览器)

基本上,您会将功能存储在本地存储中,并且在此链接打开的页面的页面加载事件中,您将检查本地存储中是否存储有功能,如果有,则执行该功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM