【问题标题】:Link not opening in system browser in ionic链接未在离子的系统浏览器中打开
【发布时间】:2017-08-21 20:37:47
【问题描述】:

我正在制作一个离子应用程序并尝试使用cordova.InAppBrowser 在应用程序中打开一个链接,但是当我点击它时出现此错误

Application Error
net::ERR_FILE_NOT_FOUND (file:///android_assets/www/(item.url))

我的代码

 <div ng-repeat="item in object.torrents" class="button-bar bar-dark" >
  <a onclick="window.open('(item.url)', '_system' );" class="button">Open</a>

</div>

【问题讨论】:

  • 那里的(item.url) 是什么?
  • 我正在从 json 中获取 url
  • 你确定 item.url 给出了正确的 url,因为在错误消息中似乎 url 无效
  • 是的,它提供了正确的 url 看看这个 plunk plnkr.co/edit/EbdFRHuVMCQY0SV7fqZS?p=preview

标签: angularjs cordova ionic-framework cordova-plugins


【解决方案1】:
Html Code 
<a ng-click = openUrl(item.url); class="button">button</a>

js Code

$scope.openUrl = function(url) {
    //alert(url);
    window.open(url, '_blank', 'location=no');
  }

【讨论】:

    【解决方案2】:

    使用ng-click 而不是onclick

    【讨论】:

      【解决方案3】:

      您没有使用角度语法进行对象属性检索。

      试试这个。

      <div ng-repeat="item in object.torrents" class="button-bar bar-dark" >
        <a onclick="cordova.InAppBrowser.open('{{item.url}}', '_system');" class="button">Open</a>
      
      </div>
      

      【讨论】:

      • 准备好了吗?在js文件中
      • 是的,只要确保调用了设备就绪事件即可。 github.com/apache/cordova-plugin-inappbrowser#installation
      • 我没有在js中包含任何关于inappbrowser的代码
      • 您不必包含任何代码,只需在调用设备插件之前确保设备已为设备插件做好准备。
      • .run(function($ionicPlatform) { $ionicPlatform.ready(function() { if(window.cordova && window.cordova.plugins.Keyboard) { cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true ); cordova.plugins.Keyboard.disableScroll(true); } if(window.StatusBar) { StatusBar.styleDefault(); } }); })
      猜你喜欢
      • 1970-01-01
      • 2014-02-19
      • 1970-01-01
      • 1970-01-01
      • 2017-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-21
      相关资源
      最近更新 更多