簡體   English   中英

如何重新啟動Cordova WP8應用程序?

[英]How to restart Cordova WP8 app?

我有一個WP8 Cordova應用程序,該應用程序在本地具有一頁,然后將其重定向到服務器以獲取更多功能。 這兩頁都提供了cordova JS API,並且一切正常。

除了我想再次轉到本地起始頁時。 它的任何錨點(指向x-wmapp0:www/index.html )在HTML端均不起作用。

另外,任何帶有CordovaBrowser.Navigate()插件和調用的技巧CordovaBrowser.Navigate()導致UnauthorizedAccessException錯誤。

回退是我嘗試回到瀏覽器歷史記錄中的方法,如下所示:

window.history.go(-window.history.length + 1);

但是,如果我根本不在遠程頁面上花費任何時間,那么這將無濟於事。 因此,這也不適用!

有沒有一種體面的方式可以到達起始頁? 在C#的幫助下?

因此, UnauthorizedAccessException東西來自線程問題。 (用於WP的VS Express有時可以很好地隱藏異常的細節。)

這是一個完整的插件,可以以最簡潔的方式執行重定向。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;

using WPCordovaClassLib.Cordova;
using WPCordovaClassLib.Cordova.Commands;

namespace Cordova.Extension.Commands
{
    public class Jumper : BaseCommand
    {
        /** Instruct the browser component to go to beginning. */
        public void goHome(string unused)
        {
            Deployment.Current.Dispatcher.BeginInvoke(() =>
            {
                var webview = WebViewHandler.getInstance().webView;
                webview.CordovaBrowser.Navigate(webview.StartPageUri);
            });
        }
    }
}

WebViewHandler是用於將Cordova WebView與插件共享的單例,這在另一個SO答案中有所說明(感謝@MikeBryant!)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM