【问题标题】:AS3: Loading external Google Maps XML file from AS3 without causing sandbox security errorAS3:从 AS3 加载外部 Google Maps XML 文件而不会导致沙盒安全错误
【发布时间】:2012-03-29 15:19:16
【问题描述】:

是否可以从 Google Maps API 加载外部 XML 文件而不会出现安全沙箱错误?

目前我正在使用代理,但这并不理想,因为所有 API 调用都来自代理的 IP,而不是用户。

这是测试脚本:

Security.loadPolicyFile("https://maps.googleapis.com/crossdomain.xml");
Security.loadPolicyFile("https://maps.google.co.uk/crossdomain.xml");
Security.loadPolicyFile("http://maps.googleapis.com/crossdomain.xml") 
Security.allowDomain("*.googleapis.com"); 
Security.allowDomain("*.google.co.uk"); 

var xmlString:String ='http://maps.google.co.uk/maps/geo?q=Slack Head LA7 7AX, United Kingdom&output=xml';

var myXML:XML;

var myLoader:URLLoader = new URLLoader();
myLoader.load(new URLRequest(xmlString));

我基本上已经放弃了所有希望,而且我已经浪费了很多时间。无法加载外部 XML/RSS 提要似乎很奇怪??

【问题讨论】:

    标签: actionscript-3 flash


    【解决方案1】:

    无法直接从 Flash 访问 XML 文件而不会导致跨域脚本错误。

    不过,Flash 将允许您直接访问图像和 mp3 等,因此您可以调用 Google 的静态街景和地图 API 来获取图像,但是,获取数据是另一回事。

    一些网站支持 JSONP,这意味着您可以使用 JavaScript(带有 jQ​​uery 库)来检索 JSON/XML 数据并将其传递给 Flash 对象。

    Google Maps API 不支持 JSONP。

    因此,您要做的就是在您的 HTML 中包含 JavaScript Google Maps API 3 库,然后从您的 Flash(使用 ExternalInterface)调用 JavaScript 函数,该函数从 Maps API 获取数据,然后您需要传递检索到的数据返回 Flash。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-01
      • 1970-01-01
      相关资源
      最近更新 更多