12.10.2020, 12:16
|
Интересующийся
|
|
Регистрация: 12.10.2018
Сообщений: 22
|
|
DOCTYPE и scrollTop
Использую работу с HTML страницами в чистом виде, без DOCTYPE
Очень удобно определяется текущее положение страницы на экране по document.body.scrollTop и этим же свойством можно двигать страничку в нужное положение.
В соответствии с современной модой мне предписано работать с DOCTYPE
А вот тут я и встал - При любом валидном DOCTYPE свойство document.body.scrollTop неизменно и равно 0, хотя документ прокручен роликом на несколько страниц. Любые изменения свойства проглатываются безо всякой реакции - 0 остается 0 !
Не поверю, что с указанием DOCTYPE программист теряет возможность узнать текущее положение странички и как-то на него повлиять.
Что-то делаю не так, но не могу понять, что !
Может, сейчас надо использовать что-то иное? Учебники пока никак не помогли!
|
|
12.10.2020, 12:26
|
Интересующийся
|
|
Регистрация: 12.10.2018
Сообщений: 22
|
|
Забыл сказать
Вся работы происходит с компонентой HTML-вьювера от MS
|
|
12.10.2020, 13:00
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
|
|
12.10.2020, 13:40
|
Интересующийся
|
|
Регистрация: 12.10.2018
Сообщений: 22
|
|
Замечательно !
Видимо, замылился глаз!
Кое-что придется переписать, но так работает!
Огромное спасибо!
До кучи, при наличии в документе тега с DOCTYPE получаю от компоненты alert(document.doctype) == null, то есть она работает на самом деле по-иному, т.е. знает про этот тэг, но показать его не может. В браузерах это объект.
Как в скрипте узнать наличие DOCTYPE ?
|
|
12.10.2020, 14:15
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Вы что пишите исключительно под ишака? Ну так его хозяин официально похоронил. А document.doctype возвращает null только если не существует DTD связанного с текущим документом и это не поддерживается IE8. Что вы вообще привязались к doctype, если пишется действительно для старой версии покойного, то читать тут.
|
|
12.10.2020, 14:23
|
Интересующийся
|
|
Регистрация: 12.10.2018
Сообщений: 22
|
|
Да, под ишака
Только у него есть ActiveX ( или я чего-то не знаю ?), которую можно использовать в некоем приложении для отображения HTML кода.
Поиски иных ActiveX ни к чему не привели!
Плохо искал?
|
|
12.10.2020, 15:58
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от varjaginm
|
Только у него есть ActiveX
|
Вы что за задачу решаете? У IE нет ActiveX. ActiveX, это управляющие элементы, собственно библиотеки, которые имеет Widows, и которые могут использовать разные приложения. Из всех браузеров такую поддержку имеет только IE (уж не помню, но под какой-то другой можно установить приблуду, он тоже будет поддерживать). Но даже IE без разрешения пользователя или настройками не разрешает использовать ActiveX на странице. Если вы пишите для веб, то никаких ActiveX и быть не может.
|
|
12.10.2020, 16:52
|
|
Профессор
|
|
Регистрация: 03.02.2020
Сообщений: 2,746
|
|
Сообщение от laimas
|
У IE нет ActiveX. ActiveX, это управляющие элементы, собственно библиотеки, которые имеет Widows, и которые могут использовать разные приложения.
|
Он просто есть. И его можно использовать вне браузера. Например в программах на C++. Есть такие компоненты и в Delpi. Сам когда то использовал такой компонент в CBuilder. Это компонент просмотра HTML страниц. Работает почти как браузер с некоторыми ограничениями.
|
|
12.10.2020, 17:08
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от voraa
|
Он просто есть.
|
Что есть, сам IE как компонента? А речь идет о ActiveX компонентах, подключаемых, насколько я понимаю. Их могут устанавливать и регистрировать в системе и приложения, свои компоненты. Я знаю что это, зачем это, использовал, и взламывал, был грех такой, каюсь.
|
|
12.10.2020, 17:14
|
Интересующийся
|
|
Регистрация: 12.10.2018
Сообщений: 22
|
|
А речь идет о ActiveX компонентах, подключаемых, насколько я понимаю
Нет, об этом речи не было! voraa правильно понял! Именно компонента для отображения HTML
|
|
|
|