Начало координат окна в языках с обратным направлением письма
Стр 1 из 2Следующая ⇒ Работа с различными видами браузеров
Главная причина, по которой Web-страницы не могут работать везде, это то, что различные виды браузеров поддерживают различные стандарты. Лучшим способом избежать этой проблемы является использование только общих атрибутов и методов. Тем не менее, иногда приходится писать специальный код.
Реализация атрибута innerText
Вы используете атрибут innerText для установки или выборки текста между начальным и конечным тегами объекта, что определено только в Microsoft® Windows® Internet Explorer®. Хотя этот атрибут широко используется, он не является стандартным. Вместо него вы могли бы использовать innerHTML но это не одно и то же. Атрибут innerText предлагает специальные возможности, например способность получать текст дочернего узла напрямую, что может помочь вам написать более "чистый" код. У вас также могут быть унаследованные страницы, использующие innerText. Реализуя атрибут innerText самостоятельно, вы позволяете этим страницам поддерживать больше браузеров. Например, вам может потребоваться реализовать этот атрибут в браузере на основе Mozilla; Листинг 1 показывает, как это сделать.
Листинг 1. Реализация innerText для браузеров на основе Mozilla
HTMLElement.prototype.__defineGetter__ ( "innerText",function() //define a getter method to get the value of innerText, //so you can read it now! { var textRange = this.ownerDocument.createRange(); //Using range to retrieve the content of the object textRange.selectNodeContents(this); //only get the content of the object node return textRange.toString(); // give innerText the value of the node content } );
Получение значения прокрутки и размера окна
Большинству Web-приложений требуются геометрические значения, например размер окна и значения прокрутки. Однако браузеры могут хранить эти значения в различных атрибутах; некоторые атрибуты даже имеют одно и то же название, но назначение их различно. Вам лучше создавать собственные уникальные переменные для замещения значений атрибутов. Листинг 2 показывает, как создать уникальные атрибуты в большинстве популярных браузеров.
Листинг 2. Определение некоторых универсальных переменных как уникальных атрибутов, которые могут замещать геометрические значения
var scrollLeft,scrollTop; // scrollLeft: The distance between the horizontal scrollbar // with the left edge of the frame. // scrollTop: The distance between the vertical scrollbar // with the top edge of the frame.
// Get the scroll value from different browsers. // Determine the browser type first. // And then get the value from the particular property. if (window.pageYOffset){ scrollTop = window.pageYOffset } else if(document.documentElement && document.documentElement.scrollTop){ scrollTop = document.documentElement.scrollTop; } else if(document.body){ scrollTop = document.body.scrollTop; }
if(window.pageXOffset){ scrollLeft=window.pageXOffset } else if(document.documentElement && document.documentElement.scrollLeft){ scrollLeft=document.documentElement.scrollLeft; } else if(document.body){ scrollLeft=document.body.scrollLeft; }
var windowWidth,windowHeight; // frame width & height
if(window.innerWidth){ windowWidth=window.innerWidth; } else if(document.documentElement && document.documentElement.clientWidth){ windowWidth=document.documentElement.clientWidth; } else if(document.body){ windowWidth=document.body.offsetWidth; }
if(window.innerHeight){ windowHeight=window.innerHeight; } else if(document.documentElement && document.documentElement.clientHeight){ windowHeight=document.documentElement.clientHeight; } else if(document.body){ windowHeight=document.body.clientHeight; }
Начало координат окна в языках с обратным направлением письма
Некоторые языки, например арабский и иврит, известны как языки с обратным направлением письма, то есть в них читают справа налево. Современные браузеры поддерживают возможность отображать подобное содержимое. Однако когда страница отображается справа налево, Internet Explorer определяет другое начало координат окна. Начало координат находится не в левом углу области отображения, а в левом углу видимой части. Это означает, что некая часть страницы будет иметь отрицательное значение x, из-за чего некоторые элементы вашей страницы окажутся в неправильном положении. На Рисунке 1 показано, где находится начало координат в Internet Explorer, когда страница показывается слева направо.
Рисунок 1. Начало координат в Internet Explorer при отображении страницы справа налево
Помните, что при отображении страницы в Internet Explorer справа налево вы должны внести изменения в арифметические операции, например, отрегулировав положение элемента сдвигом начала координат.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|