调用 flash externalInterface 回调时出现 SCRIPT 16389 错误

Posted

技术标签:

【中文标题】调用 flash externalInterface 回调时出现 SCRIPT 16389 错误【英文标题】:SCRIPT 16389 error occur when calling flash externalInterface callback 【发布时间】:2019-12-07 07:52:12 【问题描述】:

我正在使用 SWFObject.js 制作网页的录制功能。单击开始录制按钮和停止录制按钮时,将分别调用startRecording()stopRecording() 函数。

当我的 javascript 尝试调用 ExternalInterface 回调 record()stop() 时,IE 浏览器会抛出 SCRIPT 16389 错误。在其他浏览器中,ExternalInterface 回调可以正常工作。

function startRecording() 
    var myFlashMovie = document.getElementById("ie_video_recorder");
    myFlashMovie.connect();
    myFlashMovie.record();


function stopRecording() 
    var myFlashMovie = document.getElementById("ie_video_recorder");
    myFlashMovie.stop();
    recordButton.disabled=true;

有没有人遇到过同样的问题并且知道如何解决?

【问题讨论】:

显示id为ie_video_recorder的元素的代码。使用edit 按钮添加。 【参考方案1】:

您使用的是哪个版本的 SWFObject 版本?请注意,从 2015 年开始,SWFObject 不再处于积极开发中。根据SWFObject Github document,我已尝试创建示例,但未成功,您能否发布足够的代码来重现Minimal, Complete, and Verifiable example 中的问题。

另外,根据这个thread,可能问题与缓存有关,我建议您可以尝试清除浏览器缓存和历史记录,然后重新测试您的代码。

【讨论】:

感谢您的回答。我使用的是 2.2 版本,在与同事进行了一些测试后,我们认为代码尝试连接的服务器可能是导致错误的原因,但需要一些时间来检查。

以上是关于调用 flash externalInterface 回调时出现 SCRIPT 16389 错误的主要内容,如果未能解决你的问题,请参考以下文章

IE9 Beta 中是不是可以使用 Flash ExternalInterface?

使用 jquery 的 AS3 ExternalInterface 调用

在 Google Chrome 中访问 ExternalInterface 公开方法时出现问题

Flash AS2.0 与 JavaScript/jQuery (ExternalInterface) 通信

AS3 Flash - 通过 ExternalInterface 渲染 html

从Flash调用JS函数