У меня есть следующий код HTML и angular.js:
<span ng-if="club.club_brief != ''">
<a href="#" ng-click="openLink('{{club.club_brief}}')">Website</a>
</span>
В моем контроллере:
$scope.openLink = function(url) {
$window.open(url, '_system');
}
EDIT: прочитав несколько ответов, я также попробовал
$window.open(url, '_system');
но я получаю ту же проблему, что она по-прежнему загружает сайт в приложение, не пытаясь открыть браузер.
Я надеялся, что это будет препятствовать открытию ссылки в приложении phonegap, но это не так. Я хочу, чтобы он открывался в новом браузере (или предоставлял возможность браузера). Это для Android.
Я не уверен, что это будет работать напрямую. вам, вероятно, нужно вызвать услугу для этого через телефонную развязку.
Вы не можете использовать интерполяцию {{}}
внутри ng-click
, если вы это сделаете, тогда вы получите ошибку $parser
в консоли.
наценка
<span ng-if="club.club_brief != ''">
<a href="#" ng-click="openLink(club.club_brief)">Website</a>
</span>
Другие думают, что вы должны использовать _blank
при открытии вкладки из тега JavaScript.
$window.open(url, "_blank")
{{}}
он просто отображает club.club_brief
. Я также пробовал _blank
но получаю ту же проблему
club.club_brief
Вы пробовали использовать _blank. Возможно, ваша текущая вкладка - _система.
$scope.openLink = function(url) {
$window.open(url, '_blank');
}
Обходным путем может быть использование
<a href="{{club.club_brief}}" target="_blank">Website</a>
В качестве побочного элемента при использовании ng-click
вы можете просто написать
<a href="#" ng-click="openLink(club.club_brief)">Website</a>
Нет необходимости в {{ }}
или ''
.
ng-click
Попробуйте $window.open(url, '_blank');