我想使用直接的JavaScript截断动态加载的字符串。这是一个url,所以没有空格,我显然不关心单词边界,只关心字符。
以下是我得到的信息:
var pathname = document.referrer; //wont work if accessing file:// paths
document.getElementById("foo").innerHTML = "<a href='" + pathname +"'>" + pathname +"</a>"
我想使用直接的JavaScript截断动态加载的字符串。这是一个url,所以没有空格,我显然不关心单词边界,只关心字符。
以下是我得到的信息:
var pathname = document.referrer; //wont work if accessing file:// paths
document.getElementById("foo").innerHTML = "<a href='" + pathname +"'>" + pathname +"</a>"
3条答案
按热度按时间myzjeezk1#
使用substring方法:
所以在你的案例中:
but5z9lq2#
这里有一种你可以使用的方法。这是对Free CodeCamp挑战之一的回答:
shyt4zoc3#
是的,子串。您不需要使用索引长度大于字符串结束于原始长度的长度的Math.min;子字符串。
但!
这是个错误。如果Document.Referrer中有撇号怎么办?或在HTML中具有特殊含义的各种其他字符。在最坏的情况下,Referrer中的攻击者代码可能会向您的页面注入JavaScript,这是一个XSS安全漏洞。
虽然可以手动转义路径名中的字符以阻止这种情况发生,但这是一种痛苦。您最好使用DOM方法,而不是摆弄innerHTML字符串。