Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как загрузить текущую страницу в History?
 
 автор: K   (13.12.2006 в 10:02)   письмо автору
 
 

После нажатия пользователем кнопки страница изменяется функцией JavaScript, но факт изменения не сохраняется в History (кнопки вперед-назад в браузере не задействованы, нельзя нажать на них и вернуться к одному из предыдущих состояний). Например
Файл test.htm
<html>
<head>
<script src="test.js"></script>
</head>
<body>
<input type="button" value="Add Text" onClick="addText()"/><br/>
<span id="text"></span>
</body>
<html>
Файл test.js
function addText(){
var obj=document.getElementById("text");
obj.innerHTML=obj.innerHTML+"+NewText";
}
Чтобы сохранять изменения JavaScript в History приходится ввести еще одну функцию.
Файл test.js
function addText(){
var obj=document.getElementById("text");
obj.innerHTML=obj.innerHTML+"+NewText";
rewrite();
}
function rewrite(){
document.open();
document.write(document.documentElement.innerHTML);
document.close();
}
В Opera все работает, нажимая на кнопки назад-вперед в браузере можно выбрать одно из предыдущих состояний. В Explorer и Firefox кнопки назад-вперед так же начинают работать, но перезапись document-а [document.write(document.documentElement.innerHTML)] обнуляет document, в History остается предыдущая страница и добавляется еще одна – пустая.
Вопрос. 1. Как из самого документа полностью перезаписать текущий документ - document.write(?). 2. Или как по другому занести текущую страницу в History.

   
 
 автор: 12345   (13.12.2006 в 13:02)   письмо автору
 
   для: K   (13.12.2006 в 10:02)
 

1. document.write есть перезапись потока документа . Если он сохраняет переменные, то ответ очевиден - перезаписать, а затем выполнить document.close().
2. Сделать переход на якорь; при этом якорь должен присутствовать на странице. Если его нет - создать (в плавающем слое, если не нужно двигать документ).

   
 
 автор: RMW   (13.12.2006 в 18:55)   письмо автору
 
   для: K   (13.12.2006 в 10:02)
 


function rewrite(){
var h = document.documentElement.innerHTML;
document.open();
document.write(h);
document.close();
}

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования