JavaScript中伪协议 javascript:研究
2024-10-18 22:32:45
将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()方法的返回值将被转换成字符串并被显示出来,当前窗口将被如下所示的文档覆盖。
最新文章
- Exception loading sessions from persistent storage
- 《css3实战》读书笔记 第一章 基于CSS需求而编写的HTML.
- java生成随机字符串uuid
- linux关闭服务的方法
- zoj2588 Burning Bridges --- 寻求尖端
- SVN仓库迁移到Git的完美解决办法
- 多功能网页刷新工具,刷pv工具
- python 关于文件夹的操作
- shell(2)-&;&; 与 || 逻辑或与非
- nginx实现集群高可用
- BZOJ4175 : 小G的电话本
- CUDA C Programming Guide 在线教程学习笔记 Part 8
- 2018软工实践—Beta冲刺(6)
- Codeforces Round #196 (Div. 2) D. Book of Evil 树形dp
- Non-Inverting Level Shifter : +/-5V signal into a 0 to 3.3V
- pip-修改为国内镜像源
- AirtestIDE实践二:Poco框架试用
- 使用uGUI系统玩转标准俄罗斯方块
- [Xcode 实际操作]七、文件与数据-(11)数据持久化存储框架CoreData的使用:创建CoreData实体并插入数据
- 微信小程序 使用HMACSHA1和md5为登陆注册报文添加指纹验证签名