为什么在科尔多瓦中面向Windows 8时会自动包含WInJS
Why is WInJS included automatically when targeting Windows 8 in Cordova?
我们正在开发一个使用AngularJS的应用程序,当我们面向Windows 8时,我注意到生成的Visual Studio项目包含WinJS作为参考。由于我们不使用 WinJS,我只是从项目中删除了引用。
然后我注意到删除 WinJS 会导致运行应用程序时控制台中的良性脚本加载错误。进一步的调查表明,cordova.js会自动检查WinJS,如果未包含,则尝试包含它(!)。以下是相关代码:
var onWinJSReady = function () {
var app = WinJS.Application;
var checkpointHandler = function checkpointHandler() {
cordova.fireDocumentEvent('pause',null,true);
};
var resumingHandler = function resumingHandler() {
cordova.fireDocumentEvent('resume',null,true);
};
app.addEventListener("checkpoint", checkpointHandler);
Windows.UI.WebUI.WebUIApplication.addEventListener("resuming", resumingHandler, false);
app.start();
};
if (!window.WinJS) {
var scriptElem = document.createElement("script");
if (navigator.appVersion.indexOf("Windows Phone 8.1;") !== -1) {
// windows phone 8.1 + Mobile IE 11
scriptElem.src = "//Microsoft.Phone.WinJS.2.1/js/base.js";
} else if (navigator.appVersion.indexOf("MSAppHost/2.0;") !== -1) {
// windows 8.1 + IE 11
scriptElem.src = "//Microsoft.WinJS.2.0/js/base.js";
} else {
// windows 8.0 + IE 10
scriptElem.src = "//Microsoft.WinJS.1.0/js/base.js";
}
scriptElem.addEventListener("load", onWinJSReady);
document.head.appendChild(scriptElem);
}
else {
onWinJSReady();
}
我想我的主要问题是,我应该"按原样"保留 WinJS 引用并让 Cordova 加载并初始化 WinJS?
它可能会与AngularJS发生冲突或以任何方式降低应用程序的性能吗?(我想var app = WinJS.Application
和app.start()
onWinJSReady
让我有点担心)。
由于该应用程序似乎在没有 WinJS 脚本文件的情况下运行良好,为什么 cordova 如此坚持.js尝试包含它?
cordova(以及一些cordova插件,特别是文件系统插件)使用WinJS的一些功能,例如Promise和Ajax调用。 我们最终分叉了科尔多瓦.js并剥离了所有 WinJS 的东西......使应用程序加载速度更快!
相关文章:
- Windows.Open 在 window.Location 工作时不起作用
- Windows 8应用程序正在运行,现在得到0x800a1391-JavaScript运行时错误:'WinJS&
- 如何在同一页面上使用windows.location.href将js值传递给php时停止刷新页面
- Windows 10 UWP HTML/Winjs应用程序从共享魅力启动时未接收到激活的事件
- Windows Phone 8,部署时不会应用对javascript的更改
- '观看EPERM'在Windows Azure网站中使用连接资产管理器时出错
- chrome.windows.onFocusChanged.addListener 在切换选项卡时不触发
- 使用标签页导航时Chrome Windows中的Angular ng-select错误
- 尝试使用 windows.location.href 时,$_POST[''] 的值将丢失
- JavaScript 运行时错误:无法在 Windows 8 应用中添加动态内容
- Windows Store Cordova App + WinJS:应用在启动时崩溃并出现 JavaScript 运行时
- 渲染 WebGL 时特定于 Windows 的问题.属性设置为零
- 使用Windows.load功能时IE滚动条出现问题
- 将对象从Javascript传递到基于C++/CX接口的C++/CX-Windows运行时组件
- Windows上的Chrome会在点击时触发d3.缩放行为
- jQuery Mobile Windows应用商店应用程序:JavaScript运行时错误:无法获取属性'ind
- chrome.windows.onFocusChanged.addListener在关闭chrome时启动,插件崩溃
- 只有在指定了Windows服务时,模型才会响应
- 当chrome最小化时,使windows任务栏上的chrome图标发光
- javascript:windows.location在单击第一个按钮时不起作用