JavaScript入门(三)

来源:互联网 发布:nginx favicon 不显示 编辑:程序博客网 时间:2024/06/02 05:26

1.2.    JavaScript是什么

JavaScript的前身是LiveScript, 但是网景公司后来把名字改成了JavaScript,很可能是由于Java所带来的兴奋。这个名字经常会迷惑人,因为尽管JavaJavaScript有些语法比较相近,但它们之间并没有必然的联系。

Java相对于JavaScript就好比汽车(Car)相对于地毯(Carpet)。

——来自Usenet(一个世界性的新闻组网络系统)上的JavaScript讨论组

网景公司在1996年创造了JavaScript,它包含在Netscape Navigator(NN) 2.0浏览器中,用解释器来读取和执行添加到.html页面的JavaScript代码。从此,这种语言稳步增长变得越来越普及,现在大多数的浏览器都支持它。

好的消息是这意味着使用JavaScript的网页可以被所有主流的浏览器解析。另一个消息就不那么美好了,就是不同的浏览器在实现JavaScript的方式上有所不同,尽管JavaScript语言是一样的。但是,JavaScript可以被用户关闭掉——并且一些公司和机构从安全角度考虑也要求他们的用户这样做。这个我们会简短的作进一步的讨论,同样也是贯穿全书的。

关于JavaScript最大的特点就是你一旦学会了如何在浏览器编程中使用它,你就可以把它应用到其它领域中。微软的服务器-IIS-使用JavaScript去做服务端编程(ASP),PDF文件现在也使用JavaScript,甚至Windows的任务管理也可以使用JavaScript来自动运行。许多应用程序,如DreamweaverPhotoshop,都是使用JavaScript来实现脚本化的。操作系统上的许多插件,如苹果公司的Dashboard或者LinuxWindows平台的Konfabulator,甚至允许你使用JavaScript编写小的帮助程序。

最近许多大公司也提供了你可以在自己网页中使用JavaScript对象和方法的APIs(应用程序编程接口),Google 地图就是其中的一种。你只需要使用几行代码就可以在你的网站中提供可缩放和滚动的地图。

另一个更好的特点就是JavaScript比高级编程语言和服务端编程语言更容易开发。它不需要像JavaC++那样需要编译,也不需要像Perl PHPRuby语言那样运行在服务器上或需要在命令行执行。所有你需要做的就是使用文本编辑器和浏览器来编写,执行,调试和应用JavaScript脚本,而这两个在所有的操作系统中都是已提供的。当然,也有工具可以使你做这些更加方便,例如就有Mozilla Venkman Microsoft Script Debugger, kjscmd JavaScript这样的调试器。

1.3.    JavaScript的问题和法律权利

就如我在这一章的开始提到的,JavaScript在过去的几年里已经成了web开发的一个完整部分,但它也被用作不正当的用途。结果,它就落了一个不好的名声。导致这个结果的原因是蛮横的JavaScript特效,如移动页面元素和弹出窗口。这种情况你也许印象比较深刻,第一次你看到他们但很快就转变成另一个网页,甚至有的情况下弹出许多窗口,以至于你不希望再打开窗口了。许多类似的效果都来自DHTML (在第三章中有更多介绍)

术语用户代理和对用户代理是什么的缺乏理解同样也是个问题。通常,用户代理是指一个浏览器,如微软的Internet ExplorerMSIE),NetscapeMozillaMoz),FirefoxFx),OperaSafari。但是浏览器不是Web上唯一的用户代理。其它的包括:

l        辅助技术,用来帮助用户克服它们的缺陷如文本阅读软件或者盲人显示器

l        纯文字网页浏览器,像Lynx

l        Web激活的应用程序

l        游戏控制台

l        手机/蜂窝电话

l        掌上手机(PDAs

l        交互式的电视机顶盒

l        搜索引擎和其它检索程序

l        更多其他的

这么多类用户代理,使用了不同的技术手段(一些旧的用户代理没有更新),对于JavaScript也是一个非常大的危险。

并不是你网站所有的访问者都能体验你应用的特效,许多人都会出于安全的考虑把JavaScript功能关闭。JavaScript既可以被用来做好事,也可以用来做坏事。如果操作系统(如没有打补丁的Windows)允许,你可以通过JavaScript来在一台电脑上安装病毒或木马或者读取用户的信息,然后发到另一个服务器上。

                                                                                  

 

注解:没有办法知道访问者在使用什么工具或者它的电脑的功能。再者,你永远不知道访问者的经验和能力如何。这也是网络很好的一个方面---每个人都可以参与。然后,这样会给JavaScript程序员带来意外的结果。

                                                                                 

 

在大多情况下,你可能想要一种服务端的替代方案。它可以测试用户代理是否支持需要的功能,如果不支持,服务器会使用其替代方案。

独立的脚本语言对于网站是个法定的要求,在英联邦的数字歧视法,美国法律的508节和世界上其它的地区法律中都有定义。这意味着如果你开发的站点没有JavaScript

就不能使用,或你的JavaScript特效需要用户具有一定的能力或者他们的用户代理没有起作用,你的客户就可以控告你歧视。

然而,JavaScript既不是邪恶的也不是没用的,它是一个伟大的工具,可以帮助在你网站上冲浪的用户,感觉更加平滑流畅和花费更少的时间。

 
原创粉丝点击