使用 Cordova 尝试加载 Flash 的 Win 10 通用应用程序

Posted

技术标签:

【中文标题】使用 Cordova 尝试加载 Flash 的 Win 10 通用应用程序【英文标题】:Win 10 Universal App with Cordova trying to load flash 【发布时间】:2016-06-20 20:05:10 【问题描述】:

我正在使用 Visual Studio 2015 和 Apache Cordova 工具构建跨平台 Cordova 应用程序。因此,我使用的是 Tools for Apache Cordova 中的 Blank Cordova App(带有 TypeScript)。 一切似乎都正常,除了在 Windows 10 上运行应用程序时 javascript 控制台出现奇怪错误:

APPHOST9603:“无法加载类 ID 为“D27CDB6E-AE6D-11CF-96B8-444553540000”的 ActiveX 插件。应用无法加载 ActiveX 控件。”

这有点奇怪,因为我没有取消任何 ActiveX 插件。至少在不知情的情况下......该错误也仅在 Windows 上运行应用程序时可见。

谷歌搜索 UID 给我带来了 here:这是 Shockwave Flash 的某种配置,我也没有使用。

可以通过使用模板创建新项目、将 config.xml 中所需的 Windows 平台更改为 Windows 10 并在本地 Windows 10 PC 上开始调试来重现错误。

您对如何解决此错误有任何想法吗?这可能是一个错误吗?

编辑:同样的问题here。

编辑:这里是最初创建的 index.html

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta charset="utf-8" />
    <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
    <title>BlankCordovaApp1</title>

    <link href="css/index.css" rel="stylesheet" />
</head>
<body>
    <div class="app">
        <p id="deviceready" class="event">Connecting to Device</p>
    </div>

    <script src="cordova.js"></script>
    <script src="scripts/platformOverrides.js"></script>
    <script src="scripts/appBundle.js"></script>
</body>
</html>

【问题讨论】:

Chrome浏览器打不开ssl.gstatic.com这个网站正常吗?这可能是因为我现在在专用网络中吗? 我猜这很正常,根据documentation 的说法,参考只是为了使android TalkBack 功能正常工作。 我无法使用您提供的步骤重现该问题。如果你创建一个没有打字稿的项目会发生什么?您是否为 apache Cordova 7 安装了最新更新的 vs 工具?更新安装可能会帮助我们修复工具并修复一些已知问题。 如果你这边新建一个空白项目还是有问题,你可以把项目发给你的朋友或者分享给我。我可以检查项目中是否嵌入了一些意想不到的东西。 【参考方案1】:

MSDN 说 (https://msdn.microsoft.com/en-us/library/windows/apps/jj860457.aspx):

使用 JavaScript 的 Windows 运行时应用不支持自定义 Microsoft ActiveX 控件。如果需要 UI 控件,请使用 HTML 控件、 用于 JavaScript 控件的 Windows 库,或创建您自己的自定义 WinJS 控件。如果需要执行自定义逻辑,请创建自定义 改为 Windows 运行时对象。

您的框架中似乎使用了插件 ActiveX。如果您正在引用网页并且该网页正在使用冲击波闪光,则可能会导致问题。根据 MSDN,在 Windows 中无法显示包含 ActiveX 插件的页面。由于您没有提供代码,因此我无法准确说明原因,但这是我的最佳猜测。

【讨论】:

感谢您的评论。在我的编辑中,我试图指出这似乎不是代码问题,您无需编写一行代码即可重现该错误。除了最初的 index.html 之外,我没有引用任何网页,我将把它添加到我的原始问题中【参考方案2】:

简单的回答:你不能在那种环境中使用 Flash 播放器。

原因:您不能使用 Windows 应用商店应用程序中的 ActiveX 组件。

【讨论】:

以上是关于使用 Cordova 尝试加载 Flash 的 Win 10 通用应用程序的主要内容,如果未能解决你的问题,请参考以下文章

使用 Cordova 加载远程 index.html

Cordova 插件无法加载

修改 Cordova 插件加载行为以加快加载时间

Cordova 无法加载 platformapi

在页面中加载 gif:未能加载资源 Cordova

Visual Studio Cordova 加载预填充的数据库