在安卓上试了一下,如果直接window.open(url), 在app中点击外部链接没有任何反应。
安装https://github.com/apache/cordova-plugin-inappbrowser
执行命令:
ionic plugin add cordova-plugin-inappbrowser
简而言之,就是用window.cordova.InAppBrowser.open替换window.open
步骤:
1. 在应用程序启动的时候判断window.cordova是否存在如果是重写window.open方法
2. 用ng-click="openLink(story.url)" 替换先前的href
3. 在$scope中定义openLink方法。
4. 连上手机, 运行ionic run android测试
文件一: www/index.html
<div class="list"> <a ng-click="openLink(story.url)" class="item item-thumbnail-left item-text-wrap" ng-repeat="story in stories track by story.id"> <img ng-src="{{story.thumbnail}}" ng-if="story.thumbnail.startsWith('http')"/> <h2>{{story.title}}</h2> <p> <span am-time-ago="story.created_utc" am-preprocess="unix"></span> - {{story.domain}} </p> </a> </div>
文件二: www/js/app.js
(function () { var app = angular.module('myreddit', ['ionic', 'angularMoment']); app.controller('RedditCtrl', function ($http, $scope) { $scope.stories = []; function loadStories(params, callback) { 。。。 } $scope.loadOlderStories = function () {。。。 } $scope.loadNewerStories = function () {。。。 } $scope.openLink = function (url) { window.open(url, '_blank'); } }); app.run(function ($ionicPlatform) { $ionicPlatform.ready(function () { 。。。 if (window.cordova && window.cordova.InAppBrowser) { window.open = window.cordova.InAppBrowser.open; } 。。。 }); }) })();
相关推荐
在移动应用开发领域,Ionic框架以其强大的功能和跨平台兼容性,成为了许多开发者的选择。而Sublime Text作为一款广受欢迎的代码编辑器,拥有丰富的插件生态系统,使得开发过程更加高效。当我们结合两者,通过"ionic-...
总结来说,这个知识点涉及到如何在Cordova应用中使用inappbrowser插件来提供内部浏览器功能,以及如何通过编程方式控制内部浏览器窗口的展示和行为。这是开发混合移动应用时一个非常实用的技能,能够帮助开发者创建...
- **运行应用**:通过 `ionic serve` 命令可以在浏览器中预览应用,而 `ionic run android` 或 `ionic run ios` 可以在模拟器或真机上运行。 ##### 第二课:剖析Ionic2项目结构 - **项目文件夹**:了解项目的文件夹...
这个插件允许用户在应用中方便地选择小时和分钟,提高了用户体验,特别是对于那些需要用户输入特定时间的应用场景,如预订、提醒或日程管理等。 在技术层面上,这个插件的核心是Angular的指令系统。Angular指令允许...
**在Ionic 3中使用自定义Cordova插件:** 1. **安装插件**:通过`cordova plugin add <your-plugin-path>`命令将本地的插件添加到`Ionic 3`项目中,或者如果是从npm获取的,使用`npm install --save ...
在 Ionic 应用中,通常我们会使用Cordova插件来访问设备的功能,如摄像头、GPS或者蓝牙等。然而,有时我们需要实现特定的业务逻辑或功能,这些可能在现有的Cordova插件中并未涵盖,这时就需要创建自定义插件。 创建...
本文将深入探讨"ionic时间日期插件",以及如何在实际项目中使用它。 首先,"ionic时间日期插件"主要解决的是在Ionic应用中添加日期和时间选择器的问题。这些选择器通常以交互性好、用户体验佳的方式呈现,让用户...
这些参数将在后续的支付调用中使用。 3. **集成支付宝SDK**: 由于`com.yoopoon.cordova.plugin.alipay`插件已经包含了支付宝的SDK,因此你无需手动导入。但是,你需要在你的 Ionic 应用中配置相应的环境,确保...
总的来说,这个"Ionic消息提示插件"是提高Ionic应用用户体验的重要工具,通过Angular服务的便利性,简化了在应用中添加各种类型提示的过程。开发者可以轻松集成并根据需求进行定制,以创建更互动、更具反馈感的移动...
- 使用`cordova plugin add .`命令在本地测试插件,或者将插件发布到npm仓库,然后在项目中使用`cordova plugin add your-plugin-id`来安装。 - 在处理jar包时,确保库与你的Android API兼容。有些库可能需要特定的...
这个特定的“ionic热更新插件”已在多个项目中得到实际应用,并未出现任何已知的bug,这意味着它在稳定性和兼容性方面表现良好。它主要功能可能包括: 1. **自动检测更新**:插件会定期检查服务器是否有新的更新包...
在本文中,我们将深入探讨如何在Ionic应用中调用Cordova插件,特别是涉及Android服务的实例。首先,让我们理解一下关键概念。 **Cordova** 是一个开源框架,允许开发者使用Web技术(如HTML、CSS和JavaScript)构建...
在移动应用开发中,框架如Ionic提供了一种高效的方式来构建跨平台的应用程序,结合Angular的强大力量,...开发者可以通过集成这个插件,快速地在他们的Ionic应用中添加日期和时间选择功能,提高应用的可用性和交互性。
在安装 ngCordova 之后,可以在项目中使用 ngCordova 提供的功能。 创建一个 Ionic 1 项目,并添加 Android 平台,需要安装 Node.js、Cordova 和 Ionic,使用 Ionic 创建项目,添加 Android 平台,并安装 ngCordova...
5. 在 Ionic 应用中使用插件:在你的组件或服务中引入 `myplugin.js`,然后调用 `myplugin.print` 方法。 ```typescript import { Component } from '@angular/core'; import { Platform } from '@ionic/angular'; ...
接下来,我们来看如何在表单中使用`ionic-datepicker`。在你的HTML模板文件中,你可以像下面这样创建一个日期选择器: ```html 选择日期 [(ngModel)]="selectedDate"> <ionic-datepicker [(ngModel)]=...
标题中的“ionic应用-tab应用+返回键监听”指的是使用Ionic框架构建的一款应用,该应用采用了Tab导航模式,并且集成了返回键监听功能。Ionic是一款基于AngularJS和Apache Cordova的移动应用开发框架,它允许开发者...
在移动应用开发中,特别是在使用Ionic框架构建混合应用程序时,集成微信支付功能对于吸引中国市场的用户至关重要。"Ionic微信支付插件"是一个专门为 Ionic 应用程序设计的扩展,允许开发者在他们的应用内实现微信...
在这个"ionic应用实用模板"中,我们看到它是从基础的ionic tabs模板演变而来的,更贴近实际业务场景。 ### 1. Ionic框架核心概念 - **AngularJS**: AngularJS是Google维护的一个前端MVC框架,用于构建动态Web应用...
- **ECMAScript 6 (ES6)**:ES6是JavaScript语言的一次重要更新,它引入了许多新特性,如箭头函数、类和模块等,这些特性在Ionic2中得到广泛应用。 ### 页面、组件、指令和管道: - **页面(Page)**:在Ionic2中,...