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也支持websocket采用flash封装实现
Feb 18 Javascript
javascript的回调函数应用示例
Feb 20 Javascript
jQuery获得IE版本不准确webbrowser的解决方法
Feb 23 Javascript
类似天猫商品详情随浏览器移动的示例代码
Feb 27 Javascript
浅谈jQuery绑定事件会叠加的解决方法和心得总结
Oct 26 Javascript
JavaScript中校验银行卡号的实现代码
Dec 19 Javascript
jquery实现自定义图片裁剪功能【推荐】
Mar 08 Javascript
VUE 3D轮播图封装实现方法
Jul 03 Javascript
axios的拦截请求与响应方法
Aug 11 Javascript
npm scripts 使用指南详解
Oct 08 Javascript
vue中过滤器filter的讲解
Jan 21 Javascript
Vue.js 无限滚动列表性能优化方案
Dec 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实现框架(一)
2006/10/09 PHP
PHP采集静态页面并把页面css,img,js保存的方法
2014/12/23 PHP
php实现utf-8转unicode函数分享
2015/01/06 PHP
php简单实现屏蔽指定ip段用户的访问
2015/04/29 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
php表单加入Token防止重复提交的方法分析
2016/10/10 PHP
PHP简单实现循环链表功能示例
2017/11/10 PHP
jQuery插件的写法分享
2013/06/12 Javascript
Javascript实现简单二级下拉菜单实例
2014/06/15 Javascript
node.js中的fs.linkSync方法使用说明
2014/12/15 Javascript
jQuery获取标签文本内容和html内容的方法
2015/03/27 Javascript
浅谈JavaScript中的string拥有方法的原因
2015/08/28 Javascript
基于JavaScript实现移动端TAB触屏切换效果
2015/10/20 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
JS触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器
2016/10/30 Javascript
JS小数转换为整数的方法分析
2017/01/07 Javascript
[01:25]2015国际邀请赛最佳短片奖——斧王《拆塔英雄:天赋异禀》
2015/09/22 DOTA
[01:13]2015国际邀请赛线下观战现场
2015/08/08 DOTA
[43:41]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
python获得图片base64编码示例
2014/01/16 Python
使用Python操作Elasticsearch数据索引的教程
2015/04/08 Python
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
Python实现动态添加属性和方法操作示例
2018/07/25 Python
python代码如何实现余弦相似性计算
2020/02/09 Python
python实现udp传输图片功能
2020/03/20 Python
scrapy头部修改的方法详解
2020/12/06 Python
pyspark对Mysql数据库进行读写的实现
2020/12/30 Python
美国精油公司:Plant Therapy
2019/05/17 全球购物
飞利浦美国官网:Philips美国
2020/02/28 全球购物
艺术专业大学生自我评价
2013/09/22 职场文书
大型营销活动计划书
2014/04/28 职场文书
学生鉴定评语大全
2014/05/05 职场文书
工会优秀工作者事迹
2014/08/17 职场文书
幼儿教师师德师风自我剖析材料
2014/09/29 职场文书
学校运动会广播稿范文
2014/10/02 职场文书
mysql对于模糊查询like的一些汇总
2021/05/09 MySQL