如何在该页面的iframe中通过javascript控制页面?

时间:2010-09-10 11:23:23

标签: javascript jquery iframe

我有一个运行Js代码的iframe,我不想控制iframe DOM选项和css样式。
我该怎么做?如果你不想使用jQuery,那没问题,但我喜欢纯粹的javascript ...

我想修改的事情:
- frameborder
- css样式(浮动,显示,位置,溢出)
- 没有滚动条

编辑:代码运行内部 iframe

由于

1 个答案:

答案 0 :(得分:2)

我从您之前的问题中假设,iframe中的文档与外围页面在同一个域中。

在这种情况下,您的选项非常有限,同样是因为Same Origin Policy。您将无法使用Javascript访问外围页面的元素或CSS。这包括该页面上的<iframe>元素。

因此,您必须将任何设计决策内联到iframe标记中:

<iframe frameborder="0" style="float: left; width: 500px; height: 200px ....">

我认为这适用于您提及的所有内容,但滚动栏行为除外:您可以使用body元素的overflow属性控制iframe文档内部。

想到的唯一替代想法是,嵌入iframe的网站还包含来自您的域的样式表,位于文档的head部分。那个CSS当然可以完全控制。

如果您将CSS中的设计规则限制为iframe(例如,使用#id选择器),那么也可以。缺点是,如果样式表包含在内,您的iframe将会中断。这就是大多数小部件提供者使用内联CSS的原因。