2013-01-13 2 views
0

가능한 중복 :
Load external content using AJAX여러 JQuery와 하중() 이벤트

나는 매우 JQuery와 프로그래밍에 대한 새로운 별도의 div의에 다른 웹 페이지를로드하려고 해요,하지만 난 것 캔트 그것을 작동 시키려면, 내가 뭘 잘못하고 있니?

<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> 
+3

허용하지 않는 한 Ajax로 외부 도메인에 액세스하는 것은 불가능합니다. https://en.wikipedia.org/wiki/Same_origin_policy를 참조하십시오. Google과 Bing은 다른 사이트에 퍼져있는 사이트가 마음에 들지 않습니다 (사용자가 해당 임베드라고 부를 수있는 경우). –

+0

felix의 말에 따르면 Google은 [X- 프레임 옵션 헤더] (https://developer.mozilla.org/en-US/docs/HTTP/X-Frame-Options?redirectlocale=en-US&redirectslug=The_X-FRAME)를 사용합니다. -OPTIONS_response_header), 클라이언트 측 스크립팅으로 프레임을 구성하거나 컨텐츠를 얻을 수 없습니다. – adeneo

답변

-1

문제는 당신의 코드가 아닙니다 : 여기

은 DIV의 ID

$(function(){ 

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

당 페이지 로딩 및 여러 페이지를 표시하기위한 코드의 나머지 부분입니다. 오히려 Bing과 Google을 포함한 특정 웹 사이트의 정책입니다.

일반 HTML에서는 Google이 허용하지 않기 때문에 Google을 표시하는 프레임을 만들 수 없습니다. AJAX와 동일합니다. 그리고 @FelixKling은 정확합니다.

+0

도움을 주셔서 대단히 감사합니다 .-) –

2

jQuery의 .load()은 AJAX를 사용하고 AJAX는 브라우저에서 브라우저와 동일한 원산지 정책에 따라 here에 대해 읽을 수 있습니다.

즉, 다른 도메인에있는 다른 웹 사이트의 콘텐츠를 자유롭게 페이지에로드 할 수 없음을 의미합니다.

iframe을 사용하여 일부 사이트를 퍼갈 수도 있지만 (브라우저에서 허용 할 수 있지만) 특정 사이트는 iframe (예 : Google과 같은)에 넣을 수 없습니다.

+0

원본 코드가 다른 경우 직접 URL을 공유하고 싶지 않으므로 oldskool iframe을 사용합니다. 도와 주셔서 대단히 감사합니다 :-) –