Mar*_*k K 12 javascript jquery
我想要做的就是正确编码以下链接,但出于某种原因,"#"给了我一个问题:
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)
Run Code Online (Sandbox Code Playgroud)
我想encodeURI还是encodeURIComponent,但仍然有问题,用"#".如果我手动将"#"替换为"%23",则由于某种原因,代码会再次编码.jQuery是否会预先形成attr()任何编码?
编辑尝试逃生产生
http://twitter.com/share?url=http%253A//example.com/test%2523zzzzzzzz
Run Code Online (Sandbox Code Playgroud)
不确定"%25"来自哪里,而不仅仅是%23
encodeURIComponent执行后使用生成以下内容$("#twitter a").attr("href", url).%25来自哪里?
http://twitter.com/share?url=http%253A%252F%252Fexample.com%252Ftest%2523zzzzzzzz
Run Code Online (Sandbox Code Playgroud)
Jac*_*kin 21
encodeURIComponent 应该适合你:
var text = "hello, how are you? & fine";
var link = "http://example.com/test#zzzzzzzzz";
var url = "http://twitter.com/share?url=" + encodeURIComponent(link) + "&text=" + encodeURIComponent(text);
$('#twitter a').attr('href', url);
Run Code Online (Sandbox Code Playgroud)