1 заметка с тегом

errors РСС

5 августа 2013, 17:40

JavaScript: лечим URIError: malformed URI sequence

Иногда (на сайтах с разными кодировками) выскакивает ошибка URIError: malformed URI sequence при использовании decodeURIComponent.
Браузер ругается на символ процента в урле, что бы этого избежать, можно использовать такой вот костыль
function decodeURIComponentX( str ) {
    var out = '', arr, i = 0, l, x;
    arr = str.split(/(%(?:D0|D1)%.{2})/);
    for ( l = arr.length; i < l; i++ ) {
        try {
            x = decodeURIComponent( arr[i] );
        } catch (e) {
            x = arr[i];
        }
        out += x;
    }
    return out
}