0

可能重复:
使用 AJAX 加载外部内容

我对 JQuery 编程非常陌生,并试图将不同的网页加载到单独的 div 中,但我似乎无法让它工作,我做错了什么?

这是每个 div id 的页面加载

$(function(){

   $('#google').load('https://www.google.nl/');
   $('#bing').load('http://www.bing.com/');
});

以及用于显示多个页面的其余代码:

<div data-role="page" id="main"> 

    <div data-role="header" data-position="fixed"> 
        <h1>Search</h1> 
    </div>

    <div data-role="content">   
        <h2>define your choice</h2>       
        <p>Go to: <a href="#google">google</a></p> 
        <p>Go to: <a href="#bing">bing</a></p> 
    </div>

    <div data-role="footer" data-position="fixed"> 
        <h4>Footer</h4> 
    </div>
</div>


<!-- Start of second page --> 
<div data-role="page" id="GameFart" data-add-back-btn="true"> 

    <div data-role="header" data-position="fixed"> 
        <h1>google</h1> 
    </div> 

    <div data-role="content">   
 <div id="google">
    </div>

    <div data-role="footer" data-position="fixed"> 
        <h4>Footer</h4> 
    </div>
</div>

<!-- Start of third page --> 
<div data-role="page" id="GameSpecials" data-add-back-btn="true"> 

    <div data-role="header" data-position="fixed"> 
        <h1>bing</h1> 
    </div>

    <div data-role="content">   
 <div id="bing">
    </div>

    <div data-role="footer" data-position="fixed"> 
        <h4>Footer</h4> 
    </div>
</div>
4

2 回答 2

2

jQuery.load()使用 AJAX 并且 AJAX 受到浏览器的限制,根据您可以在此处阅读的相同来源策略。

这意味着您不能自由地将不同域的其他网站的内容加载到您的页面中。

您可以使用 iframe 嵌入一些网站(浏览器将允许这样做),但特定网站可能会阻止您将它们放入 iframe(如 Google)。

于 2013-01-13T18:03:52.320 回答
-1

问题不在于您的代码。这是某些网站的政策,包括 Bing 和 Google。

在常规 HTML 中,您无法制作显示 Google 的 Frame,因为 Google 不允许这样做。与 AJAX 相同。@FelixKling 是正确的。

于 2013-01-13T17:46:29.350 回答