尽管浏览器支持大多数 JScript 功能,但只有在服务器端才支持面向 .NET Framework、基于类的对象、数据类型、枚举、条件编译指令和 const 语句的那些新功能。因此,您应该在服务器端脚本中以独占方式使用这些功能。有关更多信息,请参见 JScript 版本信息。
每当想要在浏览器(客户端)中运行一个脚本时,有经验的开发人员就会在代码中包括检测脚本引擎版本的代码。在脚本检测引擎版本后,它可以将浏览器重定向到具有与该浏览器的脚本引擎兼容的脚本的页。有关更多信息,请参见检测浏览器功能。
JScript 通过浏览器 document 对象的 write 和 writeln 方法在浏览器中显示信息。它还可以在浏览器的窗体中以及警报、提示和确认消息框中显示信息。有关更多信息,请参见使用消息框。
使用 document.write 和 document.writeln
显示信息的最常用方法是 document 对象的 write 方法。它带有一个参数,即它在浏览器中显示的字符串。该字符串要么是纯文本格式,要么是 HTML 格式。
由于字符串可以用单引号或双引号引起来,因此可以引用包含引号或撇号的内容。
document.write("Pi is approximately equal to " + Math.PI); document.write();
注意 |
---|
下面的简单函数使您在每次想要将文本显示在浏览器窗口中时,不必再键入 document.write。如果要写入的内容尚未定义,此函数不会通知您,但它允许您发出一个显示空行的 w(); 命令。 |
function w(m) { // Write function. m = String(m); // Make sure that the m variable is a string. if ("undefined" != m) { // Test for empty write or other undefined item. document.write(m); } document.write("<br>"); } w('<IMG SRC="horse.gif">'); w(); w("This is an engraving of a horse."); w();
writeln 方法几乎与 write 方法相同,它将一个换行符追加到提供的字符串的后面。在 HTML 中,这通常只能在项后面显示一个空格;在 <PRE> 和 <XMP> 标记内,换行符是按字面来解释的,浏览器可将其显示出来。
如果在调用 write 方法时文档不在已打开并进行分析的进程中,则 write 方法将打开并清除该文档。这样可能会导致意外的结果。下面的示例显示的脚本旨在一分钟显示一次时间,但它在第一次显示时间之后无法往下执行,因为它在进程中清除了自身。
<HTML> <HEAD> <SCRIPT LANGUAGE="JScript"> function singOut() { var theMoment = new Date(); var theHour = theMoment.getHours(); var theMinute = theMoment.getMinutes(); var theDisplacement = (theMoment.getTimezoneOffset() / 60); theHour -= theDisplacement; if (theHour > 23) { theHour -= 24 } // The following line clears the script the second time it is run. document.write(theHour + " hours, " + theMinute + " minutes, Coordinated Universal Time."); window.setTimeout("singOut();", 60000); } </SCRIPT> </HEAD> <BODY> <SCRIPT> singOut(); </SCRIPT> </BODY> </HTML>
如果使用 window 对象的 alert 方法而不用 document.write,那么该脚本就可以执行。
// This line produced the intended result. window.alert(theHour + " hours, " + theMinute + " minutes, Coordinated Universal Time.");
在 Internet Explorer 5 以及更高版本中,首选 element.innerText 或 element.innerHTML。
清除当前文档
document 对象的 clear 方法可清空当前文档。此方法还会清除您的脚本(以及文档的其余部分),因此一定要特别注意使用它的时机和方式。
document.clear();