不久前,我创建了一个书签,以节省打开追踪票的时间。看起来像这样(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中工作?
我无法重现问题¹,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;}})()
123
,打开了一个新窗口,并将我发送到https://trac.example.com/example/ticket/123
。完全不输入任何内容-或默认文本字符串number
-关闭提示窗口,什么也没有发生。var
,包括紧随其后的空格。或var+
或var%20
。f
的情况下初始化var f
。