我有一个WinJS项目,我收到了来自我的网络服务的通知。在我的web服务中,我的XML就像:
string type = "Computer";
string toast1 = "<?xml version=\"1.0\" encoding=\"utf-8\"?> ";
string message = "{\"Message\":{\"Id\":\"6724d22a-87fe-4137-b501-9d9a9a0558b1\",\"DetailId\":\"dc02e784-7832-4625-a538-29be7f885ccb\",\"Description\":\" Message\",\"UserName\":null,\"ActionDateTime\":\"2015-09-15T15:36:14+05:45\",\"CalamityId\":\"c0fa848e-ee6c-4b91-8391-a12058f25387\",\"UseConferenceCalls\":true,\"IsActionCompleted\":false},\"Type\":\"COmp\"}";
string toast2 = string.Format(@"<toast launch= '{0}'>
<visual version='1'>
<binding template='ToastText04'>
<text id='1'>{1}</text>
<text id='2'>{2}</text>
</binding>
</visual>
</toast>", message, "Alert", type);
string xml = toast1 + toast2;
当用户点击祝酒词时,我想导航到特定的html页面,其中有用的json作为参数。请告诉我一些方法。
目前我已经实现了以下功能来处理我的toasts.This仅在应用程序处于活动状态时运行,即在前台或后台运行。但是当应用程序完全关闭时,此功能将无法满足我的要求。
WinJS.Application.addEventListener("activated", onActivatedHandler, true);
function onActivatedHandler(args) {
if (args.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) {
var messageDetails = (args.detail.arguments).replace(/\\/g, '');
PhonegapService.setNotificationMessage(messageDetails, function () {
window.location.href = "page3.html";
});
}
}
答案 0 :(得分:0)
我正面临着类似的issue。在我的情况下,我甚至在cordova deviceready
被解雇之前就调用了函数。从你的问题不确定你的是否是一个cordova应用程序,但确保加载所有必需的JavaScript文件。文档准备好后,您可以执行逻辑。我假设您正在使用jquery。
function onActivatedHandler(args) {
if (args.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) {
$(document).ready(function(){
var messageDetails = (args.detail.arguments).replace(/\\/g, '');
PhonegapService.setNotificationMessage(messageDetails, function () {
window.location.href = "page3.html";
});
});
}
}