我有一个运行Js代码的iframe,我不想控制iframe DOM选项和css样式。
我该怎么做?如果你不想使用jQuery,那没问题,但我喜欢纯粹的javascript ...
我想修改的事情:
- frameborder
- css样式(浮动,显示,位置,溢出)
- 没有滚动条
编辑:代码运行内部 iframe
由于
答案 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的原因。