2014-01-02 1 views
0

Я пытаюсь открыть клиентскую часть приложения, и я разработал все это приложение, используя только angularjs в качестве переднего конца. Похоже, что это захват маршрутизации и отказ от этого.Невозможно перенаправить URL-адрес с другим протоколом с angularjs

В старом JavaScript я использовал, чтобы быть в состоянии сделать

var wnd = window.open("dynamicsnav://arbitraryLinkDetails", "_blank"); 
wnd.close(); // this opens the protocol to start the application client 
      // side and closes the extra browser window 

открыть на стороне клиента приложения Nav и подробности о том, что открыть вместо arbitraryLinkDetails.

Теперь, когда я делаю это внутри моего углового приложения он присоединяет локальный к URL (на самом деле это домен базы он придает) как этот

"http://localhost/"dynamicsnav://arbitraryLinkDetails"" 

, который не работает.

Вещи я пытался

  1. добавлением «//» в URL, чтобы вырваться из angularjs маршрутизации, это сбруя на% 22 в начале и удалена: для протокола, как «% 22dynamicsnav // arbitraryLinkDetails»
  2. Я попытался модифицировать маршрутизацию так

    var redirectFunction(){ 
        return theUrl; //this gets the full url of dynamicsnav://arbitraryLinkDetails 
    } 
    $routeProvider 
        .when('/NavUrl', {redirectTo: redirectFunction}) 
    

    и что снова прилагаемую базовый URL для него.

Это требование для моего текущего проекта, и я просто не могу найти способ открыть его, как раньше с угловыми.

Я проверил URL-адрес, который я тестирую с работой в другом приложении, не использующим угловые. Спасибо за любую помощь!

ответ

0

Служба AngularJS $ routeProvider управлять маршрутами, что глубокие контроллеры ссылку с видом, которым это не ваш случай, то почему бы вам не попробовать это:

var redirectFunction(){ 
    window.open("dynamicsnav://arbitraryLinkDetails", "_blank"); 
} 
$routeProvider 
    .when('/NavUrl', {redirectTo: redirectFunction}) 
+0

Ok так что это работает! Единственная досадная часть - это то, что она изменяет маршрут на «/ NavUrl», это изменяет контроллер и просмотр, который был загружен, и страница теперь пуста. Есть ли способ избежать этого? – kevindstanley

Смежные вопросы