使用 JavaScript 小书签打开包含当前打开站点的新网页
Open new webpage with currently open site using JavaScript bookmarklet
我正在尝试创建一个 JavaScript 小书签。
基本上,首先我会去 site1.com
,然后我会点击小书签,它会取 site1.com 的 URL,然后打开 site2.com/go.php?go=site1.com
所以,JavaScript需要在site2.com/go.php?go=
中添加site1.com
,然后在site2.com/go.php?go=site1.com
打开网页
这个小书签将完全满足您的要求:
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://
部分site1.com
地址)。分别使用相同的两个示例,此书签会将您发送到 http://site2.com/go.php?go=https://site1.com/secret.html?query=etc
¹ 和 http://site2.com/go.php?go=http://site1.com/
.²
- 它实际上会percent-encode
site1.com
地址并将您发送到http://site2.com/go.php?go=https%3A//site1.com/secret.html%3Fquery%3Detc
,因为site1.com
地址包含多个characters that don’t travel well as URI fragments unless encoded。
- 实际上
http://site2.com/go.php?go=http%3A//site1.com/
出于同样的原因。
我正在尝试创建一个 JavaScript 小书签。
基本上,首先我会去 site1.com
,然后我会点击小书签,它会取 site1.com 的 URL,然后打开 site2.com/go.php?go=site1.com
所以,JavaScript需要在site2.com/go.php?go=
中添加site1.com
,然后在site2.com/go.php?go=site1.com
打开网页
这个小书签将完全满足您的要求:
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://
部分site1.com
地址)。分别使用相同的两个示例,此书签会将您发送到 http://site2.com/go.php?go=https://site1.com/secret.html?query=etc
¹ 和 http://site2.com/go.php?go=http://site1.com/
.²
- 它实际上会percent-encode
site1.com
地址并将您发送到http://site2.com/go.php?go=https%3A//site1.com/secret.html%3Fquery%3Detc
,因为site1.com
地址包含多个characters that don’t travel well as URI fragments unless encoded。 - 实际上
http://site2.com/go.php?go=http%3A//site1.com/
出于同样的原因。