我尝试在 Windows Phone 上使用“Phongap Developer 应用程序”运行我的 Phonegap 应用程序,但它抛出了奇怪的 JavaScript 错误,如下所示:
Object doesn't supprt property or method "defineProperty"
Object.defineProperty(Detail, "name", {
get: function () { return this._name; },
set: function (value) { this._name = value; },
enumerable: true,
configurable: true
});
但是当我使用 Windowsphone 8.1 中的普通浏览器打开 html 页面时,一切都很完美。 有人解释一下这个问题吗?
这是index.html的标记:
<html>
<head>
<script src="Libs/jquery/jquery.js"></script>
<script src="Libs/angular/angular.js"></script>
<script src="Libs/angular-ui-router/angular-ui-router.js"></script>
<script src="Libs/semantic-ui/semantic.js"></script>
<script src="complete.js"></script>
<link rel="stylesheet" href="Libs/semantic-ui/semantic.css" />
<link rel="stylesheet" href="Styles/complete.css" />
</head>
<body ng-app="app">
<ui-view></ui-view>
</body>
</html>
最佳答案
听起来您的文档被扔进了早期的文档模式,这剥夺了浏览器的现代功能,例如Object.defineProperty
。您可以通过记录 document.documentMode
的输出来检查文档模式。
如果您处于较低的文档模式或 Quirks 模式,您应该考虑查看您的标记是否有任何无效 HTML 或缺少文档类型的迹象。一般来说,您应该使用以下文档类型开始文档:
<!DOCTYPE html>
从那时起,只要您有有效的标记,您的文档就会以标准模式加载。
关于javascript - Phonegap 开发者应用程序 javascript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30403864/