本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

右键单击并选择“打开...”之一后,从上下文菜单中替换 href 链接

发布于2024-11-03 19:05     阅读(1042)     评论(0)     点赞(8)     收藏(2)


我可以进入 contextmenu 对象并禁用它(如何向网页添加自定义右键菜单?),但是当用户右键单击它并选择“在新选项卡中打开”或“在新窗口中打开”或“在隐身窗口中打开”时,如何从链接对象替换原始 href?


解决方案


事实上,我找到了一种更好/更简单的方法来实现它。replaceLink()负责替换这里的 centextmenu 链接:

<html>
   <head>
      <meta charset="utf-8"/>
   </head>
   <body>
      <a href="https://majkesz.pl" id="lol" oncontextmenu="replaceLink(event);">majkesz.pl</a><br>
      <script>
     document.getElementById("lol").onclick = function(event) {
        event.preventDefault();
        window.location.href = "https://www.youtube.com/watch?v=oHg5SJYRHA0";
        return false;
        };


     function replaceLink(e) {
     e.target.href = "https://www.youtube.com/watch?v=oHg5SJYRHA0";

     }
      </script>
   </body>
</html>

不幸的是,上述解决方案不适用于 FF 和较新的 chrome 的鼠标中键单击。请改用通用方法:

<html>
   <head>
      <meta charset="utf-8"/>
   </head>
   <body>
      <a href="https://majkesz.pl" onmousedown="replaceLink(event)" oncontextmenu="replaceLink(event);">majkesz.pl</a><br>
      <script>
     function replaceLink(e) {
     e.target.href = "https://www.youtube.com/watch?v=oHg5SJYRHA0";

     }
      </script>
   </body>
</html>



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.qianduanheidong.com/blog/article/534544/4b6bbc412c0a8200a725/

来源:前端黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

8 0
收藏该文
已收藏

评论内容:(最多支持255个字符)