javascript - Chrome 中的外部接口(interface)

标签 javascript actionscript-3 flash google-chrome externalinterface

我想通过ExternalInterface从as3代码本地调用js函数,而不是在远程服务器上。 所有浏览器都可以正常工作,但 Chrome 不行。 请注意,在 flash-debug 播放器版本(C:\Windows\system32\Macromed\Flash\NPSWF32_11_9_900_170.dll,版本 11,9,900,170)中,我已经在 Chrome 中安装了它。 但在默认的 Flash Player 版本(C:\Program Files\Google\Chrome\Application\33.0.1750.117\PepperFlash\pepflashplayer.dll,版本 12.0.0.70)中它不起作用。

PS:我也尝试打开我两年前开发的旧项目(使用ExternalInterface)->同样的问题。

IDE我用过-> FlashBuilder4.6,也在FlashDevelop中尝试过。 我正在使用 AC_OETags.js 以便将 swf 包含到网页中。

ExternalInterface.call("someFunc","testMsg") 在 swf 初始化时调用。

Chrome版本为33.0.1750.117 m

提前致谢。

最佳答案

这是 Chrome 中使用胡椒插件时出现的错误:https://code.google.com/p/chromium/issues/detail?id=137734

发生的情况是,未考虑受信任位置(此处设置: https://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html ),因此任何 Flash <-> JS 交互都会被破坏。

这个 bug 看起来并没有得到修复(从今天对该问题的评论来看,它很可能会被标记为“无法修复”),所以目前有 3 种方法它:

  • 使用其他浏览器 - 不太理想
  • 使用 NPAPI 插件 -pepper 插件是默认插件,但它主要是一种“设置一次就忘记”的任务
  • 运行本地网络服务器 - 类似于 apache ( http://www.easyphp.org/ ) 或 Node ( http://nodejs.org/ )。这是 Google 处理此问题的首选方法,因为它更接近地模仿网络行为(包括安全内容)

关于javascript - Chrome 中的外部接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22151667/

相关文章:

javascript - jQuery 树形图插件

javascript - 如何在 Scriptaculous 中创建可嵌套的可拖动对象?

像 actionscript 的 normalize(1) 一样工作的 Javascript 函数

actionscript-3 - Flex弹出窗口: Stack Overflow?

javascript - 如何在函数调用期间实现可选括号? (函数重载)

javascript - 在浏览器中加载浮点图像并将其用作 WebGL 中的纹理

actionscript-3 - AS3向 Sprite 添加子元素会影响 Sprite 尺寸......很奇怪

apache-flex - 用数组填充(... rest)参数?

javascript - 如何在点击事件中使用嵌入代码替换 OWL 轮播图像

flash - 气闪比较芯