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 相关文章推荐
IE6弹出“已终止操作”的解决办法
Nov 27 Javascript
javascript读写XML实现广告轮换(兼容IE、FF)
Aug 09 Javascript
Eclipse下jQuery文件报错出现错误提示红叉
Jan 13 Javascript
js控制table合并具体实现
Feb 20 Javascript
node.js应用后台守护进程管理器Forever安装和使用实例
Jun 01 Javascript
排序算法的javascript实现与讲解(99js手记)
Sep 28 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
Oct 30 Javascript
JavaScript设置、获取、清除单值和多值cookie的方法
Nov 17 Javascript
jquery实现下拉框功能效果【实例代码】
May 06 Javascript
jQuery 移动端拖拽(模块化开发,触摸事件,webpack)
Oct 28 Javascript
js实现短信发送倒计时功能(正则验证)
Feb 10 Javascript
JavaScript运动原理基础知识详解
Apr 02 Javascript
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流量统计功能的实现代码
2012/09/29 PHP
PHP通过插入mysql数据来实现多机互锁实例
2014/11/05 PHP
详解PHP中cookie和session的区别及cookie和session用法小结
2016/06/12 PHP
PHP钩子与简单分发方式实例分析
2017/09/04 PHP
javascript中[]和{}对象使用介绍
2013/03/20 Javascript
浅析XMLHttpRequest的缓存问题
2013/12/13 Javascript
jquery教程限制文本框只能输入数字和小数点示例分享
2014/01/13 Javascript
javascript移出节点removeChild()使用介绍
2014/04/03 Javascript
利用a标签自动解析URL分析网址实例
2014/10/20 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
2015/08/22 Javascript
Javascript中的Prototype到底是什么
2016/02/16 Javascript
jQuery实现根据生日计算年龄 星座 生肖
2016/11/23 Javascript
TypeScript学习之强制类型的转换
2016/12/27 Javascript
js判断PC端与移动端跳转
2020/12/24 Javascript
vue-cli3项目展示本地Markdown文件的方法
2019/06/07 Javascript
详解Python中的变量及其命名和打印
2016/03/11 Python
python实现百万答题自动百度搜索答案
2018/01/16 Python
python 检查是否为中文字符串的方法
2018/12/28 Python
详解用python写网络爬虫-爬取新浪微博评论
2019/05/10 Python
Python 实现微信自动回复的方法
2020/09/11 Python
html5构建触屏网站之网站尺寸探讨
2013/01/07 HTML / CSS
HTML5之SVG 2D入门10—滤镜的定义及使用
2013/01/30 HTML / CSS
html5菜单折纸效果
2014/04/22 HTML / CSS
宝拉珍选英国官网:Paula’s Choice英国
2019/05/29 全球购物
Servlet方面面试题
2016/09/28 面试题
销售部主管岗位职责
2013/12/18 职场文书
大堂副理的岗位职责范文
2014/02/17 职场文书
人力管理专业毕业生求职信
2014/02/27 职场文书
财务总监岗位职责
2014/03/07 职场文书
房地产工程部经理岗位职责
2015/04/09 职场文书
绿色环保倡议书
2015/04/28 职场文书
同意报考公务员证明
2015/06/17 职场文书
Windows中Redis安装配置流程并实现远程访问功能
2021/06/07 Redis
零基础学java之带返回值的方法的定义和调用
2022/04/10 Java/Android
MySQL 字符集 character
2022/05/04 MySQL
Win10本地连接不见了怎么恢复? win10系统电脑本地连接不见了解决方法
2023/01/09 数码科技