出现的问题:
页面一个滚动条,
iframe
引用的内容里有一个滚动条,非常难看。
去掉双滚动条
实现思想:
子页面(即被引用页面)通过
postMessage
把高度传给父页面(即引用页面,有
iframe
),父页面接收高度,重置本页面高度。
代码如下:
<div ref="son1">
<li>多写一点,增加高度</li>
</div>
mounted() {
this.getHeight();
methods: {
getHeight() {
if (this.$refs.son1) {
window.parent.postMessage(this.$refs.son1.offsetHeight + 35, "*");
console.log("height:" + this.$refs.son1.offsetHeight);
- 页面给一个
ref
,目的:获得该部分高度; - 用
postMessage
把高度传过去(注意postMessage
的使用方法)
<iframe src="http://localhost:8081/" frameborder="0" width="100%" :height="height"></iframe>
data() {
return {
height: "600",
mounted() {
let _this = this;
window.addEventListener("message", function (event) {
var height = event.data;
var h = Number(height);
if (h) {
_this.setHeight(height);
}, false);
methods: {
setHeight(height) {
this.$set(this, "height", height);
:height=“height”
用来接收高度;mounted
里的message
事件,用来接收子页面的高度,即event.data
;- 高度有时是数值型,有时是对象,只有数值型可以用,所以需要做限制(为什么会有对象的格式,我也不知道);
- 重置高度
$set
;
效果如下:只有页面上的一个滚动条
出现的问题:页面一个滚动条,iframe引用的内容里有一个滚动条,非常难看。去掉双滚动条实现思想:子页面(即被引用页面)通过posyMessage把高度传给父页面(即引用页面,有iframe),父页面接收高度,重置本页面高度。代码如下:子页面:<div ref="son1"> <ul> <li>多写一点,增加高度</li><!-- 多写一点,增加高度 --> </ul></div>mou
iframe嵌套的内容多的时候会自带滚动条一、问题描述二、问题处理1.思路2.实现三、效果
一、问题描述
当iframe嵌套的内容多的时候会自带滚动条,致使出现双滚动条,如图
二、问题处理
使得iframe的高度和自动根据内容的大小进行调控
1、父页面增加以下内容,即根据页面内容动态给iframe高度的赋值:
<script type="text/javascript">
function setIframeHeight() {
var iframe
var workspace = document.getElementById('workspace');
var navigator = getOs();
//让滚动条回到页面上方。
(document.documentElement && document.documentEl...
iframe嵌入页面后,我们有时需要调整滚动条,例如,去掉全部的滚动条,去掉右边的滚动条且保留底下的滚动条,去掉底下的滚动条且保留右边的滚动条。那么我们应该怎么做呢?
一:去掉全部的滚动条
第一个方法: iframe 有一个scrolling属性,它有 auto , yes , no 这三个值。
scrol...
iframe去滚动条应该有多种方式,在此简单总结两种:
1.在标签中添加scrolling属性,值为yes时,有滚动条,值为no时无滚动条。这种方法简单,但是页面估计不怎么好看。
2.在iframe链接的子页面的body中,
隐藏横向滚动条:
body{
overflow: scroll;
overflow-x: hidden;
overflow-y:
// 1.子页面传递消息到父页面
// 2.父页面接收到消息后下发指令到子页面 (如下setElements 指令)
// 3.子页面接受指令,隐藏滚动条,并通过监听页面高度变化向父页面传递消息(传递高度)
parent.postMessage('{"name":"connect"}', '*');
window.addEventListener('message', function(event) {
var data = event.data;
花了一个多小时,终于解决了因为
iframe框架出现两个
滚动条的问题。原理( 借鉴了网上kaka的思路,但是js与他写的不一样)是:
1.强制隐藏最上层窗口的
滚动条
2.获取浏览器窗口的高度
3.用浏览器窗口的高度减去头部
iframe的高度就是内容
iframe的高度了
$(function(){
去掉iframe滚动条
<iframe class="RuoYi_iframe" name="iframe0" width="100%" height="100px" data-id="/webindex/titletop"
th:src="@{/webindex/menubar}" ></iframe>
<iframe class="RuoYi_if...
我们经常在html里面通过嵌入iframe的方式引入别的页面,但是因为某些原因,比如引入的页面比我们设置的iframe要大,这个时候就会出现滚动条,为了去除这个滚动条,我们可以在iframe里面加入一个css的属性
overflow:hidden;通过设置这个属性iframe就不会出现滚动条了
我们通过iframe引入的页面会生成一个边框,我们大部分情况下都不需要这个边框,那么我们可以这样