flash – 安全性尝试从JS调用ActionScript函数时出错

我有一个小测试swf来测试从JavaScript调用ActionScript(3.0)函数.我使用Flash文档作为参考:
 ( http://www.adobe.ca/livedocs/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000340.html)
 当页面加载时,我出现了Flash Player错误

@H_301_10@

@H_301_10@

SecurityError: Error #2060: Security sandBox violation: ExternalInterface caller file: c:/externalinterface.swf cannot access file: c:\myhtml.html
at flash.external::ExternalInterface$/_initJS()
    at flash.external::ExternalInterface$/addCallback()
    at externalinterface_fla::MainTimeline/frame1()

这是ActionScript:@H_301_10@

@H_301_10@

import flash.external.ExternalInterface

function callMe(name:String):String{

    return "busy signal";

    }

    ExternalInterface.addCallback("myFunction",callMe);

和JS:@H_301_10@

@H_301_10@

<script type="text/javascript" language="javascript">
    function callSwf() {
        var callResult = flashObject.myFunction("Nick");
        alert(callResult);
    }   

</script>

最后是HTML对象:@H_301_10@

@H_301_10@

<object width="550" height="400">
<param name="movie" value="externalinterface.swf">
<embed src="externalinterface.swf" width="550" height="400">
</embed>
</object>

我们如何解决这个问题?@H_301_10@

解决方法

如果你测试在线或localhost,它应该工作,如果你有param allowscriptaccess =“true”像圆顶说. 如果您使用file:// protocol进行测试,则需要在闪存播放器安全选项中允许您的驱动器.

相关文章

Chrome 无法显示使用插件的内容 Chrome 不再支持很多插件。不过网站创建者已经通过更安全的方式,将多数...
Flash 开发环境搭建和文字滚动效果实例 一、Flash 开发环境搭建 Flash发布的时候可以将资源(即将库中的...
方法一: 1、选择合适的yum源http://get.adobe.com/cn/flashplayer/进入此网址选择 “YUM,适用于Linux...
在做web开发中可能会遇到flash遮挡页面中元素的情况,无论怎么设置flash容器和层的深度(z-index)也无济...
chrome 45以上不自动播放&quot;非必要&quot;flash的一种可能解决方案chrome 45以上flash被拦截...
透过现象看本质 首先是个转场特效问题。 其实我早想到做法了,只是当时还没实践。增加混合(BlendMode....