3

我收到此错误:

不安全的 JavaScript 尝试从具有 URL 文件的框架访问具有 URL 文件://localhost/Users/bobrodes2/Documents/PD%20Manager%20UI/3.7/FieldContactAddEdit.html# 的框架://localhost/Users/bobrodes2/Documents/PD% 20Manager%20UI/3.7/fieldcontacteditactions_modal.html。域、协议和端口必须匹配。

我已经完成了阅读,但我无法弄清楚这两个文件如何可能是不同的域(或端口)。它们都在同一台机器的同一个文件夹中!后一个文件是使用 jQuery 的 dialog() 方法的模式,我们将模式设置为 iframe。不确定哪些代码会有所帮助,但很乐意发布任何请求。

4

3 回答 3

2

默认情况下,通过 file:// URI 提供的文件被认为在不同的域下。

要在 Chrome 下(暂时)禁用同源策略,出于开发目的,请尝试:http: //joshuamcginnis.com/2011/02/28/how-to-disable-same-origin-policy-in-chrome/

最好的选择是在本地启动一个 http 服务器。

于 2012-10-03T00:03:26.370 回答
2

这是浏览器安全问题。例如,Chrome 将拒绝使用该file://协议提供的任何文件的权限。

举个例子,如果你试图通过打开与 的连接来进行 AJAX 调用file://c/myfiles/mytext.txt,Chrome 将引发安全违规(因为为什么浏览器应该能够读取访问者的文件系统并将文件信息作为文本读取,存储在 cookie 中,或发送出去进行跟踪)。

如果画布用于保存从不同域加载的图片,则与 iFrame 以及编辑画布数据的处理相同。

解决方案是设置一个网络服务器。任何语言——我建议使用 PHP,因为 PHP 服务器的安装时间现在几乎为零,这要归功于 WAMP/EasyPHP/PHP5.4 的内置网络服务器等...

...但是,一旦您从 IP 地址或解析为 IP 地址(甚至0.0.0.0)的东西提供服务,该原始策略就应该消失。

于 2012-10-03T00:04:48.887 回答
1

只需启动一个简单的 Web 服务器。

如果您在 OS X 上或以其他方式安装了 Python,只需cd进入您要以 root 身份使用的目录并使用...

python -m SimpleHTTPServer

文档

于 2012-10-03T00:09:44.653 回答