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 相关文章推荐
IE8 兼容性问题(属性名区分大小写)
Jun 04 Javascript
jquery获取一组checkbox的值(实例代码)
Nov 04 Javascript
js实现省市联动效果的简单实例
Feb 10 Javascript
javascript使用call调用微信API
Dec 15 Javascript
浅谈Javascript如何实现匀速运动
Dec 19 Javascript
Javascript连接Access数据库完整实例
Aug 03 Javascript
Seajs是什么及sea.js 由来,特点以及优势
Oct 13 Javascript
jQuery在header中设置请求信息的方法
Mar 06 Javascript
浅谈React中组件间抽象
Jan 27 Javascript
详解js中的原型,原型对象,原型链
Jul 16 Javascript
简介JavaScript错误处理机制
Aug 04 Javascript
VUE-ElementUI 自定义Loading图操作
Nov 11 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
解析thinkphp import 文件内容变量失效的问题
2013/06/20 PHP
Yii框架核心组件类实例详解
2019/08/06 PHP
Laravel开启跨域请求的方法
2019/10/13 PHP
laravel5 Eloquent 实现事务方式
2019/10/21 PHP
用js 让图片在 div或dl里 居中,底部对齐
2008/01/21 Javascript
别了 JavaScript中的isXX系列
2012/08/01 Javascript
使用 Node.js 做 Function Test实现方法
2013/10/25 Javascript
Javascript常用字符串判断函数代码分享
2014/12/08 Javascript
jQuery中用dom操作替代正则表达式
2014/12/29 Javascript
Javascript基础教程之关键字和保留字汇总
2015/01/18 Javascript
AngularJs 动态加载模块和依赖
2016/09/15 Javascript
vue的props实现子组件随父组件一起变化
2016/10/27 Javascript
vue.js中引入vuex储存接口数据及调用的详细流程
2017/12/14 Javascript
React学习笔记之高阶组件应用
2018/06/02 Javascript
基于vue cli 通过命令行传参实现多环境配置
2018/07/12 Javascript
微信小程序实现循环动画效果
2018/07/16 Javascript
新手入门带你学习JavaScript引擎运行原理
2019/06/24 Javascript
JavaScript实现省市区三级联动
2020/02/13 Javascript
工作中常用js功能汇总
2020/11/07 Javascript
JS中多层次排序算法的实现代码
2021/01/06 Javascript
从Python程序中访问Java类的简单示例
2015/04/20 Python
python实现时间o(1)的最小栈的实例代码
2018/07/23 Python
Python修改文件往指定行插入内容的实例
2019/01/30 Python
Python 中Django安装和使用教程详解
2019/07/03 Python
Python基于tkinter canvas实现图片裁剪功能
2020/11/05 Python
使用CSS3制作版头动画效果
2020/12/24 HTML / CSS
毕业生物理教师求职信
2013/10/17 职场文书
旅游网创业计划书
2014/01/31 职场文书
师范生求职自荐信
2014/06/14 职场文书
浪漫婚礼主题活动策划方案
2014/09/15 职场文书
护士医德医风自我评价
2014/09/15 职场文书
群众路线个人剖析材料
2014/10/07 职场文书
运动会800米赞词
2015/07/22 职场文书
高三语文教学反思
2016/02/16 职场文书
python基础之爬虫入门
2021/05/10 Python
Nginx如何获取自定义请求header头和URL参数详解
2022/07/23 Servers