GVKun编程网logo

JavaScript全屏iframe,高度为100%(iframe全屏代码)

11

在本文中,我们将给您介绍关于JavaScript全屏iframe,高度为100%的详细内容,并且为您解答iframe全屏代码的相关问题,此外,我们还将为您提供关于Iframe自适应高度并实时监控高度变

在本文中,我们将给您介绍关于JavaScript全屏iframe,高度为100%的详细内容,并且为您解答iframe全屏代码的相关问题,此外,我们还将为您提供关于Iframe 自适应高度并实时监控高度变化的js代码_javascript技巧、javascript - iframe外怎么使iframe的内容回到顶部、javascript IFrame 强制刷新代码_javascript技巧、javascript iframe中打开文件,并检测iframe存在否_javascript技巧的知识。

本文目录一览:

JavaScript全屏iframe,高度为100%(iframe全屏代码)

JavaScript全屏iframe,高度为100%(iframe全屏代码)

所有浏览器均支持iframe height = 100%吗?

我使用doctype作为:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

在我的iframe代码中,如果我说:

<iframe src="xyz.pdf" width="100%" height="100%" />

我的意思是说,它实际上会占用其余页面的高度吗(因为顶部还有另一个固定高度为50px的框架),所有主流浏览器(IE / Firefox /
Safari)都支持吗?

关于滚动条,即使我说了scrolling="no",我也可以在Firefox中看到禁用的滚动条…如何完全隐藏滚动条并自动设置iframe高度?

答案1

小编典典

您可以使用框架集作为先前的答案状态,但是如果您坚持使用iFrame,则以下两个示例应该可以工作:

<body>    <iframe src="http://www.youraddress.com" frameborder="0"height="100%" width="100%"></iframe></body>

替代:

<body>    <iframe src="http://www.youraddress.com" frameborder="0"height="100%" width="100%"></iframe></body>

要隐藏具有2种替代方法的滚动,如上所示:

<body>    <iframe src="http://www.youraddress.com" frameborder="0"height="150%" width="150%"></iframe></body>

用第二个例子破解:

<body>    <iframe src="http://www.youraddress.com" frameborder="0"height="150%" width="150%"></iframe></body>

要隐藏iFrame的滚动条,请使父级overflow:hidden隐藏滚动条,并使iFrame的宽度和高度达到150%,这会将滚动条强制移出页面,并且由于主体没有滚动条人们可能不会期望iframe超出页面范围。这会隐藏全宽度的iFrame滚动条!

Iframe 自适应高度并实时监控高度变化的js代码_javascript技巧

Iframe 自适应高度并实时监控高度变化的js代码_javascript技巧

google N次 + 百度M次 + 试验了1605次之后(听说农药1605就是实验了这么多次后出来的),得出下面成果,在IE7及Firefox3里试了下还能凑合着用用!
1、首先给出个Iframe。

复制代码 代码如下:



2、然后看看怎么获取Iframe中的页面的高度。
其实最麻烦的就是怎么让获取的高度准确,不同的方式不同的浏览器中获取到的值都会不一样!晕啊~~。参考了多方意见得出以下javascript函数(doc参数为window.document对象):
复制代码 代码如下:

function getDocHeight(doc)
{
//在IE中doc.body.scrollHeight的可信度最高
//在Firefox中,doc.height就可以了
var docHei = 0;
var scrollHei;//scrollHeight
var offsetHei;//offsetHeight,包含了边框的高度
if (doc.height)
{
//Firefox支持此属性,IE不支持
docHei = doc.height;
}
else if (doc.body)
{
//在IE中,只有body.scrollHeight是与当前页面的高度一致的,
//其他的跳转几次后就会变的混乱,不知道是依照什么取的值!
//似乎跟包含它的窗口的大小变化有关
if(doc.body.offsetHeight) docHei = offsetHei = doc.body.offsetHeight;
if(doc.body.scrollHeight) docHei = scrollHei = doc.body.scrollHeight;
}
else if(doc.documentElement)
{
if(doc.documentElement.offsetHeight) docHei = offsetHei = doc.documentElement.offsetHeight;
if(doc.documentElement.scrollHeight) docHei = scrollHei = doc.documentElement.scrollHeight;
}
/*
docHei = Math.max(scrollHei,offsetHei);//取最大的值,某些情况下可能与实际页面高度不符!
*/
return docHei;
}

3、最后修改Iframe的高度,并用一个定时器来不间断检查它包含的页面的高度变化。
复制代码 代码如下:

function doReSize()
{
var iframeWin = window.frames[''ifrm''];
var iframeEl = window.document.getElementById? window.document.getElementById(''ifrm''): document.all? document.all[''ifrm'']: null;
if ( iframeEl && iframeWin )
{
var docHei = getDocHeight(iframeWin.document);
if (docHei != iframeEl.style.height) iframeEl.style.height = docHei + ''px'';
}
else if(iframeEl)
{
var docHei = getDocHeight(iframeEl.contentDocument);
if (docHei != iframeEl.style.height) iframeEl.style.height = docHei + ''px'';
}
}
function runResizeTask()
{
doReSize();
setTimeout("runResizeTask()",500);//每隔半秒执行一次
}
runResizeTask();

在这里就没有去考虑被包含的页面中是否有折叠、隐藏/展现的情况了!
完整js代码
复制代码 代码如下:



javascript - iframe外怎么使iframe的内容回到顶部

javascript - iframe外怎么使iframe的内容回到顶部

javascript - iframe外怎么使iframe的内容回到顶部

如图,如何在iframe的外面,点击go top按钮,使iframe里的内容返回顶部。
试了几个都不行,有没有大神弄过。
前提是没法修改 iframe的页面。

回复内容:

javascript - iframe外怎么使iframe的内容回到顶部

如图,如何在iframe的外面,点击go top按钮,使iframe里的内容返回顶部。
试了几个都不行,有没有大神弄过。
前提是没法修改 iframe的页面。

不跨域的情况下可以如下

立即学习“Java免费学习笔记(深入)”;

var iframeElement; // 自己选择iframe
iframeElement.contentWindow.scrollTo(0, 0);
登录后复制

跨域的情况下我无解


DEMO

在iframe的document中注册滑到顶部方法, 外部页面在触发点击事件的时候, 先找到iframe 然后调用该方法

你是在本地页面搞得吗?那是不行的,搭建个服务器试试

javascript IFrame 强制刷新代码_javascript技巧

javascript IFrame 强制刷新代码_javascript技巧

当第一次从主窗口进入到一个iframe简称{A}中,此时这个{A}中呈现的数据是新的,这时我又点了另外的一个iframe简称{B},这里{B}的数据也是新的,在{B}中进行一些逻辑处理,如向{A}中批量增加模型数据,这里我们再进入到{A}中会发现数据是被缓存着的。因为是从{B}中对批量操作了{A}的数据,{B}是与server通信的,也就是会进行逻辑层/持久层操作,这样server端更新的呈现部分是{B}而不是全部,这也就是局部刷新,只刷{B}。而我们需要做的是让{A}中的内容也跟着变。

解决方案:
·很明显iframe.window.location.reload();不符合当前需求。
·使用window.setTimeout(iframe.window.loadction.reload(),1000);这种方式会造成多次刷新,如果还要在{A}中对{B}的数据进行更新呢?
·研究了半天,其实可以直接从iframe cache问题入手来解决,很easy,直接不让它缓存不就完了,不缓存了,当然也就用不着刷新了。
示例:

复制代码 代码如下:

function doInsert2BatchCallBack() {
var pIf = parent.document.getElementById(''IFRAME_A'');
pIf.src = pIf.src + "&".concat(Math.random());
//提交批量导入请求
}

javascript iframe中打开文件,并检测iframe存在否_javascript技巧

javascript iframe中打开文件,并检测iframe存在否_javascript技巧

不过是iframe[name]的话,就涉及onload的问题了...所以就麻烦了许多....
以下只是加了延迟...并没有"真正"的处理onload的问题....其实可以循环window.open来解决,不过懒的弄就略了...^^
jb51.net

我们今天的关于JavaScript全屏iframe,高度为100%iframe全屏代码的分享已经告一段落,感谢您的关注,如果您想了解更多关于Iframe 自适应高度并实时监控高度变化的js代码_javascript技巧、javascript - iframe外怎么使iframe的内容回到顶部、javascript IFrame 强制刷新代码_javascript技巧、javascript iframe中打开文件,并检测iframe存在否_javascript技巧的相关信息,请在本站查询。

本文标签: