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 相关文章推荐
JQuery.closest(),parent(),parents()寻找父结点
Feb 17 Javascript
jQuery操作JSON的CRUD用法实例
Feb 25 Javascript
js实现获取两个日期之间所有日期的方法
Jun 17 Javascript
JS实现根据用户输入分钟进行倒计时功能
Nov 14 Javascript
jQuery弹出层插件popShow用法示例
Jan 23 Javascript
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
Mar 23 jQuery
Vue中对比scoped css和css module的区别
May 17 Javascript
vue中引入第三方字体文件的方法示例
Dec 17 Javascript
vue实现todolist基本功能以及数据存储功能实例详解
Apr 11 Javascript
jQuery内容选择器与表单选择器实例分析
Jun 28 jQuery
JavaScript实现的联动菜单特效示例
Jul 08 Javascript
vue监听键盘事件的相关总结
Jan 29 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
解析php中array_merge与array+array的区别
2013/06/21 PHP
解析php中的escape函数
2013/06/29 PHP
php生成EAN_13标准条形码实例
2013/11/13 PHP
lnmp安装多版本PHP共存的方法详解
2018/08/02 PHP
基于jquery的下拉框改变动态添加和删除表格实现代码
2020/09/12 Javascript
javascript SpiderMonkey中的函数序列化如何进行
2012/12/05 Javascript
jQuery中[attribute]选择器用法实例
2014/12/31 Javascript
yui3的AOP(面向切面编程)和OOP(面向对象编程)
2015/05/01 Javascript
JavaScript开发者必备的10个Sublime Text插件
2016/02/27 Javascript
jQuery基于ID调用指定iframe页面内的方法
2016/07/06 Javascript
AngularJS 自定义过滤器详解及实例代码
2016/09/14 Javascript
利用nginx + node在阿里云部署https的步骤详解
2017/12/19 Javascript
Vue登录注册并保持登录状态的方法
2018/08/17 Javascript
vue通过cookie获取用户登录信息的思路详解
2018/10/30 Javascript
jQuery利用FormData上传文件实现批量上传
2018/12/04 jQuery
vue.js的双向数据绑定Object.defineProperty方法的神奇之处
2019/01/18 Javascript
jquery获取file表单选择文件的路径、名字、大小、类型
2019/01/18 jQuery
python查找目录下指定扩展名的文件实例
2015/04/01 Python
Python字符串中查找子串小技巧
2015/04/10 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
2019/06/21 Python
python实现的自动发送消息功能详解
2019/08/15 Python
Django后台管理系统的图文使用教学
2020/01/20 Python
Python Tricks 使用 pywinrm 远程控制 Windows 主机的方法
2020/07/21 Python
如何编写python的daemon程序
2021/01/07 Python
HTML5页面音视频在微信和app下自动播放的实现方法
2016/10/20 HTML / CSS
extern在函数声明中是什么意思
2014/01/19 面试题
新郎新娘婚礼答谢词
2014/01/11 职场文书
运动会广播稿400字
2014/01/25 职场文书
专业技术职务聘任书
2014/03/29 职场文书
《假如》教学反思
2014/04/17 职场文书
清明节网上祭英烈活动总结
2014/04/30 职场文书
2014年党员自我评议(5篇)
2014/09/12 职场文书
五星级酒店前台接待岗位职责
2015/04/02 职场文书
重阳节座谈会主持词
2015/07/03 职场文书
小学班主任工作经验交流材料
2015/11/02 职场文书
HTML+CSS+JS实现图片的瀑布流布局的示例代码
2021/04/22 HTML / CSS