我在HTML中使用JavaScript从几个变量创建HREF链接。 第一个变量是Android文件路径开始的固定文本(每次都相同),第二个变量是从XML属性中获取的文件名。 这一切都很好,但是如果我在XML文档的文件名变量中没有任何空格,它只能正确构建链接。 基本上发生的事情是,如果文件名变量包含空格,它只构造链接,直到文件名中的第一个空格,所以一个例子是
**Correct link =**
<a href="file:///sdcard/Clients/PB/example file name.pdf">example file name.pdf</a>
**Link my code incorrectly returns =**
<a href="file:///sdcard/Clients/PB/example">example file name.pdf</a>
非常感谢帮助。 谢谢!
<script>
xmlDoc=loadXMLDoc("PBFileNames.xml");
x=xmlDoc.getElementsByTagName("file");
var path = "file:///sdcard/Clients/PB/"; //this will be constant between all iterations
for (i=0;i<x.length;i++)
{
var filename = x[i].getAttributeNode("name").nodeValue; //the nodefile is the filename
{
document.write("<br>");
document.write("<a href=" + path + filename + ">" + filename + "</a>");
document.write("<br>");
}
}
</script>
答案 0 :(得分:1)
您必须转义URI
document.write("<a href=" + path + encodeURI(filename)+ ">" + filename + "</a>");