我正在尝试将现有的Web应用程序(仅限ActionScript 3项目)移植到AIR,以作为独立应用程序运行。它的一个功能是在浏览器窗口中打开URL。但是调用navigateToURL(new URLRequest(url))
会引发此SecurityError:
SecurityError:错误#2193:安全性 沙箱违规:navigateToURL: app:/AIRDigE.swf无法访问 http://www.youtube.com/watch?v=xCPwAr0xnGE。 at global / flash.net :: navigateToURL()
从Flash Builder 4运行时。
谷歌搜索并没有真正帮助我解决这个特定的错误号码。
Adobe's reference on Security Sandboxes表示运行Security.sandboxType==Security.APPLICATION
的任何AIR应用程序(我的应用程序使用)应该能够连接到任何域,但显然这对我来说并不重要。
有什么想法吗?
谢谢,弗兰克
答案 0 :(得分:2)
对不起大家,今天早上我自己找到了答案:我传入URLRequest的网址前面有一个空格(它是从一个显然产生错误网址的xml Feed加载的)。
因此,似乎带有无效协议的网址会导致该错误,并在网址周围放置一个trim()
来修复它。
答案 1 :(得分:1)
我收到此错误是因为在网址链接中使用了双向反斜杠,例如“http:\\ www.youtube.com”
我应该在哪里使用“http:* // * www.youtube.com”
答案 2 :(得分:0)
尝试将URLRequest与navigateToURL一起使用
navigateToURL(new URLRequest("http://www.youtube.com"));
更新:
navigateToURL(new URLRequest("http://www.youtube.com"),"blank");