JavaScript存在的原因
虽然JavaScript在过去的几年里已经成为Web开发的一个完整部分,但它也经常被错误地使用。结构,它就落了一个不好的名声。导致这个结果的原因是某些严重影响用户的JavaScript特效,如移动的页面元素和弹出狂口。这种情况你第一次看到印象会很深刻,但很快就变成了“有了也不错”,之后变成“没有更好”。
术语“用户代理(user agent)”和对其含义的缺乏理解同样也是个问题。通常用户代理是指一个浏览器,如微软的IE、Netscape、Mozilla、Firefox。但是浏览器不是Web上唯一的用户代理,其他的用户代理有:
1.辅助技术,用来帮助用户客服他们的缺陷——如语音合成(text-to-speech)软件或盲文显示器。
2.纯文本代理,如Lynx。
3.支持Web的应用程序。
4.游戏控制台。
5.手机。
6.个人数字助理(PDA)
7.交互式的电视机顶盒
8.搜索引擎和其他索引程序
9.其他
这么多类型的用户代理,他们使用了不同的技术手段,对于JavaScript也是一个非常大的危险。
并不是网站所有的访问者都能体验你所应用的JavaScript增强,许多人都会处于安全的考虑关闭JavaScript(如果您的导航使用JavaScript制作,用户关闭JavaScript就无法浏览网页,因此您可能失去一位用户,而对于搜索引擎来说是无法访问JavaScript里面的内容)。JavaScript既可以用来做好事,也可以用来做坏事。如果操作系统允许,可以通过JavaScript在某台计算机上安装病毒或木马,或者读取用户的信息并且把它发送到另一个服务器上。
在大多数情况下,你可能想要一种服务器端的替代方案。它可以测试用户代理是否支持所需要的功能,如果不支持服务器会使用其他代替方案。
脚本语言的独立性对于网站是法律方面的要求,在英国的数字歧视法(Digital Discrimination Act)、美国法律50条款和世界上其他地区的法律总都有定义。这意味着如果你开发的站点没有JavaScript就不能使用,或你的JavaScript增强需要用户或用户代理在不低效运行的情况下具有一定的能力,那么你的客户就可以控告你歧视。
然而,JavaScrit既不是邪恶的也不是没用的,它是一个优秀的工具,可以帮助在平滑流畅的网站上冲浪的用户话费更少的时间。
更多javascript资讯
javascript 复制事件
javascript event 停止冒泡
javascript date.parse
javascript 禁止用户操作
验证文本框
xslt动态转化XML
windows对象open方法
javascript 全等
javascript not
转载于:https://www.cnblogs.com/gootry/articles/1936262.html
JavaScript存在的原因相关推荐
- 整理了5个JavaScript怪异行为及其原因
作者 | 张旭乾 责编 | 欧阳姝黎 如果你用 JavaScript 写过项目或者参加过面试,那一定遇到过不少令人匪夷所思的问题.JavaScript 早期的规范不统一,也没有严格的标准, ...
- 5个 JavaScript 怪异行为及其原因
如果你用 JavaScript 写过项目或者参加过面试,那一定遇到过不少令人匪夷所思的问题.JavaScript 早期的规范不统一,也没有严格的标准,再加上它的语法灵活多样,有些看起来就不正确的代码却 ...
- V8 JavaScript引擎研究(三)垃圾回收器的实现
V8垃圾回收机制简介 V8垃圾回收器的实现,是V8高效的一个非常重要的原因. V8在运行时自动回收不再需要使用的对象内存,也即是垃圾回收. V8使用了全暂停式(stop-the-world).分代式( ...
- 【总结】IE和Firefox的Javascript兼容性总结
长久以来JavaScript兼容性一直是Web开发者的一个主要问题.在正式规范.事实标准以及各种实现之间的存在的差异让许多开发者日夜煎熬.为此,主要从以下几方面差异总结IE和Firefox的Javas ...
- [译] 学习 JavaScript:9 个常见错误阻碍你进步
本文讲的是[译] 学习 JavaScript:9 个常见错误阻碍你进步, 原文地址:Learning JavaScript: 9 Common Mistakes That Are Holding Yo ...
- JavaScript判断字符串中包含另一个字符串(QML 中使用)
前言 为啥会搞JavaScript呢,原因很简单,因为 QML 中用到了 JS 的语法,本来在 Qt 里面 QString 检查字符串是否包含一个子串是非常简单的事情,直接用contains()函数就 ...
- javascript继承机制
重新认识面向对象 为了说明 JavaScript 是一门彻底的面向对象的语言,首先有必要从面向对象的概念着手 , 探讨一下面向对象中的几个概念: 一切事物皆对象 对象具有封装和继承特性 对象与对象之间 ...
- JavaScript 中回调地狱的今生前世
1. 讲个笑话 JavaScript 是一门编程语言 2. 异步编程 JavaScript 由于某种原因是被设计为单线程的,同时由于 JavaScript 在设计之初是用于浏览器的 GUI 编程,这也 ...
- Unobtrusive JavaScript介绍
Unobtrusive JavaScript介绍 原文: http://blog.csdn.net/peterinor_/article/details/16367935 在asp.net MVC开发 ...
最新文章
- SpringBoot+Mybatis 框架之 @Select注解方式搭建
- vmware workstation 安装 fedora9+ vmware tools血泪史啊
- Linux命令之 mke2fs -- 格式化分区(为分区写入文件系统)
- 「日常训练」 Genghis Khan the Conqueror(HDU-4126)
- 三、Java Web中出现的一些乱码问题总结(详解)
- 建立数组并写入数据_VBA数组与字典解决方案第37讲:在VBA中字典的应用
- Linux笔记-手动配置yum及光盘安装rz
- Java建造者模式详解
- wpf 图片绝对路径引用_Python Pillow 图片处理
- piv图像处理文献综述_图像处理文献综述
- 血浆分拣机上位机人机交互界面设计
- 图数据库——Nebula Graph安装部署(含示例)
- unbuntu安装docker
- arduino电子时钟 简易版
- 【DL】第 9 章:新兴的神经网络设计
- 11.2 RAC 系列-安装新主机,识别老存储-识别ASM磁盘
- firefox 返回 16 进制 颜色值
- 他们是我的父母 我能怎么办?
- 石旮旯村记【无标题】
- 百度云云服务器搭建私服
热门文章
- 单防区扩展模块怎么用_Zens推出模块化可扩展无线充电器 可为6台设备同时供电...
- 【Python-ML】神经网络-深度学习库Keras
- Hive表联合查询语句参考
- 【Python学习系列十八】基于scikit-learn库逻辑回归训练模型(delta比赛代码3)
- 深度对比Python(Numpy,Scipy)与Matlab的数值精度
- Acronis Disk Director Suite(windows7分区工具)
- developer console 学习
- stm32F105的can2问题
- 常用数据库的Jdbc连接代码
- 第3周实践项目5 -顺序表的应用 拆分单链表