簡體   English   中英

為什么在我的javascript變量中的空格中添加%20

[英]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.1s2.4

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM