网上都说把crossdomain.xml文件放到发布的gis服务根目录和发布网站的根目录,我都放了,但是还是不行,还是报这样的错误,请高手帮帮忙,一个星期了!
14 个解决方案
#1
#2
看不懂他们写的什么啊,能跟个具体的方法吗?
#3
高手帮帮忙啊
#4
建议使用wireshark抓包,看通信的时候,有没有读取你的crossdomain.xml文件?然后再确认你的文件内容是否正确。。
#5
crossdomain.xml放在哪都没关系
关键是要和Security.loadPolicyFile("加载路径url")中url匹配
检查crossdomain.xml是否读取到(浏览器里输入上面url)
或者更直接一点,将crossdomain.xml中的内容复制出来,在代码中以字符串形式发送到客户端
那就不用放那个文件了~~~
关键是要和Security.loadPolicyFile("加载路径url")中url匹配
检查crossdomain.xml是否读取到(浏览器里输入上面url)
或者更直接一点,将crossdomain.xml中的内容复制出来,在代码中以字符串形式发送到客户端
那就不用放那个文件了~~~
#6
在浏览器中能获取到那个xml,但是还不行
#7
或者更直接一点,将crossdomain.xml中的内容复制出来,在代码中以字符串形式发送到客户端
这个怎么实现啊?
这个怎么实现啊?
#8
后台是java的么
#10
解决跨域问题的原理就是服务端将 <policy-file-request />发送到客户端
客户端接收后就有权限访问服务端资源
Security.loadPolicyFile(url);这种方式其实就是读取crossdomain.xml中配置的允许远程访问的地址
然后依次向这些地址发送<policy-file-request />
基于上述原理,在代码中直接往某个地址发送<policy-file-request />即可
(可以开辟一个socket通道发送,太常见了不多说,不会自己google吧)
#11
非常感谢各位的热心帮助,我在同事的帮助下解决了,现在把我的方法分享给大家,希望可以帮助其他的朋友,具体情况我已写入我的博客,我的博客是
http://hi.baidu.com/百王朋度/blog/item/b06acbd74b5eb1d551da4b87.html
http://hi.baidu.com/百王朋度/blog/item/b06acbd74b5eb1d551da4b87.html
#12
#13
将crossdomain.xml文件放置到根目录下。
这个根目录不能直接放到服务端的根文件夹下就可以了,比如tomcat,假如直接放到tomcat的webapps下,通过浏览器访问http://ip:port/crossdomain.xml是无法访问到crossdomain文件的,所以需要放置到逻辑根目录下,tomcat的访问地址根目录在./webapps/ROOT/下。所以将crossdomain.xml放置到这个目录下,就可以访问crossdomain文件,也一般能够解决2048的安全沙箱错误。
这个根目录不能直接放到服务端的根文件夹下就可以了,比如tomcat,假如直接放到tomcat的webapps下,通过浏览器访问http://ip:port/crossdomain.xml是无法访问到crossdomain文件的,所以需要放置到逻辑根目录下,tomcat的访问地址根目录在./webapps/ROOT/下。所以将crossdomain.xml放置到这个目录下,就可以访问crossdomain文件,也一般能够解决2048的安全沙箱错误。
#14
顶楼上 解决了
#1
http://www.eb163.com/club/thread-11939-1-1.html
http://www.javaeye.com/wiki/topic/618847
楼主看看这个和你差不多
http://www.javaeye.com/wiki/topic/618847
楼主看看这个和你差不多
#2
看不懂他们写的什么啊,能跟个具体的方法吗?
#3
高手帮帮忙啊
#4
建议使用wireshark抓包,看通信的时候,有没有读取你的crossdomain.xml文件?然后再确认你的文件内容是否正确。。
#5
crossdomain.xml放在哪都没关系
关键是要和Security.loadPolicyFile("加载路径url")中url匹配
检查crossdomain.xml是否读取到(浏览器里输入上面url)
或者更直接一点,将crossdomain.xml中的内容复制出来,在代码中以字符串形式发送到客户端
那就不用放那个文件了~~~
关键是要和Security.loadPolicyFile("加载路径url")中url匹配
检查crossdomain.xml是否读取到(浏览器里输入上面url)
或者更直接一点,将crossdomain.xml中的内容复制出来,在代码中以字符串形式发送到客户端
那就不用放那个文件了~~~
#6
在浏览器中能获取到那个xml,但是还不行
#7
或者更直接一点,将crossdomain.xml中的内容复制出来,在代码中以字符串形式发送到客户端
这个怎么实现啊?
这个怎么实现啊?
#8
后台是java的么
#9
#10
解决跨域问题的原理就是服务端将 <policy-file-request />发送到客户端
客户端接收后就有权限访问服务端资源
Security.loadPolicyFile(url);这种方式其实就是读取crossdomain.xml中配置的允许远程访问的地址
然后依次向这些地址发送<policy-file-request />
基于上述原理,在代码中直接往某个地址发送<policy-file-request />即可
(可以开辟一个socket通道发送,太常见了不多说,不会自己google吧)
#11
非常感谢各位的热心帮助,我在同事的帮助下解决了,现在把我的方法分享给大家,希望可以帮助其他的朋友,具体情况我已写入我的博客,我的博客是
http://hi.baidu.com/百王朋度/blog/item/b06acbd74b5eb1d551da4b87.html
http://hi.baidu.com/百王朋度/blog/item/b06acbd74b5eb1d551da4b87.html
#12
#13
将crossdomain.xml文件放置到根目录下。
这个根目录不能直接放到服务端的根文件夹下就可以了,比如tomcat,假如直接放到tomcat的webapps下,通过浏览器访问http://ip:port/crossdomain.xml是无法访问到crossdomain文件的,所以需要放置到逻辑根目录下,tomcat的访问地址根目录在./webapps/ROOT/下。所以将crossdomain.xml放置到这个目录下,就可以访问crossdomain文件,也一般能够解决2048的安全沙箱错误。
这个根目录不能直接放到服务端的根文件夹下就可以了,比如tomcat,假如直接放到tomcat的webapps下,通过浏览器访问http://ip:port/crossdomain.xml是无法访问到crossdomain文件的,所以需要放置到逻辑根目录下,tomcat的访问地址根目录在./webapps/ROOT/下。所以将crossdomain.xml放置到这个目录下,就可以访问crossdomain文件,也一般能够解决2048的安全沙箱错误。
#14
顶楼上 解决了