/**
* Created by Administrator on 2019-02-28.
*? 兼容iOS? 調(diào)用init方法? window.onload = init(iframe);
*/
var u = navigator.userAgent;
var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios終端
// iframe高度自適應
function changeFrameHeight(ifm) {
if (isIOS) {
var cacheHeight =0;
? ? ? ? function run() {
var mf = ifm[0];
? ? ? ? ? ? // when the main frame has already been loaded, the check its height
? ? ? ? ? ? if (mf && mf.contentDocument && mf.contentDocument.body) {
var iframeHeight = ifm[0].contentDocument.body.clientHeight;
? ? ? ? ? ? ? ? if (iframeHeight && iframeHeight != cacheHeight) {
// cache the main frame height
? ? ? ? ? ? ? ? ? ? cacheHeight = iframeHeight;
? ? ? ? ? ? ? ? ? ? ifm.height(iframeHeight);
? ? ? ? ? ? ? ? }
}
setTimeout(run, 200);
? ? ? ? }
run();
? ? }else {
ifm.height = document.documentElement.clientHeight -118;
? ? }
}
/**
* 初始化
* @param iframe的id
*/
function init(iframeId) {
try {
var iframe = $("#" + iframeId);
? ? ? ? iframe.css("height", "100%");
? ? ? ? if(isIOS) {
iframe.attr("scrolling", "no")
.css("*width", "100%")
.css("width", "1px")
.css("min-width", "100%");
? ? ? ? }
var loadListener =function () {
changeFrameHeight(iframe);
? ? ? ? };
? ? ? ? if (!iframe.on) {
iframe.load(loadListener);
? ? ? ? }else {
iframe.on("load", loadListener);
? ? ? ? }
}catch (e) {
console.error(e);
? ? }
}
是用這個方法解決的调缨,這個簡書主要是我自己用來記錄自己的學習內(nèi)容,以后方便自己看的。