javascript - 将 CSS 应用于 iFrame(或其他元素)之外的元素

标签 javascript html css iframe sharepoint

我正在尝试将一些 CSS 注入(inject)到我的 SharePoint 网页正文中以获得背景图像。 .js 本质上是这样的:

document.getElementsByTagName( "Body" )[ 0 ].style.backgroundImage = <My Image URL>
document.getElementsByTagName( "Body" )[ 0 ].style.backgroundSize = "50%"
document.getElementsByTagName( "Body" )[ 0 ].style.backgroundPosition = "50% 50%"

它按我的预期工作,除非中间有一个 iFrame(或任何其他“body”标签)。然后图像被放入 iFrame 以及我的页面正文中。这些 iFrame 本质上是弹出窗口,每当您需要上传文档、更改网站上的某些设置等时就会出现。它们不会一直出现,但我不希望图像出现在那里,无论如何。

当我调用 document.getElementsByTagName('Body')我总是获取当前正在运行的任何 iFrame 的 Body 标记,或者我将获取文档的主体。但它始终是 1 项的 HtmlCollection 数组。如果我使用 document.body 也会发生同样的事情

所有正文标签都具有相同的通用设置 ( <body class="ms-backgroundImage" style="..." spellcheck="false"> ),无论它们是网站的实际正文标签还是 iFrame 的正文。

Javascript 有没有办法说“适用于主体,但不适用于任何其他主体”?

最佳答案

您的描述与文档相矛盾(参见 https://developer.mozilla.org/en-US/docs/Web/API/Document/body )。您真的确定它的行为与您描述的一样吗?您描述的行为是我作为开发人员从未经历过的。 你能再检查一下并更新这个问题吗?

关于javascript - 将 CSS 应用于 iFrame(或其他元素)之外的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51953962/

相关文章:

html - 在 H1 CSS 中更改一个词的权重

html - 弹出div在IE11中隐藏在iframe下

javascript - 向 d3.js 图表添加水平十字准线

javascript - 防止 boolean 变量在 JavaScript 中返回 false

javascript - 自定义 jQuery 函数 - 选择器找不到元素

javascript - 使用for循环检查多个变量的内容

javascript - 设置超时后jquery运行函数

html - 如何强制 div 跨越 100% 的可用高度和宽度

javascript - 如何找到base64图像的宽度和高度

javascript - 是否可以在浏览器上编辑工具提示的字体系列?