我一直致力于使用来自服务器的JSON数据的应用。在这个JSON数据中,有一个由HTML组成的对象,其中通常包含一个URL。我还有一个对象,它只是一个URL,我加载到一个按钮,点击时应该打开URL。但问题是,当我单击Ionic View应用程序中的URL时,URL将在应用程序内部打开。但是,当我点击Android上的独立版本中的URL时,这些URL都不起作用。我试图完成的是这些URL在单击时在系统浏览器中打开。但我似乎无法找出为什么这不起作用
我的index.html中有Cordova脚本,还有从Cordova安装的InAppBrowser插件。
这是按钮:
<a class="button button-full button-assertive" ng-model="button" ng-click="openUrl({{vacature.url}})"> Sollicitatielink </a>
这是我的controllers.js中的函数:
$scope.openUrl = function(url) {
window.open(url, '_system', 'location=yes');
};
这是JSON数据中的HTML:
<a href="url_here" target="_blank">via our website.</a>
我想知道你们是否可以帮助我解释为什么这不起作用。可能是我没有正确实现插件,如果是这样,我怎么能这样做呢?
提前致谢!
答案 0 :(得分:0)
这就是我实现插件并为我工作的方式:
<button class="button button-block button-stable" ng-click="openInBrowser('https://www.google.com')">
GOOGLE
</button>
然后在JS
myApp.controller('NameCtrl', ['$scope', '$ionicPlatform', '$cordovaInAppBrowser', function($scope, $ionicPlatform, $cordovaInAppBrowser){
$scope.openInBrowser = function(extUrl){
$ionicPlatform.ready(function() {
var options = {
location: 'yes',
clearcache: 'yes',
toolbar: 'yes'
};
$cordovaInAppBrowser.open(extUrl, '_system', options)
.then(function(event) {
// success
})
.catch(function(event) {
// error
});
}); // $ionicPlatform.ready
};//--------------------------------------
}]);
答案 1 :(得分:0)
我弄清楚为什么点击按钮后我的网址没有打开。这是我现在用来正常工作的代码。
这是按钮:
<button class="button button-full button-assertive" ng-click="openUrl('{{vacature.url}}')"> Sollicitatielink </button>
这是功能:
$scope.openUrl = function(extUrl) {
window.open(extUrl, '_system');
};
修改强>
由于此代码,JSON HTML数据中的URL现在正在运行:
<a href="url_here" target="_blank">via our website.</a>
现在改为:
<a href="" onclick="window.open('url_here', '_system')">via our website.</a>
现在Ionic应用程序中的所有href都工作了!