2016-10-03 50 views
2

我目前正在聯盟網站上工作。我在jQuery中創建了一個腳本,它在懸停時顯示銷售頁面(沒有鏈接鏈接),但是當您點擊它時,它會將我的鏈接鏈接添加到鏈接的開頭。然後我的網絡將它們重定向到所需的頁面。更改右鍵點擊「複製鏈接」的價值

編輯:爲了澄清,我想說的是,我說的是懸停在鏈接

現在,如果你右鍵點擊它,會打開一個菜單,你可以點擊「複製鏈接」。這複製「xxx」在:

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

這是沒有我的會員鏈接。如何使「複製鏈接」按鈕複製另一個鏈接而不是a標籤中的href?它甚至有可能嗎?

現在,我完全避免它在我的代碼的開頭有這樣的:

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

爲了讓你的當前代碼的一個例子,它的工作原理是聽一個標籤點擊一個特定的類,那麼它會檢查是否在標籤中的href包含一些文本,如果它包含文本,它這樣做:

window.location.href = affiliatelink + link; 

如果不是這樣,它這樣做(如果我沒有一個子公司該產品的鏈接):

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; 
    } 

});}); 
+0

的[點擊按鈕,複製使用jQuery到剪貼板(http://stackoverflow.com/questions/22581345/click-button-copy-to-clipboard-using-jquery) – ProEvilz

+1

可能重複'給你當前代碼的一個例子''。不不不!!!給我們你的代碼,一個工作的例子,一些東西。不要向我們展示你的代碼。這是在stackoverflow offtopic。閱讀:http://stackoverflow.com/help/how-to-ask || http://stackoverflow.com/help/mcve –

+0

@MarcosPérezGude - 對不起,我已經添加了代碼。 – Eddy

回答

1

假設我正確理解你的問題,它可能當你追加您的聯盟代碼的鏈接可以解決,如果你改變。

「複製鏈接地址」上下文菜單快捷方式將複製鏈接標記的href屬性中的任何內容。那麼,如果您將該屬性的值設置爲您的會員鏈接+原始鏈接的文本,該怎麼辦?您不再需要在點擊處理程序中執行此操作;它會「正常工作」並支持這兩種情況。

像這樣的事情可能做的伎倆:

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; 
    }  
});}); 
+0

但OP不希望鏈接上出現在其上的鏈接 –

+0

如果我理解你的編輯是正確的,它是這樣做的:它採用X類,然後如果條件匹配,它會替換鏈接與我的會員鏈接(或附加我的會員鏈接)?對?當它懸停在某個東西上時,它顯示了href - 我認爲這對我沒有幫助。或者我錯了? – Eddy

+0

@Eddy你正在尋找更類似的東西:https://jsfiddle.net/ksxb8uLq/ –