javascript - 更改右键单击 "Copy link"值

标签 javascript jquery

我目前在附属网站上工作。我在 jQuery 中制作了一个脚本,在悬停时显示销售页面(没有成员(member)链接),但是当您单击它时,它会将我的成员(member)链接添加到链接的开头。然后我的网络将他们重定向到所需的页面。

编辑:为了澄清,我想说我是在谈论悬停在链接上

现在,如果您右键单击它,将打开一个菜单,您可以单击“复制链接”。这会将“xxx”复制到:

<a href="xxx">Example</a>

没有我的成员(member)链接。如何让“复制链接”按钮复制 a 标签中 href 之外的另一个链接?有可能吗?

现在我通过在我的代码开头使用它来完全避免它:

.on("click contextmenu", function(){};

给你一个当前代码的例子,它通过监听点击一个特定类的标签来工作,然后它检查标签中的 href 是否包含一些文本,如果它包含该文本,它会这样做:

window.location.href = affiliatelink + link;

如果没有,它会这样做(如果我没有该产品的成员(member)链接):

window.location.href = link;

那么,我的问题是否可以解决 - 还是我必须这样做,就像我正在做的那样?

编辑 2:我必须提供我的代码

$(document).ready(function(){

$(".class").on("click contextmenu", function(){
    var link = this.href;
    var partner = "https://affiliatelink.com/?url=";

    if(link.indexOf("partnername") != -1){
        window.location.href = partner + link;
    } else {
        window.location.href = link;
    }

});});

最佳答案

假设我正确理解了您的问题,如果您在将成员(member)代码附加到链接时进行更改,则可能会解决。

“复制链接地址”上下文菜单快捷方式将复制链接标记的 href 属性中的任何内容。那么,如果您将该属性的值设置为您的成员(member)链接 + 原始链接的文本呢?您将不再需要在点击处理程序中执行此操作;它会“正常工作”并且会支持这两种情况。

像这样的东西可能会成功:

var links = [].slice.call(document.querySelector('.your-class'));
links.forEach(function(link){
    link.href = affiliateLink + link.href;
});

您不再需要点击处理程序,它支持两种与链接交互的情况。

编辑:更新了您的代码示例。

$(document).ready(function(){

$(".class").each(function(){
    var link = this.href;
    var partner = "https://affiliatelink.com/?url=";

    if(link.indexOf("partnername") != -1){
        this.href = partner + link;
    }    
});});

关于javascript - 更改右键单击 "Copy link"值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39833933/

相关文章:

c# - MVC4从SQL Server表检索图像文件到html图像

javascript - 在什么情况下或条件下需要 jQuery.noConflict?

android - datepicker 插件 phonegap 取消按钮

javascript - Chrome Timeline 中的 JS 瓶颈

JavaScript window.print() 给出空白打印输出

javascript - 添加更多 JavaScript = 停止工作

javascript - 使用第 n 个子选择器更改字体颜色 mousedown/mouseup

javascript - 如何更改 Facebook 点赞按钮的尺寸?

javascript - Laravel 使用 Ajax 从购物车中删除

两个标签之间的 JavaScript 正则表达式多行文本