我正在尝试执行此功能:
var form = window.open(www.example.com/?param1='+ value1 +'& param2 ='+ value2,'1_blank',params);
但问题是,那是用以下网址打开一个新窗口:
www.example.com/?param1=XXX#038;param2=YYY
虽然我需要打开以下网址:
www.example.com/?param1=XXX¶m2=YYY
如何强制&符号作为符号符号而不是更改为unicode标签?
顺便说一句,我正在尝试在WordPress中执行此操作,并且不确定这是否是Wordpress问题是一个JS问题。
答案 0 :(得分:1)
使用带有&符号的window.open
对我来说很好。我认为您遇到的问题是value1
和value2
中的一些特殊字符。
因此请使用encodeURIComponent
。它内置于JavaScript中。像这样使用它:
var form = window.open(www.example.com/?param1=' + encodeURIComponent(value1) + '¶m2=' + encodeURIComponent(value2),'1_blank', params);
请注意:在¶m2
之后和等于(“=”)符号之前有一个空格(“”)。这将导致参数不被发送。
这是一个奇怪的问题,所以我只是抛出一个想法。它可能只是一个浏览器问题。
答案 1 :(得分:0)
如果您将Javascript放在页面/帖子的内容中,则Wordpress会通过名为“wptexturize”的过滤器运行文本。这将解释您的&符号被替换。
如果是这种情况,您可以从主题的functions.php文件中删除过滤器:
remove_filter( 'the_content', 'wptexturize' );
我希望有所帮助。