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 相关文章推荐
js类中获取外部函数名的方法
Aug 19 Javascript
js GridView 实现自动计算操作代码
Mar 25 Javascript
一个js的tab切换效果代码[代码分离]
Apr 11 Javascript
Jquery css函数用法(判断标签是否拥有某属性)
May 28 Javascript
Javascript动态创建表格及删除行列的方法
May 15 Javascript
正则中的回溯定义与用法分析【JS与java实现】
Dec 27 Javascript
JS实现数组去重复值的方法示例
Feb 18 Javascript
jQuery响应滚动条事件功能示例
Oct 14 jQuery
基于substring()和substr()的使用以及区别(实例讲解)
Dec 28 Javascript
微信用户访问小程序的登录过程详解
Sep 20 Javascript
JavaScript代理模式原理与用法实例详解
Mar 10 Javascript
vue打开其他项目页面并传入数据详解
Nov 25 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加MYSQL服务器
2006/10/09 PHP
php使用多个进程同时控制文件读写示例
2014/02/28 PHP
在WordPress的文章编辑器中设置默认内容的方法
2015/12/29 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
2019/04/03 PHP
使用Laravel中的查询构造器实现增删改查功能
2019/09/03 PHP
javascript开发随笔二 动态加载js和文件
2011/11/25 Javascript
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
js为鼠标添加右击事件防止默认的右击菜单弹出
2013/07/29 Javascript
javascript实现的登陆遮罩效果汇总
2015/11/09 Javascript
Ionic快速安装教程
2016/06/03 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(二)
2017/01/21 Javascript
js实现从左向右滑动式轮播图效果
2017/07/07 Javascript
3种vue组件的书写形式
2017/11/29 Javascript
JS实现图片懒加载(lazyload)过程详解
2020/04/02 Javascript
小程序实现点击tab切换左右滑动
2020/11/16 Javascript
python生成随机mac地址的方法
2015/03/16 Python
Python中的集合类型知识讲解
2015/08/19 Python
Python执行时间的计算方法小结
2017/03/17 Python
Django 配置多站点多域名的实现步骤
2019/05/17 Python
python如何实现视频转代码视频
2019/06/17 Python
Python Tkinter Entry和Text的添加与使用详解
2020/03/04 Python
Python ArgumentParse的subparser用法说明
2020/04/20 Python
css3学习系列之移动属性详解
2017/07/04 HTML / CSS
英国护肤品购物网站:Beauty Expert
2016/08/19 全球购物
优衣库台湾官网:UNIQLO台湾
2019/02/01 全球购物
MediaMarkt比利时:欧洲最大电器连锁店
2020/12/21 全球购物
RealTek面试题
2016/06/28 面试题
用Java语言将一个键盘输入的数字转化成中文输出
2013/01/25 面试题
计算机专业毕业生求职信
2014/04/30 职场文书
不忘国耻振兴中华演讲稿
2014/05/14 职场文书
青年教师师德演讲稿
2014/08/26 职场文书
2014年教育培训工作总结
2014/12/08 职场文书
语文复习计划
2015/01/19 职场文书
欠条样本
2015/07/03 职场文书
辅导员学期工作总结
2015/08/14 职场文书
自动在Windows中运行Python脚本并定时触发功能实现
2021/09/04 Python