Javascript 实用小技巧_javascript技巧
//自定义的apply,call
if (obj) obj.constructor.prototype._caller = this;
var argus = new Array();
for (var i=0;i
var r;
eval("r = " + (obj ? ("obj._caller(" + argus.join(",") + ");") : ("this(" + argus.join(",") + ");")));
return r;
};
Function.prototype.call = function (obj) {
var argu = new Array();
for (var i=1;i
return this.apply(obj, argu);
};
//下载文件
{
try
{
var xmlHTTP=new ActiveXObject("Microsoft.XMLHTTP");
xmlHTTP.open("Get",strRemoteURL,false);
xmlHTTP.send();
var adodbStream=new ActiveXObject("ADODB.Stream");
adodbStream.Type=1;//1=adTypeBinary
adodbStream.Open();
adodbStream.write(xmlHTTP.responseBody);
adodbStream.SaveToFile(strLocalURL,2);
adodbStream.Close();
adodbStream=null;
xmlHTTP=null;
}
catch(e)
{
window.confirm("下载URL出错!");
}
//window.confirm("下载完成.");
}
//检验连接是否有效
{
var xmlhttp = new ActiveXObject("microsoft.xmlhttp");
xmlhttp.Open("GET",URL, false);
try
{
xmlhttp.Send();
}
catch(e){}
finally
{
var result = xmlhttp.responseText;
if(result)
{
if(xmlhttp.Status==200)
{
return(true);
}
else
{
return(false);
}
}
else
{
return(false);
}
}
}
//POST代替FORM
//readyState是xmlhttp返回数据的进度,0=载入中,1=未初始化,2=已载入,3=运行中,4=完成
//检查网页是否存在
{
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.Open("GET",URL, false);
try
{
xmlhttp.Send();
var result = xmlhttp.status;
}
catch(e) {return(false); }
if(result==200)
{
return true;
}
xmlhttp = null;
return false;
}
//连接数据库
//用 JavaScript 写服务器端连接数据库的代码示例
var conn = new ActiveXObject("ADODB.Connection");
conn.Open("Provider=SQLOLEDB.1; Data Source=localhost; User ID=sa; "
+"Password=; Initial Catalog=pubs");
var rs = new ActiveXObject("ADODB.Recordset");
var sql="select * from authors";
rs.open(sql, conn);
shtml = "
au_id | au_lname | au_fname | phone | address | city | state | zip |
" + rs("au_id") + " | " + rs("au_lname") + " | " + rs("au_fname") + " | " + rs("phone") + " | " + rs("address") + " | " + rs("city") + " | " + rs("state") + " | " + rs("zip") + " |
document.write(shtml);
rs.close();
rs = null;
conn.close();
conn = null;
//使用数据岛
srno:"76">
times:"76">
"first" TYPE=button value=" onclick="xmldate.recordset.moveFirst()">
"prev" TYPE=button value=" onclick="xmldate.recordset.movePrevious()">
"next" TYPE=button value="下一条记录>" onclick="xmldate.recordset.moveNext()">
"last" TYPE=button value="最后一条记录>>" onclick="xmldate.recordset.moveLast()">
"Add" TYPE=button value="添加新记录" onclick="xmldate.recordset.addNew()">
//获得参数
//可编辑Select
//设置光标位置
{
var control = document.activeElement;
textbox.focus();
var rang = document.selection.createRange();
rang.setEndPoint("StartToStart",textbox.createTextRange())
control.focus();
return rang.text.length;
}
function setCaret(textbox,pos)
{
try
{
var r =textbox.createTextRange();
r.moveStart('character',pos);
r.collapse(true);
r.select();
}
catch(e)
{}
}
function selectLength(textbox,start,len)
{
try
{
var r =textbox.createTextRange();
r.moveEnd('character',len-(textbox.value.length-start));
r.moveStart('character',start);
r.select();
}
catch(e)
{//alert(e.description)}
}
function insertAtCaret(textbox,text)
{
textbox.focus();
document.selection.createRange().text = text;
}
//页内查找
{
var txt, i, found,n = 0;
if (str == "")
{
return false;
}
txt = document.body.createTextRange();
for (i = 0; i false; i++)
{
txt.moveStart("character", 1);
txt.moveEnd("textedit");
}
if (found)
{
txt.moveStart("character", -1);
txt.findText(str);
txt.select();
txt.scrollIntoView();
n++;
}
else
{
if (n > 0)
{
n = 0;
findInPage(str);
}
else
{
alert(str + "... 您要找的文字不存在。 \n请试着输入页面中的关键字再次查找!");
}
}
return false;
}
//书
//自定义提示条
function showPopupText(){
var o=event.srcElement;
MouseX=event.x;
MouseY=event.y;
if(o.alt!=null && o.alt!=""){o.dypop=o.alt;o.alt=""};
if(o.title!=null && o.title!=""){o.dypop=o.title;o.title=""};
if(o.dypop!=sPop) {
sPop=o.dypop;
clearTimeout(curShow);
clearTimeout(tFadeOut);
clearTimeout(tFadeIn);
clearTimeout(tFadeWaiting);
if(sPop==null || sPop=="") {
dypopLayer.innerHTML="";
dypopLayer.style.filter="Alpha()";
dypopLayer.filters.Alpha.opacity=0;
}
else {
if(o.dyclass!=null) popStyle=o.dyclass
else popStyle="cPopText";
curShow=setTimeout("showIt()",tPopWait);
}
}
}
function showIt(){
dypopLayer.className=popStyle;
dypopLayer.innerHTML=sPop;
popWidth=dypopLayer.clientWidth;
popHeight=dypopLayer.clientHeight;
if(MouseX+12+popWidth>document.body.clientWidth) popLeftAdjust=-popWidth-24
else popLeftAdjust=0;
if(MouseY+12+popHeight>document.body.clientHeight) popTopAdjust=-popHeight-24
else popTopAdjust=0;
dypopLayer.style.left=MouseX+12+document.body.scrollLeft+popLeftAdjust;
dypopLayer.style.top=MouseY+12+document.body.scrollTop+popTopAdjust;
dypopLayer.style.filter="Alpha(Opacity=0)";
fadeOut();
}
function fadeOut(){
if(dypopLayer.filters.Alpha.opacity
tFadeOut=setTimeout("fadeOut()",1);
}
else {
dypopLayer.filters.Alpha.opacity=popOpacity;
tFadeWaiting=setTimeout("fadeIn()",tPopShow);
}
}
function fadeIn(){
if(dypopLayer.filters.Alpha.opacity>0) {
dypopLayer.filters.Alpha.opacity-=1;
tFadeIn=setTimeout("fadeIn()",1);
}
}
document.onmouseover=showPopupText;
//插入文字
var oSource = window.event.srcElement;
if(oSource.tagName!="DIV")
return false;
var sel = document.selection;
if (sel!=null) {
var rng = sel.createRange();
if (rng!=null)
rng.pasteHTML("插入文字");
}
}
//netscapte下操作xml
doc = new ActiveXObject("Microsoft.XMLDOM")
->>
doc = (new DOMParser()).parseFromString(sXML,'text/xml')
//判断键值
"Content-Type" content="text/html; charset=gb2312">
//Javascript Document.
请按任意一个键。。。。
//禁止FSO
regsvr32 /u scrrun.dll
2.修改PROGID
HKEY_CLASSES_ROOT\Scripting.FileSystemObject
Scripting.FileSystemObject
3.对于使用object的用户,修改HKEY_CLASSES_ROOT\Scripting.
//省略号
overflow: hidden; text-overflow:ellipsis">
//检测media play版本
<script> <BR><SPAN style="COLOR: #0000ff">var flash=<SPAN style="COLOR: #ff00ff">""; <BR> WMPVersion= oClientCaps.getComponentVersion(<SPAN style="COLOR: #ff00ff">"{22D6F312-B0F6-11D0-94AB-0080C74C7E95}",<SPAN style="COLOR: #ff00ff">"ComponentID"); <BR> <SPAN style="COLOR: #0000ff">if (WMPVersion != <SPAN style="COLOR: #ff00ff">"") { <BR> flash = <SPAN style="COLOR: #ff00ff">""; <BR> <SPAN style="COLOR: #0000ff">var version = WMPVersion.split(<SPAN style="COLOR: #ff00ff">","); <BR> <SPAN style="COLOR: #0000ff">var i; <BR> for (i = 0; i < version.length; i++) { <BR> <SPAN style="COLOR: #0000ff">if (i != 0) <BR> flash += <SPAN style="COLOR: #ff00ff">"."; <BR> flash += version[i]; <BR> } <BR> document.write(<SPAN style="COLOR: #ff00ff">"您的Windows Media Player 版本是:"+flash+<SPAN style="COLOR: #ff00ff">"<p>"); <BR> } <BR></script>
//图象按比例
//细线Select
select style="margin:-2px;">
option>1111/option>
option>11111111111111/option>
option>111111111/option>
/select>/span>
//Import
for( var i=0; i
if ( file.match(/\.js$/i))
document.write('
//js枚举
{
var objWMIService = GetObject("Winmgmts:root\cimv2");
for(e = new Enumerator(objWMIService) ; !e.atEnd() ; e.moveNext())
{
var getComputer = e.item();
return getComputer.Name;
}
}
//条件编译
//取得innerText
//mergeAttributes 复制所有读/写标签属性到指定元素。
ATTRIBUTE1="true"
ATTRIBUTE2="true"
onclick="alert('click');"
onmouseover="this.style.color='#0000FF';"
onmouseout="this.style.color='#000000';"
>
This is a sample DIV element.
This is another sample DIV element.
TYPE="button"
VALUE="Merge Attributes"
onclick="fnMerge()"
>
将选中内容保存为html
"Generator" CONTENT="EditPlus">
"Author" CONTENT="">
"Keywords" CONTENT="">
"Description" CONTENT="">
-
显示版块帖子
-
版块帖子分页
-
显示单个帖子
-
发送新帖
-
帖子回复
-
个人登陆
- 留言的回复功能
"save()" value="aa">
判断是刷新还是离开
"Content-Type" content="text/html; charset=gb2312">
"Author" CONTENT="51windows,海娃,haiwa">
"Description" CONTENT="Power by 51windows.Net">
<script> <BR><SPAN style="COLOR: #0000ff">function CloseOpen() { <BR> <SPAN style="COLOR: #0000ff">if(event.clientX<=0 && event.clientY<0) { <BR> alert(<SPAN style="COLOR: #ff00ff">"关闭"); <BR> } <BR> else <BR> { <BR> alert(<SPAN style="COLOR: #ff00ff">"刷新或离开"); <BR> } <BR>} <BR></script>
"CloseOpen()">
获得光标位置
<script> <BR><SPAN style="COLOR: #0000ff">function getCursorPosition(){ <BR><SPAN style="COLOR: #0000ff">var src = event.srcElement <BR><SPAN style="COLOR: #0000ff">var oTR = src.createTextRange() <BR><SPAN style="COLOR: #0000ff">var oSel = document.selection.createRange() <BR><SPAN style="COLOR: #0000ff">var textLength = src.innerText.length <BR><SPAN style="COLOR: #0000ff">var line, char, total, cl <BR>oTR.moveToPoint(oSel.offsetLeft, oSel.offsetTop) <BR>oTR.moveStart(<SPAN style="COLOR: #ff00ff">"character", -1*textLength) <BR>cl = oTR.getClientRects() <BR>line = cl.length <BR>total = oTR.text.length <BR>oTR.moveToPoint(cl[cl.length-1].left, cl[cl.length-1].top) <BR>oTR.moveStart(<SPAN style="COLOR: #ff00ff">"character", -1*textLength) <BR>char = total - oTR.text.length <BR><SPAN style="COLOR: #0000ff">if (oSel.offsetTop != cl[cl.length-1].top) {line++; char = 0} <BR><SPAN style="COLOR: #0000ff">else <SPAN style="COLOR: #0000ff">if (src.createTextRange().text.substr(oTR.text.length, 2) == <SPAN style="COLOR: #ff00ff">"\r\n") char -= 2 <BR>window.status = <SPAN style="COLOR: #ff00ff">"行: " + line +<SPAN style="COLOR: #ff00ff">", 列: " + char + <SPAN style="COLOR: #ff00ff">", 第 " + total + <SPAN style="COLOR: #ff00ff">" 个字符" <BR>} <BR></script>
TextRange的常用方法
收起选区,并移动Range的插入点
bStart true(移到开头,default) false(移到末尾)
expand(sUnit)
展开选区,让单位所包括的选区被包含进来
findText(sText [, iSearchScope] [, iFlags])
在Range中查找sText
iSearchScope 开始位置,负数方向搜索
iFlags 1(向后搜索) 2(整词匹配) 4(区别大小写)
moveStart(sUnit [, iCount])
moveEnd(sUnit [, iCount])
移动Range的开头或结尾
sUnit character(字) word(词) sentence(句) textedit(Range)
iCount 移动数量,默认为1
moveToPoint(iX, iY)
移动光标到坐标(iX,iY)
pasteHTML(sHTMLText)
替换Range中的html
scrollIntoView([bAlignToTop])
滚动使之在当前窗口显示
bAlignToTop true(Range在窗口开头) false(Range在窗口底部)
select()
让选区选中状态
-
事件源对象
event.srcElement.tagName
event.srcElement.type -
捕获释放
event.srcElement.setCapture();
event.srcElement.releaseCapture(); -
事件按键
event.keyCode
event.shiftKey
event.altKey
event.ctrlKey -
事件返回值
event.returnValue -
鼠标位置
event.x
event.y -
窗体活动元素
document.activeElement -
绑定事件
document.captureEvents(Event.KEYDOWN); -
访问窗体元素
document.all("txt").focus();
document.all("txt").select(); -
窗体命令
document.execCommand -
窗体COOKIE
document.cookie -
菜单事件
document.oncontextmenu -
创建元素
document.createElement("SPAN"); -
根据鼠标获得元素:
document.elementFromPoint(event.x,event.y).tagName=="TD
document.elementFromPoint(event.x,event.y).appendChild(ms) -
窗体图片
document.images[索引] -
窗体事件绑定
document.onmousedown=scrollwindow;

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

如何使用WebSocket和JavaScript實現線上語音辨識系統引言:隨著科技的不斷發展,語音辨識技術已成為了人工智慧領域的重要組成部分。而基於WebSocket和JavaScript實現的線上語音辨識系統,具備了低延遲、即時性和跨平台的特點,成為了廣泛應用的解決方案。本文將介紹如何使用WebSocket和JavaScript來實現線上語音辨識系

WebSocket與JavaScript:實現即時監控系統的關鍵技術引言:隨著互聯網技術的快速發展,即時監控系統在各個領域中得到了廣泛的應用。而實現即時監控的關鍵技術之一就是WebSocket與JavaScript的結合使用。本文將介紹WebSocket與JavaScript在即時監控系統中的應用,並給出程式碼範例,詳細解釋其實作原理。一、WebSocket技

如何利用JavaScript和WebSocket實現即時線上點餐系統介紹:隨著網路的普及和技術的進步,越來越多的餐廳開始提供線上點餐服務。為了實現即時線上點餐系統,我們可以利用JavaScript和WebSocket技術。 WebSocket是一種基於TCP協定的全雙工通訊協議,可實現客戶端與伺服器的即時雙向通訊。在即時線上點餐系統中,當使用者選擇菜餚並下訂單

如何使用WebSocket和JavaScript實現線上預約系統在當今數位化的時代,越來越多的業務和服務都需要提供線上預約功能。而實現一個高效、即時的線上預約系統是至關重要的。本文將介紹如何使用WebSocket和JavaScript來實作一個線上預約系統,並提供具體的程式碼範例。一、什麼是WebSocketWebSocket是一種在單一TCP連線上進行全雙工

JavaScript和WebSocket:打造高效的即時天氣預報系統引言:如今,天氣預報的準確性對於日常生活以及決策制定具有重要意義。隨著技術的發展,我們可以透過即時獲取天氣數據來提供更準確可靠的天氣預報。在本文中,我們將學習如何使用JavaScript和WebSocket技術,來建立一個高效的即時天氣預報系統。本文將透過具體的程式碼範例來展示實現的過程。 We

JavaScript教學:如何取得HTTP狀態碼,需要具體程式碼範例前言:在Web開發中,經常會涉及到與伺服器進行資料互動的場景。在與伺服器進行通訊時,我們經常需要取得傳回的HTTP狀態碼來判斷操作是否成功,並根據不同的狀態碼來進行對應的處理。本篇文章將教你如何使用JavaScript來取得HTTP狀態碼,並提供一些實用的程式碼範例。使用XMLHttpRequest

用法:在JavaScript中,insertBefore()方法用於在DOM樹中插入一個新的節點。這個方法需要兩個參數:要插入的新節點和參考節點(即新節點將要插入的位置的節點)。

華為手機不僅顏值高、性能好,功能也很多,下面就給大家盤點一下,10個華為手機隱藏技巧,學會很實用,就連花粉也未必全知道。 01.快速開啟健康碼在進入公共場所時,通常需要掃描場所碼或檢視健康碼。幸運的是,鴻蒙系統支援在桌面上添加健康碼卡片,只需點擊即可快速掃描並查看健康碼與行程卡。操作方法:服務中心→長按健康碼卡片→新增至桌面。 02.桌面速記功能華為鴻蒙系統的速記功能,在桌面就能一鍵呼出「速記」窗口,無需手動記錄,只需按下錄音鍵,對著麥克風說出來,即可轉換為文字。操作方法:備忘錄→設定→速記→任意介面
