从同一iframe更改iframe网址

时间:2014-05-02 21:07:19

标签: javascript jquery html iframe

我需要从同一个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>

2 个答案:

答案 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;

过去这对我有用。