Ява Золотая: история с географией
Radagast Kary
Спецвыпуск хакер, номер #002, стр. 002-056-6
window. Содержит свойства parent, self, top, name,opener, closed, status, defaultStatus, returnValue, clientInformation, document, event, history, location, navigator, screen, event. Как начнешь работать с HTML/JS ближе (если уже ни начал), разузнаешь все, что следует, про каждый из них.
Еще объект window содержит такие полезные методы, как open, showHelp, execScript, setTimeOut, clearTimeOut, setInterval, clearInteral, close, showModalDialog, alert, prompt, confirm, navigate, blur, focus, scroll и другие...
navigator. Содержит кучу переменных, среди которых следует упомянуть appCodeName (кодовое супер-пупер секретное имя браузера), appName (мирское имя его же), appVersion (версия проги), userAgent (appCodeName+'/'+appVersion (чтобы по три раза одно и то же не спрашивать), javaEnabled (а можно ли?), cookieEnabled (или все-таки нельзя?), plugins (архив плюгинов), mimeTypes (он же, но типов мимекодирования). Некоторые, особенно пальценутые браузеры, имеют только свои свойства этого объекта: taintEnabled в Netscape, browserLanguage, connectionSpeed, cpuClass, onLine, platform, systemLanguage, userLanguage в MSIE. Размер пальцев легко сравнивается количеством этих никому не нужных свойств.
Так, не засыпай! Я еще не сказал, что, во-первых, если юзер, который любуется твоей страничкой, делает это в МСИЕ, то ты можешь получить очень много информации из объекта navigator или даже запустить программу на VBScript. Во-вторых, вот маленький полезный примерчик:
function isNormalBrowser
{
if (navigator.appName.indexOf('Microsoft')==-1) return true;
}
function whatOS
{
if (navigator.appVersion.indexOf('Win')>=0) return 'MustDie';
if (navigator.appVersion.indexOf('UNIX')>=0) return '*NIX';
if (navigator.appVersion.indexOf('BSD')>=0) return 'FreeBSD';
if (navigator.appVersion.indexOf('Linux')>=0) return 'Linux';
if (navigator.appVersion.indexOf('Sun')==0) return 'SunOS';
//добавляй еще, какие знаешь...
return 'Unknown';
}
Даже не знаю, надо ли тебе говорить, насколько важно знание операционки в разных благоприятных случаях... Не, не скажу! :)
Reserved Words
Зарезервированные слова в JavaScript делятся на два типа: нормальные и зарезервированные на будущее. В первую категорию входят те слова, которые реально используются как зарезервированные в цивилизованных языках. Во вторую - те, что, может быть, когда-нибудь и будут использованы, а пока что они являются зарезервированными в Яве и скорее всего никогда не войдут в JavaScript. Во всяком случае, я на это надеюсь.
Вот следующие слова из первой группы:
break false in this void
continue for new true while
delete function null typeof with
else if return var
А вот - из второй:
case debugger export super