2017-08-21 2 views
0

Ich entwickle eine hybride mobile Anwendung mit cordova. Wenn ich auf eine Schaltfläche klicke, muss ich eine URL auf der Website öffnen. Zu diesem Zweck verwende ich window.open, die im Browser gut funktioniert, aber nicht in der mobilen Anwendung funktioniert, auch nach dem Hinzufügen des -Plugins.cordova-window.open() funktioniert nicht auch nach dem Hinzufügen inappbrowser pugin

Im Folgenden werde ich den Code zur Verfügung stellen mir läuft:

<button type="submit" class="btn btn-primary btn-sm" id="myButton">Get Free Trial</button>` 
document.getElementById("myButton").onclick = function() { 
     window.open("https://indirect-tax.com",'_system'); 
}; 
document.addEventListener("deviceready", onDeviceReady, false); 
function onDeviceReady() { 
    window.open = cordova.InAppBrowser.open; 
} 
+0

was macht es? Hast du einen Fehler bei dem einen oder anderen Schritt? – Kaddath

+0

Ich habe keinen Fehler ... im Mobilgerät, wenn ich auf den Knopf klicke, bringt es mich nicht zur URL. Klicken Sie auf die Schaltfläche reagiert nicht @Kaddath –

+0

verwenden Sie eine Software zum Debuggen Ihrer App? Wenn es einen Fehler gibt, sollte es in den Protokollen sein, Sie können versuchen, mehrere 'console.log();' hinzuzufügen, um sicherzustellen, dass einige Teile des Codes gut laufen. (zum Beispiel, in meinem Fall, ich starte die apk von Eclipse, wo ich die Protokolle sehen kann, aber es kann android Studio sein .. etc) – Kaddath

Antwort

0

unserer Richtlinie Lösung a Tags global umleiten, haben wir gleiche Plugin als du, ohne window.open neu zu definieren. Sie können es ändern, um Ihnen Regeln hinzuzufügen, diese Version leitet nur Verbindungen mit href um, die mit "http" beginnen, und wertet auch den Code aus, der schließlich in ngClick-Attribute gelegt würde (Sie sollten das für die Sicherheit entfernen, es war eine Testversion).

angular 
    .module('yourModule') 
    .directive('a', function() { 
     return { 
      restrict: 'E', 
      link: function (scope, element, attrs) { 
       if (!attrs.href){ 
       return; 
       } 
       var url = attrs.href; 
       if (url.lastIndexOf('http',0) === 0){ 
       element.on('click',function(e){ 
        e.preventDefault(); 
        if(attrs.ngClick){ 
         scope.$eval(attrs.ngClick); 
        } 
        window.open(encodeURI(url), '_system'); 
       }); 
       }; 
      } 
     }; 
    }); 
Verwandte Themen