Todo lo que queremos hacer es codificar el siguiente enlace correctamente, pero por alguna razón "#" me está dando un problema:¿Cómo codificar la siguiente URL utilizando JavaScript o jQuery correctamente?
var text = "hello, how are you? &am fine"
var link = "http://example.com/test#zzzzzzzzz"
url = "http://twitter.com/share?url=" + link + "&text" + text;
$("#twitter a").attr("href", url)
Probé encodeURI
o encodeURIComponent
, pero todavía tienen problema con "#". Si reemplazo manualmente "#" con "% 23", entonces, por alguna razón, el código se codifica de nuevo. ¿El jQuery attr()
preforma cualquier codificación?
EDITAR Tratando de escape produce
http://twitter.com/share?url=http%253A//example.com/test%2523zzzzzzzz
No está seguro de que el "25%" está viniendo en lugar de sólo el 23%
Usando encodeURIComponent
genera el siguiente después de hacer $("#twitter a").attr("href", url)
. ¿De dónde viene el% 25?
http://twitter.com/share?url=http%253A%252F%252Fexample.com%252Ftest%2523zzzzzzzz
% 25 es el símbolo por ciento de la primera ronda de codificación –