我正在尝试将一个现有的web应用程序(仅限ActionScript 3项目)移植到AIR,作为一个独立的应用程序运行。它的一个功能是在浏览器窗口中打开url。但是调用navigateToURL(new URLRequest(url))
会抛出以下SecurityError:
SecurityError:错误#2193:安全沙盒冲突:navigateToURL:app:/AIRDigE.swf无法访问http://www.youtube.com/watch?v=xCPwAr0xnGE.在global/flash.net::navigateToURL()
当从Flash Builder 4运行时。
谷歌搜索并不能真正帮助我处理这个特定的错误号码。
Adobe在安全沙盒上的引用指出,任何使用Security.sandboxType==Security.APPLICATION
运行的AIR应用程序(我的应用程序使用的)都应该能够连接到任何域,但显然这对我来说不算
有什么想法吗?
谢谢,Frank
对不起,今天早上我自己找到了答案:我传递到URLRequest的url前面有一个空间(它是从一个显然产生错误url的xml提要加载的)。
因此,似乎是一个具有无效协议的url导致了该错误,并在url周围放置trim()
修复了该错误。
我收到这个错误是因为在web链接中使用了双向后斜杠,如"http:\\www.youtube.com"
我应该在哪里使用"http://www.youtube.com"
尝试将URLRequest与navigateToURL 一起使用
navigateToURL(new URLRequest("http://www.youtube.com"));
更新:
navigateToURL(new URLRequest("http://www.youtube.com"),"blank");