The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

FAQ по JavaScript (java faq web)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: java, faq, web,  (найти похожие документы)
From: Порохня Дмитрий <design-star@mail.ru> Date: Mon, 23 Feb 2004 14:31:37 +0000 (UTC) Subject: FAQ по JavaScript Оригинал: http://javascripts.boom.ru/ (JavaScript без границ) 1. Q: Как мне отобразить сообщение для посетителя (допустим, об ошибке)? A: Это делается так: в скрипте в нужном месте пишете: alert("Здесь ваше сообщение!"); 2. Q: А почему мой скрипт не работает в Netscape? Там нет ничего сложного, только проверка заполнения формы и вывод сообщений, если что неправильно... A: Это распространенная ошибка - дело в том, что Netscape не умеет корректро обрабатывать русскую букву "я", ему от этого сносит башню. Лечится просто - перед каждой буквой "я" в скрипте надо поставить обратную косую черту - "\" (без кавычек). Это касается буквы "я" в любом регистре (как строчная, так и прописная). 3. Q: А как мне определить, каким браузером пользуется посетитель моего сайта? A: if(navigator.appName.indexOf("Netscape")!=-1) - Netscape else if(navigator.appName.indexOf("Explorer")!=-1) - IE и т.д.... 4. Q: Как сделать так, чтобы при нажатии на ссылку посетитель перенаправлялся на предыдущую страницу? A: <a href="javascript:history.back();">Назад</a> 5. Q: Как проверить наличие символа или слова в строке? A: Это делается так: var sourceString="Строка для проверки"; if(sourceString.indexOf("для")!=-1) - слово "для" есть в строке else - слова "для" нет в строке 6. Q: Какой самый быстрый способ получить символ из строки? A: Если вам нужен именно символ, а не подстрока, вместо функции substring лучше использовать функцию charAt(index). Например: var sourceStr="test"; document.write(sourceStr.charAt(2)); - напишет в документ символ "s". 7. Q: Как получить случайное число в заданном диапазоне (например, 0-1000)? A: Это делается так: var diapazon=1000; - диапазон получаемого числа document.write(Math.floor(Math.random()*diapazon)); - выводит в документ случайное число в заданном диапазоне. 8. Q: Как направить пользователя на другой сайт, если его адрес заранее неизвестен (допустим, его вводит сам посетитель)? A: Берете введенный посетителем адрес и в скрипте делаете присвоение свойству href: window.location.href="введенный адрес"; 9. Q: Как записать в документ дату его последнего изменения? A: document.write("Дата последнего изменения документа: " + document.lastModified); 10. Q: Как проверить заполнение всех текстовых полей любой формы, не перечисляя их по имени? A: Приведенная функция проверяет на заполнение текстовых полей форму с именем, переданным в качестве параметра: function check(formname) { for(var i=0;i< document.forms[formname].elements.length;i++) { if(document.forms[formname].elements[i].value.length<=0) { alert("Пожалуйста заполните поле " + document.forms[formname].elements[i].name + "!"); return; } } } 11. Q: Как быстро сравнить два числа (строки) и узнать большее? A: Пользуйтесь объектом Math и его методом max: document.write(Math.max(1,2)); - запишет в документ число 2. То-же самое и со строками - возвращается строка, имеющая наибольшее значение. 12. Q: А тогда как узнать минимальное число из двух? A: Пользуйтесь объектом Math и его методом min: document.write(Math.min(1,2)); - запишет в документ число 1. То-же самое и со строками - возвращается строка, имеющая наименьшее значение. 13. Q: Как преобразовать строку в число (в моей форме пользователь вводит числовое значение в одно из текстовых полей, но ведь это строка, а мне в цикле нужно число)? A: Метод parseInt: var stringInt="25"; parseInt(stringInt) - получившееся число, то есть 25. 14. Q: A как вытащить заголовок документа? A: document.write("Заголовок текущего документа: " + document.title); 15. Q: Как получить значение User Agent (что за браузер пришел)? A: document.write("User Agent: " + navigator.userAgent); 16. Q: Как сделать страницу стартовой? A: <a href="адрес" onclick="this.style.behavior='url(#default#homepage)'; this.setHomePage('http://адрес');">Сделать стартовой!</a> 17. Q: А как добавить страницу в "Избранное"? A: <a href="javascript:window.external.addFavorite('http://адрес','Заголовок ');"> Добавить в "Избранное"</a> 18. Q: Как определить размер экрана (в пикселах) у посетителя? A: screen.width - ширина экрана в пикселах; screen.height - высота экрана в пикселах. 19. Q: Как определить тип процессора из JavaScript? A: В общем, можно попытаться так: document.write("Класс вашего процессора: " + navigator.cpuClass); 20. Q: Как определить, на какой платформе работает браузер? A: Попробуйте следующее: document.write("Платформа: " + navigator.platform); 21. Q: Как определить, какой язык используется в системе по умолчанию? A: Можно вот так: document.write("Язык системы по умолчанию: " + navigator.systemLanguage); 22. Q: А как определить текущий язык в системе? A: Можно вот так: document.write("Текущий язык системы: " + navigator.userLanguage); 23. Q: А можно ли определить количество дисков в системе из JavaScript? A: Можно, но учтите, что этот способ использует ActiveX (правда, она уже стоит практически у всех), и поэтому браузер может запросить у вас разрешение на запуск (приведенная функция запишет в документ информацию о дисках): function showDriveList() { var fso = new ActiveXObject("Scripting.FileSystemObject"); document.write("Кол-во дисков в системе: " + fso.drives.count + "; Буквы дисков: "); var coll = new Enumerator(fso.Drives); for (; !coll.atEnd(); coll.moveNext()) { document.write(coll.item().DriveLetter + "&nbsp; "); } } 24. Q: Как определить, включены ли cookie? A: Это делается так: if(navigator.cookieEnabled) document.write("Поддержка cookie включена!"); else document.write("Поддержка cookie выключена!"); 25. Q: Как определить количество цветов в системе? A: Вот так: document.write("Количество поддерживаемых цветов: " + Math.pow(2,screen.colorDepth)); 26. Q: Как определить видеорежим (количество бит на пиксел)? A: Можно вот так: document.write("Бит на пиксел: " + screen.colorDepth); 27. Q: А как определить тип соединения (lan или др)? A: Это сложнее и работает только в IE. Для начала сделайте тег HTML вот таким: <HTML xmlns:IE> Потом табличка стилей: <STYLE> @media all { IE\:CLIENTCAPS {behavior:url(#default#clientCaps)} } </STYLE> Потом в теле документа: <IE:CLIENTCAPS ID="oClientCaps" /> <DIV id="oPre"></DIV> После этих тегов скрипт: <SCRIPT> <!-- oPre.innerText = oClientCaps.connectionType; --> </SCRIPT> 28. Q: Как определить, онлайн ли браузер? A: Попробуйте так: if(navigator.onLine) document.write("Браузер онлайн!"); else document.write("Браузер оффлайн!"); 29. Q: Как определить дату создания документа? A: Это делается так: document.write("Документ создан: " + document.fileCreatedDate); 30. Q: Как определить размер документа в килобайтах? A: Вот так: document.write("Размер документа: " + document.fileSize/1024 + " Кб."); 31. Q: Как просто получить случайную строку? A: Этот скрипт выводит uniqueID документа, который легко можно использовать как случайную строку (перезагрузите страничку несколько раз): document.write("Случайная строка: " +document.uniqueID); 32. Q: А как узнать, какой текст находится в буфере обмена? A: Можно вот так (скопируйте какой-нибудь текст в буфер, потом обновите страничку): document.write("Текст в буфере: " + window.clipboardData.getData("Text")); 33. Q: А как почистить буфер обмена? A: Вот так: <script> window.clipboardData.clearData("Text"); window.clipboardData.clearData("URL"); window.clipboardData.clearData("File"); window.clipboardData.clearData("HTML"); window.clipboardData.clearData("Image"); </script> 34. Q: Как определить кодировку документа? A: Это делается так: document.write("Кодировка документа: " + document.charset); 35. Q: Можно ли вызвать диалог "Упорядочить Избранное", например? A: Можно: <a href="javascript:window.external.ShowBrowserUI('LanguageDialog', null)"> Диалог выбора языка</a> <a href="javascript:window.external.ShowBrowserUI('OrganizeFavorites', null)"> Диалог "Упорядочить Избранное"</a> 36. Q: Как мне сменить вид стандартного курсора мыши на другой? A: Это делается при помощи таблицы стилей, например, вот так: <SPAN STYLE="cursor: crosshair">crosshair</SPAN> <SPAN STYLE="cursor: default">default</SPAN> <SPAN STYLE="cursor: hand">hand</SPAN> <SPAN STYLE="cursor: move">move</SPAN> <SPAN STYLE="cursor: e-resize">e-resize</SPAN> <SPAN STYLE="cursor: ne-resize">ne-resize</SPAN> <SPAN STYLE="cursor: nw-resize">nw-resize</SPAN> <SPAN STYLE="cursor: n-resize">n-resize</SPAN> <SPAN STYLE="cursor: se-resize">se-resize</SPAN> <SPAN STYLE="cursor: sw-resize">sw-resize</SPAN> <SPAN STYLE="cursor: s-resize">s-resize</SPAN> <SPAN STYLE="cursor: w-resize">w-resize</SPAN> <SPAN STYLE="cursor: text">text</SPAN> <SPAN STYLE="cursor: wait">wait</SPAN> <SPAN STYLE="cursor: help">help</SPAN> 37. Q: Как проверить адрес e-mail на правильность? A: Один из лучших методов - использование регулярных выражений. Нижеприведенный пример делает именно так, а если регулярные выражения не поддерживаются - проводит проверку другим способом: Функция возвращает true, если адрес правильный, и false в противном случае: function isEmail(str) { var supported = 0; if (window.RegExp) { var tempStr = "a"; var tempReg = new RegExp(tempStr); if (tempReg.test(tempStr)) supported = 1; } if (!supported) return (str.indexOf(".") > 2) && (str.indexOf("@") > 0); var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)"); var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$"); return (!r1.test(str) && r2.test(str)); } 38. Q: Как сделать, чтобы в "Избранном" вместо стандартной иконки помещалась моя собственная? A: Поместите нижеприведенный код в раздел <HEAD> документа (еще необходимо иметь на сайте саму иконку, конечно): <LINK REL="SHORTCUT ICON" HREF="http://www.мой_адрес.ru/имя_файла_иконки.ico"> 39. Q: А можно ли сделать так, чтобы при нажатии на ссылку посетитель мог сохранить страницу на диск? A: Можно, но работает только в IE: <a href="javascript:document.execCommand('SaveAs');">Сохранить</a> 40. Q: Как я могу узнать размеры активного окна (документа), а не всего экрана? A: Это вполне возожно (измените размеры окна несколько раз): function wh() { var height, width; if (document.all) height = document.body.offsetHeight, width = document.body.offsetWidth; else if (document.layers) height = window.innerHeight, width = window.innerWidth; alert("Ширина окна: " + width + "\nВысота окна: " + height); } 41. Q: Как узнать координаты щелчка мышью в документе? A: Это делается вот так: function GetCoord(e) { if (navigator.appName == "Microsoft Internet Explorer"){ cX = event.clientX; cY = event.clientY; } else { cX = e.pageX; cY = e.pageY; } alert("Координаты щелчка: x = " + cX + "; y = " + cY); } 42. Q: А как заблокировать вывод выпадающего меню по правой кнопке мыши без дурацкого окна-алерта? A: Вот так, товарищч (попробуйте щелкнуть правой мышой в документе): <script language="JavaScript1.2"> <!-- if (window.Event) document.captureEvents(Event.MOUSEUP); function nocontextmenu() { event.cancelBubble = true, event.returnValue = false; return false; } function norightclick(e) { if (window.Event) { if (e.which == 2 || e.which == 3) return false; } else if (event.button == 2 || event.button == 3) { event.cancelBubble = true, event.returnValue = false; return false; } } if (document.layers) document.captureEvents(Event.MOUSEDOWN); document.oncontextmenu = nocontextmenu; document.onmousedown = norightclick; document.onmouseup = norightclick; //--> </script> 43. Q: А как закрыть родительское окно из дочернего без появления надоедливого "А вы действительно хотите закрыть окно"? A: Вот так (установите время срабатывания таймера, какое вам нужно): <SCRIPT LANGUAGE="JavaScript"> <!-- window.open("filename.htm","newwindow","width=725,height=125"); setTimeout(\'window.close()\',5000); //--> </SCRIPT> 44. Q: Как автоматически подстроить размер окна под рисунок, который оно содержит? A: Можно таким способом (один файл открывает все рисунки): Файл - открывальщик рисунков: <html> <head> <SCRIPT LANGUAGE="JavaScript"> <!-- function resizer() { if (document.images) { resizeTo(document.images[0].width+10,document.images[0].height); } else setTimeout('resizer()', 500); } //--> </SCRIPT> </head> <body marginwidth=0 marginheight=0 topmargin=0 leftmargin=0> <SCRIPT LANGUAGE="JavaScript"> <!-- var imgName=document.location.search.substring(document.location.search.in dexOf("=")+1,document.location.search.length); imgName = imgName.replace("*","."); document.write('<img src="' + unescape(imgName) + '">'); resizer(); //--> </SCRIPT> </body> </html> Подключаемый *.js-файл с функцией открытия нового окна: function openImg(imgName) { imgName = imgName.replace(".","*"); var resW = "имя_файла_открывальщика.htm?iname=" + escape(imgName); window.open(resW,'newwin','scrollbars=no, status=no, toolbar=no, location=no, width=50, height=50, left=150, top=150'); } Пример вызова: <a href="javascript:openImg('имя_рисунка');">Открыть рисунок</a> 45. Q: Как я могу расположить окно постоянно впереди других? A: Это возожно (не знаю, как впереди, но иконка на панели задач замигает точно, привлекая внимание): <body onBlur="self.focus();"> Автор - Порохня Дмитрий (design-star@mail.ru; JavaScript без границ) http://javascripts.boom.ru/

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Mher, 14:29, 14/02/2006 [ответить] [смотреть все]
  • +/
    Как проверить правильность написания даты, ятобы работала в FireFox в таком формате 28/12/2006
    Наприер: есть textbox, в нем пишут дату, чтобы была в вышеперечисленном формате.
     
  • 1.2, Андрей, 11:05, 01/06/2006 [ответить] [смотреть все]
  • +1 +/
    А как закрыв родительское окно автоматом закрыть все дочерние?
     
  • 1.5, Александр, 09:18, 13/11/2006 [ответить] [смотреть все]
  • +/
    http://www.colorite.ru/price/demo.html
    как сделать чтобы я мог по электронной почте просто получать эту заполненную форму ? помогите
    пожалуйста??
     
  • 1.6, Andreas, 10:48, 28/12/2006 [ответить] [смотреть все]
  • +/
    Как передать значение переменной между несколькими html-документами если используется общий файл (.js) с яваскриптом
     
     
  • 2.19, Илья, 09:04, 31/07/2009 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    Если использовать родительское окно с фреймами, то из фреймов можно сохранять да... весь текст скрыт [показать] [показать ветку]
     
  • 1.7, Юрий, 16:56, 16/12/2007 [ответить] [смотреть все]  
  • +/
    Как скриптом вызвать диалог сохранения файла. Желательно чтобы работало не только в IE.
     
  • 1.8, Гость, 14:25, 17/12/2007 [ответить] [смотреть все]  
  • +/
    Получить размеры активного окна в Мозиле не работает
     
  • 1.9, Orel, 02:17, 10/01/2008 [ответить] [смотреть все]  
  • +/
    А можно вывести Джавой диалоговое окно типа

    Вы действительно хотите сделать то-то и то-то?
                   [Yes] [No]

    Вариант с использованием отдельного HTML-документа и показа модального окна нежелателен.

     
     
  • 2.10, Zork, 22:14, 04/03/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    style type text css q width 330px height 100px border 0000FF outset... весь текст скрыт [показать] [показать ветку]
     
  • 2.11, Joe, 11:59, 05/03/2008 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Окно подтверждения Вызывается методом confirm question Возвращает true... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.16, kudesnik, 12:35, 26/09/2008 [^] [ответить] [смотреть все]  
  • +/
    Вообще-то onclick="return confirm('Вы поняли о чем речь?')"
     
  • 1.12, МАХ, 13:32, 10/03/2008 [ответить] [смотреть все]  
  • +/
    Возможно ли зделать так чтоби не зависимо от размеров рисунка, прописав код на странице в опредиленном месте все рисунки били одинаковой висоти? Если возможно подскажире какой....
     
     
  • 2.20, Илья, 09:07, 31/07/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    >Возможно ли зделать так чтоби не зависимо от размеров рисунка, прописав код
    >на странице в опредиленном месте все рисунки били одинаковой висоти? Если
    >возможно подскажире какой....

    <IMG SRC="..." HEIGHT="100"> - и так у всех рисунков. Можно высоту указывать в %-х от размеров окна. Ширина WEIGHT.

     
     
  • 3.21, Zork, 10:29, 31/07/2009 [^] [ответить] [смотреть все]  
  • +/
    >>Возможно ли зделать так чтоби не зависимо от размеров рисунка, прописав код
    >>на странице в опредиленном месте все рисунки били одинаковой висоти? Если
    >>возможно подскажире какой....
    >
    ><IMG SRC="..." HEIGHT="100"> - и так у всех рисунков. Можно высоту указывать в %-х от размеров окна. Ширина WEIGHT.

    Устарело это как мир..

    <style type="text/css">
    img
    {
    height: 100px;
    }
    </style>

    и будет вам счастьечко

     
  • 1.13, МАХ, 13:35, 10/03/2008 [ответить] [смотреть все]  
  • +/
    Возможно ли зделать так чтоби не зависимо от размеров рисунка, прописав код на странице в опредиленном месте все рисунки били одинаковой висоти? Если возможно подскажире какой....
     
  • 1.15, Михаил, 13:51, 20/03/2008 [ответить] [смотреть все]  
  • +/
    Каким образом можно сделать чтобы посетитель мог по ссылке сохранять веб страницу на диск ПОЛНОСТЬЮ  в Mozilla Firefox
     
  • 1.17, ReSSub, 11:44, 04/07/2009 [ответить] [смотреть все]  
  • +/
    А можно сделать так, чтобы по ссылке закрыть окно? При условии что окно было открыто без помощи Javascript???
     
     
  • 2.18, Zork, 00:26, 05/07/2009 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    >А можно сделать так, чтобы по ссылке закрыть окно? При условии что
    >окно было открыто без помощи Javascript???

    body
    script type="text/javascript"
    function win_close()
    {
    alert("close");
    window.close();
    }

    /script
    a href="#" onclick="win_close();"Закрыть/a
    /body

     
  • 1.22, RussianPro, 19:53, 05/07/2012 [ответить] [смотреть все]  
  • +/
    Как узнать value поля формы по его имени. Не по id!
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:





      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor