JavaScript
跳至導覽
跳至搜尋
JavaScript
技術文件
基本
- JavaScript Reference - Mozilla FireFox
- JScript - IE
- JavaScript Web APIs - W3C
- JavaScript Tutorial - w3schools
- JavaScript 教學系列整理 - ithelp
- 深入理解JavaScript系列 - 汤姆大叔的博客
- JavaScript Equality Table
Strict mode
OOP
相關
跨遊覽器的解決方式
其他
- 9 JavaScript Tips You May Not Know
- JavaScript 庭院(整理了許多 JavaScript 的語言特性與一些常見的謬誤與壞習慣)
- 無瑕的程式碼 JavaScript
引用方法
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
其他
Tools
JavaScript格式化工具
- Online JavaScript beautifier
- prettyprinter.de - Pretty Printer for PHP, Java, C++, C, Perl, JavaScript, CSS
- JS Nice(可能會轉錯,只能參考而已)
JavaScript壓縮工具
其他
- JSHint, a JavaScript Code Quality Tool
- 很好用的javascript除錯工具FireBug (firefox)
- Aptana: The Web IDE (JavaScript的IDE工具)
OpenSource
自定函式
Animation(動畫)
- Theatre.js is an animation library for high-fidelity motion graphics.
Auto-complete
AJAX
Canvas(繪圖)
Calendar(日曆)
Checkbox & Radio
Clock
Data
DOM
- base2.DOM……Yet Another JavaScript Library Without Documentation
Flash Player
Grid
- Sigma Grid -- Ajax editable data grid - DHTML grid control with flexibility and user API.
- dhtmlxGrid - Ajax-enabled DHTML grid with rich Javascript API
- Tiny Excel-like app in vanilla JS - JSFiddle(30行JavaScript寫出類似Excel的試算表介面)
HTML
HTML Editor
Images
- lightbox
- The Lightbox Clones Matrix(各種Lightbox套件列表)
Tables
- sortable-table……以定義Table的Class方式, 接上JavaScript的靜態表格排序功能
- TableKit……使用Prototype.js
Menu
Slideshow Viewer
- The TripTracker slideshow is a lightweight JavaScript image viewer with an animated slideshow feature.
Tabs
TreeView
Video Player
Web-UI
Wave圖形化
其它套件
- JavaScript by GreyWyvern
- HTML Block Scroller & Marquee JavaScript
- Buffered Text-fade Effect
- Graphical / Virtual Keyboard Interface
- Whatever:hover
- HIOX INDIA FREE SCRIPT, Tutorial, Images and Web master Tool
- LauDean的程式
- JavaScript Kit
- Dynamic Drive DHTML(dynamic html) & JavaScript code library
- Open-js
- JavaScriptOO
- fuse.js(模糊搜尋?)
FAQ
IE6防止記憶体洩漏的小技巧
URL編碼
- 原因:當使用AJAX時,如果使用GET模式以URL傳遞參數時,在IE下使用,需先進行URL編碼,不然當參數傳遞到Web-Sevrer端時,會變亂碼。
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中篩選出唯一的元素?
- 原始出處:如何從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來使用
- Using js-ctypes(FireFox4)
JavaScript多執行緒在HTML5
防止ASP.NET的表單TextBox在輸入Enter鍵時觸發到表單發送
- 如何讓Form不要因為Enter就自動Submit?
- 在TextBox裡多加上 onkeypress="return FormEnterKey(event)"
function FormEnterKey(e) { var key; if(window.event) key = window.event.keyCode; else key = e.which; return (key != 13); }