0

HTML で JavaScript を使用して、いくつかの変数から HREF リンクを作成しています。最初の変数は Android ファイル パスの先頭の固定テキスト (毎回同じ) で、2 番目の変数は 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>
4

1 に答える 1

1

URIをエスケープする必要があります

document.write("<a href=" + path + encodeURI(filename)+ ">" + filename + "</a>");
于 2013-06-28T23:04:40.360 に答える