[英]Why is it adding %20 to the spaces in my javascript variables
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中的所有空格。
您認為他們有自己的職能嗎? 目的是什么? 為了安全?
%20
是空格的標准URL編碼。 無論使用什么功能處理空格,都認為需要對空格進行編碼才能在URL中使用。
至於為什么這樣做,並不是完全出於安全考慮。 並非所有系統都能很好地處理空間。 在這種情況下這很有幫助,因此,URL編碼空格(除其他事項外)被認為是“更安全”的。 有關所有其他信息,請參閱RFC 3986 s2.1和s2.4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.