Главная > Программирование > Web-программирование > |
FAQ по языку JavaScript |
Секция 1 из 2 - Предыдущая - Следующая
From: "CoModerator of RU.JAVASCRIPT" <CoModerator.of.RU.JAVASCRIPT@p1006.f175.n5030.z2.fidonet.org> Date: Fri, 20 Sep 2002 10:26:52 +0400 Subj: RU.JAVASCRIPT FAQ 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: Пушко Василий http://javascripts.boom.ru/ примечание from Comoderator: "новички - читайте там полезные статьи!" >>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 вставляйте свои ссылки! FAQ 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 FAQ 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.cjb.net ) пример скрипта запрещения работы правой кнопки мыши. <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> FAQ III-2. Browser, mouse buttons, cookies, new windows etc. 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=nul l; (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("ppc")!= -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=fals e; 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.userLa nguage=null; this.Netscape=((this.agent.indexOf('mozilla')!=-1)&&(this.agent.indexOf('spoo fer')==-1)&&(this.agent.indexOf('compatible')==-1)&&(this.agent.indexOf('opera' )==-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("windows 95")!=-1)); this.osWinCE=((this.agent.indexOf("wince")!=-1)||(this.agent.indexOf("windows 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("windows 98")!=-1)); this.osWinNT=((this.agent.indexOf("winnt")!=-1)||(this.agent.indexOf("windows nt")!=-1)); this.osWin2000=(this.osWinNT||(this.agent.indexOf("nt 5.0")!=-1)); this.osWin32=(this.osWin95||this.osWinNT||this.osWin98||this.osWin2000||((thi s.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.inde xOf("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.o sHPUx||this.osSCO||this.osUnixWare||this.osMPRAS||this.osReliant||this.osDEC||t his.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=thi s.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=nul l; (this.outerWidth && this.outerHeight)?this.outerResolution=this.outerWidth+"x"+this.outerHeight:thi s.outerResolution=null; (window.offscreenBuffering)?this.offscreenBuffering=window.offscreenBuffering :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) if(navigator.javaEnabled()==1){ window.onerror=null; hostAddress=java.net.InetAddress.getLocalHost(); return(hostAddress.getHostName()); } return null; } FAQ IV. HTML tags, FORMs, FRAMEs 1.Есть фоpма в котоpой два меню выбоpа - пеpвое гpуппа товаpов, втоpое - список товаpов Вопpос как сделать что-бы во втоpом меню выходили только товаpы конкpетной гpуппы товаpов ? >>From: "Michael A. Kangin" <mak@complife.net> Приведу состряпаннную програмку. Разберешься? -+--------------------- <html> <script> var tovar = new Array(4) tovar[1]= new Array( "Гробы", "Венки", "Катафалки", "Отпевания", "Памятники", "Кресты" ) tovar[2]=new Array( "Компьютеры большие", "Компьютеры маленькие", "Винтчестеры", "Каркуляторы" ) tovar[3]=new Array( "Окна", "Двери", "Слова", "Тараканы", "Жуки", "Клопы" ) tovar[4]=new Array( "Шампунь", "Крем", "Мазь" ) function update_s2() { n=document.f1.s1.selectedIndex + 1; document.f1.s2.length=tovar[n].length; for(i=0; i<tovar[n].length; i++) document.f1.s2[i].text = tovar[n][i]; } </script> <body> <form name="f1"> <table border=0 width=100%> <tr valign=top><td> Фирма<br> <select name="s1" size=4 onChange="update_s2()"> <option selected>Бензенчук и К
Секция 1 из 2 - Предыдущая - Следующая
Вернуться в раздел "Web-программирование" - Обсудить эту статью на Форуме |
Главная - Поиск по сайту - О проекте - Форум - Обратная связь |