0

有没有办法将一些文本附加到 iframe 父级的地址栏?我知道你可以通过使用 HTML5 来实现这一点history.replaceState,即使有一种使用history.js的方法,但它似乎不适用于 iframe 的父级 (_top)。父母的域也不同于 iframe 的域(我知道这可能是我的问题的原因)。

我想这样做是因为我制作了可以在任何网站上插入的嵌入式脚本,它主要创建一个带有一些内容的 iframe,但我希望能够将一些文本附加到父地址栏以便能够在 facebook 或 twitter 上分享该链接(我想分享父母的网址,而不是 iframe 网址)。

有人知道这是否可以做到吗?或者可能是我的问题的另一种解决方案?

谢谢!

4

1 回答 1

1

有没有办法将一些文本附加到 iframe 父级的地址栏?我知道您可以通过使用 HTML5 history.replaceState 来完成此操作

对,就那个。

父母的域也不同于 iframe 的域(我知道这可能是我的问题的原因)。

出于安全原因,您不能跨域执行此操作。您可以postMessage到顶部框架并在顶部框架中运行脚本以侦听消息并更改 URL 作为响应。

显然,这需要托管框架的站点的合作。

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

function receiveMessage(event) {
    if (event.data && event.data.updateUri) {
        history.replaceState({}, "", event.data.updateUri);
    } 
}

top.postMessage({updateUri: "/example"}, "*");
于 2013-08-09T16:45:42.607 回答