2015-05-21 7 views
1

Я разрабатываю гибридное приложение для Android и WP8 с использованием Ionic. Он отлично работает на Android платформе, но когда я недавно использовал это на WP8, его показывает мнеWindows Phone 8 Ionic app navigation issue (Hybrid Application)

«Вам нужно установить приложение для выполнения этой задачи. Вы хотите искать для одного на магазин?»

Когда я нажимаю на некоторые ссылки (ссылки на внутренние приложения). Пожалуйста, кто-нибудь скажет мне, почему это происходит. Заранее спасибо.

enter image description here

ответ

4

Проблему В Windows Phone Благодаря мса-appx проблема IE:

При использовании нг-HREF и динамических URL, в вашем приложении на Windows Phone, для пример:

<a ng-href="#/view/"> click here </a> 

Вы заметите, что когда вы нажимаете на URL-адрес, y ou получите сообщение «Искать приложение в appstore?». Вы получаете это сообщение, потому что AngularJS не может обрабатывать префикс, который добавляет IE Windows Phone. Вы можете легко разрешить это, добавив HTML5 к своему приложению.

.config([ 
     '$compileProvider', 
     function ($compileProvider) 
     $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|file|ghttps?|ms-appx|x-wmapp0):/); 
     // Angular before v1.2 uses $compileProvider.urlSanitizationWhitelist(...) 
     } 
    ]) 

И если местные & динамические изображения не отображаются в приложении добавьте следующий же как ваши app.js

$compileProvider.imgSrcSanitizationWhitelist(/^\s*(https?|ftp|file|blob|content|ghttps?|ms-appx|x-wmapp0):|img\//); 

Для более подробной информации, чтобы проверить здесь link1, link2, link3 и link4.

0

Установите cordova-plugin-inappbrowser

+0

У меня есть этот плагин, но у меня такая же проблема, а также возникла другая проблема, например, прокрутка и повторение коллекции не работают, вместо этого я использую директиву ng-repeat для отображения списка в ионном приложении. –

0

В связи с этим проводки What is x-wmapp2 and x-wmapp1? она также может быть diserable иметь что-то вроде этого:

$compileProvider.aHrefSanitizationWhitelist(/^\s*(g?https?|ftp|mailto|tel|file|local|ms-appx|x-wmapp\d+):/); 

Вместо того, чтобы только x-wmapp0 я использую в моей регулярное выражение x-wmapp\d+.