2010-09-22 55 views
0

假設我們有以下結構的網頁:獲取影像數據與參照網址

<li id="A"> 
<span class="some class">some content 
<a href="http://www.example.com">http://www.example.com</a> 
</span> 
</li> 

<li id="B"> 
<span class="some class">some content 
<a href="http://www.example.com">http://www.example.com</a> 
</span> 
</li> 

<li id="C"> 
<span class="some class">some content 
<a href="http://www.example.com">http://www.example.com</a> 
</span> 
</li> 

是否有可能,有PHP或JS,搶列表ID(A,B,C)和追加它當一個人點擊三個鏈接中的任何一個鏈接時,連同引用的URL?

  • 需要明確瞭解哪些三個列表中的一個標籤點擊源自
  • 我沒有給原始頁面
+0

也許我誤讀,但不是這更多的是JavaScript的問題不是一些PHP應該做的事? – salathe 2010-09-22 11:46:50

+0

很有可能,是否有JS解決方案? – Chamilyan 2010-09-22 11:49:22

+0

刪除我的帖子。閱讀兩遍後,我同意salathe:這是你想要在JavaScrapt而不是PHP中做的事情。 – halfdan 2010-09-22 11:51:20

回答

0

UPDATE

在光寫訪問你無法訪問原始頁面的啓示中,你沒有機會找到有關點擊到達你的頁面的特定鏈接的任何信息。您可以通過document.referrer獲取推薦人。

以前的答案留給後人

以下功能將拍攝到具有指定ID的容器元素中的任何鏈接的點擊,並添加包含容器元素的ID和當前的URL查詢字符串頁面的網址:

function modifyLink(containerId) { 
    var el = document.getElementById(containerId); 
    el.onclick = function(evt) { 
     evt = evt || window.event; 
     var target = evt.target || evt.srcElement; 
     if (target.tagName == "A") { 
      window.location.href = target.href + "?id=" + encodeURIComponent(containerId) + 
       "&referrer=" + encodeURIComponent(window.location.href); 

      return false; // Cancel the default link behaviour 
     } 
    }; 
} 

modifyLink("A"); 
modifyLink("B"); 
modifyLink("C"); 
+0

是的,這確實回答了提出的問題。我的錯誤是沒有讓我無法寫入訪問原始頁面的事實。只讀取權限。我不能在原始頁面上包含任何Javascript。它仍然有可能嗎? – Chamilyan 2010-09-22 12:26:05

+0

@egfx:我相信,這意味着你是網站的所有者被鏈接到的,而不是包含你所引用的代碼嗎?這是如何回答問題的一個基本點。您應該修改問題以包含該信息。 – Spudley 2010-09-22 12:33:37

+0

@Spudley是的,謝謝我確實已經包含了該片段的信息。提出問題時,我忽略了這個事實。這完全正確。我擁有鏈接到的網站,但沒有擁有該示例中包含的HTML結構的網站。 – Chamilyan 2010-09-22 12:40:27

0

我們已經建立(通過對另一個答案評論)的提問擁有被鏈接到,不包含鏈接的一個網站。

因此,沒有什麼可以做,以操縱他引用代碼,這意味着,無論是使用Javascript,也沒有PHP,也確實是任何其他語言會幫助你的鏈接。

因此,答案顯然是否定的:作爲example.com的所有者,你不能告訴這三個環節是被點擊至到達你的網站的一個。如果聯繫是在單獨的頁面,你就可以從推介數據告訴我們,但在同一頁上的鏈接,HTTP根本不提供這些信息給你,讓你看不出來。你只能告訴鏈接是否指向不同的URL(可能帶有查詢參數),但是這需要鏈接被修改,並且你不能自己修改鏈接。

關於我可以爲您提供唯一的解決方案是老式的答案:請與包含的鏈接網站的所有者,並要求他修改他們,使他們都是獨一無二的。

+0

是啊,恩。考慮到該網站是Twitter,聯繫他們改變他們的佈局,以適應我的小用例可能是一個障礙;)。感謝您的所有輸入。我用代碼解決了上面的問題。 – Chamilyan 2010-09-22 13:05:13