脚本

JavaScript的跨域访问问题

只愿长相守 提交于 2019-12-04 22:57:33
文章分享: 详解JS跨域问题 HTTP access control (CORS) html5 postMessage解决跨域、跨窗口消息传递 跨域与跨域访问 一、什么是跨域? 概念:只要 协议 、 域名 、 端口 有任何一个不同,都被当作是不同的域。 二、为什么浏览器要限制跨域访问呢? 原因就是安全问题:如果一个网页可以随意地访问另外一个网站的资源,那么就有可能在客户完全不知情的情况下出现安全问题。 三、跨域的常用方法 1. 跨域资源共享(CORS) 服务器端对于CORS的支持,主要就是通过设置 Access-Control-Allow-Origin 来进行的 2. JSONP 什么是jsonp?维基百科的定义是:JSONP(JSON with Padding) JSONP由两部分组成: 回调函数 和 数据 。回调函数是当响应到来时应该在页面中调用的函数,而数据就是传入回调函数中的JSON数据。 JSONP实现原理 :在js中,我们直接用XMLHttpRequest请求不同域上的数据时是不可以的。但是,在页面上引入不同域上的js脚本文件却是可以的,jsonp正是利用这个特性来实现的。 // jQuery < script type = "text/javascript" > $.getJSON( 'http://example.com/data.php?callback=?

JavaScript跨域方法

天大地大妈咪最大 提交于 2019-12-04 22:51:34
1 同源策略 同源策略 ,是由网景(netscape)提出的一个著名的安全策略,现在所有的浏览器都会使用这一安全策略。所谓同源策略,即相互访问的页面之间必须具有相同的协议、端口和主机地址。 下表给出了相对http://store.company.com/dir/page.html同源检测的结果。 URL 结果 原因 http://store.company.com/dir2/other.html 成功 http://store.company.com/dir/inner/another.html 成功 https://store.company.com/secure.html 失败 不同协议 http://store.company.com:81/dir/etc.html 失败 不同端口 http://news.company.com/dir/other.html 失败 不同主机(IP) 由于同源策略的限制,不同域名之间无法通过HTTP请求相互访问。我们把不同域名之间的访问问题称为跨域问题。 2 常用的跨域方法 本部分主要介绍当前主流的几种跨域方法,包括Cors、JSONP、window.name等几种常见的跨域方法。 本部分实验部分包括两台服务器,两台服务器ip地址不同,设置的域名分别为fe.xiaojukeji.com(主服务器)、fe_vm.xiaojukeji.com(从

Consul之:服务健康监测

旧城冷巷雨未停 提交于 2019-12-04 21:23:49
服务注册 - 服务进程在注册中心注册自己的位置。它通常注册自己的主机和端口号,有时还有身份验证信息,协议,版本号,以及运行环境的详细资料。 服务发现 - 客户端应用进程向注册中心发起查询,来获取服务的位置。服务发现的一个重要作用就是提供一个可用的服务列表。 服务定义的格式类似如下: { "service":{ "id": "jetty", "name": "jetty", "address": "192.168.1.200", "port": 8080, "tags": ["dev"], "checks": [ { "http": "http://192.168.1.200:8080/health", "interval": "5s" } ] } } 其中,check是用来做服务的健康检查的,可以有多个,也可以没有,支持多种方式的检查。check定义在配置文件中,或运行时通过HTTP接口添加。Check是通过HTTP与节点保持一致。 有五种check方法: check必须是script或者TTL类型的,如果是script类型,则script和interval变量必须被提供,如果是TTL类型,则ttl变量必须被提供 script是consul主动去检查服务的健康状况,ttl是服务主动向consul报告自己的健康状况。 以下是几种配置方式 Check必须是Script、HTTP、TCP

art-template补充

落花浮王杯 提交于 2019-12-04 20:17:27
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>title</title> </head> <body> </body> </html> <!-- 导入模板引擎 --> <script src="./js/template-web.js"></script> <!-- 逻辑语句 条件 --> <script id='ifTemplate' type="text/html"> <ul> {{if male=='女'}} <li>欢迎您 {{name}} 女士 <ol> <li>这是最新款的包包</li> <li>这是最新款的口红</li> <li>没想到,你竟然是{{skill}}</li> </ol> </li> {{else if male=='男'}} <li>欢迎您 {{name}} 先生 <ol> <li>这是最新款的拖拉机</li> <li>讨厌,才来找人家</li> <li>没想到,你竟然稍长{{skill}}</li> </ol> </li> {{/if}} </ul> </script> <script> var person1 = { male: '女', name: '郑爽', skill: '身材好' }; var person2 = { male: '男',

引用自定义的css或者js文件

 ̄綄美尐妖づ 提交于 2019-12-04 19:59:06
用script标签,src是js文件路径 <script type="text/javascript" src="./js/udc.js"></script> 如果项目中用到了jquery,同样src是jquery文件路径 <script type="text/javascript" src="./lib/jquery-1.12.4.min.js"></script> 如果项目中用到了jquery,然后在自定义的js中用到了jquery, 那么注意下引入自定义的js要在页面加载完成之后,也就是body之后 ... </body> <script type="text/javascript" src="./js/udc.js"></script> </html> 来源: https://www.cnblogs.com/liuw-flexi/p/11880486.html

02-模板字符串

杀马特。学长 韩版系。学妹 提交于 2019-12-04 18:43:37
模板字符串 传统的JavaScript语言,输出模板通常是这样的写的。 <script type="text/javascript"> var a = 1; var b = 2; var str = '哈哈哈哈哈'+ a + '嘿嘿嘿' + b; console.log(str); </script> 上面这种写法相当繁琐不方便,ES6 引入了模板字符串解决这个问题。 <script type="text/javascript"> var a = 1; var b = 2; // var str = '哈哈哈哈哈'+ a + '嘿嘿嘿' + b; var str = `哈哈哈哈 ${a} 嘿嘿嘿${b}`; console.log(str); </script> 模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。 // 普通字符串 `In JavaScript '\n' is a line-feed.` // 多行字符串 <script type="text/javascript"> // 多行字符串 var str = `In JavaScript this is not legal.` console.log(str); </script> // 字符串中嵌入变量 let

浏览器环境

别来无恙 提交于 2019-12-04 18:40:29
1. js代码嵌入网页的方式 1. script标签嵌入脚本 script标签有个属性type,用于指定脚本的类型; 1. "text/javascript": 默认值,指定运行的是js代码 <script> </script> 2. "application/javascript": 在较新的浏览器中,指定是JS代码 <script src="application/javascript"> //TODO </script> 3. "text/babel": 指定脚本是JSX语法的代码; 使用前提是需要引入 <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script> babel文件将JSX语法中的标签,解析为React.createElement();如果不引入,则浏览器不识别text/babel类型; 另外,由于babel引入了React,则需要引入React文件;然后想要渲染需要ReactDOM文件; <script src="https://unpkg.com/react@16/umd/react.production.min.js" crossorigin></script> <script src="https://unpkg.com/react-dom@16/umd/react

入门Swagger

牧云@^-^@ 提交于 2019-12-04 18:00:26
Swagger:实现前后端分离开发 使用IDEA创建一个web项目 在pom.xml中添加swagger-api依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.1.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.uos</groupId> <artifactId>swagger-demo<

优化浏览器渲染

允我心安 提交于 2019-12-04 17:35:16
优化浏览器渲染,要从关键渲染路径出发,基本上是优化HTML、CSS、JS的依赖关系。 其中HTML构建的DOM消耗是必须的。 1. 从阻塞渲染的CSS出发 CSS默认是阻塞渲染的资源。 根据浏览器渲染的过程可知,浏览器渲染的基础是DOM和CSSOM。在生成CSSOM之前,不会渲染任何内容。 生成CSSOM的过程是先从服务器下载CSS文件(不管阻塞与否都要先下载),然后过滤出阻塞渲染的CSS文件生成CSSOM。 为了缩短生成CSSOM的时间: 1. 应该尽量精简CSS 2. 利用 媒体类型和媒体查询 来解除对渲染的阻塞。 示例:(都会下载,但是只有满足media条件,才用于CSSOM) // 只有当页面>=400px时才会阻塞渲染 <link href="./1.css" rel="stylesheet" media="(min-width:400px)"> 2. 从阻塞渲染的内联脚本出发 在关键渲染路径中,如果HTML解析器遇到script标签,会暂停构建DOM,将控制权转给JS引擎, 等js执行完成,再从之间暂停的地方继续构建DOM。也就是说,js脚本会阻碍DOM构建,延缓首次渲染。 如果在js脚本执行过程中,遇到修改CSSOM的情况: --firefox浏览器会等js前的CSSOM构建完成再执行脚本; --webkit浏览器会暂停执行js脚本和DOM构建