ios中iframe的scroll滚动事件替代方法
在公众号的开发中,遇到ios中iframe的scroll滚动事件失效,在此做下记录。
因为接口获取的数据必须放在iframe中展示,滚动到底部按钮变亮,如图:

代码如下:
<!DOCTYPE html>
<html>
<head>
<title>贷款合同</title>
<% include ../include/header.html %>
</head>
<body style="background: #eee;">
<header><a href="javascript:history.back(-1)" class="return_a">返回</a>贷款合同</header>
<form action="" method="post" class="user-info-form" id="user-info-form">
<!-- 第三步 begin -->
<div class="three-step region-box main" > <div class="read-agreement-box">
<!-- <div class="h3">贷款合同</div> -->
<div class="bd">
<div class="iframe" >
<iframe src="" id="iframeContract" width="100%" frameborder="0" scrolling="auto"></iframe>
</div>
</div>
</div>
<button class="btn-view btn" disabled="disabled" v-on:click="clickFn()">签约</button> </div>
<!-- 第三步 end -->
</form>
</body>
<style>
.iframe{height: 500px;width: 100%;overflow-x: hidden;overflow-y: auto;}
</style>
<% include ../include/footer.html %>
<script>
$(function () { new Vue({
el:'.main',
data:{
iframeH:500
},
methods:{
scrollFn:function(e){
$(document.getElementById('iframeContract').contentWindow).scroll(function(event) {
/* Act on the event */
var fh = $('#iframeContract').height();
var docH = $(this).height();
var t = $(this).scrollTop(); if(docH-t-fh<=0){
$('.btn-view').removeAttr('disabled');
}
}); },
clickFn:function(){
this.$http.post(window._appPath +'contract/confirm.do',{
openId:$.cookie('openId')
},{
emulateJSON:true
}).then(function(res){
var data = res.data;
if(data.code==0){
CommonUtil.redirectUrl('loan/loan_step6.html');
}else{
$.alert(data.message)
}
})
},
getFn:function(){
this.$http.post(window._appPath +'contract/html.do',{
openId:$.cookie('openId')
},{
emulateJSON:true
}).then(function(res){
var data = res.data;if(data.code==0){
var obj = jQuery.parseJSON(data.data.htmlContract);
$('#iframeContract').contents().find('body').html(obj.content);
var h = $('#iframeContract').contents().find('html').height();
_this.iframeH = h;
$('#iframeContract').height(h);
this.scrollFn(); }else{
$.alert(data.message);
}
})
}
},
created:function(){
this.getFn();
$('.iframe').height($(window).height()-234);
}
}) }); </script>
</html>
ios中iframe的scroll滚动事件替代方法的更多相关文章
- iOS中常用的四种数据持久化方法简介
iOS中常用的四种数据持久化方法简介 iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 ...
- vue添加滚动事件,解决简书Carol_笑一笑方案中vue移除滚动事件失效的问题
在写项目的时候,遇到了需要添加滚动事件的问题,在简书Carol_笑一笑这里找到了解决方案.代码如下 <script> export default { name:"vue-scr ...
- ios中iframe页面出现白屏问题
最近用ionic3开发的一个项目在ios中出现了白屏的问题 banner轮播图跳转网页 使用了iframe 但是却时不时的出现白屏现象 在android中一切正常 网上查资料发现 是因为ios不允许访 ...
- iOS 中Block以及Blocks的使用,闭包方法调用
OC: -(void)dataWithUrl:(NSString*)string AndId:(NSInteger)id returnName:(void(^)(NSString*name))back ...
- C# 中删除控件的事件的方法类
方法一: 代码 /// <summary> /// 删除指定控件的指定事件 /// </summary> /// <param name="control&qu ...
- Android中getDrawable和getColor过时的替代方法
版权声明:本文为博主原创文章,未经博主允许不得转载. 前言 Android SDK 升级到 23 之后,getDrawable和getColor方法提示过时. 解决方案 getResources(). ...
- 解决safari中iframe嵌入不能滚动的问题
做完了个webapp之后,开发的时候一直在浏览器上模拟ios,没有任何问题,谁知交差的时候,客户告知在ios浏览器中不能滚动嵌入的iframe,直接就滚动外层整个document了,你知道docume ...
- ios中fixed元素在滚动布局中的延时渲染问题
在之前做的一个demo中,有个视图是内滚动的,里边有个bar用了fixed,不是fixed在最外层视图的顶部和底部,在微信/safari/chrome/其他浏览器app上都没出现问题. 然后今天,我把 ...
- IOS中iframe的滚动条不启作用
引自:https://www.cnblogs.com/weinan/archive/2013/01/05/2832800.html 问题描述: iframe设置了高度(例如500px).倘若ifram ...
随机推荐
- WPF四则运算《《《《《策略模式
设计思路: 因为之前没有用过WPF,听说和window窗体语法类似,就想着仿照之前的Window窗体做的,首先用三个textbox存储数据,添加一个comboBox,利用索引选择运 ...
- 论文《Network in Network》笔记
论文:Lin M, Chen Q, Yan S. Network In Network[J]. Computer Science, 2013. 参考:关于CNN中1×1卷积核和Network in N ...
- 【Coursera】线性回归和逻辑回归
一.线性回归 1.批量梯度下降法 每次对参数进行一次迭代时,都要扫描一遍输入全集 算法可以收敛到局部最优值 当迭代多次之后,每次迭代参数的改变越小 2.随机梯度下降法 对于一个输入样本,对参数进行一次 ...
- EGener2四则运算出题器
项目源码: https://git.coding.net/beijl695/EGener2.git (代码纯属原创,设计细节不同,请思量) 项目发布后,由于期间各种事情,耽搁至最后一天交付.这次的项目 ...
- 解决java使用Runtime.exec执行linux复杂命令不成功问题
最近要实现一个Java调用一个复杂shell命令实现数据同步,该命令有管道重定向的语句,结果硬是执行不成功,而且也没异常报出.经过一段时间的折腾终于解决了此问题,权当做备忘记录下来(重点在红色框中的“ ...
- scp命令与Screen服务的区别
scp:远程传输命令.(通过网络传送给其他主机,又恰好两台主机都是linux系统,便可以使用scp传输文件) 参数 作痛 -v 先是详细的连接进度 -P 指定远程主机的sshd端口号 -r 传送文件夹 ...
- gitlab修改root密码
在root用户下,执行 [root@localhost gitlab]# sudo gitlab-rails console production -------------------------- ...
- Centos7 FPM 安装mysql8
参考http://tn.51cto.com/article/647 http://www.jb51.net/article/138787.htm 转载: 卸载centos自带的mariadb rpm ...
- MVC框架理解及优缺点
MVC:模型(Model).视图(View).控制器(Control) 流程如下: 首先是视图向控制器发送请求,控制器再将业务请求发送给模型, 然后模型处理请求业务并把结果返回给控制器,控制器根据结果 ...
- Dubbo学习(一) Dubbo原理浅析
一.初入Dubbo Dubbo学习文档: http://dubbo.incubator.apache.org/books/dubbo-user-book/ http://dubbo.incubator ...