function openFile(file, object) {
var extension = file.substr( (file.lastIndexOf('.') +1) );
var fileName = file.substr((file.lastIndexOf('/') +1), (file.length - (file.lastIndexOf('/') +1))-4);
object.append('<img class="theimage" src="" alt="icon"/>');
object.append('<span class="thefile"></span>');
switch(extension) {
case 'ppt':
object.find('img').attr('src', 'PowerPoint-icon.png');
break;
case 'pdf':
object.find('img').attr('src', 'pdficon_large.gif');
break;
case 'txt':
object.find('img').attr('src', 'txt_icon.png');
break;
default:
alert('error');
}
object.find('span.thefile').text(fileName);
};
此函数可以自行运行,但是当我将它添加到学校的cms模板时,它会将%20添加到fileName中的所有空格。
你认为他们有自己的功能吗?会是什么目的?为安全起见?
答案 0 :(得分:2)
%20
是空格的标准URL编码。处理空间的任何函数都认为需要对它们进行编码以便在URL中使用。
至于为什么要这样做,它并不完全是为了安全。并非所有系统都处理好空间;这在这些情况下有所帮助,因此对URL编码空间(以及其他内容)被认为是“更安全”。有关所有其他信息,请参阅RFC 3986 s2.1和s2.4