javascript 通信协议

时间: 2020-05-25阅读: 93标签: 通信

简介

JavaScript 通信协议是一个伪协议, 用于指定 URL 为 JavaScript 代码

语法:

JavaScript:someScript;

someScript 是一个或多个使用 ; 分隔的 JavaScript 语句.

示例

<a href="JavaScript:alert('JavaScript Link!');">JavaScript Link</a>

特点

返回值会替换当前文档

对于 Chrome 浏览器来说, 如果最后一条 JavaScript 语句的值为字符串 (使用'', "" 或 ` 括起来的值), 那么该字符串会替换当前文档的内容, 作为新文档显示出来

对于 Firefox 浏览器来说, 如果最后一条浏览器的返回值不为 undefined, 那么就调用该返回值的 toString() 方法 (如果 toString() 方法不存在就调用 valueOf() 方法), 得到的结果作为新文档显示出来

返回值为 undefined 的几种常见写法

JavaScript:;

JavaScript:undefined;  // 全局变量 undefined 的值可能被更改

// void 将之后的内容当作表达式, 然后对该表达是求值, 并始终返回 undefined, 而不管全局变量 undefined 的值是否被改变
// 以下写法等价
javascript:void(0);
javascript:void 0;

用途

任何使用 URL 的地方都可以使用该通信协议

在保留锚元素 href 属性的同时防止点击锚元素页内/外跳转

javascript:;
javascript:undefined;
javascript:void(0);

当作 bookmarklet

// 修改书签的 URL 为以下代码, 就可实现分屏功能
javascript:'<html><head><title>'+document.title+'</title></head><body><iframe width="50%" height="100%" src='+location.href+'></iframe><iframe width="50%" height="100%" src='+location.href+'></iframe></body></html>';

执行 JavaScript 代码 (不推荐)

// 更改页面背景为绿色 (推荐为锚元素绑定事件来更改页面背景)
<a href="javascript:void(document.body.style.backgroundColor='green');">

// 打开新页面 (注意需返回 undefined, 否则在火狐浏览器会替换文档)
<a href="javascript:window.open('about:blank'); void(0);">
来自:https://www.cnblogs.com/ayuuuuuu/p/13362571.html

站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/9517

关闭

两个浏览器窗口间通信总结

两个浏览器窗口间通信:一个窗口更新localStorage,另一个窗口监听window对象的storage事件来实现通信;所有的WebSocket都监听同一个服务器地址,利用send发送消息,利用onmessage获取消息的变化;借助iframe 或 window.open;HTML5 中的 Web Worker 可以分为两种不同线程类型

Socket是如何通信的?

其实服务器的处理和客户端大同小异,分三个逻辑分支:检索成功,用检索到的Socket来处理接收报文;检索失败,服务器侦听(listen)目的端口,创建全新的Socket服务客户;检索失败,服务器没有侦听目的端口,丢弃处理

vue父子组件通信高级用法

vue项目的一大亮点就是组件化。使用组件可以极大地提高项目中代码的复用率,减少代码量。但是使用组件最大的难点就是父子组件之间的通信。父组件通过$refs调用子组件的方法。 以上就是父子组件通信的方式

Vue组件之间通信的七种方式

使用Vue也有很长一段时间,但是一直以来都没对其组件之间的通信做一个总结,这次就借此总结一下。父子组件之间的通信props和$emit 父组件通过props将数据下发给props

使用 localStorage 实现多页面通信

两个页面 A、B,B 页面关闭时,通知 A 页面请求接口刷新列表页,使用 storage 事件实现页面通信,约定好通信的 key,这里我们假定 key 为 refresh_list

Angular组件之间通信

特别需要注意: 这个公共服务需要在同一个注册器下,比如在root注册器下,如果不在可能会出现订阅不到的问题

如何与 Service Worker 通信

Service Worker 很棒。它们使 Web 开发人员可以实现以前原生应用专有的类似功能。这类功能是例如推送通知或后台同步的离线功能。它们是渐进式 Web 应用的核心。但是在设置它们之后

客户端与服务端长连接的几种方式

ajax 轮询实现原理:ajax 轮询指客户端每间隔一段时间向服务端发起请求,保持数据的同步。优点:可实现基础(指间隔时间较短)的数据更新。

React组件通信

这篇文章将还是通过实例的方式记录一下 React 中组件之间的通信方式,在 React 中,需要组件通信的情况一般有以下几种:父组件向子组件通信,子组件向父组件通信,跨级组件通信,非嵌套组件通信

微信小程序8种数据通信的方式

数据通信在开发中是必不可少的一个环节,也是我们必须掌握的知识。知道得越多的数据通信方式,实现业务会更加得心应手,下面我将这些通信方式归类介绍:

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!

文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全运营推广