Используйте pathname
вместо href
, чтобы получить только часть пути ссылки. В противном случае вы получите неожиданные результаты, если существует суффикс ?query
или #fragment
или указан путь /
(без родителя).
linkElementLink.href= location.pathname.split('/').slice(0, -1).join('/');
(Но тогда, конечно, вы могли бы просто сказать:)
linkElementLink.href= '.';
Не делай этого:
linkElement.innerHTML=loc_array[loc_array.length-2];
Установка HTML из произвольной строки опасна. Если URL, с которого вы взяли этот текст, содержит специальные символы в HTML, такие как <
и &
, пользователи могут добавить разметку. Если бы вы могли получить <script>
в URL-адресе (что вы не сможете сделать, так как он недействителен, но какой-то браузер может позволить вам все равно), у вас будут дыры в безопасности межсайтовых сценариев.
Чтобы установить текст элемента вместо HTML, либо используйте document.createTextNode('string')
и добавьте его к элементу, либо используйте код ветви для использования innerText
(IE) или textContent
(другие современные браузеры).