码迷,mamicode.com
首页 > 编程语言 > 详细

javascript 通信协议

时间:2020-07-22 20:31:14      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:oid   fnr   url   语句   推荐   lan   网络通   gre   define   

简介

javascript 通信协议是一个伪协议[1], 用于指定 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);
      
    • 执行 JavaScript 代码 (不推荐)

      // 更改页面背景为绿色 (推荐为锚元素绑定事件来更改页面背景)
      <a href="javascript:void(document.body.style.backgroundColor=‘green‘);">
      
      // 打开新页面 (注意需返回 undefined, 否则在火狐浏览器会替换文档)
      <a href="javascript:window.open(‘about:blank‘); void(0);">
      

  1. 网络通信协议 ??

javascript 通信协议

标签:oid   fnr   url   语句   推荐   lan   网络通   gre   define   

原文地址:https://www.cnblogs.com/ayuuuuuu/p/13362571.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!