2011-01-24 260 views
0

事情是我想要改變網址中所有網址的短網址(任何服務,一個已知的網址會更好)我認爲這可以通過在網頁標籤中鏈接一個簡單的Javascript文件來完成,我對嗎?我可以用這種服務來做這件事嗎?謝謝!如何將網頁的所有鏈接轉換爲短網址?

P.S.我的想法是,當我在網頁中寫入URL或出現URL時(因爲頁面自己寫了頁面),某些腳本或服務將它們全部變成了短鏈接,所以真正的鏈接永遠不會顯示在網頁中,如果它可能的,我想阻止用戶「看到」真正的鏈接,我的意思是,如果我可以使用一種服務,那麼當縮小URL並且用戶遵循它時,真正的永遠不會出現在用戶的地址欄中,但這是可選的...

我會等你的答案,非常感謝! :)

編輯 - 我想使用類似anonym.to,但有shork鏈接服務,期待:

如果使用anonym.to javascript代碼:

<script src="http://js.anonym.to/anonym/anonymize.js" type="text/javascript"></script> 

<script type="text/javascript"><!-- 
protected_links = ""; 

auto_anonymize(); 
//--></script> 

它會改變一個網頁的所有鏈接anonym.to鏈接,我想要做同樣的事情,但使用一些已知的URL縮短服務,你能告訴我怎麼做嗎?謝謝!

+1

簡答:你不能在JavaScript中做到這一點。這是一個服務器端操作。 – leppie 2011-01-24 05:59:38

+1

你爲什麼要這樣做? – 2011-01-24 08:02:36

回答

0

這取決於你是否想通過編程或手動完成(由你創建,然後加載到頁面中)。我會做的是使用谷歌API的goo.gl goo.gl。你可以通過jquery獲取所有鏈接,然後迭代,然後使用google API交換到一個簡短的url。頁面中原生的任何內容仍可以在源代碼中看到,但如果您懸停或點擊它,則不會。如果您通過AJAX調用加載內容,則可以在將鏈接寫入頁面之前進行編輯。

+0

Humm,是的,我正在考慮使用goo.gl,¿你能給我一個解釋如何做你所說的例子嗎?好吧,如果你有耐心,謝謝! – Jmlevick 2011-01-24 06:04:16

0

你願意改變你隱藏鏈接的方式嗎?這似乎是非常不可取的(無論是從一臺主機和訪客的角度)來隱藏鏈接,但這個可以做你想要什麼(只在支持JS的瀏覽器支持):

var links = document.getElementsByTagName('a'); 
for (var l = 0; l < links.length; l++){ 
    links[l].rel = links[l].href; 
    links[l].href = '#'; 

    if (links[l].addEventListener) { 
     links[l].addEventListener("click",myClick,false); 

    } else if (links[l].attachEvent) { 
     links[l].attachEvent("onclick",myClick); 
    } else { 
     links[l].onclick = myClick; 
    } 
} 
function myClick(e){ 
    window.location = this.rel; 
    return false; 
} 

工作示例: http://www.jsfiddle.net/bsU8n/