JavaScript

出自 ProgWiki
前往: 導覽搜尋

JavaScript

技術文件

基本

Strict mode

OOP

相關

主條目:JSON

跨遊覽器的解決方式

其他

引用方法

script區塊定義型

  • 可放在頁面的任何地方,但通常會放在Head的區塊之間。
<script type= "text/javascript">
/*<![CDATA[*/
alert('test'); 
/*]]>*/
</script>

外部Src型

<script type='text/javascript' src="test.js"></script>

Include File型

  • 例如用於ASP
<script type='text/javascript'>
<!--#include file="test.js" -->
</script>

動態型1

<script type='text/javascript'>
      (function () {
            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
            ga.src = "//tset.js";
            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
        })();
</script>

動態型2

主條目:IncludeFile.js

其他

Tools

JavaScript格式化工具

JavaScript壓縮工具

其他

OpenSource

  • JSDB.io - The Database of JavaScript Libraries
  • php.js - Use PHP functions in JavaScript

自定函式

Auto-complete

AJAX

主條目:AJAX

Calendar

Checkbox & Radio

Clock

Data

DOM

  • base2.DOM……Yet Another JavaScript Library Without Documentation

Flash Player

主條目:swfobject.js

Grid

HTML

HTML Editor

Images

lightbox

Tables

  • sortable-table……以定義Table的Class方式, 接上JavaScript的靜態表格排序功能
  • TableKit……使用Prototype.js

Menu

Slideshow Viewer

Tabs

TreeView

Video Player

Web-UI

其它套件

FAQ

IE6防止記憶体洩漏的小技巧

URL編碼

DHTML控制項取值

//ASP.NET的DropDownList用(用ClientID_1當變數傳入ClientID)
var x = document.getElementById(ClientID_1).options[document.getElementById(ClientID_1).selectedIndex].value;
 
//ASP.NET的TextBox用(用ClientID_2當變數傳入ClientID)
var y = document.getElementById(ClientID_2).value;

09 is not a legal ECMA-262 octal constant

  • 這是FireFox3才有的JavaScript錯誤訊息(IE無此錯誤),例如陣列的索引值使用 09 之類前面多1個數字0,改成 9 就OK了。
  • ECMA-262 是一種JavaScript標準。

document.appendChild無法正常插入Html物件

var newDiv = document.createElement('div');
newDiv.setAttribute("id", "idTestInsertDiv");
newDiv.setAttribute("height", "400");
newDiv.setAttribute("width", "500");
 
var code = '<h1>測試新增div區塊</h1>';
newDiv.innerHTML = code;
 
//不能用, 原因不明
//document.appendChild(newDiv);
 
//改用
document.getElementsByTagName("body")[0].appendChild(newDiv);

如何從Javascript的Array中篩選出唯一的元素?

    //資料來源
    var ss = [123,789,123,123,789,789,456,123,789,789,456];
 
    //唯一值篩選(以陣列的key方式)
    var uniqueArray = [];
    for (var key in ss) { uniqueArray[ss[key]]=1; }
 
    //將篩選結果存回原陣列
    ss = [];
    for (var key in uniqueArray) {ss.push(key)}
 
    //輸出
    alert(ss.sort().join("|"));

抑制遊覽器的上一頁功能

<script type="text/javascript">
	window.history.forward();
	function noBack(){ window.history.forward(); }
</script>
</head>
<body onload="noBack();" onpageshow="if (event.persisted) noBack();" onunload="">

Call外部的DLL來使用

JavaScript多執行緒在HTML5

防止ASP.NET的表單TextBox在輸入Enter鍵時觸發到表單發送

function FormEnterKey(e) {
     var key;
     if(window.event)
          key = window.event.keyCode;
     else
          key = e.which;
     return (key != 13);
}