调整iFrame中的HTML - Javascript不工作

问题描述:

我一直在查找*上的javascript/iFrame文章约45分钟,我收集了一些很棒的资源,但是我无法让javascript在iFrame中正常工作。我从一个网站上附加了两张截图,这些截图是我自己的iFramed。 iFrame弹出一个菜单,占用60%的框架。我想在菜单中添加一个类,以在我的页面加载时自动关闭它。我认为我有正确的JS,但我无法实现它的功能。该课程根本不会添加。调整iFrame中的HTML - Javascript不工作

Menu opened Menu closed 这是我的iframe和JavaScript来改变DIV ID为 “扩大” 级。我知道这听起来很愚蠢,但是扩展是关闭菜单的类名。任何帮助,将不胜感激!谢谢。

<iframe src="http://dayzdb.com/map#2.065.045" style="width:500px; height:300px;" id="dayzdb"></iframe> 

     <script>$("#dayzdb").contents().find("#mapContainer").addClass("expanded")</script> 

代替发布HTML(因为它很长)我已经发布了网站链接,您可以在此检查导航栏上的元素以查看它。

http://dayzdb.com/map

+0

我不认为你需要'.contents()'如果你正在做'.find()'之后,我觉得'.find()'就足够了。另外,你可以发布一些包含在iFrame中的HTML吗?它可以帮助我们找出为什么它不能正确选择。 –

+0

是来自同一个域的'iframe'?如果不是,你需要[相同的原产地政策](https://en.wikipedia.org/wiki/Same-origin_policy)。 –

+0

伟大的问题,我也会附上HTML!我也会尝试删除内容,看看是否有效! –

是否使用在你的页面相同的域和你的iframe?不要忘记cross-domain政策,否则将无法正常工作!如果您可以控制两个站点,则可以使用postMessage方法在不同域之间传输数据。一个很简单的例子:

// framed.htm: 
window.onmessage = function(event) { 
    event.source.postMessage(document.body.innerHTML, event.origin); 
}; 

// Main page: 
window.onmessage = function(event) { 
    alert(event.data); 
}; 

// Trigger: 
// <iframe id="myframe" src="framed.htm"></iframe> 
document.getElementById('myframe').contentWindow.postMessage('','*');