Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   DOCTYPE и scrollTop (https://javascript.ru/forum/css-html-internet-explorer/81168-doctype-i-scrolltop.html)

varjaginm 12.10.2020 12:16

DOCTYPE и scrollTop
 
Использую работу с HTML страницами в чистом виде, без DOCTYPE
Очень удобно определяется текущее положение страницы на экране по document.body.scrollTop и этим же свойством можно двигать страничку в нужное положение.
В соответствии с современной модой мне предписано работать с DOCTYPE
А вот тут я и встал - При любом валидном DOCTYPE свойство document.body.scrollTop неизменно и равно 0, хотя документ прокручен роликом на несколько страниц. Любые изменения свойства проглатываются безо всякой реакции - 0 остается 0 !
Не поверю, что с указанием DOCTYPE программист теряет возможность узнать текущее положение странички и как-то на него повлиять.
Что-то делаю не так, но не могу понять, что !
Может, сейчас надо использовать что-то иное? Учебники пока никак не помогли!

varjaginm 12.10.2020 12:26

Забыл сказать
 
Вся работы происходит с компонентой HTML-вьювера от MS

laimas 12.10.2020 13:00

https://learn.javascript.ru/metrics-window

varjaginm 12.10.2020 13:40

Замечательно !
 
Видимо, замылился глаз!
Кое-что придется переписать, но так работает!
Огромное спасибо!
До кучи, при наличии в документе тега с DOCTYPE получаю от компоненты alert(document.doctype) == null, то есть она работает на самом деле по-иному, т.е. знает про этот тэг, но показать его не может. В браузерах это объект.
Как в скрипте узнать наличие DOCTYPE ?

laimas 12.10.2020 14:15

Вы что пишите исключительно под ишака? Ну так его хозяин официально похоронил. А document.doctype возвращает null только если не существует DTD связанного с текущим документом и это не поддерживается IE8. Что вы вообще привязались к doctype, если пишется действительно для старой версии покойного, то читать тут.

varjaginm 12.10.2020 14:23

Да, под ишака
 
Только у него есть ActiveX ( или я чего-то не знаю ?), которую можно использовать в некоем приложении для отображения HTML кода.
Поиски иных ActiveX ни к чему не привели!
Плохо искал?

laimas 12.10.2020 15:58

Цитата:

Сообщение от varjaginm
Только у него есть ActiveX

Вы что за задачу решаете? У IE нет ActiveX. ActiveX, это управляющие элементы, собственно библиотеки, которые имеет Widows, и которые могут использовать разные приложения. Из всех браузеров такую поддержку имеет только IE (уж не помню, но под какой-то другой можно установить приблуду, он тоже будет поддерживать). Но даже IE без разрешения пользователя или настройками не разрешает использовать ActiveX на странице. Если вы пишите для веб, то никаких ActiveX и быть не может.

voraa 12.10.2020 16:52

Цитата:

Сообщение от laimas
У IE нет ActiveX. ActiveX, это управляющие элементы, собственно библиотеки, которые имеет Widows, и которые могут использовать разные приложения.

Он просто есть. И его можно использовать вне браузера. Например в программах на C++. Есть такие компоненты и в Delpi. Сам когда то использовал такой компонент в CBuilder. Это компонент просмотра HTML страниц. Работает почти как браузер с некоторыми ограничениями.

laimas 12.10.2020 17:08

Цитата:

Сообщение от voraa
Он просто есть.

Что есть, сам IE как компонента? А речь идет о ActiveX компонентах, подключаемых, насколько я понимаю. Их могут устанавливать и регистрировать в системе и приложения, свои компоненты. Я знаю что это, зачем это, использовал, и взламывал, был грех такой, каюсь. :)

varjaginm 12.10.2020 17:14

А речь идет о ActiveX компонентах, подключаемых, насколько я понимаю
Нет, об этом речи не было! voraa правильно понял! Именно компонента для отображения HTML


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