使用参数点击Toast(WinJS)时导航到特定的html页面

时间:2015-09-16 09:10:07

标签: javascript windows windows-phone-8 windows-phone-8.1 winjs

我有一个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";
        });
    }
}

1 个答案:

答案 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";
    });
});
}

}