<iframe>内的内容可以控制吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了<iframe>内的内容可以控制吗?相关的知识,希望对你有一定的参考价值。

我想替换一些框架内网页中的文字,这个网页比如是BAIDU,我不能直接修改的,但是我想在我的页面里把“贴吧”,改成“网吧”,其他不变。可以实现吗?

iframe里面的内容,其实是一个跨域的网页,当然不能直接控制了。要么控制iframe的大小隐藏掉不想展示的内容,要么做个内容抓取把天气的html直接输出到自己网页上。

IFRAME,HTML标签,作用是文档中的文档,或者浮动的框架(FRAME)。

iframe元素会创建包含另外一个文档的内联框架(即行内框架)。
参考技术A iframe如果是在同一个域下的话。
主页面可以通过window.frames["iframe的name"]来索引到iframe的window对象。
然后通过这个window对象来索引document.getElementById("标签的ID").innerHTML = "内容";

主页面main.htm
<html>
<head>
<title>主页面</title>
<script>
function Init()

window.frames["test"].onreadystatechanged = function()

if(this.readyState == "complete")

this.document.getElementById("aa").innerText="测试iframe";



</script>
</head>
<body onload="Init()">
<iframe name="test" src="iframe.htm"></iframe>
</body>
</html>

iframe.htm
<html>
<head>
<title>iframe</title>
</head>
<body>
<div id="aa">111</div>
</body>
</html>
参考技术B 如果"贴吧"被一个标签包围着,如<div id="t">贴吧</div>
这样你就可以用js更改了,但是如果没有的话那就不能了。

用JS更改页面元素:
document.getElementById("标签的ID").innerHTML = "内容";
参考技术C 楼上的都看错题目了,问题是问的iframe ,iframe内的网页是该边不了其中的页面内的代码本回答被提问者采纳 参考技术D 做成动态页就可以了

iframe可以使用父页面中的资源吗?

我想在iframe中使用一个字体,我知道它将在父html页面中加载:iframe css是否可以简单地引用它,好像用户已经拥有它一样?或者我必须通过@ font-face再次加载它?

答案

一种更为通用的方法,补充了@Mr Lister的评论:

inline frame (<iframe>)在HTML文档中加载另一个HTML文档并嵌入它。简化你可以说它是一个网站内的网站。

嵌入式CSS不会干扰其父CSS或其他方式,因为它们属于单独的文档并且只存在于它们之内。正如@Mr Lister已经指出的那样,两个文档中引用的资源不会被加载两次。

外观的任何更改都应该在子文档本身中进行,而不是在将其加载到iframe中之后进行。但是,你可以使用JavaScript和它的库将任何东西(样式表等)注入到加载的文档中。出于安全原因,浏览器通常仅允许对于与父级具有相同域的iframe。查看此主题以了解有关通过JavaScript注入的更多信息:Override body style for content in an iframe

另一答案

CSS不会级联到加载到iframe中的文档中,它们是单独的文档。

您需要在加载到该文档的样式表中包含@font-face

该文件不应再次下载,而是从浏览器的本地缓存加载(假设托管该字体的服务器具有a reasonable configuration)。

以上是关于<iframe>内的内容可以控制吗?的主要内容,如果未能解决你的问题,请参考以下文章

html获取iframe内的数据

获取 iframe 内输入字段的值

当单击 iframe 窗口内的 li 不适用时,使用 jquery 向 <Li> 标记添加一个类

检测浏览器内的鼠标悬停

iframe可以使用父页面中的资源吗?

更改 iframe 内的字体 [重复]