JavaScript中伪协议 javascript:使用探讨

 更新时间:2014年07月18日 15:22:59   投稿:whsnow  
javascript:这个特殊的协议类型声明了URL的主体是任意的javascript代码,它由javascript的解释器运行

将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()方法的返回值将被转换成字符串并被显示出来,当前窗口将被如下所示的文档覆盖。

相关文章

  • 细说JS数组遍历的一些细节及实现

    细说JS数组遍历的一些细节及实现

    本文主要介绍了细说JS数组遍历的一些细节及实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • 简单了解JavaScript中的执行上下文和堆栈

    简单了解JavaScript中的执行上下文和堆栈

    这篇文章主要介绍了简单了解JavaScript中的执行上下文和堆栈,你应该对解释器了解得更清楚:为什么在声明它们之前可以使用某些函数或变量?以及它们的值是如何确定的?,需要的朋友可以参考下
    2019-06-06
  • 通用于ie和firefox的函数 GetCurrentStyle (obj, prop)

    通用于ie和firefox的函数 GetCurrentStyle (obj, prop)

    通用于ie和firefox的函数 GetCurrentStyle (obj, prop)...
    2006-12-12
  • JS实现光滑展开合拢的菜单效果代码

    JS实现光滑展开合拢的菜单效果代码

    这篇文章主要介绍了JS实现光滑展开合拢的菜单效果代码,涉及JavaScript响应鼠标事件遍历并改变页面元素属性的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • 深入浅析同源策略和跨域访问

    深入浅析同源策略和跨域访问

    同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现
    2015-11-11
  • js轮播图代码分享

    js轮播图代码分享

    这篇文章主要为大家详细介绍了js轮播图代码,代码简洁,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • JavaScript深度复制(deep clone)的实现方法

    JavaScript深度复制(deep clone)的实现方法

    本文给大家介绍JavaScript深度复制(deep clone)的实现方法,涉及到js深度复制相关知识,本文介绍的非常详细,特此分享脚本之家平台供大家参考
    2016-02-02
  • JavaScript实现一键复制文本功能的示例代码

    JavaScript实现一键复制文本功能的示例代码

    这篇文章主要为大家介绍两种javascript实现文本复制(将文本写入剪贴板)的方法,文中的示例代码讲解详细,大家可以根据需求特点选用
    2023-03-03
  • js转换对象为xml

    js转换对象为xml

    本文主要介绍了js转换对象为xml的方法。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【凹多边形的分离轴检测算法】

    JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【凹多边形的分离轴检测算法】

    这篇文章主要介绍了JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法,结合实例形式详细分析了javascript针对凹多边形的分离轴检测算法相关概念、原理、实现技巧与操作注意事项,需要的朋友可以参考下
    2018-12-12

最新评论