JavaScript的局限性分析
4. JavaScript的局限性(JavaScript Lminitations)
Q:JavaScript程序不能做什么?
A:JavaScript代码不能做下列事情:
- 不能使用用户系统上或者客户端局域网中的打印机或者其他设备。
(解决方法,见打印JavaScript输出。)
- 不能直接访问用户系统或者客户端局域网中的文件;唯一例外就是可以访问浏览器的Cookie文件。
(解决方法,见文件访问部分。)
- 不能直接访问Web服务器上的文件。
(解决方法,见文件访问部分。)
- 实现多重处理或多线程。
如果你的确需要访问文件或者执行其他“特权”操作,可以JavaScript和Java applet结合使用。已签名的Java applet允许进行特权操作,同时,JavaScript可以和applet交换信息。然而,你必须明白JavaScript/Java最大的限制是:用户可能一直禁止使用JavaScript或者Java或者二者。
5. 支持JavaScript的浏览器(Browsers Supporting JavaScript)
Q:那些浏览器支持JavaScript?
A:下列浏览器都支持JavaScript:
- Netscape Navigator (从2.0开始)
- Microsoft Internet Explorer (从3.0开始)
- 其他厂商许可或者实现了JavaScript解释器的浏览器或者产品(如Opera)。
参见JavaScript的版本。
6. JavaScript的版本(JavaScript Versions)
Q:JavaScript有哪些版本?
A:JavaScript是新兴的编程语言之一。它第一次实现是有Netscape社区在1995完成。第一个支持JavaScript的浏览器是Netscape Navigator 2.0 beta 版。截止1999年,两大主流浏览器,Netscape Navigator和Microsoft Internet Explorer对客户端JavaScript主要支持以下版本:
浏览器 |
年份 |
JavaScript版本 |
Netscape Navigator 2.0 |
1995 |
JavaScript 1.0 |
Microsoft Internet Explorer 3.0 |
1996 |
JavaScript 1.0 (JScript 1.0) |
Netscape Navigator 3.0 |
1996 |
JavaScript 1.1 |
Netscape Navigator 4.0 |
1997 |
JavaScript 1.2 |
Microsoft Internet Explorer 4.0 |
1997 |
JavaScript 1.2 (JScript 3.0) |
Netscape Navigator 4.5 |
1998 |
JavaScript 1.3 |
Microsoft Internet Explorer 5.0 |
1999 |
JavaScript 1.3 (JScript 5.0) |
不幸地是,Netscape和Microsoft的JavaScript实现是不同的,甚至相同版本号的JavaScript也不相同。例如,IE3中的JavaScript 1.0不同于Netscape Navigator 2中的JavaScript 1.0;类似地,IE4中的JavaScript1.2也和Netscape Navigator4中的JavaScript1.2不同。
除了这些版本以外,第三方也可以创建他们自己的JavaScript实现,或者许可Microsoft或者Netscape的JavaScript技术。例如,Opera浏览器支持JavaScript。
跨平台编码是什么意思?从本质上说,你必须使用下面一种技术:
- 只使用所有浏览器支持的JavaScript语言的一个子集 并且/或者
- 针对不同浏览器编写不同代码,并且在运行时检测实际的浏览器
7. JavaScript的文档(JavaScript Documentation)
Q:我从哪里得到JavaScript的文档?
A:在线JavaScript文档可以从这些网站找到:
另外,你也可以从下面的这些网站中找到JavaScript的讨论、在线指南、链接、代码示例和成百上千有用的脚本(当然这个列表并不完全,只是作为一个起点而已):
8. 打印JavaScript输出(Printing JavaScript Output)
Q:我如何打印JavaScript输出?
A:JavaScript程序不能直接访问打印机。不过,通过浏览器菜单中的文件|打印(或者使用快捷键,在Windows上即 Ctrl + P),用户可以打印打印网页上的任何东西,包括JavaScript程序的输出内容。
如果用户需要经常打印你的脚本输出,那么你可以:
- 提示他们使用文件|打印菜单 并且/或者
- 使用window.print()方法打开打印窗口。
另外,你的脚本可以在一个单独浏览器窗口中生成打印内容(参见下面的示例)。
示例:这个脚本产生乘法表,把它输出到一个新的浏览器窗口,并且向用户解释如何打印。
|