如何解决检测Flash中的allowNetworking参数
| 问候, 这是关于Flash安全性/沙盒问题。我想知道是否有办法让加载的Flash .swf对象知道是否为它设置了“ 0”,可能使用ActionScript(2.0或3.0)。 我找到了一种解决方案,但是它不能区分限制来自allowNetworking
还是allowScriptAccess
设置。
我并不是特别在寻找解决方法(尽管这也很有趣),但只是能够检测到是否将allowNetworking
设置为\"internal\"
或至少是\"all\"
以外的其他值。
干杯:)
解决方法
您可以通过尝试执行特定的受限API并查看是否抛出SecurityError来测试网络API的限制。
public static function getNetworkingRestriction():String {
var result:String = \"all\"; // default level
try {
// first try SharedObject. If it throws a SecurityError,then allowNetworking=\"none\"
SharedObject.getLocal(\"test\");
try {
// SharedObject didn\'t throw a SecurityError.
//If ExternalInterface.call() throws a SecurityError then allowNetworking=\"internal\"
ExternalInterface.call(\"\");
}
catch (e:SecurityError) {
result = \"internal\";
}
}
catch (e:SecurityError) {
result = \"none\";
}
return result;
}
可以在此处找到受限网络API的列表
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。