我正在尝试使用window.open
打开一个包含空格的网址:
var msg = 'Hello, world!';
var url = 'http://yoursite.com';
var link = 'http://www.twitter.com/share?text=' + msg + '&url=' + url;
window.open(link);
运行这段代码将会打开一个新窗口,其中包含以下内容:
http://twitter.com/share?text=Hello,%2520world!&url=http://yoursite.com
。发生的情况是msg中的空格被转换为%20,然后'%'被转换为%25。为了解决这个问题,我添加了以下代码:
msg = msg.replace(/\s/g, '+');
但是还有其他字符需要注意吗?或者有更好的解决方法吗?