我有一个域名和一个子域名。域名在我的控制之下,子域名指向联盟白标签网站,即DNS指向其IP。我想通过域中的iframe加载产品。
据我所知,由于跨域策略,我无法使用JavaScript来更改样式。我想要完成的是修改iframe内深度div的高度和宽度。
使用php简单加载内容无法正常工作,因为页面编写很多,如果我这样做,则会显示页面框架,但没有内容可用。
请指出一个实用的解决方案?我知道jquery足以能够替换,添加样式到同一个域,iframe或不iframe的东西。但我不知道如何在子域上执行此操作。 我可以控制子域,即我可以将dns更改回我想要的,但这将阻止whitelabel站点工作。我无法添加任何标题。
答案 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
}