google-chrome - Chrome 中需要空格的书签已损坏
问题描述
不久前,我创建了一个书签来节省打开 trac 票的时间。它看起来像这样(将 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 也没有修改书签。但无论如何,您都可以从书签 ² 中删除“<code>var”,因为您不必告诉 JavaScriptnbr
的类型是什么。³
将您的书签地址替换为:
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;}})()
- 在 Chrome 和 Safari 上测试并进入
123
打开了一个新窗口并将我发送到https://trac.example.com/example/ticket/123
. 什么都不输入——或者默认文本字符串number
——关闭了提示窗口,什么也没有发生。 var
,包括紧随其后的空格。或var+
或var%20
。- 类似地,小书签在
f
没有声明的情况下进行初始化var f
。
推荐阅读
- jenkins - 如果环境变量包含特定的子字符串,则执行阶段
- r - 如何使用 R 查询相似的多个 SQLite 数据库(对每个数据库使用相同的跨表查询)
- python - 如何使用函数迭代python中数据框的每两列?
- reactjs - 反应JS。如何使用 react-jsonschema-form 比较两个字段,例如密码/重新输入密码字段
- javascript - 如何在映射之前等待加载数据?
- python - 我怎样才能找到我的 tkinter 死了的原因?
- c# - 为什么要使用 IConfigurationSource 来包装 IConfigurationProvider?
- python - Django如何在HTML模板中将所有评论显示为子父关系?
- python - 创建一个包含计数值的汇总表
- http - Esp8266 通过 Wifi 进行 Http 通信