JS
Описание
http://www.nsu.ru/education/iit/javascript/jsref/
http://javascript.ru/
Доступ к аргументам функции
  
	function  
		submitEdit(page,sTag){varsTarget=sTag+"?action=save&class="+this.Class+"&id="+this.Id; 
		
	if(arguments.length>2 ) 
		for(i=2;i < arguments.length;i++) 
	      sTarget+=  
	  
		 
		
	  
		   
	      "&"+arguments[i]; 
 }
Работа с массивом
var b=new Array(1,2,3)
for( var i=0; i<b.length; i++ )
	alert(b[i])
	
var a=new Array(2);
a["a"]=1;
a["b"]=2;
for( var c in a )
	alert(a[c]);

var c =  
     
	
	
  


     
	

   new Array(1.123,0.333,4.234);
alert(c[0]*3);
	
Работат со строками
toUpperCase
toLowerCase
substring
substr
split
charAt
indexOf
replace
sOut = sIn.replace(/a/g,'b');

var re = new RegExp(sExp,"ig");
re.lastIndex = 0;
sOut =  

    
  
  sIn.replace(re,sRep);
Trim
function Trim( str )
{
	var b,e;
	if( ! str )
		return str;	
	
	if( str.length == 0 )
		return '';
	
	for( b=0; b < str.length; b++ )
	{
		if( str.charAt(b) != ' ' ) break;
	}
	
	for( e=str.length-1; e > 0; e-- )
	{
		if( str.charAt(e) != ' ' ) break;
	}
	
	if( b >=   

	 
	   
		 	
	
	    
		 
	
	      
	
		      
	
	
	      
	
		      
	
	
	   e )
		return '';
		
	return str.substring(b,e+1);
}
parseDate
function parseInteger(str)
{
	for( var ii=0; ii < str.length; ii++ )
	{
		if( str.charAt(ii) != '0' )
			return parseInt(str.substring(ii));
	}
	return 0;
}

function parseDate(str,format)
{
	var dd,mm,yy
	var nn,ll,bb,ee;
	dd=mm=yy=0;
	ll=str.length;
	for( ee=bb=nn=0; ee <= ll; ee++ )
	{
		if( ee==ll || str.charAt(ee) < '0' || str.charAt(ee) > '9' )
		{
			var ss = str.substring(bb,ee);
			bb=ee+1;
			switch( format.charAt(nn++) )
			{
				case 'D':
					dd = parseInteger(ss);
					break;
				case 'M':
					mm = parseInteger(ss);
					break;
				case 'Y':
					yy = parseInteger(ss);
					if( yy < 30 ) yy+=2000;
					else if( yy < 100 ) yy+=1900;
					break;	
			}
		}
	}
	
	if( dd > 0 && dd <= 31 && mm > 0 
			&& mm <= 

	       
	
		    
			 
	
	 


 

	 
	 
	
	
	      
	
		          
		
			   
			
			  
			
				 
					  
					
				 
					  
					
				 
					  
					     
					      
						
			
		
	
	
	            
			   12 && yy > 1800 && yy < 2100 )
		return new Date(yy,mm-1,dd);
	else
		return null;	
}
Блокировка правой кнопки мыши
NN4/win 
document.captureEvents(Event.MOUSEDOWN); 
document.onmousedown=new Function("e", "return (e.which!=3)"); 

IE5/win 
document.oncontextmenu=
 
 
    

 
new Function("return false;") 
Вызов функции Javascript из аплета
[Java applet]
import java.applet.*;
import java.net.*;

public class inJava extends Applet{
  public void init(){
    String msg = 
 

    
    
       "We will jump to an HTML tag";
    try {
      getAppletContext().showDocument
        (new URL("javascript:doAlert(\"" + msg +"\")"));
      getAppletContext().showDocument
        (new URL("javascript:jumpTo(\"#JUMP\")"));
      }
    catch (MalformedURLException me) { }
  } 
}
[Javascript and HTML]
<HTML><BODY>
<SCRIPT>
function doAlert(s) {
   alert(s);
   }
function jumpTo(tag) {
   self.location=tag;
   }
</SCRIPT>
<APPLET CODE="inJava.class"  
        NAME="myApplet"  MAYSCRIPT
        HEIGHT=400 WIDTH=10>
</APPLET>
<P>
<A NAME=

  
   
   
  
   
   

   
          
         


 "JUMP">jump here from Java via Javascript</A>
</BODY>
</HTML>
Поиск на странице
Поиск
javascript:
if(window.length)
 {alert('Не работает с фреймами!')}
else {
  s=prompt('Введите слово:','');
  r=document.body.createTextRange();
  for(var i=


    
 
   
  
   0;r.findText(s);i++){
    r.execCommand('BackColor','','lime');
	r.collapse(false)
  }alert('Найдено: '+i+' слов(о)');
}
void(null)
Создание собственного тега
Кликните, чтобы увидеть имя этого тега.
<html xmlns:myTag>
<head>
<style type=text/css>
myTag\:c{
 text-align: center;
 width:      150px;
 margin:     1px;
 background: silver;
 cursor:     hand;
}
</style>
</head>
<body>
<myTag:c onClick=
 

 

  
       
      
  
      




 'alert(this.tagName)'>
 Кликните, чтобы увидеть имя этого тега.
</myTag:c>
</body>
</html>

Подробнее
Редактор текста
Этот текст редактируемый.

 
<script language=jscript>
function onOff(){
 sButton.value = 
 (eDiv2.isContentEditable)
  ? "включить редактирование"
  : "отключить редактирование";
 eDiv2.contentEditable =
  (eDiv2.isContentEditable)
   ? false
   : true;
}
</script>
<div id=eDiv2
 contentEditable=false>
 Этот текст редактируемый.</div>
<p><button id=sButton
 onClick=onOff(); style=
 
 
 
   
 
    
    
  
  
    
    


 
 
   
 
  width:240px;>
 включить редактирование</button>
Масштаб документа
function Zoom() {
 window.alert("zoom");
 var myWin = window.open('','zW','width=160,height=
  
 
  100');  with(myWin.document){open();write("<scr"+"ipt>\
 function
  zF(n){\
  opener.document.body.style.zoom=n+'%'\
  }\ var
   zAr=
  
  [];\ for(zm=
  i = 0;  zm <  500; i++)\
    { zAr[i] = zm+=20 }\
  document.write('<title>Zoom за zoom</title>Маштаб: \
  <select id=
  s\onChange=
  zF(this.options[this.options.selectedIndex].text)>\<option>'+zAr.join(\"<option>\")+'</select> <b>%</b>');\
  s.options[4].selected=
  
 
    
  
 
    
 
  
  
   
   
  
   
          
        
     
   
  
   
  true</scr"+"ipt>");
  close();
 }
}
Добавить в Favorites
window.external.AddFavorite('http://inweb.cjb.net', 'Хитрости HTML & JavaScript')
window.external.SetHomePage('about:blank')
Подключение IСQ
ICQ
 <ahref="http://wwp.icq.com/scripts/contact.dll?msgto=
 47739017">ICQ</a>
Версии установленных компонентов
Список установленных продуктов
компонент версия
Address Book ???
Windows Desktop Update NT ???
DirectAnimation ???
DirectAnimation Java Classes ???
DirectShow ???
Dynamic HTML Data Binding ???
Dynamic HTML Data Binding for Java ???
Internet Connection Wizard ???
Internet Explorer 5 Web Browser ???
Internet Explorer Classes for Java ???
Internet Explorer Help ???
Internet Explorer Help Engine ???
Windows Media Player ???
NetMeeting NT ???
Offline Browsing Pack ???
Outlook Express ???
Task Scheduler ???
Microsoft virtual machine ???
Элемент с поведением clientCaps
Плавающий объект
<style>
<!-- #arrow { position: absolute; left: 100px; top: 100px; z-index: 1 } -->
</style>

<body bgcolor="#74C2E7">

<DIV ID="arrow">
	<img id="arrowa" name="arrowa" SRC="images/obj.gif">
</DIV>

<SCRIPT>
<!--
var nn4 = ( document.layers ) ? true : false;
var ie4 = ( document.all )    ? true : false;
var objA;

if ( nn4 ) objA = document.arrow;
if ( ie4 ) objA = arrow.style;

var x = 100, y = 100, step = 4, dir = -1, pos=0;

function MoveObj ( xL, yL ) {
    if ( nn4 ) {
        objA.left = xL;
        objA.top = yL;
    }
    if ( ie4 ) {
        objA.pixelLeft = xL;   
        objA.pixelTop = yL;
    }
}

function Mover () 
{
	if ( y > 235 ) {
		dir = -dir;
	} else {
		if ( y < 15 ) {
			dir = -dir;
		}
	}
	
	y += dir * step;
	x +=
            


 

 
	   




         
            
 

      
      

             

      
        
          
          
    
        
             
          
    


   

	      
		  
	  
		      
			  
		
	
	
	    
	  dir * step;

	MoveObj( x, y);
}

setInterval("Mover();", 
100); //  --> </SCRIPT>
</body>
Изменяемый текст
<SCRIPT LANGUAGE="JavaScript">

<!--

var bv = GetBrowserVer();

function chtext(objId, newtext)
{
	if (bv=='ie4' || (bv=='nn4')) {
		if (bv=="ie4") {
			eval ( objId ).innerHTML = newtext;
		}

		if (bv=="nn4") {
			var clayer = 



   

  

	    
		  
			     
		

		  
			   eval( "document." + objId + ".document" );
			clayer.write(newtext);
			clayer.close();
		}
	}
}

-->

</SCRIPT>
Popup-menu
<STYLE TYPE= "TEXT/CSS">
.popuphdr {
  font-family: verdana, sans-serif;
  font-size: 8pt; 
  font-weight: bold;
  background-color: blue;
  color: white;
}
.popuptxt {
  font-family: verdana, sans-serif;
  font-size: 8pt; 
  background-color: black;
  color: white;
}
</STYLE>
<SCRIPT LANGUAGE="JavaScript">

var bv = GetBrowserVer();

function hide(objId) { 
	if (bv=='ie4')
		eval( objId ).style.visibility = "hidden" ;
	if (bv=='nn4')
		eval( "document." + objId ).visibility = "hide";
};

function show(objId) { 
	if (bv=='ie4')
		eval( objId ).style.visibility = "visible";
	if (bv=='nn4')
		eval( "document." + objId ).visibility = "show";
};

function popupmenu(winwidth, title, text, objId)
{
	if (bv=='ie4' || (bv=='nn4')) {
	 	var MenuText;

		MenuText = 
'<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="2" WIDTH=' + winwidth + ' BGCOLOR="Black">' +
'<TR><TD HEIGHT="15" CLASS="popuphdr">' +
title +
'</TD>' +
'<TD HEIGHT="15" CLASS="popuphdr" ALIGN="right">' +
"<A HREF=\"javascript:hide('" + objId + "')\" CLASS='popuphdr'>X</A>" +
'</TD>' +
'</TR>' +
'<TR><TD COLSPAN="2" HEIGHT="60" CLASS="popuptxt" VALIGN="top">' +
text +
'</TD></TR>' +
'</TABLE>';

		if (bv=="ie4") {
			eval ( objId ).innerHTML = MenuText;
		}

		if (bv=="nn4") {
			var clayer =
 

   

   
	 
		     
	 
		      


   
	 
		    
	 
		      


    

	    
	 	 

		  
          
   
 
 
    
       
 
 
     
 
 


		  
			     
		

		  
			   eval( "document." + objId + ".document" )
			clayer.write(MenuText);
			clayer.close();
		}

		show( objId );
	}
}

</SCRIPT>
Пример использования
<BODY>

<DIV id="menu" style="position: absolute; z-index: 1; left: 140px; top: 95px;"></DIV>
<A HREF=

         
 "javascript:popupmenu(150, 'Popup menu', 'Some text... Some text... Some text...', 'menu')">
Вывести popup-menu
</A>

</BODY>
Комментарии
function popupmenu(winwidth, title, text, objId) - выводит popup-menu
winwidthШирина меню
titleТекст в заголовке
textТекст меню
objIdИдентификатор (Id) тэга <DIV>, внутри котого будет выведено меню
function show(objId) - делает объект видимым
objIdИдентификатор (Id) объекта
function hide(objId) - делает объект невидимым
objIdИдентификатор (Id) скрываемого объекта
Стили, с помощью которых выводится меню
popuphdrСтиль заголовка меню
popuptxtСтиль текста меню
Чтобы изменить вид меню необходимо изменить функцию popupmenu, так чтобы в переменную MenuText записывались тэги, формирующие таблицу требуемого вида
Определение версии броузера
function GetBrowserVer() {
	var ver = "";

	if (navigator.appName == "Netscape" && parseInt(navigator.appVersion) == 3) 
		ver = "nn3"
	else if (navigator.appName == "Netscape" && parseInt(navigator.appVersion) == 4) 
		ver = "nn4"
	else if (navigator.appName == "Microsoft Internet Explorer" 
				&& navigator.appVersion.substring(0,4) == 2.0)  
		ver = "ie3"	
	else if (navigator.appName == "Microsoft Internet Explorer" 
				&& parseInt(navigator.appVersion) == 4) 
		ver =  
	   

	        
		  
	         
		  
	       
				     
		  	
	       
				    
		  "ie4";
	
	return ver;
}
Запуск функций при загрузке
var handlerNames = "";
function addOnLoadHandler( handlerName )
{
  handlerNames +=   
   

    handlerName;
}
function runOnLoadHandlers()
{
  eval( handlerNames );
}
addOnLoadHandler( "initSelectOptions();" );
Отображаем и скрываем (независимо от браузера)

<body>
<table>
<form>
<tr><td>
bbbbbbbbbbbb<span id="kk" style="position:relative;color:red">*</span>kkkkkkkkk
<td></tr>
<tr><td>
<input type="radio" name="rd" value="1" onclick="javascript:sw(this)" checked>show
<input type="radio" name="rd" value="2" onclick="javascript:sw(this)">hide
</td></tr>
</form>
</table>

<script language= "javascript">

 function Hide(nm)
 {

 var o

 if(document.getElementById)
 {
 o = document.getElementById(nm);
 o.style.display = "none";
 }
 else if(document.all)
 {
 o = document.all[nm];
 o.style.display = "none";
 }
 else if(document.layers)
 {
 o = document[nm];
 o.visibility = "hide";
 }

 }


 function Show(nm)
 {

 var o

 if(document.getElementById)
 {
 o = document.getElementById(nm);
// alert(o);
 o.style.display = "";
 }
 else if(document.all)
 {
 o = document.all[nm];
// alert(o);
 o.style.display = "";
 }
 else if(document.layers)
 {
 o = document[nm];
// alert(o);
 o.visibility = "show";
 }

 }


 function sw(obj)
 {
 if(obj.value=="1")
  Show("kk")
 else if(obj.value=="2")
  Hide("kk");
 }


</script>


</body>
</html>

Использование веб-сервисов в Internet Explorer
Работа с Select
Заполнение
for ( var i = 0;i < a.length;i++ )
{
    frm.SH.options[frm.SH.options.length] =        

      new Option( a[i][1], a[i][0] );
}
Получение выбранного элемента
wId =  frm.SH.options[frm.SH.selectedIndex]["value"]
Выбор елемента
  for (var i = 0; i < frm.SH.options.length;i++ )
  {
    if (frm.SH.options[i]["value"] == wId)
      frm.SH.selectedIndex =
          
  
       
        i;
  }
Раскраска элементов
function setAll( wId )
{
  for (var i = 0;i < frm.SH.options.length;i++ )
  {
    if (frm.SH.options[i]["value"] != wId)
    {
      frm.SH.options[i].style.color = "gray";
    }
    else
    {
      frm.SH.options[i].style.color =   

         
  
       
    
        
    
    
    
        "black";
    }
  }
}
Контроль ввода только цифр
function checkFloat(oInput)
{alert(event.keyCode);
	if (( event.keyCode != 8
		 && event.keyCode != 9
		 && event.keyCode != 13
		 && event.keyCode != 35
		 && event.keyCode != 36
		 && event.keyCode != 37
		 && event.keyCode != 39
		 && event.keyCode != 46
		 && ! (event.keyCode == 67 && event.ctrlKey)
		 && ! (event.keyCode == 86 && event.ctrlKey)
		 && ! (event.keyCode == 88 && event.ctrlKey)
		 && event.keyCode != 190
		 && event.keyCode != 191
		 && event.keyCode != 110
		 && event.keyCode != 97
		 && event.keyCode != 98
		 && event.keyCode != 99
		 && event.keyCode != 100
		 && event.keyCode != 101
		 && event.keyCode != 102
		 && event.keyCode != 103
		 && event.keyCode != 104
		 && event.keyCode != 105
		 && event.keyCode != 96
		 && (event.keyCode < 48 || event.keyCode > 57)) || event.shiftKey)
	{
		event.returnValue = false;
	}
	if (event.keyCode == 190 || event.keyCode == 191)
	{
		oInput.value = oInput.value + '.';
		event.returnValue = 

	    
		    
		    
		    
		    
		    
		    
		    
		       
		       
		       
		    
		    
		    
		    
		    
		    
		    
		    
		    
		    
		    
		    
		    
		          
	
		  
	
	       
	
		    
		  false;
	}
}
Передача параметров во Flash
var flash = MSIE ? window["id_тега_object"] : document["name_тега_embed"];
flash.setVariable("имя_переменной", "значение_переменной");
noregret.org
Получение параметров из адресной строки
function getUrlValue(Url:String, Name:String):String {
        var Pos:Number = Url.indexOf("?");
        if(Pos < 0)
               return "";
        Pos =
   
           
          
                
          Url.indexOf(Name, Pos);
        if(Pos < 0)
               return "";
        return Url.substr(Pos+Name.length+1).split("&")[0];
}
function getParam(name) {
var i,r;
var sUrl= new String(window.document.location);
var sParams = sUrl.substring(sUrl.indexOf("?")+1);
var aParams= sParams.split("&");
        
Arg= new Array();
for( i=0; i < aParams.length; i++ ) {
   r  = aParams[i].split("=");
   Arg[r[0]]=r[1];
}
}
Динамическая загрузка скрипта

function loadwnd()
{
  var oScript=document.createElement('SCRIPT');
  oScript.src='jstest.js';
  document.body.appendChild(oScript);
  open_testwnd();
}
file:jstest.js
function open_testwnd()
{
  var wnd= window.open("","","left=0,right=0,width=100px,height=100px,resizable=0");
   
  var iHeight= document.body.clientHeight;
  var iWidth = document.body.clientWidth;
  var left = (self.opera ? iWidth : screen.availWidth)/2;
  var top =  (self.opera ? iHeight : screen.availHeight)/2;
  wnd.moveTo(left, top);
  wnd.document.body.innerHTML = str;  
}
-
Hosted by uCoz