如何判断何时ExternalInterface可用?我已经使用ExternalInterface注册了一些带有一些js回调的swf。我反复隐藏并显示swf,并且我已经了解到,当swf隐藏时ExternalInterface不可用。我还注意到,swfs构造函数每次再次显示时都会调用它,我已经使用它来确保在可用之前不会尝试调用ExternalInterface函数。这让我想知道,如果还有一些方法可以从swf内部可靠地告诉它隐藏的时间吗?我知道as3类没有析构函数,但在swf再次变得不可用之前,有没有类似的东西可以用来触发ExternalInterface事件? REMOVED_FROM_STAGE似乎没有帮助检测到它,因为它根本不会触发。如何判断隐藏和显示swf时ExternalInterface何时可用
我使用隐藏和显示顺便说一句的几种方法。有时使用angular的ng-hide/ng-show,有时swf位于引导模式窗口内。
另外,我注意到Flash Builder可以以某种方式告诉swf何时卸载。我可以添加一个在嵌入式<object>
上设置“display:none”的按钮,并在Flash Builder的控制台中获取[Unload SWF]消息。这只是调试播放器的一个功能,还是Flash Builder知道我还没有发现一些秘密事件?
嗯,很好的问题。作为一种解决方法,您可以在隐藏它之前手动将事件从JS发送到SWF。 – Cameron 2014-10-31 21:24:26
无论你在做什么,它似乎完全卸载瑞士法郎。所以并不是ExternalInterface不可用,而是swf没有运行/加载。你使用的是什么浏览器?你能设置一个小提琴吗? – BadFeelingAboutThis 2014-10-31 21:37:17
我在铬,我真的只是做flashPlayer.style.display ='无';并立即卸载瑞士法郎。 – 2014-11-01 00:01:50