Проблема в том, что когда вы делаете
LOC.substring(LOC.indexOf(',') + 1);
вы помещаете все после ,
в переменную CSV
. Но между запятой и 'A01'
есть пробел. Итак, переводчик уменьшает его до:
var POS = window.document.getElementById(' A01').offsetTop;
Но ваш идентификатор 'A01'
, а не ' A01'
, поэтому селектор не работает.
function STP() {
var LOC = 'file:///M:/Transfers/Main%20Desktop/Export/USI/2018/Catalog/CAT-Compilations-01a.htm?1525149288810, A01';
var CSV = LOC.substring(LOC.indexOf(',') + 1);
var ARR = CSV.split(',');
var STR = ARR[ARR.length - 1];
console.log(`'${STR}'`);
}
STP();
Чтобы решить эту проблему, вы можете увеличить индекс на единицу:
LOC.substring(LOC.indexOf(',') + 2);
Но, вероятно, было бы лучше не ставить пробелы в URL, когда в этом нет необходимости - если это возможно, отправьте пользователя на 'file:///M:/Transfers/Main%20Desktop/Export/USI/2018/Catalog/CAT-Compilations-01a.htm?1525149288810,A01'
.