iframe src url无意中更改了父URL

时间:2012-05-31 10:13:55

标签: javascript jquery iframe cross-domain

我们正在通过iframe从我们的网站(www.example.com)拨打电话到api服务器(api.example.com)。

当我们拨打电话时,iframe源网址会将父窗口网址更改为iframe源网址。以下是iframe代码:

<iframe onload="iframeManager.tempIframeCallback()" id="xd_iframe" allowtransparency="true" frameborder="0" scrolling="no" tabindex="0" name="xd_iframe" style="position:absolute;top:-9999em;width:10px;height:10px;" src= "{{html on api server}}">
        </iframe>

以下是api服务器上的html:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
        <title>xyz</title>

  <body>
    <script type="text/javascript" charset="utf-8">
        document.domain='example.com';
    </script>
  </body>
</html>

参考:http://fettig.net/weblog/2005/11/28/how-to-make-xmlhttprequest-connections-to-another-server-in-your-domain/

1 个答案:

答案 0 :(得分:1)

你所指的文章是在2005年写的!现在,大多数现代浏览器都支持CORS,它允许您在服务器允许的情况下干净地完成跨源AJAX。这是一篇博客文章,解释了如何:http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/