2017-05-27 44 views
0

在我的應用程序中,我在中繼器中有一個指令,並且該指令顯示給用戶的URL。我無法在應用程序瀏覽器中觸發cordova打開URL

我的代碼如下:

var onDeviceReady; 

onDeviceReady = function() { 
    console.log("this was called"); 
    return window.open = cordova.InAppBrowser.open; 
}; 

document.addEventListener( 'deviceready',onDeviceReady,FALSE);

,並在HTML

<a href="#" on-click="window.open('{{data.url}}', '_blank', 'location=yes');">{{data.url}}</a> 

當我嘗試打開Android設備上的應用程序,控制檯消息被正確打印(這意味着該函數應該叫),但所有的網址是不是在開所有。

我的索引文件看起來像這樣(的情況下,是非常有用的):

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> 
    <meta http-equiv="Content-Security-Policy" 
      content="default-src * gap://ready file: data:; style-src 'self' 'unsafe-inline' *; font-src 'self' data: https://fonts.gstatic.com; script-src 'self' 'unsafe-inline' 'unsafe-eval' *"> 
    <title></title> 
    <link href="css/bower.css" rel="stylesheet" id="bower-css"> 
    <link href="css/style.css" rel="stylesheet" id="style-css"> 
</head> 

<body ng-app="myApp" ng-strict-di> 
    <ion-nav-view class="slide-left-right" animation="slide-left-right"></ion-nav-view> 

<script src="js/bower.js"></script> 
<script src="cordova.js"></script> 
<script src="js/app.js"></script> 
<script src="js/templates.js"></script> 
</body> 
</html> 

而且我現在已經安裝的插件如下:

科爾多瓦 - 插件 - inappbrowser 1.7.1「 InAppBrowser」

科爾多瓦 - 插件白名單1.3.2 「白名單」

回答

0

我終於設法讓它在最後工作。

基本上,我換成

ng-click="window.open('{{data.url}}', '_blank', 'location=yes');">

與功能:

ng-click="openRUL({{data.url}})"> 

然後函數如下:

$scope.openURL = function (url){ 
    window.open(url, '_blank', 'location=yes') 
} 

,它現在的工作完全正常。

1

問題是on-click

您可以使用HTML onclick,或角ng-clickon-tap,但on-click不存在

而且,你不需要爲onDeviceReady返回,但沒有按阻止它工作。

+0

返回只是因爲我使用coffeescript,我自動將其轉換爲js在這裏發佈。非常感謝,我會用ng-click代替它!不幸的是,再次感謝 – Nick

+0

,它仍然無法正常工作。 如果我使用onclick,瀏覽器會打開,但url不會從角度轉換爲html,如果我使用ng-click,瀏覽器根本不會打開。想法? – Nick

+0

您可以檢查Chrome中的鏈接(進行遠程調試),以查看在使用ng-click時是否轉換了url嗎?我假設角碼在bower.js中,對嗎? – jcesarmobile

相關問題