有没有办法将一些文本附加到iframe父级的地址栏?我知道你可以通过使用HTML5history.replaceState
来实现这一点,甚至有一种方法可以通过使用history.js来实现,但它似乎不适用于iframe的父级(_top)。此外,父的域与iframe的域不同(我知道这可能是我的问题的原因)。
我之所以这么做,是因为我制作了嵌入脚本,可以在任何网站上插入,它主要创建一个带有一些内容的iframe,但我希望能够在家长的地址栏中添加一些文本,以便能够在facebook或twitter上共享该链接(我想共享家长的url,而不是iframe url)。
有人知道这能不能做到吗?或者可能是我问题的另一个解决方案?
谢谢!
有没有办法将一些文本附加到iframe父级的地址栏?我知道你可以通过使用HTML5历史记录.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"}, "*");