使用javascript小书签与当前打开的网站一起打开新网页

时间:2019-05-20 20:42:40

标签: javascript redirect bookmarklet

我正在尝试创建一个JavaScript小书签。 基本上,首先我将转到site1.com,然后单击书签,它将使用site1.com的URL,然后打开site2.com/go.php?go=site1.com

因此,javascript需要将site1.com添加到site2.com/go.php?go=,然后打开网页site2.com/go.php?go=site1.com

感谢提示。

1 个答案:

答案 0 :(得分:1)

此小书签将完全满足您的要求:

javascript:window.location='http://site2.com/go.php?go='+escape(window.location.hostname);

该小书签的潜在问题是它将把您发送到 http://site2.com/go.php?go=site1.com,无论您来自https://site1.com/secret.html?query=etc还是http://site1.com。也就是说,无论您在site1.com上的哪个位置单击书签,它仍然会将您发送到http://site2.com/go.php?go=site1.com


所以我怀疑您可能想要的是:

javascript:window.location='http://site2.com/go.php?go='+escape(window.location);

这将允许查询字符串在您单击书签时显示您在site1.com上的确切位置,并且还包括URI方案({{http://https://部分{1}}地址)。分别使用相同的两个示例,此书签将把您发送到site1.com¹和http://site2.com/go.php?go=https://site1.com/secret.html?query=etc。²


  1. 它实际上将对http://site2.com/go.php?go=http://site1.com/地址进行百分比编码,然后将您发送到site1.com,因为http://site2.com/go.php?go=https%3A//site1.com/secret.html%3Fquery%3Detc地址包含多个characters that don’t travel well as URI fragments unless encoded
  2. 出于相同的原因实际上是site1.com