我有以下PHP代码:
echo "<input type='image' src='myImage.png' onClick='javascript:location.href = \"index.php?p=1©=true\"' />";
如果我点击图片,Chrome会重定向到index.php?p=1©=true
。但是,如果我在Internet Explorer 11中点击图像,它会重定向到index.php?p=1©=true
。
Internet Explorer似乎取代了URL中的HTML实体。
我尝试使用&
&
,但我遇到了同样的问题:IE将其替换为版权符号。
如何在网址中使用©
?
我知道一种可能的解决方案是用©
替换&whatever
,但我必须改变我的洞系统。
还有其他人有同样的问题:
答案 0 :(得分:3)
为什么不交换变量?
而不是index.php?p=1©=true
它应该仍然适用于index.php?copy=true&p=1
。
答案 1 :(得分:2)
正确的版本是&
。遗憾的是,IE11确实有一个很大的错误,导致它采用&copy
并将其转换为版权符号。
我找到了一种解决方法:对c
中的copy
进行百分比编码:
echo "<input type='image' src='myImage.png' onClick='location.href = \"index.php?p=1&%63opy=true\"' />";
// --------------------------------------------------------------------------------------^^^
在IE11上失败的正确版本示例:http://jsbin.com/dajihiwiwo/
在IE11上运行的上述示例(也是正确的,更加钝的):http://jsbin.com/nehuxazeka/