[英]Why does anchor tag remove tab character in URL specified inside href attribute?
Anchor tag
正在删除href attribute
中指定的URL
tab character
,在我的情况下调用Javascript function
,而如果在href attribute
指定的URL
中存在空格则不会删除
以下是重现它的示例代码 -
<html> <script> function test(name) { alert(name+ "is the Name"); } </script> <body> <a href="Javascript:test('Murlidhar ');">Click Me</a> </body> </html>
href
属性的内容始终是URI。 URI不允许使用空格,因此浏览器会将其删除。 您可以通过%-encoding选项卡(以及任何其他空格)来克服此问题:
Space -> %20
Tab -> %09
Line feed (\n) -> %0A
单击<a>
元素时 ,将跟踪链接并解析其URL。 这会导致字符串由基本URL解析器处理 。
在您的示例中,参数在路径状态下处理,在此期间将忽略TAB(U + 0009)字符以及回车符和换行符,因此不会形成已解析URL的一部分。
只有这样才能评估已解析的URL,识别“javascript:”方案,并将其余部分移交给脚本引擎进行处理。
像Boldewyn说的那样。 URI不接受空格。 尝试\\t
在名称后面有空间text()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.