用户输入始终在串联 URL 中用双引号括起来
User input always surrounded by double quotations in concatenated URL
我正在开发一个 Chrome 扩展,除其他功能外,它允许您右键单击所选文本并在针对某些正则表达式模式进行测试后在新选项卡中搜索所选文本。
在下面JavaScript的代码中,将选中的文本做成一个字符串,然后编码为一个URI的组成部分,然后应该去掉任何变量开头或结尾的双引号,但是双引号硬生生的还在新建tab的URL中。我无法弄清楚是什么导致引号首先出现在最终结果中,更不用说为什么即使在使用 .replace 方法之后它们仍然存在。我需要根本没有引号,只将选定的文本传递到 URL。请帮忙!
var EncodedSelectedText = encodeURIComponent(JSON.stringify(info.selectionText));
var NoQuotes = EncodedSelectedText.replace(/^"|"$/g, '');
if (RITMRegExPattern.test(info.selectionText)) {
chrome.tabs.create({
url: 'https://redacted-site-name.com/sc_req_item_list.do?
sysparm_query=numberLIKE'+NoQuotes
});
}else if . . .
新创建的 Chrome 选项卡的结果 URL 如下所示:
https://redacted-site-name.com/sc_req_item_list.do?
sysparm_query=numberLIKE"abc1234567"
但需要看起来像这样(不带 abc1234567 的引号):
https://redacted-site-name.com/sc_req_item_list.do?
sysparm_query=numberLIKEabc1234567
删除 JSON.stringify 并重新加载您的扩展程序。 –
wOxxOm
这修复了它。谢谢 wOxxOm。
我正在开发一个 Chrome 扩展,除其他功能外,它允许您右键单击所选文本并在针对某些正则表达式模式进行测试后在新选项卡中搜索所选文本。
在下面JavaScript的代码中,将选中的文本做成一个字符串,然后编码为一个URI的组成部分,然后应该去掉任何变量开头或结尾的双引号,但是双引号硬生生的还在新建tab的URL中。我无法弄清楚是什么导致引号首先出现在最终结果中,更不用说为什么即使在使用 .replace 方法之后它们仍然存在。我需要根本没有引号,只将选定的文本传递到 URL。请帮忙!
var EncodedSelectedText = encodeURIComponent(JSON.stringify(info.selectionText));
var NoQuotes = EncodedSelectedText.replace(/^"|"$/g, '');
if (RITMRegExPattern.test(info.selectionText)) {
chrome.tabs.create({
url: 'https://redacted-site-name.com/sc_req_item_list.do?
sysparm_query=numberLIKE'+NoQuotes
});
}else if . . .
新创建的 Chrome 选项卡的结果 URL 如下所示:
https://redacted-site-name.com/sc_req_item_list.do?
sysparm_query=numberLIKE"abc1234567"
但需要看起来像这样(不带 abc1234567 的引号):
https://redacted-site-name.com/sc_req_item_list.do?
sysparm_query=numberLIKEabc1234567
删除 JSON.stringify 并重新加载您的扩展程序。 – wOxxOm
这修复了它。谢谢 wOxxOm。