我的JavaScript中未定义Flash对象功能

时间:2013-05-23 10:04:50

标签: javascript function actionscript undefined externalinterface

我有一个asp.net网站,我在其中嵌入了flash对象。 Flash对象具有通过ExternalInterface注册的一些功能,因此应该可以从JavaScript访问它。他们是,但只有当我在网站完全加载时调用它并触发一些事件(点击等) 但是当我尝试从脚本块访问任何此函数时,我有一个错误,我称之为一个底层函数。

这个脚本放在文档的末尾,此时flashGame对象没有找到,但是他的函数是未定义的。

<script type="text/javascript">
            var flashObj = document.getElementById("flashGame");
            // AdLoaded is underfined at this moment. 
            flashObj.AdLoaded();
            // Also tried this, no luck
            $(document).ready(function () {
                flashObj.AdLoaded();
            });  
</script>

AdLoadedis在两种情况下均未定义。 附: 如果我在脚本的开头放置一个断点,那么一切正常,函数AdLoaded()没有欠定义。 我想念的是什么? 预先感谢。

1 个答案:

答案 0 :(得分:1)

你有一个ready块,但该元素尚未出现在正文中,因此getElementById可能会返回null,

尝试:

$(document).ready(function () {
    var flashObj = document.getElementById("flashGame");  
    flashObj.AdLoaded();
});  

请注意,该文档.ready并不表示闪存已完成加载,只是说DOM已准备就绪,因此您可能不得不这样做:

$(window).on("load",function () {
    var flashObj = document.getElementById("flashGame");
    flashObj.AdLoaded();
});