JavaScript中伪协议 javascript:使用探讨


Posted in Javascript onJuly 18, 2014

将javascript代码添加到客户端的方法是把它放置在伪协议说明符javascript:后的URL中。这个特殊的协议类型声明了URL的主体是任意的javascript代码,它由javascript的解释器运行。如果javascript:URL中的javascript代码含有多个语句,必须使用分号将这些语句分隔开。这样的URL如下所示:

javascript:var now = new Date(); "<h1>The time is:</h1>" + now;

当浏览器装载了这样的URL时,它将执行这个URL中包含的javascript代码,并把最后一条javascript语句的字符串值作为新文档的内容显示出来。这个字符串值可以含有HTML标记,并被格式化,其显示与其他装载进浏览器的文档完全相同。

javascript URL还可以含有只执行动作,但不返回值的javascript语句。例如:

javascript:alert("hello world!")

装载了这种URL时,浏览器仅执行其中的javascript代码,但由于没有作为新文档来显示的值,因此它并不改变当前显示的文档。

通常我们想用javascript:URL执行某些不改变当前显示的文档的javascript代码。要做到这一点,必须确保URL中的最后一条语句没有返回值。一种方法是用void运算符显式地把返回值指定为underfined,只需要在javascript:URL的结尾使用语句void 0;即可。例如:下面的URL将打开一个新的空浏览器窗口,而不改变当前窗口的内容:

javascript:window.open("about:blank"); void 0;

如果这个URL没有void运算符,window.open()方法的返回值将被转换成字符串并被显示出来,当前窗口将被如下所示的文档覆盖。

Javascript 相关文章推荐
javascript编程起步(第二课)
Jan 10 Javascript
js实现带圆角的两级导航菜单效果代码
Aug 24 Javascript
Jqgrid之强大的表格插件应用
Dec 02 Javascript
使用jQuery mobile库检测url绝对地址和相对地址的方法
Dec 04 Javascript
require.js配合插件text.js实现最简单的单页应用程序
Jul 12 Javascript
javascript 初学教程及五子棋小程序的简单实现
Jul 04 Javascript
深入理解Node module模块
Mar 26 Javascript
使用zrender.js绘制体温单效果
Oct 31 Javascript
JS实现商品橱窗特效
Jan 09 Javascript
微信小程序实现选择地址省市区三级联动
Jun 21 Javascript
JS实现京东商品分类侧边栏
Dec 11 Javascript
vue生命周期钩子函数以及触发时机
Apr 26 Vue.js
js清空表单数据的两种方式(遍历+reset)
Jul 18 #Javascript
js使用正则实现ReplaceAll全部替换的方法
Jul 18 #Javascript
javascript原生和jquery库实现iframe自适应高度和宽度
Jul 18 #Javascript
关于javaScript注册click事件传递参数的不成功问题
Jul 18 #Javascript
Javascript验证上传图片大小[前台处理]
Jul 18 #Javascript
IE中JS跳转丢失referrer问题的2个解决方法
Jul 18 #Javascript
JavaScript中的document.referrer在各种浏览器测试结果
Jul 18 #Javascript
You might like
这部好评如潮的动漫 知名梗频出 但是画风劝退很多人
2020/03/08 日漫
php数据库密码的找回的步骤
2011/01/12 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
2015/01/04 PHP
php+ajax注册实时验证功能
2016/07/20 PHP
thinkPHP多表查询及分页功能实现方法示例
2017/07/03 PHP
PHP预定义超全局数组变量小结
2018/08/20 PHP
PHP模型Model类封装数据库操作示例
2019/03/14 PHP
PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例
2019/06/17 PHP
Javascript miscellanea -display data real time, using window.status
2007/01/09 Javascript
javascript生成随机颜色示例代码
2014/05/05 Javascript
14个有用的Jquery技巧分享
2015/01/08 Javascript
jQuery使用fadein方法实现渐出效果实例
2015/03/27 Javascript
详解AngularJS用Interceptors来统一处理HTTP请求和响应
2017/06/08 Javascript
Vue.js如何实现路由懒加载浅析
2017/08/14 Javascript
详解angularjs popup-table 弹出框表格指令
2017/09/20 Javascript
微信小程序自定义音乐进度条的实例代码
2018/08/28 Javascript
Vue自定义render统一项目组弹框功能
2020/06/07 Javascript
vue实现员工信息录入功能
2020/06/11 Javascript
vue使用exif获取图片旋转,压缩的示例代码
2020/12/11 Vue.js
[43:26]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第二场 11.20
2020/11/23 DOTA
Python贪心算法实例小结
2018/04/22 Python
python实现PID算法及测试的例子
2019/08/08 Python
Python中的With语句的使用及原理
2020/07/29 Python
html5 canvas-1.canvas介绍(hello canvas)
2013/01/07 HTML / CSS
菲律宾购物网站:Lazada菲律宾
2018/04/05 全球购物
SteelSeries赛睿官网:游戏外设和配件的领先制造商(耳机、键盘、鼠标和鼠标垫)
2018/06/17 全球购物
意大利在线药房:shop-farmacia.it
2019/03/12 全球购物
LUISAVIAROMA中国官网:时尚奢侈品牌购物网站
2020/11/01 全球购物
李维斯牛仔裤荷兰官方网站:Levi’s NL
2020/08/23 全球购物
中文专业学生自我评价范文
2014/02/06 职场文书
党员目标管理责任书
2014/07/25 职场文书
2014年销售经理工作总结
2014/12/01 职场文书
学校推普周活动总结
2015/05/07 职场文书
帝企鹅日记观后感
2015/06/10 职场文书
发言稿之优秀教师篇
2019/09/26 职场文书
基于Python绘制子图及子图刻度的变换等的问题
2021/05/23 Python