iframe

跨域问题

那年仲夏 提交于 2020-03-08 20:12:40
转载: https://segmentfault.com/a/1190000000718840 概念:只要协议、域名、端口有任何一个不同,都被当作是不同的域。 URL 说明 是否允许通信 http://www.a.com/a.js http://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a.js http://www.a.com/script/b.js 同一域名下不同文件夹 允许 http://www.a.com:8000/a.js http://www.a.com/b.js 同一域名,不同端口 不允许 http://www.a.com/a.js https://www.a.com/b.js 同一域名,不同协议 不允许 http://www.a.com/a.js http://70.32.92.74/b.js 域名和域名对应ip 不允许 http://www.a.com/a.js http://script.a.com/b.js 主域相同,子域不同 不允许 http://www.a.com/a.js http://a.com/b.js 同一域名,不同二级域名(同上) 不允许(cookie这种情况下也不允许访问) http://www.cnblogs.com/a.js http://www.a.com/b.js 不同域名 不允许

JavaScript基础概念之----跨域

余生长醉 提交于 2020-03-08 20:11:07
浏览器对于javascript的同源策略的限制,出现了跨域。 只要协议、域名、端口等不同,就会出现跨域:如下 域名:  主域名不同 http://www.a.com –>http://www.b.com  子域名不同 http://www.m.a.com/index.html –>http://www.n.a.com/test.js  域名和域名ip http://www.a.com/index.html –>http://188.44.77.98/test.js 端口:  http://www.a.com:8080/index.html–> http://www.a.com:9090/test.js 协议:  http://www.a.com:8080/index.html–> https://www.a.com:8080/test.js 其他:  1、端口和协议的不同,只能通过后台来解决  2、localhost和127.0.0.1虽然都指向本机,但也属于跨域 解决跨域有下面几种方法: jsonp跨域(JSON with Padding 填充式JSON) document.domain wndow.name postMessage 后端修改header nginx反向代理 JSONP跨域 只支持get请求。返回的是脚本代码(包含一个函数调用)。

详解js跨域

≡放荡痞女 提交于 2020-03-08 20:09:25
(P.s. 本文系转载, 点我 阅读原文。) 什么是跨域? 概念:只要协议、域名、端口有任何一个不同,都被当作是不同的域。 对于端口和协议的不同,只能通过后台来解决。URL 说明 是否允许通信 http://www.a.com/a.js http://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a.js http://www.a.com/script/b.js 同一域名下不同文件夹 允许 http://www.a.com:8000/a.js http://www.a.com/b.js 同一域名,不同端口 不允许 http://www.a.com/a.js https://www.a.com/b.js 同一域名,不同协议 不允许 http://www.a.com/a.js http://70.32.92.74/b.js 域名和域名对应ip 不允许 http://www.a.com/a.js http://script.a.com/b.js 主域相同,子域不同 不允许 http://www.a.com/a.js http://a.com/b.js 同一域名,不同二级域名(同上) 不允许(cookie这种情况下也不允许访问) http://www.cnblogs.com/a.js http://www.a.com/b.js 不同域名 不允许

JS 跨域认识及如何解决

不想你离开。 提交于 2020-03-08 20:07:47
什么是跨域 指的是浏览器不允许javascrip脚本向其他域名发起ajax请求。 跨域的各种情况判定 URL 说明 是否允许通信 http://www.a.com/a.js http://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a.js http://www.a.com/script/b.js 同一域名下不同文件夹 允许 http://www.a.com:8000/a.js http://www.a.com/b.js 同一域名,不同端口 不允许 http://www.a.com/a.js https://www.a.com/b.js 同一域名,不同协议 不允许 http://www.a.com/a.js http://70.32.92.74/b.js 域名和域名对应ip 不允许 http://www.a.com/a.js http://script.a.com/b.js 主域相同,子域不同 不允许 http://www.a.com/a.js http://a.com/b.js 同一域名,不同二级域名(同上) 不允许(cookie这种情况下也不允许访问) http://www.cnblogs.com/a.js http://www.a.com/b.js 不同域名 不允许 解决办法: JSONP <script>

详解js跨域问题

◇◆丶佛笑我妖孽 提交于 2020-03-08 20:06:20
注:本文转载自---- https://segmentfault.com/a/1190000000718840 概念:只要协议、域名、端口有任何一个不同,都被当作是不同的域。 跨域资源共享(CORS) CORS(Cross-Origin Resource Sharing )跨域资源共享,定义了必须在访问跨域资源时,浏览器与服务器应该如何沟通。 CORS 背后的基本思想就是使用自定义的HTTP头部让浏览器与服务器进行沟通,从而决定请求或响应是应该成功还是失败。 <script type="text/javascript"> var xhr = new XMLHttpRequest(); xhr.open("GET", "/trigkit4",true); xhr.send(); </script> 以上的 trigkit4 是相对路径,如果我们要使用 CORS ,相关 Ajax 代码可能如下所示: <script type="text/javascript"> var xhr = new XMLHttpRequest(); xhr.open("GET", "http://segmentfault.com/u/trigkit4/",true); xhr.send(); </script> 代码与之前的区别就在于相对路径换成了其他域的绝对路径,也就是你要跨域访问的接口地址。

详解js跨域问题

三世轮回 提交于 2020-03-08 20:05:18
什么是跨域? 概念:只要协议、域名、端口有任何一个不同,都被当作是不同的域。 URL 说明 是否允许通信 http://www.a.com/a.js http://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a.js http://www.a.com/script/b.js 同一域名下不同文件夹 允许 http://www.a.com:8000/a.js http://www.a.com/b.js 同一域名,不同端口 不允许 http://www.a.com/a.js https://www.a.com/b.js 同一域名,不同协议 不允许 http://www.a.com/a.js http://70.32.92.74/b.js 域名和域名对应ip 不允许 http://www.a.com/a.js http://script.a.com/b.js 主域相同,子域不同 不允许 http://www.a.com/a.js http://a.com/b.js 同一域名,不同二级域名(同上) 不允许(cookie这种情况下也不允许访问) http://www.cnblogs.com/a.js http://www.a.com/b.js 不同域名 不允许 对于端口和协议的不同,只能通过后台来解决。 跨域资源共享(CORS) CORS

详解js跨域

两盒软妹~` 提交于 2020-03-08 20:04:19
什么是跨域? 概念:只要协议、域名、端口有任何一个不同,都被当作是不同的域。 对于端口和协议的不同,只能通过后台来解决。URL 说明 是否允许通信 http://www.a.com/a.js http://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a.js http://www.a.com/script/b.js 同一域名下不同文件夹 允许 http://www.a.com:8000/a.js http://www.a.com/b.js 同一域名,不同端口 不允许 http://www.a.com/a.js https://www.a.com/b.js 同一域名,不同协议 不允许 http://www.a.com/a.js http://70.32.92.74/b.js 域名和域名对应ip 不允许 http://www.a.com/a.js http://script.a.com/b.js 主域相同,子域不同 不允许 http://www.a.com/a.js http://a.com/b.js 同一域名,不同二级域名(同上) 不允许(cookie这种情况下也不允许访问) http://www.cnblogs.com/a.js http://www.a.com/b.js 不同域名 不允许 跨域资源共享(CORS) CORS(Cross

window.postMessage 与 Vue 一起使用注意的问题

流过昼夜 提交于 2020-03-08 04:53:26
场景: vue一个组件中嵌套了IFrame ,这时,为了vue与iframe交互事件,选择使用window.postMessage的方法进行交互; 交互方式有点类似于websocket,是双方建立起一个通道; 问题: 当我的项目中有两个模块同时调用了这个组件,且在同一时间都属于打开状态,那么这个通道在iframe的角度看就变成了 一对多,也就是一个模块出发的事件。由iframe发出一个信息后,这个组件会执行两次; 需求: 只想让组件在当前显示的界面执行; 解决: 不同的模块给组件传一个标识符,并将标识符带入到iframe,当iframe传回数据室,带回这个标识进行判断,如果该标识=当前模块给的标识 则执行; 来源: CSDN 作者: MolinOne 链接: https://blog.csdn.net/u010537432/article/details/104678580

浏览器同源策略(跨域问题)

非 Y 不嫁゛ 提交于 2020-03-07 23:51:05
同源策略 浏览器同源策略的核心就在于它认为自任何站点装载的信赖内容是不安全的。当被浏览器半信半疑的脚本运行在沙箱时,它们应该只被允许访问来自同一站点的资源,而不是那些来自其它站点可能怀有恶意的资源 同源指的是:协议、域名、端口号全部相同 下表给出了相对 http://store.company.com/dir/page.html 同源检测的示例: 同源策略又分为以下两种: DOM 同源策略:禁止对不同源页面 DOM 进行操作。这里主要场景是 iframe 跨域的情况,不同域名的 iframe 是限制互相访问的。(iframe是什么? 点我 ) XMLHttpRequest 同源策略:禁止使用 XHR 对象向不同源的服务器地址发起 HTTP 请求。 如果没有同源策略,将会怎么样呢?接下来举两个栗子来讲述同源策略的重要性: 如果没有 DOM 同源策略,也就是说不同域的 iframe 之间可以相互访问,那么黑客可以这样进行攻击: 做一个假网站,里面用 iframe 嵌套一个银行网站 http://mybank.com 。 把 iframe 宽高啥的调整到页面全部,这样用户进来除了域名,别的部分和银行的网站没有任何差别。 这时如果用户输入账号密码,我们的主网站可以跨域访问到 http://mybank.com 的 dom 节点,就可以拿到用户的账户密码了。 如果

PDF解决方案(1)--文件上传

浪子不回头ぞ 提交于 2020-03-06 13:41:48
相关专题链接 PDF解决方案(1)--文件上传 PDF解决方案(2)--文件转PDF PDF解决方案(3)--PDF转SWF PDF解决方案(4)--在线浏览 前言:最近参与了一个项目,客户要求把系统所有用户提交的所有电子文件(主要是word、Excel、图片等)都转化为PDF格式保存,并且要能支持在线查看、自动加签(添加图片印章、数字证书)等功能,因为之前也没有接触这方面的知识在项目开发过程中也是遇到了诸多困难,但庆幸的是通过自己研究、百度等方法得到了解决,最后的效果还算令人满意,趁现在项目比较空闲把整个实现方案做个介绍。 一、demo效果图 选择文件提交后,在后台先转成pdf文件,然后再转化为swf文件在前台展示! demo比较简陋,没做太多修饰,主要是为了说明问题,大家不要在意这些细节!demo中用到的部分软件在下面下载区有链接,下载解压放在C盘即可。 二、文件上传 1、前台部分 前台采用form表单、隐藏iframe实现无刷新上传: js部分代码 <script type="text/javascript" src="js/jquery-1.8.0.min.js"></script> <script type="text/javascript"> //支持的文件上传类型 var accept_extend = ['jpg', 'doc', 'docx', 'xls',