что означает строка в javascript? - PullRequest
1 голос
/ 20 июля 2011
  1. if (document.all)
  2. document.body.style.behavior='url(#default#homepage)';
  3. if (window.sidebar)

Что эти строки означают в javascript? спасибо.

Ответы [ 4 ]

2 голосов
/ 20 июля 2011

if (document.all): используется для проверки, является ли браузер IE, но учтите, что это плохая практика , поскольку он больше не является хорошим методом выполнения теста.

if (window.sidebar): проверить, является ли браузер Firefox.

РЕДАКТИРОВАТЬ: document.body.style.behavior='url(#default#homepage)';, скорее всего, используется для установки домашней страницы, когда браузер IE .Однако , похоже, не очень хорошо работает с Firefox и другими .

2 голосов
/ 20 июля 2011

Не используйте document.all:

if (document.all) {
   element = document.all[id];
else {
   element = document.getElementById(id);
}
  1. document.all был представлен в Internet Explorer 4, потому что W3C DOM еще не стандартизировал способ получения ссылок на элементы с использованием их идентификатора.
    К моменту выхода IE 5 document.getElementById () был стандартизирован, и в результате IE 5 включил его поддержку. Подробнее здесь. .

  2. document.body.style.behavior='url(#default#homepage)' используется для установки текущей страницы в качестве домашней страницы в IE.

  3. if (window.sidebar) - это проверка на firefox
2 голосов
/ 20 июля 2011
document.all is used to check if the browser is IE
1 голос
/ 20 июля 2011

Оператор 1 пытается определить, является ли браузер IE, а оператор 2 использует API только для IE: свойство поведения .

Однако document.all - не только функция IE. Он также существует в Chromium / Chrome и других браузерах на основе WebKit.

Следовательно, оператор 1 передается в IE и Chrome, но оператор 2 работает только в IE.

...