即使使用jquery,网站也没有在iframe上显示

时间:2014-03-14 05:48:28

标签: jquery html iframe x-frame-options

我正在使用此代码在http://www.solstas.com/find-a-location/

中显示iframe
<iframe src="http://www.solstas.com/find-a-location/" width="837" height="544"> 
</iframe>

这段代码使用jquery:

$("#siteloader").html('<object data="http://www.solstas.com/find-a-location/">');

但它没有显示任何内容,我尝试了其他网站然后它的工作原理。有人说这可能是因为X-Frame-Options被设置为该网站。

请帮忙。

3 个答案:

答案 0 :(得分:1)

您可以尝试:

 $("#siteloader").append($('<iframe width="837" height="544" src="http://www.solstas.com/find-a-location/"></iframe'));

答案 1 :(得分:1)

您无法构建此框架,因为该网站使用X-Frame-Options。我做了这个请求:

GET /find-a-location HTTP/1.1
Host: www.solstas.com

得到了这个回复:

HTTP/1.1 302 Found
Cache-Control: private
Content-Length: 176
Content-Type: text/html; charset=utf-8
Location: /error/internal-server-error?aspxerrorpath=/find-a-location
Server: Microsoft-IIS/7.5
X-Umbraco-Version: 4.7
Set-Cookie: UserLatitude=29.8301; path=/
Set-Cookie: UserLongitude=-95.4739; path=/
X-Powered-By: ASP.NET
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Date: Fri, 14 Mar 2014 06:15:15 GMT

<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="/error/internal-server-error?aspxerrorpath=/find-a-location">here</a>.</h2>
</body></html>

X-Frame-Options: SAMEORIGIN表示此页面不应显示在框架中,包括iframe。实际上,这意味着你无法做到这一点,因为几乎所有现代浏览器都会遵守这一要求。

答案 2 :(得分:0)

这是将iframe源加载到jquery

的代码
$(document).ready(function() {
    $('#iframe').attr('src', 'http://www.solstas.com/find-a-location/');
});

注意:如果该域名(www.solstas.com)允许跨域框架

,这将有效