我有 javascript 代码(windows/firefox),它使用启动 URL
var process = Components.classes["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess);
命令是 cmd /c start MYURL
这适用于大多数情况,除非 URL 包含 &,例如
http://www.google.com/search?q=Robert+Doisneau&ct=doisneau12-hp&oi=ddle 被截断为 http://www.google.com/search?q=Robert+Doisneau
从命令行会发生同样的事情,但是在 URL 周围加上引号可以解决问题。
因此,我在我的 javascript 中的 URL 周围加上了引号,但是当使用双引号时 windows 会产生这个错误:
Windows 找不到 '\http://www.google.com/search?q=Robert+Doisneau&ct=doisneau12-hp&oi=ddle\'。请确保您输入了正确的名称,然后重试。
当我在引号中传递 URL 时,nsIProcess 有什么不同,我该如何避免这种情况?或者我怎样才能重新形成我的 URL,使其不会在 & 处被截断?我不能用 %26 替换 &,因为它不是文本的一部分,它用于传递参数。