我需要从同一个iframe更改iframe网址。 例如:" http://parent.com "是我的网站的父域URL与http 并且:" https://iframe.com "是带有https的iframe域URL。这两个领域是不同的。
这里是父窗口的代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script>
function sheck19()
{
document.getElementById("myFrame19").height="700";
document.getElementById('myFrame19').src="https://iframe.com/home.php";
}
</script>
</head>
<body>
<iframe id="myFrame19" src="https://iframe.com/index.php" width="620" height="410" frameborder="0"></iframe>
</body>
</html>
以及iframe文档的代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
function uuui() {
window.parent.sheck19();
};
</script>
</head>
<body>
<input name="Continuer" type="submit" value="Continuer" onclick="uuui();">
</body>
</html>
答案 0 :(得分:0)
你想做什么是不可能的。如果两个域名不同,则无法以您尝试的方式进行通信。浏览器同源策略将阻止它。
您可以使用window.postMessage API。在此处阅读更多相关信息:https://developer.mozilla.org/en-US/docs/Web/API/Window.postMessage。它得到了广泛支持:IE8 +,FF6 + Safari 4 +,Chrome 1 +,Opera 9.5 +
otherWindow.postMessage(message, targetOrigin, [transfer]);
答案 1 :(得分:0)
如果iframe和主页不在同一(子)域中,则不允许访问父页面的URL。但是,如果您只需要主页的URL(即浏览器URL),则可以尝试此
var url = (window.location != window.parent.location) ? document.referrer: document.location;
过去这对我有用。