Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   Навигация «Вперед/Назад» для HTML файлов (https://javascript.ru/forum/css-html-internet-explorer/46409-navigaciya-vpered-nazad-dlya-html-fajjlov.html)

hdma 08.04.2014 19:48

Навигация «Вперед/Назад» для HTML файлов
 
Приветствую!

Нижеприводимый скрипт, будучи помещён в произвольном месте тега BODY, создаёт навигацию «Вперед-Назад» для файлов с именами 001.html, 002.html, 003.html, 004.html, 005.html и т.д. Работает, по слову автора, в IE5, в IE7 и в IE8 — но не в IE6 (которым пользуюсь —как и, кстати в Мозилле), прокручиваясь на второй странице.
Просьба взглянуть, что может вызывать возвращение на вторую страницу и прокрутку по достижении её.
Прилагаю архив с примерами.

<body>
<script>
var from = 1, to = 100, current = parseInt(window.location.pathname.replace( /^\D+/g, '')); 
  
 if (current > from) 
     document.write('<a href="' + pad(current - 1, 3) + '.html">Previous</a>'); 
  
 if (current < to) 
     document.write('<a href="' + pad(current + 1, 3) + '.html">Next</a>'); 
  
 function pad (str, max) { 
   str = str.toString(); 
   return str.length < max ? pad("0" + str, max) : str; 
 }
</script>

danik.js 08.04.2014 20:07

Цитата:

Сообщение от hdma
но не в IE6 (которым пользуюсь)

То есть ты лично признаешься в некрофилии?

hdma 08.04.2014 20:38

IE6 я пользую для локального просмотра HTML, но скрипт мне нужен под CHM для разных машин и под IE всех версий. Как интернет браузером никогда им не поьзовался и не признавал, — так что твой некрофильский выход не ко мне.

BETEPAH 09.04.2014 01:01

С ИЕ6 очень давно не имел дела. Но здесь в коде вариантов не много.
Может рекурсия в функции не понравилась?
Попробуйте
function pad (str) {
	return str < 10 ? '00' + str : str < 100 ? '0' + str : str;
}

А может регулярка (кстати, странная она какая-то - вместо того, чтоб искать то, что нужно, Вы отбрасываете то, что не нужно). Попробуйте
current = parseInt(/(\d+)\.html/.exec(url))

Больше предположить не могу ничего.

hdma 09.04.2014 02:52

Спасибо, но увы не срабатывает.

Тогда может есть возможность приспособить его на только «вперед», убрав всё лишнее?

jsnb 09.04.2014 04:32

Вложений: 1
Попробуй так. (файл прикреплен к сообщению)
Нет сейчас возможности протестировать на старом IE.

hdma 09.04.2014 15:20

О, получилось! Огромное спасибо!

jsnb 09.04.2014 15:34

Цитата:

Сообщение от hdma (Сообщение 306931)
О, получилось! Огромное спасибо!

Значения min и max в скрипте задают номера первой и последней страницы соответственно...


Часовой пояс GMT +3, время: 17:20.