修改iframe内部div元素的宽度和高度 - 跨域策略

时间:2015-08-03 06:39:24

标签: javascript jquery iframe cross-domain styling

我有一个域名和一个子域名。域名在我的控制之下,子域名指向联盟白标签网站,即DNS指向其IP。我想通过域中的iframe加载产品。

据我所知,由于跨域策略,我无法使用JavaScript来更改样式。我想要完成的是修改iframe内深度div的高度和宽度。

使用php简单加载内容无法正常工作,因为页面编写很多,如果我这样做,则会显示页面框架,但没有内容可用。

请指出一个实用的解决方案?我知道jquery足以能够替换,添加样式到同一个域,iframe或不iframe的东西。但我不知道如何在子域上执行此操作。 我可以控制子域,即我可以将dns更改回我想要的,但这将阻止whitelabel站点工作。我无法添加任何标题。

1 个答案:

答案 0 :(得分:0)

postMessage函数可以在这里为您提供帮助,前提是您可以在两个域上放置自己的JavaScript代码。

https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage

这样的事情应该有效:

var iframe = document.getElementById("whatever");
iframe.contentWindow.postMessage("hello");

I帧

window.addEventListener("message", receiveMessage, false);

function receiveMessage(event)
{
    if (event.origin !== "http://your-parent-domain.com") return; // for security

    // do something here with event.data
}