Tengo el siguiente código PHP:
echo "<input type='image' src='myImage.png' onClick='javascript:location.href = \"index.php?p=1©=true\"' />";
Si hago clic en la imagen, Chrome redirige a index.php?p=1©=true
. Pero si hago clic en la imagen en Internet Explorer 11, se redirige a index.php?p=1©=true
.
Internet Explorer parece reemplazar las entidades HTML en las URL.
Intenté usar &
en lugar de &
, pero tuve el mismo problema: IE lo reemplaza por el símbolo de copyright.
¿Cómo puedo usar ©
en mi URL? Sé que una posible solución sería reemplazar ©
con &whatever
, pero debo cambiar mi sistema de agujeros.
También hay otras personas con el mismo problema:
https://gist.github.com/pguillory/5136408
2 respuestas
La versión correcta es con &
. Lamentablemente, sin embargo, IE11 tiene un gran error viejo que hace que tome &copy
y lo convierta en el símbolo de copyright.
Encontré una solución alternativa: codifique en porcentaje el c
en copy
:
echo "<input type='image' src='myImage.png' onClick='location.href = \"index.php?p=1&%63opy=true\"' />";
// --------------------------------------------------------------------------------------^^^
Ejemplo de la versión correcta que, sin embargo, falla en IE11: http://jsbin.com/dajihiwiwo/
Ejemplo de lo anterior (que también es correcto, solo más obtuso) que funciona en IE11: http://jsbin.com/ nehuxazeka /
¿Por qué no simplemente intercambiar las variables?
En lugar de index.php?p=1©=true
, debería funcionar con index.php?copy=true&p=1
.
Preguntas relacionadas
Nuevas preguntas
javascript
Para preguntas sobre la programación en ECMAScript (JavaScript / JS) y sus diversos dialectos / implementaciones (excepto ActionScript). Incluya todas las etiquetas relevantes en su pregunta; por ejemplo, [node.js], [jquery], [json], etc.