Как перезапустить приложение Cordova WP8?

1

У меня есть приложение WP8 Cordova, которое имеет одну страницу локально, а затем перенаправляет на сервер для дальнейшей функциональности. На обеих страницах есть API-интерфейс кордовы JS, и все работает хорошо.

Кроме того, когда я снова хочу вернуться на местную стартовую страницу. Любые привязки к нему (указывающие на x-wmapp0:www/index.html) не работают на стороне HTML.

Кроме того, любые трюки с плагинами и вызовы CordovaBrowser.Navigate() приводят к ошибкам UnauthorizedAccessException.

Резерв был для меня, чтобы попытаться вернуться в историю браузера следующим образом:

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

Но это ничего не делает, если я вообще провожу время на удаленных страницах. Так что это тоже не применимо!

Есть ли достойный способ попасть на стартовую страницу? С помощью С# или иным образом?

Теги:
cordova
windows-phone-8

1 ответ

0

Таким образом, материал UnauthorizedAccessException возник из проблем с потоками. (VS Express для WP иногда может скрыть детали исключения довольно хорошо.)

Это полный плагин, который выполняет перенаправление с опрятной элегантностью.

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!).

  • 0
    Как ни странно, этот подход имеет сходные характеристики замораживания, такие как метод history.go() . Что, черт возьми, IEMobile делает там между страницами ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню