使用 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 通用应用程序的主要内容,如果未能解决你的问题,请参考以下文章