弄個簡單的好一點:呵呵 以DW提供的call js 動作為例分析一下
這是call js.htm里面的內(nèi)容這里我也把它拿出來放在一起好看:)
<SCRIPT LANGUAGE="javascript" SRC="Call javascript.js"></SCRIPT>//這個不用說了就是包含我們的call js.js
<SCRIPT LANGUAGE="javascript" SRC="../../Shared/MM/Scripts/CMN/string.js"></SCRIPT>//之里調(diào)用DW提供的字符串處理函數(shù)
<SCRIPT SRC="../../Shared/MM/Scripts/CMN/displayHelp.js"></SCRIPT>//調(diào)用本動作的幫助頁面
<SCRIPT LANGUAGE="javascript">
var MSG_NoMsg = "Please enter a javascript command or click Cancel.";
注意上面的jS調(diào)用不是都一樣的寫不同的動作就將用動不同的js(也可以不用)這些東東都放在DW的Shared/MM/Scripts下面。
//****************************************************************
你將要在head頭部寫入的JS函數(shù)
//***************************************************************
function MM_callJS(jsStr) { //v2.0
return eval(jsStr)
}
以下為API函數(shù)也就是DW提供的系統(tǒng)函數(shù)
//**********************************************************************************
什么無元素能夠接受這個動作,例如交換圖片swap imag函數(shù)就只有圖片才能接收,我們看到的動作面板中有
為什么是灰色的就是因為用了這個函數(shù),因為當前這個對像不存在。
例如:
function canAcceptBehavior(){
var nameArray = getObjectRefs("NS 4.0","document","IMG");
var retVal = (nameArray.length>0)?"onMouseOut,(onMouseOut)" : false;
return retVal;
}
接受動作函數(shù):這個函數(shù)就用了getobjectRefs()來取得IMG對像,只有當前網(wǎng)頁存在圖像才能用這個動作,后面的onmouseout為缺損動作。
//*************************************************************************************
function canAcceptBehavior(){
return true;
}
//*************************************************************************************
動作函數(shù):這里才是真正把你要寫入head頭部的函數(shù),注意MM_calljs的名字改須與你前面的第一個函數(shù)同名,否則出錯。
//*************************************************************************************
function behaviorFunction(){
return "MM_callJS";
}
//*************************************************************************************
運用動作函數(shù):也就是你將要加在標簽處的函數(shù)。如: 的test部分和args部分。args是你要傳遞給head頭部函數(shù)的參數(shù)。
//*************************************************************************************
function applyBehavior() {
var jsStr = escQuotes(document.theForm.message.value);//這里取得面板中的message值即你輸入文本框中的值
if (jsStr == '') {//這里判斷如果你沒有輸入信息將要彈出的警告信息,這個信息在call js.htm是面已經(jīng)定義的了。
return MSG_NoMsg;
} else {
return "MM_callJS('" + jsStr + "')";//成功寫入函數(shù)
}
}
//*************************************************************************************
這個函數(shù)為取得你輸入的值并保存起來,已便你在下次修改的時候能夠看到你上次輸入的值,否則就談不上修改了。
//*************************************************************************************
function inspectBehavior(jsStr){
var startPos = jsStr.indexOf("(")+2;
var endPos = jsStr.lastIndexOf(")",jsStr.length)-1;
document.theForm.message.value = unescQuotes(jsStr.substring(startPos,endPos));//取得"(" 和平共處")" 之間的值,也就是我們輸入的值。
}
//***************** LOCAL FUNCTIONS ******************
//*************************************************************************************
這里是本地函數(shù),不要也可以的,這個函數(shù)的意思就是一打開就讓文本框聚瞧。
function initializeUI(){
document.theForm.message.focus(); //set focus on textbox
document.theForm.message.select(); //set insertion point into textbox
}
這只是我個人的分析結(jié)果,可能有錯希望大家改正。最近我們公司網(wǎng)速奇慢上不了網(wǎng)所以閑著弄弄,寫寫?
新聞熱點
疑難解答