Chrome中需要空格的书签已损坏

问题描述 投票:1回答:1

不久前,我创建了一个书签,以节省打开追踪票的时间。看起来像这样(URL部分替换为trac.example.com/example:

javascript:(function(){var nbr=prompt('ticket','number');f='https://trac.example.com/example/ticket/'+nbr;if(!isNaN(nbr)&&nbr>0&&!window.open(f)){location.href=f;}})()

这在Chrome和Firefox中都有效了一段时间。然后他们俩都停止了工作。我发现问题出在“ var nbr”之间。我用%20替换了空格,Chrome和Firefox中的小书签再次起作用。

但是最近Chrome坚持要删除%20并用空格替换,而书签无法使用。 Firefox中的小书签可以继续与%20一起愉快地工作。

我也尝试使用+代替%20。但这也不起作用,尽管它不会变成空格。

如何使书签在Chrome中工作?

google-chrome bookmarklet
1个回答
0
投票

我无法重现问题¹,Chrome也没有修改书签。但无论如何,您可以从书签中删除“ var ²,因为您不必告诉JavaScript nbr的类型是什么。³

将书签的地址替换为:

javascript:(function(){nbr=prompt('ticket','number');f='https://trac.example.com/example/ticket/'+nbr;if(!isNaN(nbr)&&nbr>0&&!window.open(f)){location.href=f;}})()

  1. [在Chrome和Safari上进行测试并输入123,打开了一个新窗口,并将我发送到https://trac.example.com/example/ticket/123。完全不输入任何内容-或默认文本字符串number-关闭提示窗口,什么也没有发生。
  2. var ,包括紧随其后的空格。或var+var%20
  3. 类似地,小书签在不声明f的情况下初始化var f
© www.soinside.com 2019 - 2024. All rights reserved.