2

就像 Delicious 提交书签一样,我想要一些标准的 JavaScript,我可以使用它来将任何访问过的 URL 提交到 3rd 方站点,如果这可能通过 URL 的话。建议?

例如,我一直在使用

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

到目前为止,但想知道是否有更复杂的东西我可以使用或更好的实践。

4

3 回答 3

2

您是否想要与 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诡计。

编辑:约翰打败了我。

于 2008-09-10T15:45:59.003 回答
1
document.location = "http://url_submitting_to.com?query_string_param=" + window.location;
于 2008-09-10T15:38:03.747 回答
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>

如果您正在运行服务器端代码,则可以插入该位置,这样您就可以无 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>
于 2008-09-10T16:04:45.183 回答