就像 Delicious 提交书签一样,我想要一些标准的 JavaScript,我可以使用它来将任何访问过的 URL 提交到 3rd 方站点,如果这可能通过 URL 的话。建议?
例如,我一直在使用
javascript:void(location.href="http://www.yacktrack.com/home?query="+encodeURI(location.href))
到目前为止,但想知道是否有更复杂的东西我可以使用或更好的实践。
就像 Delicious 提交书签一样,我想要一些标准的 JavaScript,我可以使用它来将任何访问过的 URL 提交到 3rd 方站点,如果这可能通过 URL 的话。建议?
例如,我一直在使用
javascript:void(location.href="http://www.yacktrack.com/home?query="+encodeURI(location.href))
到目前为止,但想知道是否有更复杂的东西我可以使用或更好的实践。
您是否想要与 Delicious 小书签完全一样的东西(例如,用户主动单击以提交 URL 的东西)?如果是这样,您可能只需复制他们的代码并替换目标 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
诡计。
编辑:约翰打败了我。
document.location = "http://url_submitting_to.com?query_string_param=" + window.location;
另一种选择是这样的:
<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>
如果您正在运行服务器端代码,则可以插入该位置,这样您就可以无 JavaScript:
<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>