繁体   English   中英

为什么锚标记在href属性中指定的URL中删除制表符?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM