を使用して URL を起動する JavaScript コード (windows/firefox) があります。
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 に置き換えることはできません。これはテキストの一部ではなく、パラメーターを渡すために使用されるためです。