Назад в раздел
RU.JAVASCRIPT FAQ.
eManual.ru - электронная документация
Секция 1 из 2 - Предыдущая - Следующая
From: "CoModerator of RU.JAVASCRIPT" <koronin@yahoo.com>
Date: Tue, 6 Feb 2001 09:21:37 +0000 (UTC)
Subj: RU.JAVASCRIPT FAQ
I. Docs and Links
1.пошлите меня туда, где есть какие книжки
(можно и на английском) по эхотагу, лучше в электронном виде
>Книги по JavaScript:
>>From: "Vitaly Vasilchuk" <vitaly@basis.ru.kiev.ua>
www.izone.com.ua/info/download_web.html
>>From : shilk@telecom.chita.ru
Вот что я нарыл в свое время:
1) Наталия Бельтикова, Ирина Кузина. Методы и функции JavaScript.
http://webims.virtualave.net/docs/js/jsrus/index.htm
2) Небольшой справочник по JavaScript by Ataev RUSlan
http://gid.spb.ru/RUS/Java.htm
3) JavaScript Шаг за шагом by Андрей Кузин
http://www.mjk.msk.ru/~dron/html/js.shtml
>>From : Artem Babadzhanyants
http://developer.netscape.com
http://www.javascript.com
http://www.javascript.ru
http://www.citycat.ru/doc/
http://godegisel.protey.ru/library/docs/www/
>>From: Alexey Medvedev 2:463/733.137
www.bratta.com/dhtml/ - прикольный JS типа Flash/vector graphics
много примеров для внедрения в свои странички.
www.dansteinman.com/dynduo/ - кросс броузер DHTML API низкого
ровня (IE4,5 , NN4 , Mozilla5). Разрабатывается под GNU license.
сть реализация widget-ов (кнопки, check, list, menu, window, scroll .etc.)
www.htmlguru.com - "родоначальник" DHTML :)
стильно оформленый сайт с учебниками по DHTML
deep.kiev.ua - пример реализации графов для NN-DHTML
(масштабирование под окно, обработка resize event без reload - NN).
deep.kiev.ua/~netlib/ - библиотека по webdesign. Основная часть
освящена JS , DHTML с примерами (например как _создавать_ GIF и PNG
артинки на JS в NN или как сделать еффект hover в NN ).
>>From: Evgenij Koronin <koronin@yahoo.com>
W3 concorcium resources
http://www.w3.org/MarkUp/W3 - HyperText Markup Language
http://www.w3.org/MarkUp/W3 - XHTML Recommendation
http://www.w3.org/CSS/W3 - CSS and Style
http://www.w3.org/DOM/W3 - Document Object Model
http://www.w3.org/XML/W3 - XML
http://www.w3.org/TV/W3 - TV and the Web
HTML, CSS and Javascript
http://www.blooberry.com/indexdot/html/ - HTML Reference
http://www.blooberry.com/indexdot/css/ - CSS Reference
http://www.htmlib.com/where.htm - HTMLib 4.0 - complete HTML/CSS/Javascript
reference (download)
Complete Libraries
http://msdn.microsoft.com/workshop/ - MSDN Workshop
http://developer.netscape.com/docs/index.html - Netscape DevEdge
Documentation Library
http://www.wdvl.com - Web Developer's Virtual Library
Articles and Tutorials
http://builder.cnet.com - CNET Web Builder
http://www.siteexperts.com - Site Experts
http://www.webdeveloper.com - Web Developer
http://www.zdnet.com/devhead/ - ZDNet Developer Head
http://hotwired.lycos.com/webmonkey/ - Hotwired Webmonkey
http://developer.earthweb.com/ - Earthweb Developer
http://www.webreview.com/ - Web Review
http://www.webreference.com/ - Web Reference
http://www.1001tutorials.com/ - 1001 Tutorials
вставляйте свои ссылки!
II. General javascript
1. так, чтобы на событие onclick - фон менялся?
>> From : Vitaly Karmazinsky 2:5020/400 Mon 13 Dec 99
12:24
Q> так, чтобы на событие onclick - фон менялся?
<A HREF="http://www.yahoo.com"
onMouseOver="document.bgColor='red'">Yahoo</a>
Будущий фон определяется между кавычками ' '
red - красный;
black - черный;
yellow - желтый;
white - белый;
green - зеленый;
brown - коричневый;
bgColor - фон;
fgColor - текст;
linkColor - цвет ссылки;
>>From Evgenij Koronin <koronin@yahoo.com>
<a href="javascript:document.bgColor='red'">change color</a>
2. Вобщем, надо если включен js показать один кусочек html кода, а если
выключен другой.
From: "Michael A. Kangin" <mak@complife.net>
<script>
document.writeln('Один кусочек')
</script>
<noscript>
Другой кусочек
</noscript>
3. А как на JavaScript по гипеpccылке можно пеpедать
паpаметp (напpимеp название файла) cо одной cтpанички
на дpугую? Идея cоcтоит в том, чтобы cтpаничка pаботала
по-pазному в завиcимоcти от того, откуда на неё вошли.
>> From : Michael A. Kangin 2:5020/400 Fri 28 Jan
00 03:26
1. Откуда пришли на данную страничку, можно попробовать узнать по
document.referrer
2. Параметры можно передавать как <a href="file.htm?parameter=value">, и
вытаскивать их как parameter=document.location.search;
4. Помню, что для того, чтобы пеpедать паpаметp, надо:
<A HREF="webpage.htm?param1=value1¶m2=value2&...">ssd</A>
А вот как добыть значения паpаметpов, не помню.
>>From: Evgenij Koronin <koronin@yahoo.com>
Modified code taken from MSTV OneWorld UI
----------------------------------------------
var QueryString = new Array();
QueryString["_"]="";
function unspace( qs_element ) {
return qs_element.split( '+' ).join( ' ' );
}
if ( location.search.length > 1 ) {
var qs_query = location.search.substring( 1, location.search.length );
var qs_pairs = qs_query.split( '&' );
for ( var qs_index = 0; qs_index < qs_pairs.length; qs_index++ ) {
var qs_element = qs_pairs[qs_index].split( '=' );
QueryString[qs_element[0]] = unspace( unescape( qs_element[1] ) );
}
}
----------------------------------------------
использовать: var myVar = QueryString["parameter"];
5. пoдcкaжитe plz кaк cдeлaть в html ccылкy кoтopaя бы paбoтaлa кaк ктoпкa
back в бpoyзepe
>> From : Igor Kanshin 2:463/1124.50 Sat 05 Feb 00
11:39
<a href="JavaScript:history.back()">Back</a>
6. Пpедположим надо создать новое окошко, но не на основе yже сyществyющего
html-файла, а сфоpмиpовать его на JavaScript и потом yже откpыть в новом
окне.
>> From : Andrew Konovalov 2:5030/1139 Sun 13 Feb 00
09:11
newWindow = window.open(...);
newWindow.document.write(...);
>>From: Evgenij Koronin <koronin@yahoo.com>
newWindow = window.open("");
s=your_html;
with (newWindow.document)
{
open();
write(s);
close();
}
7. А как можно загрузить картинку до того,
как начнёт загружаться остальная часть страницы?
>> From : V.Kobychev 2:5020/400 Mon 21 Feb 00
15:44
<html><head>
<script LANGUAGE="JavaScript">
<!--
function PreloadImages()
{
if (document.images)
{
var imgFiles = PreloadImages.arguments;
var preloadArray = new Array();
for (var i=0; i<imgFiles.length; i++)
{
preloadArray[i] = new Image;
preloadArray[i].src = imgFiles[i];
}
}
}
PreloadImages('picture1.jpg','picture2.jpg','picture3.gif'); // и еще
сколько угодно картинок
// -->
</script>
<body>
....
</body>
</html>
8. Как этой хpенью пользоваться ????? Написанно window.opener.ля-ля ;((
>> From : Vitaly Karmazinsky 2:5020/400 Fri 17 Mar 00
13:45
window.opener.document.my_form.my_element.value = 'test';
Вот таким кодом можно вставить данные в форму
родительского окна. Работает везде.
9."Nikolai Levtchenko" <Nikolai.Levtchenko@p73.f4001.n5020.z2.fidonet.org>
wrote in message >
> Существует ли сабж? Чтобы можно было пошагово выполнять, проверять
сосотояние
> переменных и т.д.?
>
http://msdn.microsoft.com/scripting/debugger/default.htm
Очень удачный отладчик от Netscape
ftp://ftp.netscape.com/pub/jsdebug/rtm/jsd10su.jar
III. Browser, mouse buttons, cookies, new windows etc.
1.у кого-нибудь есть универсальный код работы с subj (функции типа
setcookie,
getcookie, killcookie..... )
>>From: Evgenij Koronin <koronin@yahoo.com>
//---------------------------------------------------------------------
// Function to return the value of the cookie specified by "name".
// Parameter:
// name String object containing the cookie name.
// Return: String object containing the cookie value, or null if
// the cookie does not exist.
//---------------------------------------------------------------------
function GetCookie (name)
{
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen)
{
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
//---------------------------------------------------------------------
// Function to get a cookie.
//---------------------------------------------------------------------
function getCookieVal( offset )
{
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
//---------------------------------------------------------------------
// Function to set a cookie.
//---------------------------------------------------------------------
function SetCookie( name, value )
{
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie =
name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
//---------------------------------------------------------------------
// Function to delete a cookie. (Sets expiration date)
// name - String object containing the cookie name
//---------------------------------------------------------------------
function DeleteCookie (name)
{
var exp = new Date();
var cval = GetCookie (name);
exp.setTime (exp.getTime() - 1); // This cookie is history
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
>> From : Vitaly Vasilchuk 2:5020/400 Wed 12 Apr 00
15:03
<script language="JavaScript">
<!--
// разобрать значение ключа
function extractCookieValue(val)
if ((endOfCookie = document.cookie.indexOf(";", val)) == -1)
endOfCookie = document.cookie.length;
}
return unescape(document.cookie.substring(val, endOfCookie)) ;
}
// чтение ключа
function ReadCookie(cookiename) {
var numOfCookies = document.cookie.length;
var nameOfCookie = cookiename + "=";
var cookieLen = nameOfCookie.length;
var x = 0 ;
while (x <= numOfCookies) {
var y = (x + cookieLen);
if (document.cookie.substring(x, y) == nameOfCookie)
return (extractCookieValue(y));
x = document.cookie.indexOf(" ", x) + 1;
if (x == 0)
break;
}
return "";
}
// создание ключа
// для удаления - expiredays = -1
function createCookie(name, value, expiredays)
var todayDate = new Date();
todayDate.setDate(todayDate.getDate() + expiredays);
document.cookie = name +
"=" +
value +
"; expires=" +
todayDate.toGMTString() +
";"
}
// пример загрузки
function LoadCookies() {
document.forms[0].UserName.value=ReadCookie("UserName");
}
// пример сохранения
function SaveCookies() {
createCookie("UserName", document.forms[0].UserName.value, 30);
}
//-->
</script>
2. пример скрипта запрещения работы правой кнопки мыши.
>> From : Oleg Arkhipov 2:5020/400 Mon 06 Dec 99
11:01
>>From: "Oleg Arkhipov" <arol@hippo.ru>
Нашел в FAQ-Server ( http://zl0ba.i.am ) пример скрипта запрещения работы
правой кнопки мыши.
<html>
<head>
<script LANGUAGE="JavaScript1.1">
<!-- Begin
function right(e) {
if (navigator.appName == 'Netscape' &&
(e.which == 3 || e.which == 2)) {
alert("Sorry, you do not have permission to right click.");
return false;
} else if (navigator.appName == 'Microsoft Internet Explorer' &&
(event.button == 2 || event.button == 3)) {
alert("Sorry, you do not have permission to right click.");
return false;
}
return true;
}
document.onmousedown=right;
if (document.layers) window.captureEvents(Event.MOUSEDOWN);
window.onmousedown=right;
// End -->
</script>
</head>
<body>
</body>
</html>
3. Хотелось бы знать как определить и можно ли вообще определить, какая
кнопка нажата у мыши.
>> From : Evgenij Koronin
используй объект event
The Event Object is supported by both Internet Explorer 4.0 and Netscape
(from 3.0). Properties of the event object are available for every event
that occurs on every scriptable object within a document.
event.button
The button property contains an integer value which represents which of the
mouse buttons were used when the event occurred. The possible values are:
Value Button pressed
0 No mouse button pressed
1 Left mouse button pressed
2 Right mouse button pressed
4 Middle button pressed
4. С этим вопросом я зашел несколько из далека. Конкретно, клиенту
необходим
интерфей типа WinApp, то есть popupMenu по правой кнопке мыши. На
WebClub.ru я нашел кое-что, но там пример на VBScript и через скриплет.
Хотелось бы как-нибудь по проще, по пролетарси, и на JavaScript.
>> From : Evgenij Koronin
Простейший пример:
<script>
<!--
function click() {
if (event.button==2) {
alert(Hello')
}
document.onmousedown=click
///-->
теперь смотри,вместо алерта можно вызывать функцию, по коорой будет
показываться слой с линками (графика или еще что - в нем еще можно подсветку
сделать - это уже отдельный вопрос). В слое короче и будет меню, главное
поиметь координаты мыши через тот же объект event и слой отпозиционировать
на эти координаты. - все. Да - под HH надо будет использовать
document.captureEvent(MOUSEDOWN) - посмотри HH доку, а то ИЕ понимает, что у
документа есть onmousedown, а HH без этого - нет.
И почитай внимательно про event handlers. - в конце функции, по моему надо
возвратить false - тогда само меню оригинальное не будет выдаваться.
Да совсем забыл - различия ИЕ и HH
for IE
event.button
event.x
event.y
for NN
event.which
event.pageX
event.pageY
5.Не мог бы ты привести пример скриптика, который бы текстом писал online
или offline?
>> From : Evgenij Koronin 2:5020/400 Mon 27 Mar 00
19:52
Как два пальца - вот, у меня пишет
<html>
<head><title> Online test </title>
</head>
<body>
Internet Explorer in <B>
<script language="javascript1.2">
<!--
if (document.all)
document.write(navigator.onLine?"online":"offline");
// -->
</script>
</B> mode
</body>
</html>
6. Распечатка страницы из кода
>>From: Nikolay Pichtin
Это попробуйте.
<SCRIPT>
function displayPrintButton() {
if ((navigator.appName.indexOf("Netscape") > -1 &&
parseInt(navigator.appVersion) >= 4) ||
(navigator.appName.indexOf("Microsoft") > -1 &&
parseInt(navigator.appVersion) >= 4) ) {
document.write
("<FORM><INPUT TYPE=button VALUE='Print'
("<FORM>onClick='printCurrentPage();'></FORM>");
}
}
function printCurrentPage() {
if (navigator.appName.indexOf("Microsoft") > -1 &&
navigator.appVersion.indexOf("5.") == -1) {
// IE4
OLECMDID_PRINT = 6;
OLECMDEXECOPT_DONTPROMPTUSER = 2;
OLECMDEXECOPT_PROMPTUSER = 1;
WebBrowser =
'<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0
CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
WebBrowser1.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER);
WebBrowser1.outerHTML = "";
}
else {
// N4 IE5
window.print();
}
}
displayPrintButton();
</SCRIPT>
7. Как определить - какою у юзера браузер?
>> From : Artem Babadzhanyants
>Как определить - какою у юзера браузер?
// Browser propeties check library. Version 1.02
// (C) Zalog 2000. Permission granted to reuse and distribute.
// e-mail: zalog@pyramid-studio.com
function Browser(){
this.checkScreen=Browser_checkScreen;
this.getCookieVal=Browser_getCookieVal;
this.fixCookieDate=Browser_fixCookieDate;
this.getCookie=Browser_getCookie;
this.setCookie=Browser_setCookie;
this.deleteCookie=Browser_deleteCookie;
this.getHostName=Browser_getHostName;
this.getHostAddress=Browser_getHostAddress;
this.agent=navigator.userAgent.toLowerCase();
(navigator.appName)?this.name=navigator.appName:this.name=null;
(navigator.appCodeName)?this.codeName=navigator.appCodeName:this.codeName=nu
ll;
(navigator.securityPolicy)?this.securityPolicy=navigator.securityPolicy:this
..securityPolicy=null;
this.versionHi=parseInt(navigator.appVersion);
this.version=parseFloat(navigator.appVersion);
if(navigator.cpuClass){
this.cpu=navigator.cpuClass.toLowerCase();
this.cpuClass="Unknown CPU class, including Sun SPARC";
if(navigator.cpuClass.indexOf("x86")!= -1) this.cpuClass="Intel
processor";
if((navigator.cpuClass.indexOf("68k")!= -1)||(navigator.cpuClass.indexOf("pp
c")!= -1)) this.cpuClass="Motorola processor";
if(navigator.cpuClass.indexOf("alpha")!= -1) this.cpuClass="Digital
processor";
}else{
this.cpu=null;
this.cpuClass=null;
}
(navigator.onLine )?this.onLine=navigator.onLine:this.onLine=null;
if(navigator.cookieEnabled)this.cookieEnabled=navigator.cookieEnabled;
else{
var expdate=new Date();
expdate.setTime(expdate.getTime()+(365*24*60*60*1000));
this.fixCookieDate(expdate);
this.setCookie("test_js","safe to delete",expdate,"/");
(this.getCookie("test_js"))?this.cookieEnabled=true:this.cookieEnabled=false
;
this.deleteCookie("test_js","/");
}
if(navigator.language)this.language=navigator.language;
else if(navigator.browserLanguage)this.language=navigator.browserLanguage;
else this.language=null;
(navigator.systemLanguage)?this.systemLanguage=navigator.systemLanguage:this
..systemLanguage=null;
(navigator.userLanguage)?this.userLanguage=navigator.userLanguage:this.userL
anguage=null;
this.Netscape=((this.agent.indexOf('mozilla')!=-1)&&(this.agent.indexOf('spo
ofer')==-1)&&(this.agent.indexOf('compatible')==-1)&&(this.agent.indexOf('op
era')==-1)&&(this.agent.indexOf('webtv')==-1));
this.Netscape2=(this.Netscape&&(this.versionHi==2));
this.Netscape3=(this.Netscape&&(this.versionHi==3));
this.Netscape4=(this.Netscape&&(this.versionHi==4));
this.Netscape4up=(this.Netscape&&(this.versionHi>=4));
this.Netscape5=(this.Netscape&&(this.versionHi==5));
this.Netscape5up=(this.Netscape&&(this.versionHi>=5));
this.NavigatorOnly=(this.Netscape&&((this.agent.indexOf(";nav")!=-1)||(this.
agent.indexOf("; nav")!=-1)));
this.IE=(this.agent.indexOf("msie") != -1);
this.IE3=(this.IE&&(this.versionHi<4));
this.IE4=(this.IE&&(this.versionHi==4)&&(this.agent.indexOf("msie
5.0")==-1));
this.IE4up=(this.IE&&(this.versionHi>=4));
this.IE5=(this.IE&&(this.versionHi==4)&&(this.agent.indexOf("msie
5.0")!=-1));
this.IE5up=(this.IE&&!this.IE3&&!this.IE4);
if(this.IE5){
this.versionHi=parseInt(this.agent.substr(this.agent.indexOf("5.")));
this.version=parseFloat(this.agent.substr(this.agent.indexOf("5.")));
}
this.AOL=(this.agent.indexOf("aol")!= -1);
this.AOL3=(this.AOL&&this.IE3);
this.AOL4=(this.AOL&&this.IE4);
this.Opera=(this.agent.indexOf("opera")!=-1);
this.WebTV=(this.agent.indexOf("webtv")!=-1);
if(this.Netscape2||this.IE3)this.jsVersion=1.0;
else if(this.Netscape3||this.Opera)this.jsVersion=1.1;
else
if((this.Netscape4&&(this.version<=4.05))||this.IE4)this.jsVersion=1.2;
else
if((this.Netscape4&&(this.version>4.05))||this.IE5)this.jsVersion=1.3;
else if(this.Netscape5)this.jsVersion=1.4;
else if(this.Netscape&&(this.versionHi>5))this.jsVersion=1.4;
else if(this.IE&&(this.versionHi>5))this.jsVersion=1.3;
else if(_jsVersion>1.3)this.jsVersion=_jsVersion;
else this.jsVersion=0.0;
this.vbVersion=vbVer;
this.osWin=((this.agent.indexOf("win")!=-1)||(this.agent.indexOf("16bit")!=-
1));
this.osWin95=((this.agent.indexOf("win95")!=-1)||(this.agent.indexOf("window
s 95")!=-1));
this.osWinCE=((this.agent.indexOf("wince")!=-1)||(this.agent.indexOf("window
s ce")!=-1)||(this.agent.indexOf("win ce")!=-1));
this.osWin16=((this.agent.indexOf("win16")!=-1)||(this.agent.indexOf("16bit"
)!=-1)||(this.agent.indexOf("windows
3.1")!=-1)||(this.agent.indexOf("windows 16-bit")!=-1));
this.osWin31=((this.agent.indexOf("windows
3.1")!=-1)||(this.agent.indexOf("win16")!=-1)||(this.agent.indexOf("windows
16-bit")!=-1));
this.osWin98=((this.agent.indexOf("win98")!=-1)||(this.agent.indexOf("window
s 98")!=-1));
this.osWinNT=((this.agent.indexOf("winnt")!=-1)||(this.agent.indexOf("window
s nt")!=-1));
this.osWin2000=(this.osWinNT||(this.agent.indexOf("nt 5.0")!=-1));
this.osWin32=(this.osWin95||this.osWinNT||this.osWin98||this.osWin2000||((th
is.versionHi>=4)&&(navigator.platform=="Win32"))||(this.agent.indexOf("win32
")!=-1)||(this.agent.indexOf("32bit")!=-1));
this.osOS2=((this.agent.indexOf("os/2")!=-1)||(navigator.appVersion.indexOf(
"OS/2")!=-1)||(this.agent.indexOf("ibm-webexplorer")!=-1));
this.osMac=(this.agent.indexOf("mac")!=-1);
this.osMac68k=(this.osMac&&((this.agent.indexOf("68k")!=-1)||(this.agent.ind
exOf("68000")!=-1)));
this.osMacPPC=(this.osMac &&
((this.agent.indexOf("ppc")!=-1)||(this.agent.indexOf("powerpc")!=-1)));
this.osSun=(this.agent.indexOf("sunos")!=-1);
this.osSun4=(this.agent.indexOf("sunos 4")!=-1);
this.osSun5=(this.agent.indexOf("sunos 5")!=-1);
this.osSuni86=(this.osSun&&(this.agent.indexOf("i86")!=-1));
this.osIrix=(this.agent.indexOf("irix")!=-1);
this.osIrix5=(this.agent.indexOf("irix 5")!=-1);
this.osIrix6=((this.agent.indexOf("irix
6")!=-1)||(this.agent.indexOf("irix6")!=-1));
this.osHPUx=(this.agent.indexOf("hp-ux")!=-1);
this.osHPUx9=(this.osHPUx&&(this.agent.indexOf("09.")!=-1));
this.osHPUx10=(this.osHPUx&&(this.agent.indexOf("10.")!=-1));
this.osAIX=(this.agent.indexOf("aix")!=-1);
this.osAIX1=(this.agent.indexOf("aix 1")!=-1);
this.osAIX2=(this.agent.indexOf("aix 2")!=-1);
this.osAIX3=(this.agent.indexOf("aix 3")!=-1);
this.osAIX4=(this.agent.indexOf("aix 4")!=-1);
this.osLinux=(this.agent.indexOf("inux")!=-1);
this.osSCO=(this.agent.indexOf("sco")!=-1)||(this.agent.indexOf("unix_sv")!=
-1);
this.osUnixWare=(this.agent.indexOf("unix_system_v")!=-1);
this.osMPRAS=(this.agent.indexOf("ncr")!=-1);
this.osReliant=(this.agent.indexOf("reliantunix")!=-1);
this.osDEC=((this.agent.indexOf("dec")!=-1)||(this.agent.indexOf("osf1")!=-1
)||(this.agent.indexOf("dec_alpha")!=-1)||(this.agent.indexOf("alphaserver")
!=-1)||(this.agent.indexOf("ultrix")!=-1)||(this.agent.indexOf("alphastation
")!=-1));
this.osSinix=(this.agent.indexOf("sinix")!=-1);
this.osBSD=(this.agent.indexOf("bsd")!=-1);
this.osFreeBSD=(this.agent.indexOf("freebsd")!=-1);
this.osOpenBSD=(this.agent.indexOf("openbsd")!=-1);
this.osNetBSD=(this.agent.indexOf("netbsd")!=-1);
this.osBSDi=(this.agent.indexOf("bsdi")!=-1);
this.osUnix=((this.agent.indexOf("x11")!=-1)||this.osSun||this.osIrix||this.
osHPUx||this.osSCO||this.osUnixWare||this.osMPRAS||this.osReliant||this.osDE
C||this.osSinix||this.osAIX||this.osLinux||this.osBSD||this.osFreeBSD);
this.osVMS=((this.agent.indexOf("vax")!=-1)||(this.agent.indexOf("openvms")!
=-1));
this.hostName=null;
this.hostAddress=null;
this.hostName=this.getHostName();
this.hostAddress=this.getHostAddress();
this.checkScreen();
}
function Browser_checkScreen(){
if (top.screen){
(screen.pixelDepth)?this.pixelDepth=screen.pixelDepth:this.pixelDepth=null;
(screen.colorDepth)?this.colorDepth=screen.colorDepth:this.colorDepth=null;
if(screen.width&&screen.height){
this.screenWidth=screen.width;
this.screenHeight=screen.height;
this.screenResolution=this.screenWidth+"x"+this.screenHeight;
}else{
this.screenWidth=null;
this.screenHeight=null;
this.screenResolution=null;
}
if(screen.availWidth&&screen.availHeight){
this.availWidth=screen.availWidth;
this.availHeight=screen.availHeight;
this.availResolution=this.availWidth+"x"+this.availHeight;
}else{
this.availWidth=null;
this.availHeight=null;
this.availResolution=null;
}
if(this.screenWidth&&this.screenHeight&&this.colorDepth)this.Resolution=this
..screenWidth+"x"+this.screenHeight+"x"+this.colorDepth;
else this.Resolution = null;
}else{
this.pixelDepth=null;
this.colorDepth=null;
this.availWidth=null;
this.availHeight=null;
this.availResolution=null;
this.screenWidth=null;
this.screenHeight=null;
this.screenResolution=null;
this.Resolution=null;
}
if(window.innerWidth)this.innerWidth=window.innerWidth;
else{
if(document.body){
if(document.body.clientWidth)
this.innerWidth=document.body.clientWidth;
}else this.innerWidth=null;
}
if(window.innerHeight)this.innerHeight=window.innerHeight;
else{
if(document.body){
if(document.body.clientHeight)this.innerHeight=document.body.clientHeight;
} else this.innerHeight=null;
}
(this.innerWidth&&this.innerHeight)?this.innerResolution=this.innerWidth+"x"
+this.innerHeight:this.innerResolution=null;
(window.outerWidth)?this.outerWidth=window.outerWidth:this.outerWidth=null;
(window.outerHeight)?this.outerHeight=window.outerHeight:this.outerHeight=nu
ll;
(this.outerWidth &&
this.outerHeight)?this.outerResolution=this.outerWidth+"x"+this.outerHeight:
this.outerResolution=null;
(window.offscreenBuffering)?this.offscreenBuffering=window.offscreenBufferin
g:this.offscreenBuffering=null;
if(window.frameRate)this.frameRate=window.frameRate;
else this.frameRate=null;
}
function Browser_getCookieVal(offset){
var endstr=document.cookie.indexOf(";",offset);
if(endstr==-1)endstr=document.cookie.length;
return unescape(document.cookie.substring(offset,endstr));
}
function Browser_fixCookieDate(date){
var base=new Date(0);
var skew=base.getTime();
if(skew>0)date.setTime(date.getTime()-skew);
}
function Browser_getCookie(name){
var arg=name+"=";
var alen=arg.length;
var clen=document.cookie.length;
var i=0;
while(i<clen){
var j=i+alen;
if(document.cookie.substring(i,j)==arg)return this.getCookieVal(j);
i=document.cookie.indexOf(" ",i)+1;
if(i==0)break;
}
return null;
}
function Browser_setCookie(name,value,expires,path,domain,secure){
document.cookie=name+"="+escape(value)+((expires)?";
expires="+expires.toGMTString():"")+((path)?"; path="+path:"")+((domain)?";
domain="+domain:"")+((secure)?"; secure":"");
}
function Browser_deleteCookie(name,path,domain){
if(this.getCookie(name))document.cookie=name+"="+((path)?";
path="+path:"")+((domain)?"; domain="+domain:"")+"; expires=Thu, 01-Jan-70
00:00:01 GMT";
}
function Browser_getHostName(){
if(navigator.appName.lastIndexOf('Netscape')!=-1)
Секция 1 из 2 - Предыдущая - Следующая
|
|
|
|