JS修改Iframe内部宽度问题,在线等

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS修改Iframe内部宽度问题,在线等相关的知识,希望对你有一定的参考价值。

参考技术A 修改iframe的宽度,为什么要用js修改?直接设置iframe的宽度,iframe内部的body的宽度自然也会跟着变更的。追问

没有,我设置的是215,但body是232,body里面的这个class是183,我想把183改成161

追答

其实就是iframe内部引入的class修改了body的宽度,而这个宽度并不符合你的要求,是吧?
这就简单了哇,获取iframe的dom对象d_dom,然后用d_dom.contentWindow.document获取到iframe内部的document对象,这再往下就不用我说了吧?有了这个对象,你可以为所欲为的操作iframe内部的任何元素,包括你说的body。

追问

能不能直接帮我写下js,不会来着

追答

var d_iframe = document.getElementById("iframe_id").contentWindow.document;//获取iframe内部document对象

d_iframe.body.style.width = '161px';

本回答被提问者采纳
参考技术B 你这是css也加了吧?要是这样的话除非你改成触发式的 否则js会先加载 而后才是css 也就是说你的js是没用的追问

这个css是iframe里面的也不行?那怎么办呢

追答

首先 你确定一下是不是iframe的宽度限制了div的宽度 然后再看一下 到底css、js到底哪个生效了

追问

就是不会写js,另外整个内部body是232,这个class是183,我想改成161

追答

给div一个id 然后document.getElementById('div1').style.width = 500 + 'px';

追问

我现在是一个天气预报,改不了内部的代码,加不了id,不然就直接改css了

追答

那就按类型抓取 找到iframe 然后抓到当前的div 然后再用js给样式

参考技术C iframe里的宽度没加单位px 参考技术D 直接在当前的js 中设置这个div的宽度为183
类似这种写法
$("#iframe").divid.height(pageHeight);
或者
在iframe引用的页面对应的js中设置这个div的宽度为183

试试
第5个回答  2014-01-23 js控制 iframe内部的 那个div的宽度?
你的js控制逻辑写在 外面的页面,还是iframe里面的页面?

以上是关于JS修改Iframe内部宽度问题,在线等的主要内容,如果未能解决你的问题,请参考以下文章

求助!在线等答案,关于iframe的。

iframe中嵌套的网页样式修改

修改 iframe 中 div 元素的宽度和高度 - 跨域策略

iframe子页面样式怎么在父页面修改

DIV挡住iframe显示,怎么修改CSS

iphone在iframe页面的宽度不受父页面影响,避免撑开页面