9.5 WMLBrowser库及其函数 WMLBrowser库函数主要包括getCurrentCard、getVar、go、newContext、prev、refresh和setVar函数,下面我们就详细介绍这些函数的功能与用法。 9.5.1 getVar函数 WMLBrowser.getVar(name) 其中的参数name必须是字符串形式表示的变量名,变量值也将以字符串的形式返回。如果变量名的语法不正确,那么函数就会返回无效值invalid。 例如,在下面的几行程序中,变量name被赋值"Good!",所以当使用getVar函数测试它的变量值的时候,会得到"Good!"的结果。
var name = "Good!"; var a = WMLBrowser.getVar("name"); // 返回变量name的值,故a = "Good!" 9.5.2 setVar函数 WMLBrowser.setVar(name, value) 其中参数name和value所代表的变量名及变量值都必须符合WML的语法规定,变量值必须是XML合法的CDATA型数据。如果给定的变量名不符合语法规定或者数值类型不正确,那么函数就会返回无效值invalid。 例如,当前浏览器运行的WML程序中,我们已经定义了name变量,即程序中确实存在该变量,所以当使用setVar函数进行检验和操作时,就会得到变量名为真(true)的判断,同时会把给定的参数值"Mary"赋给该变量: var a = WMLBrowser.setVar("name", "Mary"); // 返回结果为a = true setVar函数赋值的条件是检验的变量名确实存在,而不管该变量是否已经赋值,也不管该变量参与何种运算;而且一旦赋值,该变量在程序以后的运行中均采用新赋的值进行操作或运算。 9.5.3 go函数 WMLBrowser.go(url) 其中的参数url需取字符串形式的URL地址。如果给定的URL地址不合法,则go函数就会返回无效值invalid。例如,下面的例子即可使用go函数装入指定URL地址http://www.host.com/loc/app.dck#start的内容:
var card = "http://www.host.com/loc/app.dck#start"; WMLBrowser.go(card); 9.5.4 prev函数 WMLBrowser.prev( ) 它没有参数,但它有明确的操作对象,即WML浏览器显示的上一个卡片。与go函数一样,如果装入成功,prev函数也返回一个空字符串。如果WML浏览器前面还没有显示过卡片,即上一卡片的URL地址为空,那么浏览器将不执行prev函数的操作,也不试着装入上一卡片的内容,同时返回一个空字符串。 其实,prev函数和go函数的调用是相互覆盖的,它们可以在程序将控制权返回给浏览器之前反复地调用、装入指定URL地址的内容,go函数往前调用,而prev函数往后调用。 9.5.5 newContext函数 WMLBrowser.newContext( ) 如果当前WML的浏览器存在某些问题而无法清理,函数会返回无效值invalid。 例如,下面使用newContext函数的语句即可清理当前的WML浏览器内容: WMLBrowser.newContext(); 9.5.6 getCurrentCard函数 WMLBrowser.getCurrentCard( ) 它没有参数,返回值为字符串形式的相对路径。不过,如果与当前路径对应的目录下没有当前卡片,函数会返回无效值invalid。 例如,假设当前WML浏览器中显示的是http://www.mywap.com/script/deck#input中的卡片,则使用newContext函数可以获得当前卡片的最小相对路径"deck#input": var a = WMLBrowser.getCurrentCard( ); // 返回结果为a = "deck#input" 9.5.7 refresh函数 WMLBrowser.refresh( ) 它也没有参数,当函数生效时将返回一个空字符串,否则,如果浏览器内容无法更新或其中没有显示卡片,则会返回无效值invalid。 refresh函数的使用方法十分简单,下面的自定义函数中就利用了refresh函数进行浏览器内容的更新:
function convert2Peso( ) { var dollars = WMLBrowser.getVar("amount"); var dol2peso = 10.2; var newAmt = dollars*dol2peso; WMLBrowser.setVar("amount", newAmt); WMLBrowser.refresh( ); }
9.6 Dialogs库及其函数 |