引子:本来是想验证如果在网页中包含多个框架,那么就会存在两个以上的不同全局环境,如果从一个框架引用另一个框架的数据比如数组a,那么用 instanceof 判断这个数组a是不是另个框架Array的实例,于是html代码如下

index.html:

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
</head>
<frameset cols="20%,80%">
<frame src="link.html" name="link" />
<frame src="show.html" name="show" />
</frameset>
</html>

link.html:

 <!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
var arrOrder=[];
</script>
</body>
</html>

show.html:

 <!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<button onclick="console.log(self.parent.link.arrOrder instanceof Array)">click</button>
</body>
</html>

效果图:

在firefox和IE的控制台下可以正常输出false(验证了用instanceof判断一个对象是否为数组的弊端)

可是chrome控制台下输出:Uncaught SecurityError: Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.

这是chrome同源策略引发的问题,而且不只是iframe的相互访问时会出现,当需要通过ajax或者get和post方法从本地加载文件或者跨域访问时也会遇到该问题,不然就不会有jsonp的出现了。

解决方案:stackoverflow大法好

http://stackoverflow.com/questions/3102819/disable-same-origin-policy-in-chrome

我这里只引用一下win平台下的解决方案,linux,OSX平台下可以参考链接里哈

For Windows go into the command prompt and go into the folder where Chrome.exe is and type

chrome.exe --disable-web-security

That should disable the same origin policy and allow you to access local files.

tip:Make sure you have closed all chrome processes, then try again. Chrome will issue a warning header if you have done it correctly: "You are using an unsupported command-line flag: --disable-web-security. Stability and security will suffer"

具体做法就是右键浏览器的快捷方式,添加箭头所指的内容然后保存,然后重启浏览器就ok,不过chrome会提示你“你使用的是不受支持的命令行标记:--disabled-web-security,稳定性和安全性会有所下降”,不用管它测试你的项目就好。

总结:关于跨域请求解决的方案不止这一种。有兴趣的可以访问http://slashlook.com/articles_20140523.html

chrome还有一个插件神器专门解决ajax请求中的跨域问题:https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?hl=en

win下如何解决在chrome的同源访问问题的更多相关文章

  1. [vim]vim 在win下乱码解决

    vim在win下遇到汉字乱码早就知晓,本以为通过如下设置即可解决乱码问题 set encoding=utf-8 set fileencoding=utf-8,chinese 这样设置是可以解决源码文件 ...

  2. Win下必备利器之Cmder

    诚言,对于开发码字者,Mac和Linux果断要比Windows更贴心;但只要折腾下,Windows下也是有不少利器的.之前就有在Windows下效率必备软件一文中对此做了下记载:其虽没oh-my-zs ...

  3. Win下必备神器之Cmder

    诚言,对于开发码字者,Mac和Linux果断要比Windows更贴心;但只要折腾下,Windows下也是有不少利器的.之前就有在Windows下效率必备软件一文中对此做了下记载:其虽没oh-my-zs ...

  4. python下的selenium和chrome driver的安装

    selenium是一款支持多种语言.多种浏览器.多个平台的开源web自动化测试软件,测试人员可用python.java等语言编写自动化脚本,使得浏览器可以完全按照你的指令运行,大大节省了测试人员用鼠标 ...

  5. Win下最爱效率利器:AutoHotKey

    AutoHotkey是一个windows下的开源.免费.自动化软件工具.它由最初旨在提供键盘快捷键的脚本语言驱动(称为:热键),随着时间的推移演变成一个完整的脚本语言.但你不需要把它想得太深,你只需要 ...

  6. 记录下WIN下配置LINUX虚拟机及PYTHON环境

    因为听说服务器端大多都是LINUX/UNIX,LINUX是程序员必须适应的编程环境,所以今天折腾了一下,给笔记本装了个LINUX虚拟机,并顺便给WINDOWS和LINUX都配置了PYTHON环境. 这 ...

  7. win下 git gui 使用教程

    现在很多都有git来托管项目或者来查找资料,但是看起来操作不是很方便,现在由于win下可以直接使用git gui,让使用git变得方便,当然这只是针对日常简单的使用,如果想详细的使用,可以去参考廖学峰 ...

  8. 2018-03-03-解决win下凭据删除不干净而无法登录共项目录的问题

    layout: post title: 2018-03-03-解决win下凭据删除不干净而无法登录共项目录的问题 key: 20180303 tags: GIT 版本管理 modify_date: 2 ...

  9. Python virtualenvwrapper在Win下的安装和管理

    安装: 在Win下安装wrapper的时候,需要安装一个特殊的版本,即virtualenvwrapper-win.如果安装的只是virtualenvwrapper,则会出现mkvirtualenv,l ...

随机推荐

  1. zabbix监控数据库

    Zabbix通过percona监控MySQL   因为Zabbix自带的MySQL监控没有提供可以直接使用的Key,所以一般不采用,业界的同学们都使用Percona Monitoring Plugin ...

  2. 处理器拦截器(HandlerInterceptor)详解

    处理器拦截器(HandlerInterceptor)详解 编程界的小学生 关注 2017.04.06 15:19* 字数 881 阅读 657评论 0喜欢 4 简介SpringWebMVC的处理器拦截 ...

  3. 第二百七十七节,MySQL数据库-数据表、以及列的增删改查

    MySQL数据库-数据表.以及列的增删改查 1.创建一个表 CREATE(创建) TABLE(表) ENGINE(引擎) ENGINE=INNODB(引擎)还有很多类引擎,这里只是简单的提一下INNO ...

  4. VS2008链接错误fatal error LNK1104: cannot open file '*.obj'

    This particular issue is caused by specifying a dependency to a lib file that had spaces in its path ...

  5. 剑指 offer set 14 打印 1 到 N 中 1 的个数

    总结 1. 假设 n == 2212, 算法分为两个步骤. 第一步, 将这个 2212 个数分为 1~ 212, 213 ~ 2212 2. 第一部分实际上是将 n 的规模缩小到 212. 假如知道如 ...

  6. IOS 开发之 -- 获取本机通讯录里面所有的联系人,并传到后台

    项目中遇到一个需求,就是需要在入口的时候,获取通讯录的权限,并把所有的联系人,以接口参数的形式传到后台,通过网上查资料,历时3个小时,终于完成, 话不多,直接上代码: 1,导入系统库 #import ...

  7. 学习ASP.NET MVC3(6)----- Filte

    前言 在开发大项目的时候总会有相关的AOP面向切面编程的组件,而MVC(特指:Asp.Net MVC,以下皆同)项目中不想让MVC开发人员去关心和写类似身份验证,日志,异常,行为截取等这部分重复的代码 ...

  8. django post 403解决之道(最新版Django)

    写了一个方法,丢出一个post请求,发现报403 百度解决方案: 按提示及google结果修改setting.py,在MIDDLEWARE_CLASSES增加django.middleware.csr ...

  9. sssssss

    1dispatcherServlet—拦截到spring mvc的请求 2dispatchServlet调用HandlerMapping( DefaultAnnoationHandlerMapping ...

  10. Code Forces 645A Amity Assessment

    A. Amity Assessment time limit per test2 seconds memory limit per test256 megabytes inputstandard in ...