Javascript 在Iframe页面中添加/更改css

Javascript 在Iframe页面中添加/更改css,javascript,jquery,html,css,iframe,Javascript,Jquery,Html,Css,Iframe,我的任务是在SharePoint 2013网站上使用这种方法,现在开始 背景:-我在SharePoint 2013网站中有一个页面,其中有一个“内容编辑器”Web部件,显示来自同一域/网站集中的页面。下面的代码(不是我的)我已经放在了内容编辑器中,它可以很好地显示页面 问题-我的要求是从内容编辑器内的页面中“删除全局导航”,我认为它使用的是Iframe。现在我可以将F12开发工具与IE11一起使用,并找到CSS类,它是下面的-ms对话框#globalNavBox,并将显示设置为“无”,这正是我想

我的任务是在SharePoint 2013网站上使用这种方法,现在开始

背景:-我在SharePoint 2013网站中有一个页面,其中有一个“内容编辑器”Web部件,显示来自同一域/网站集中的页面。下面的代码(不是我的)我已经放在了内容编辑器中,它可以很好地显示页面

问题-我的要求是从内容编辑器内的页面中“删除全局导航”,我认为它使用的是Iframe。现在我可以将F12开发工具与IE11一起使用,并找到CSS类,它是下面的-ms对话框#globalNavBox,并将显示设置为“无”,这正是我想要的外观

我唯一不知道如何在这里实现的是如何通过在显示嵌入页面的页面上使用某种代码来实现这一点

这是我在内容编辑器中用来显示我要修改的页面的代码。

#mydiv{
宽度:1280px;高度:1000px;
溢出:隐藏;
;
}
#我的框架{
;
顶部:-190px;
左:-100px;
宽度:1080px;
高度:1000px;
}

将以下内容放在iframe后面的页面中

<script>
document.getElementById("myframe").contentDocument.getElementById("globalNavBox").style.display="none";
</script>
var iFrame = document.getElementById('myframe'),

document.getElementById(“myframe”).contentDocument.getElementById(“globalNavBox”).style.display=“无”;

我相信您仍然能够访问iframe的内容,因为它们都属于同一个域,除非iframe是沙盒的(示例清楚地表明它不是沙盒)。除了JBiserkov流畅的回答之外,这还包括了一些有关iframe加载的问题。在很多情况下,iframe可能会在派对上迟到一点,所以你应该为此做好准备。以下链接帮助我理解iFrame:

-对iframe的引用

<script>
document.getElementById("myframe").contentDocument.getElementById("globalNavBox").style.display="none";
</script>
var iFrame = document.getElementById('myframe'),
-对iframe的文档对象的引用

-此速记条件表达式是访问iframed页面内任何内容的关键

iDoc = iFrame.contentDocument ? iFrame.contentDocument : iFrame.contentWindow.document,
-对目标元素#globalNavBox的引用

gNav = iDoc.getElementById('globalNavBox');
-加载iframe时,将globalNavBox的样式设置为“显示”并设置为“无”


您无权访问iframe内部的代码,除非它是您手动注入的代码(并且可以访问iframe contentWindow和contentDocument)。如果您从不同的url加载一个站点作为iframe中的嵌入内容:结束。由于安全原因,您无法对其执行任何操作。是的,正如@Mike'Pomax'Kamermans所述,除非您的iFrame是从与当前站点相同的域加载的,否则无法执行此操作。