本地通知插件仅在 index.html 中有效 - 无法读取未定义的属性“通知”
Posted
技术标签:
【中文标题】本地通知插件仅在 index.html 中有效 - 无法读取未定义的属性“通知”【英文标题】:local notification plugin does only work in index.html - Cannot read property 'notification' of undefined 【发布时间】:2014-05-23 10:02:20 【问题描述】:您好,我正在开发一个 cordova 应用程序 (Cordova 3.4.0) 并希望显示通知。我安装了本地通知插件,如下所述:https://github.com/katzer/cordova-plugin-local-notifications。以某种方式显示通知仅在 index.html 文件中起作用。见这里:
<html>
<head>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/lib/jquery-1.11.0.js"></script>
<script type="text/javascript" src="js/lib/jquery.mobile-1.4.2.js">
<script type="text/javascript">
$(document).ready(function()
document.addEventListener("deviceready", function()
// window.plugin.notification.local.add( message: 'Great app!' ); // Works
location = "nextPage.html";
, false);
)
</script>
</head>
</html>
但是在调用 location = "nextPage.html"; 之后另一页上完全相同的代码将不再起作用。我收到此错误:
错误:无法读取未定义的属性“通知”。
任何想法为什么 window.plugin 未定义?我的 nextPage.html 看起来与上面的 html 完全相同,只是我注释掉了 - location = "nextPage.html"; - 并评论 - window.plugin.notification.local.add( message: 'Great app!' ); - 。它们在同一个文件夹中,我确实实现了 cordova、jquery 和 jquery mobile。
我的 config.xml 中有这个条目:
<feature name="LocalNotification">
<param name="android-package" value="de.appplant.cordova.plugin.localnotification.LocalNotification" />
</feature>
关于我做错了什么有什么想法吗?提前致谢。如果您需要更多信息,请告诉我。
【问题讨论】:
【参考方案1】:这是因为没有加载您需要的所有库 JS。 我有一个应用程序,它在打开它时使用插件通知并且也是异步的,但是一个奇怪的 razon 插件通知没有加载。 我解决了修改加载JS的顺序。
修改加载库的方式和位置。 希望对您有所帮助。
【讨论】:
以上是关于本地通知插件仅在 index.html 中有效 - 无法读取未定义的属性“通知”的主要内容,如果未能解决你的问题,请参考以下文章
Cordova,onResume() 仅在我包含 alert() 时才有效