2015-01-03 12 views
1

У меня есть приложение HTA с широкой полосой прокрутки, и я хочу сохранить позицию полосы прокрутки, которую пользователь оставил приложению, любое решение?Сохранение позиции прокрутки в файлах HTA

+1

Вы можете сохранить позицию прокрутки в текстовый файл или даже в реестр и присвоить значение этому свойству при загрузке содержимого документа. Какая часть вызывает проблемы? Как бы то ни было, ваш вопрос слишком широк, чтобы ответить здесь. – Teemu

ответ

1

Создайте файл с именем scroll.js в той же папке, что и ваш HTA-файл, который будет использоваться для хранения позиции полосы прокрутки. Затем вставьте следующий код в HTA:

<script type="text/javascript"> 
    window.onbeforeunload = function(){ 
      var myfile = new ActiveXObject("Scripting.FileSystemObject").OpenTextFile("scroll.js",2,true); 
      myfile.WriteLine("document.body.scrollLeft = '" + document.body.scrollLeft + "';"); 
      myfile.WriteLine("document.body.scrollTop = '" + document.body.scrollTop + "';"); 
      myfile.Close(); 
    } 
</script> 

Так что, когда вы открываете HTA он помещает скроллбар как пользователь оставил его, вам нужно вставить этот код прямо перед </body> тэгом:

<script type="text/javascript" src="scroll.js"></script> 
+0

, по-видимому, HTA не поддерживает инициализацию положения прокрутки – Blaster

+1

Работает на моем компьютере, поэтому HTA должна его поддерживать. Что не работает? Отображает ли оно сообщение об ошибке или просто не возвращает назад полосы прокрутки, как вы их оставили? –

+0

ваш код работает правильно, но я пытаюсь использовать эти значения, когда пользователь открывает HTA в следующий раз, прокрутка автоматически прокручивается до этих позиций (scrollTop) - и HTA не поддерживает его – Blaster

Смежные вопросы