Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Начало координат окна в языках с обратным направлением письма




Работа с различными видами браузеров

 

Главная причина, по которой 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...