首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JQuery iframe宽高度自适应浏览器窗口大小的解决方法

需求场景1 实现需求:如下图,点击左侧的导航,打开对应tab页面,其中tab页面的内容为 iframe,这里希望iframe的高度和宽度,根据浏览器窗口大小变化而变化,同时页面内容过多,或者过宽时,出现...offsetTop; // 这里 offsetTop可以替换成一个比较合理的常量值 }); } 说明: window.innerHeight 获取浏览器窗口的高度-去掉浏览器地址栏,书签栏的可视区域的高度...),否则等于window.innerHeight document.body.clientHeight 获取body节点的的高度,不包括横向滚动条的高度。.../** * 浏览器窗口大小发生变化时,自动调整iframe页面高度 * 浏览器等因素导致改变浏览器窗口大小时,会发生多次resize事件,导致频繁调用changeFrameHeight() */ $(...JavaScript”,以上代码也可以使用JQuery的$(window).resize(function)等效实现。

6.8K20

「实用推荐」如何优雅的判断元素是否进入当前视区

---- 今天的主要内容包括: 使用元素位置判断元素是否在当前视区 使用 Intersection Observer 判断元素是否在当前视区 实例:懒加载 实例:无限滚动 实用 npm 包推荐 正文...使用元素位置判断元素是否在当前视区 这种方法实现起来比较简单, 我们一步一步来。 首先:编写一个 util 函数 isVisible,它将仅接收一个参数,即 element。...使用 Intersection Observer 判断元素是否在当前视区 Intersection Observer 是一种更高效的方式。 为什么这么说呢?...单原模型(Single Origin Model)和浏览器不会让你获取 iframe 里的任何数据。 这对于经常在 iframe 里加载的广告页面来说是一个很常见的问题。...这将包含有关元素,其高度,宽度,视口位置等的信息。 在线 Demo: https://codepen.io/myogeshchavan97/pen/pogrWKV?

1.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    js获取iframe中的内容(iframe内嵌页面)

    大家好,又见面了,我是你们的朋友全栈君。 js 如何获取包含自己iframe 属性 a.html 如何在b.html里获取包含他的iframe的id 在父页面中定义函数,再到子页面中调用。...iframe for(i=0;i js怎样获取iframe,src中的参数 如何获取iframe里的src里面的属性 js如何修改iframe 中元素的属性 iframe 属性 及用法越详细越好 。。...在线等 iframe元素的功能是在一个html内嵌一个文档,创建一个浮动的郑iframe可以嵌在网页中的任意部分 name:内嵌帧名称 width:内嵌帧宽度(可用像素值或百分比) height:内嵌帧高度...(可用像素值或百分比) frameborder:内嵌帧边框 marginwidth:帧内文 jQuery怎么给iframe的src赋值 给iframe src赋值,代码如下: 特别注意: 1.上述jquery...JavaScript如何修改页面中iframe的属性值 HTML5有客户端数据储存的方法,但是支持的浏览器不多。

    24.7K50

    深入剖析iframe跨域问题

    HTML5学堂:本文当中我们介绍了跨域的基本知识,讲解到了跨域的相关种类,并讲解了解决跨域中的一种方法——如何使用iframe跨域。...iframe跨域的流程 1 创建iframe - 在a.html文件中,动态创建iframe元素/标签 2 视觉控制 - 为了让用户无法看到这个iframe元素/标签,需要使用CSS将其移出可视区 3...因此此处使用“h5course.com” Tips:可能你会问,b.html没有使用到jQuery,利利你为何还要加JQ的引入呢?...4.1 在a.html文件当中获取b.html文件的jQuery对象 想要让a控制b去做什么,首先得获取到b(就如同我们“希望控制一个标签样式,就先得通过选择器选择到;想要为某个标签添加事件,就先得通过...这也就要求我们需要在创建addIframe时为它传递一个参数(函数),而在获取b.html的jQuery对象之后执行这个函数。

    14.6K41

    TypeScript 在 Nuxt.js 的入门实现与一些奇妙的新知识

    应该有注意到呢,博客页面和文章下方的评论区现在高度展示正常了。...之前是因为 Artalk 与其他 js 兼容的问题所以使用了 iframe 方式嵌入评论区,但是由于加载博客页面时需要一段时间等待 iframe 网页端获取评论数据以展示,就会出现加载完成后高度无法被博客页面获取的问题...小小的百度了一下,发现父页面其实可以通过 iframe 元素的 contentWindow 属性来获取到子页面的 document,这样一来就可以获取到子页面文档高度了。...需要注意的是跨域问题,解决办法是强制设定父子页面域名一致,代码如下: // 与 iframe 通信获取评论列表高度函数 function getCommentsHeight():void { //...逻辑是在快要滑动至底部评论区时请求获取子页面高度并调整父页面评论区高度和大小。

    2.8K10

    介绍一个页面平滑滚动小技巧

    1.scrollTop 第一想到的还是 scrollTop, 获取元素的位置, 然后直接设置: // 设置滚动的距离element.scrollTop = value; 不过这样子有点生硬, 可以加个缓动效果...布尔值 * 如果为true,元素的顶端将和其所在滚动区的可视区域的顶端对齐。...* 如果为 false,元素的底端将和其所在滚动区的可视区域的底端对齐。...auto 表示使用当前元素的 scroll-behavior 样式。instant`和`smooth表示`直接滚到底`和`使用平滑滚动`。 2. block表示块级元素排列方向要滚动到的位置。...start表示将视口的顶部和元素顶部对齐;center表示将视口的中间和元素的中间对齐;end表示将视口的底部和元素底部对齐;`nearest`表示就近对齐。

    1.3K20

    JavaScript代码获取浏览器的可视高、文档滚动高和滚动距离

    获取浏览器可视高度 var clientHeight = 0; if (document.body.clientHeight && document.documentElement.clientHeight...clientHeight = Math.max(document.body.clientHeight, document.documentElement.clientHeight); } 说明: 这段代码用于获取浏览器窗口的可视高度...); } 说明: 这个函数用于获取文档的滚动高度。...如果测试时,发现页面有滚动条,但是获取的滚动高度和可视高度一样,要注意看滚动条是不是 iframe 内嵌框架里的,上面可以进行切换,默认的 top 是默认最外层的框架。...var clientHeight = document.body.clientHeight; window.innerHeight 浏览器窗口的视口高度,不包括浏览器的工具栏、菜单栏等。

    41500

    真正解决iframe高度自适应问题

    1.前言 解决iframe高度自适应问题有两种方法 1.pym 2.手动设置iframe的高度 本文主要是总结第二种实现方式,因为第一种pym.js插件我没用懂 如果使用iframe时,遇到以下的需求...: iframe的高度始终等于嵌入页面内容的高度,而不是屏幕的高度 右侧不允许出现两个滚动条 iframe的高度自适应不仅仅是指刚加载进来时,也有可能嵌入内容的高度会随点击变化(如:下拉菜单,左侧导航栏等...(子)网页的文档高度,然后把值附给父页面的iframe的height。...2.本文flexiframe.js可以直接使用,但是只支持同源下父页面可以通过contentWindow获取子页面的内容高度,跨域的下次再说。...,而是等于父元素iframe的高度?

    5.4K30

    jquery 实现iframe 自适应高度

    超级简单的方法,也不用写什么判断浏览器高度、宽度啥的。 下面的两种方法自选其一就行了。一个是放在和iframe同页面的,一个是放在test.html页面的。 注意别放错地方了哦。...iframe代码,注意要写ID iframe id="main" src="test.html" width="700" height="300" frameborder="0" scrolling=..."auto">iframe> jquery代码1: //注意:下面的代码是放在test.html调用 $(window.parent.document).find("#main").load(function...window.parent.document).find("#main"); var thisheight = $(document).height()+30; main.height(thisheight); }); jquery...代码2: //注意:下面的代码是放在和iframe同一个页面调用 $("#main").load(function(){ var mainheight = $(this).contents().find

    2.6K40

    iframe 解析

    1、iframe能解决的问题 (1)、通过iframe能实现跨域 (2)、使用iframe能解决IE6下select遮挡不住的问题 (3)、通过iframe能解决Ajax前进后退的问题 (4)、通过iframe...提示:您可以把需要的文本放置在 iframe> 和 iframe> 之间,这样就可以应对无法理解 iframe 的浏览器。...4、iframe访问方式 (1)、iframe访问方式大致有两种,大致如下: i、contentWindow属性,通过iframe元素的这个属性,可获取子窗口的window对象,该属性兼容各个浏览器 ii...、contentDocument属性,通过iframe元素的这个属性,可取得子窗口的document对象,该属性兼容向存在问题:Firefox 支持,大于ie8版本的ie支持. (2)、获取子窗口document...对子页面进行操作 i、先通过jQuery获取iframe,再把jQuery对象转换成dom对象,可以通过get()方法进行转换.代码如下: $("#myiframe")[0].contentWindow

    2K100

    waypoint_使用jQuery Waypoint创建粘性导航标题

    ---- 步骤4:垂直偏移 如果您考虑一下,在很多情况下,当元素到达浏览器视口的最边缘时触发事件并不是您想要的。 幸运的是,Waypoints为此提供了一个方便的选项: offset 。...offset的值可以是数字(代表固定数量的像素),包含百分比的字符串(解释为视口高度的百分比)或返回多个像素的函数。 最后一个可以提供一些严重的灵活性,稍后我们将使用它。...实际上,这意味着将告诉脚本当前正在查看哪个部分的假想线放置在视口顶部的三分之一左右,即观看者在阅读长文本时所处的位置。 一个更强大的解决方案可以使用功能来适应导航栏高度的变化。...如果您不仅仅想添加和删除类,还可以考虑使用LavaLamp这样的插件。 在某些时候,您可能已经注意到,单击导航栏中的链接会将部分的顶部置于浏览器视口的顶部。...但是,只要有一些想象力以及jQuery的基本知识,您就可以设计出一种方法,使这些元素在接近它们时脱离功能区 。 但是,这样做远远超出了本教程的范围。

    3.4K30

    前端学习资料整理

    使用iframe之前需要考虑这两个缺点。如果需要使用iframe,最好是通过javascript 动态给iframe添加src属性值,这样可以绕开以上两个问题。 Label的作用是什么?是怎么用的?...目前来讲html不具备获取浏览器宽度的能力。...获取屏幕高度、宽度 做手机Web开发做浏览器兼容用到了,所以在网上找了些汇总下。...(这个符号只有ie6会识别) 渐进识别的方式,从总体中逐渐排除局部。 首先,巧妙的使用“\9”这一标记,将IE游览器从所有情况中分离出来。...1,总是从ID选择器开始继承 2,在class前使用tag(标签名) 3,将jQuery对象缓存起来 4,对直接的DOM操作进行限制 5,冒泡 6,推迟到 $(window).load 7,压缩JavaScript

    3.5K20

    jQuery方法position()与offset()区别

    参考别人写得比较明白的,红色部分为重点吧: 使用jQuery获取元素位置时,我们会使用position()或offset()方法,两个方法都返回一个包含两个属性的对象-左边距和上边距,它们两个的不同点在于位置的相对点不同...可以看看下边的图: ? 从图中我们可以大体看出两者的区别。...position()获取相对于它最近的具有相对位置(position:relative)的父级元素的距离,如果找不到这样的元素,则返回相对于浏览器的距离。...event.clientX 相对文档的水平座标 event.clientY 相对文档的垂直座标(若在iframe中会有下拉框,相当于可见部分的垂直坐标) event.offsetX 相对点击容器的水平坐标...() 对象宽度,包括padding $(XX).outerHeight() 对象高度,包括padding $(XX).offset().top; // 元素相对于document的上位移

    72160
    领券