当前位置: 首页 > 编程笔记 >

JavaScript中伪协议 javascript:使用探讨

杜苏燕
2023-03-14
本文向大家介绍JavaScript中伪协议 javascript:使用探讨,包括了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()方法的返回值将被转换成字符串并被显示出来,当前窗口将被如下所示的文档覆盖。

 类似资料:
  • 问题内容: 我做了一个覆盖页面上某些元素的:hover的函数。它在正常效果和:hover效果之间消失。因为我不得不在我的CSS文件中创建一个.hover类。我认为这有点不干净。我如何阅读:hover伪类的内容? 问题答案: 更新 :我莫名其妙地弄错了。下面的示例不起作用。请参阅@bfavaretto的评论]以获取解释。 在Firefox,Opera和Chrome或正确实现的任何其他浏览器中, 非常

  • 问题内容: 我想知道如何启用对伪元素的单击(我链接到下面的JSfiddle上div的橙色部分)。我读过,由于伪元素不在DOM中,因此您需要对此进行破解。不幸的是,我找不到实际显示有效代码的现有Stackoverflow问答。 HTML: CSS: 问题答案: 一种解决方法是将a动态添加到该项目并为其分配click方法。 CSS

  • 我正在使用oauth签名生成我的oauth签名,以便与woocommerce api连接。我遵循了woocommerce rest api文档中所述的所有步骤: 所需的参数是:oauth_consumer_密钥、oauth_时间戳、oauth_nonce、oauth_签名和oauth_签名方法。oauth_版本不是必需的,应该省略。OAuth nonce可以是消费者密钥唯一的任意随机生成的32个字

  • 成熟稳定的商业软件,开源但不完全免费。个人及非盈利组织可以随意使用; 商业用途只需要支付少量的费用并可以获得我们的技术支持服务。 感谢您选择 Highcharts 系列图表软件,Highcharts 系列软件包含 Highcharts JS,Highstock JS,Highmaps JS 共三款软件,均为纯 JavaScript 编写的 HTML5 图表库,全部源码开放。 1、非商用免费授权 以

  • 问题内容: 我的印象是,在URL属性(如hrefs)中使用JavaScript时,我只需要指定“协议”。这是唯一的“有用”上下文吗? 明智的: 愚蠢: 这是正确的吗?还是我需要注意一些晦涩的错误/用例? 问题答案: 事件处理程序上的伪协议将仅被忽略,您不需要它,JavaScript引擎将解释为LabelStatement。 标签只是为语句提供标识符,并允许您在程序的其他位置引用它。 恕我直言,此伪

  • SSH协议用于为Git提供远程读写操作,是远程写操作的标准服务,在智能HTTP协议出现之前,甚至是写操作的唯一标准服务。 5.3.1. SSH协议语法格式 对于拥有shell登录权限的用户帐号,可以用下面的语法访问Git版本库: 语法1: ssh://[<username>@]<server>[:<port>]/path/to/repos/myrepo.git 语法2: [<username>@]