美文网首页
【转】ionic调用外部网页

【转】ionic调用外部网页

作者: 紫荆逸 | 来源:发表于2017-03-27 21:12 被阅读463次

ionic调用外部网页示例

Ionic是单页应用,有时候需要处理外网页面,可以使用iframe标签

特别说明:

1.目前来说如果iframe中的页面都是当前窗口的话建议使用

2.如果iframe中页面的链接有target='_blank'的就会跳出当前页面,目前没找到好的解决方案,

但是可以使用Cordova插件cordova-plugin-inappbrowser或者cordova-plugin-themeablebrowser 指定独立窗口实例打开。

常遇到问题:

无法访问外部url的问题–两个步骤解决:

1.iframe的src属性用ng-src属性替代,并指明绑定对象:ng-src="{{targetUrl}}"

2.在controller里,调用$sce: $scope.targetUrl = $sce.trustAsResourceUrl(url)

高度无法最大化的问题–两个步骤:

1.ion-content属性里添加scroll="true" overflow-scroll="true"

2.iframe的style里添加min-height: 100%

二、使用实例:

html:

<ion-view view-title="demo">

<ion-content scroll="true" overflow-scroll="true">

<iframe data-tap-disabled="true" ng-src="{{paySrc}}"  style="min-width:100%;min-height:100%;"> 

</iframe>

</ion-content>

</ion-view>

var app = angular.module('myApp', ['ionic']);

app.controller('myCtrl',function($scope, $http, $sce) {

//iframe中的链接不能直接指定

//$scope.paySrc = 'http://www.gongjuji.net';

$scope.paySrc = $sce.trustAsResourceUrl('http://www.gongjuji.net');;

});

2.ionic ios iframe 白屏问题

在ios下边使用iframe出现白屏问题

android下边正常

原因是ios对app打开外部网页有限制需要取消限制

解决方法

1.确认添加whitelist 插件

2.在config.xml中添加

<plugin name="cordova-plugin-whitelist" source="npm" spec="1.1.0"/>

<allow-navigation href="*"/>

<allow-intent href="*"/>

<access origin="*"/>

3.在index.html中添加如下代码

<meta http-equiv="Content-Security-Policy" content="default-src *;style-src * 'self' 'unsafe-inline' 'unsafe-eval';script-src * 'self' 'unsafe-inline' 'unsafe-eval';">

参考地址

相关文章

网友评论

      本文标题:【转】ionic调用外部网页

      本文链接:https://www.haomeiwen.com/subject/kvqdottx.html