2008-09-10 17 views
2

就像Delicious提交書籤一樣,我希望有一些標準的JavaScript可以用來將任何訪問過的URL提交給第三方網站,只要URL可能。建議?什麼是最簡潔,最短的Javascript提交一個URL用戶通過URL的另一個進程?

舉例來說,我一直在使用

javascript:void(location.href="http://www.yacktrack.com/home?query="+encodeURI(location.href)) 

到目前爲止,但不知道是否有一些更復雜的,我可以使用或更好的做法。

回答

2

您是否想要與Delicious小書籤完全相同的東西(例如,用戶主動點擊提交URL的內容)?如果是的話,你很可能只是複製他們的代碼,並替換目標網址:

javascript:(function(){ 
    location.href='http://example.com/your-script.php?url='+ 
    encodeURIComponent(window.location.href)+ 
    '&title='+encodeURIComponent(document.title) 
})() 

您可能需要更改查詢字符串名稱等,以滿足您的腳本需要什麼。

如果你想通過網站自動追蹤用戶,這可能不會成爲現實。您需要使用AJAX請求URL,但Web瀏覽器不允許Javascript在原始域之外發出請求。也許這可能是iframe的詭計。

編輯:約翰擊敗了我。

1
document.location = "http://url_submitting_to.com?query_string_param=" + window.location; 
0

另一種選擇是這樣的:

<form action="http://www.yacktrack.com/home" method="get" name="f"> 
    <input type="hidden" name="query" /> 
</form> 

那麼你的JavaScript是:

f.query.value=location.href; f.submit(); 

,或者你可以在[保存鏈接]與提交這樣的組合:

<form action="http://www.yacktrack.com/home" method="get" name="f" onsubmit="f.query.value=location.href;"> 
    <input type="hidden" name="query" /> 
    <input type="submit" name="Save Link" /> 
</form> 

如果您正在運行服務器端代碼,則可以插入該位置,以便您可以將JavaScrip無t:

<form action="http://www.yacktrack.com/home" method="get" name="f"> 
    <input type="hidden" name="query" value="<%=Response.Url%>" /> 
    <input type="submit" name="Save Link" /> 
</form> 
相關問題