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

时间:2016-02-15 12:52:19

标签: javascript html

Anchor tag正在删除tab character中指定的URL href attributeJavascript function在我的情况下调用URL,而href attribute中存在空格在<html> <script> function test(name) { alert(name+ "is the Name"); } </script> <body> <a href="Javascript:test('Murlidhar ');">Click Me</a> </body> </html>内指定,它不会删除

下面是重现它的示例代码 -

&#13;
&#13;
   dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile files('libs/H725Ctrl.jar') // this lib
        testCompile 'junit:junit:4.12'
        compile 'com.android.support:appcompat-v7:21.0.3'

    }
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:3)

href属性的内容始终是 URI。 URI不允许使用空格,因此浏览器会将其删除。您可以通过%-encoding选项卡(以及任何其他空格)来解决此问题:

Space -> %20
Tab -> %09
Line feed (\n) -> %0A

答案 1 :(得分:2)

<a> element is clicked时,该链接为followed且其网址为resolved。这会导致字符串由basic URL parser处理。

在您的示例中,参数在path state中处理,在此期间,TAB(U + 0009)字符以及回车符和换行符被忽略,因此不构成已解析URL的一部分

只有这样才能评估已解析的网址,&#34; javascript:&#34;方案被识别,其余部分交给脚本引擎进行处理。

答案 2 :(得分:0)

像波尔德温说的那样。 URI不接受空格。尝试\ttext()中的名称后面留出空格。