在公众号的开发中,遇到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滚动事件替代方法的更多相关文章

  1. iOS中常用的四种数据持久化方法简介

    iOS中常用的四种数据持久化方法简介 iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 ...

  2. vue添加滚动事件,解决简书Carol_笑一笑方案中vue移除滚动事件失效的问题

    在写项目的时候,遇到了需要添加滚动事件的问题,在简书Carol_笑一笑这里找到了解决方案.代码如下 <script> export default { name:"vue-scr ...

  3. ios中iframe页面出现白屏问题

    最近用ionic3开发的一个项目在ios中出现了白屏的问题 banner轮播图跳转网页 使用了iframe 但是却时不时的出现白屏现象 在android中一切正常 网上查资料发现 是因为ios不允许访 ...

  4. iOS 中Block以及Blocks的使用,闭包方法调用

    OC: -(void)dataWithUrl:(NSString*)string AndId:(NSInteger)id returnName:(void(^)(NSString*name))back ...

  5. C# 中删除控件的事件的方法类

    方法一: 代码 /// <summary> /// 删除指定控件的指定事件 /// </summary> /// <param name="control&qu ...

  6. Android中getDrawable和getColor过时的替代方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. 前言 Android SDK 升级到 23 之后,getDrawable和getColor方法提示过时. 解决方案 getResources(). ...

  7. 解决safari中iframe嵌入不能滚动的问题

    做完了个webapp之后,开发的时候一直在浏览器上模拟ios,没有任何问题,谁知交差的时候,客户告知在ios浏览器中不能滚动嵌入的iframe,直接就滚动外层整个document了,你知道docume ...

  8. ios中fixed元素在滚动布局中的延时渲染问题

    在之前做的一个demo中,有个视图是内滚动的,里边有个bar用了fixed,不是fixed在最外层视图的顶部和底部,在微信/safari/chrome/其他浏览器app上都没出现问题. 然后今天,我把 ...

  9. IOS中iframe的滚动条不启作用

    引自:https://www.cnblogs.com/weinan/archive/2013/01/05/2832800.html 问题描述: iframe设置了高度(例如500px).倘若ifram ...

随机推荐

  1. Java锁的种类以及辨析

    锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) .这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类 ...

  2. gogoing软件NABCD

    N,need 需求:gogoing项目目前打算做得是一个基于石家庄铁道大学在校大学生对于短期节假日出行旅游的指南.最关键的定义为“穷游”.“穷”则体现在以小的花销去实现最完美的旅游方式.我们的gogo ...

  3. Math 类的使用(一小部分)

    package com.Date.Math; /* Math 数学类, 主要是提供了很多的数学公式. abs(double a) 获取绝对值 ceil(double a) 向上取整 floor(dou ...

  4. Scapy 网段中ping扫描

    安装scapy pip3 install scapy-python3 交互式ip包构造 #scapy >>> ping = sr(IP(dst='202.100.1.1')/ICMP ...

  5. 寒假作业第二篇随笔(A+B)

    Github链接:https://github.com/heihuifei/object-oriented A+B Format (20) Calculate a + b and output the ...

  6. HDU 2262 Where is the canteen 期望dp+高斯消元

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2262 Where is the canteen Time Limit: 10000/5000 MS ...

  7. 简单Window下 Android Studio的安装

    (1)首先安装JDK 下载JDK 本人觉得官方网站下JDK比较慢,可以直接百度JDK,(如果是64位 百度搜索记得+64位)

  8. Robot Framework 教程 (1) - 环境配置及简单网站兼容性测试

    0.Robot Framework 简介 Robot Framework 是一个通用的自动化测试框架,主要用于“验收测试”和“验收测试驱动开发(ATDD)” (会其它文章中会详细介绍ATDD).它使用 ...

  9. Tween.js 动画效果

    一.apply,和call的用法. 先来一个与本次博文无关的东西,就是apply和call的用法.其实apply和call的用法都一样,只是他们的传参不一样.apply是数组,而call是单独的传,类 ...

  10. v-html的应用

    var app=new Vue({ el: '#app', data:{ link:'<a href="#">这是一个连接</a>' },}) <di ...