javascript - 更改 iframe 内元素的样式 - 跨域(我拥有第二个域)

标签 javascript jquery html css iframe

<分区>


想改进这个问题吗? 通过 editing this post 添加细节并澄清问题.

关闭 8 年前

我是 2 个域的所有者

   1. www.example1.com 
   2. www.example2.com

我要完成以下两个任务。

  1. 我想将 example2.com 中的 html 页面加载到 iframe 中。 (完成)
  2. 我想更改 iframe 内容中 html 中存在的元素的样式。

我在两个页面中都尝试了 document.domain,但它不起作用。

请注意:我对这两个域拥有完全控制权。

请帮忙,我已经被困在这个问题上 2 天了。

最佳答案

如果您同时拥有这两个域,则可以通过 window.postMessage 执行此操作。

在您的父文档中:

embededIframe.contentWindow.postMessage('changeStyle', 'http://www.example1.com');

在您的子文档中:

handleMessage = function(e) {
  if(e.origin === 'http://www.example1.com') {
    var action = e.data.split(':')[0]
    if(action === 'changeStyle') {
      //do style change
    }
  }
}
window.addEventListener('message', handleMessage, false);

可以找到更多信息here

关于javascript - 更改 iframe 内元素的样式 - 跨域(我拥有第二个域),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27269406/

上一篇:html - 如何将内容分发到它们之间有边框的列? (文字出版社)

下一篇:javascript - 在没有 ftp 访问权限的情况下将 CSS 注入(inject)现有网站并使用实时重新加载

相关文章:

javascript - css3 根据光标旋转

html - CSS 属性 background-repeat : repeat; 的必要性是什么

javascript - 我可以使用元素的数据属性的值来声明变量吗?

javascript - 如何绘制天空图?

javascript - 将元素从一个 div 内部拖动到另一个 div 中

html - 适用于iPhone/iPad的HTML5视频。如何检测连接速度?

html - 在一列中的单元格上设置最小宽度后,表格扩展到屏幕边缘

javascript - 使用 JavaScript/jQuery 修改 DOM 的可访问性问题

javascript - 创建接管页面

javascript - 将 div 设置为 none 会删除其他元素