웹 사이트의 특정 부분만 iframe에 넣는 방법은 무엇입니까?
iframe에 웹 사이트의 일부만 넣을 수 있도록 하고 싶습니다.이거 어떻게 해요?보통 웹 사이트(예를 들어 야후)의 iframe을 설정하면 웹 사이트 전체가 표시됩니다.웹 사이트의 일부만 원했다면 어떻게 해야 할까요?
웹사이트 iframe에 마진을 붙일 수 있나요?
제 웹사이트에 웹사이트의 iframe을 붙이려고 합니다.(그게 말이 된다면)
잘 부탁드립니다.d
대부분의 경우 참조는 외부이며 외부 페이지를 제어할 수 없습니다.따라서 IFRAME 콘텐츠를 원하는 위치로 스크롤해야 합니다.물론 이것은 불가능하다.네, JavaScript 해킹도 있지만 모두 잘못된 해결책입니다. 스크롤은 페이지가 로드된 후에만 이루어지기 때문입니다.솔루션
IFRAME을 div로 랩하고 절대 TOP 및 LEFT CSS 속성을 사용하여 DIV 콘텐츠를 스크롤할 수 있습니다.
다음은 예를 제시하겠습니다.
#my-div
{
width : 400px;
height : 200px;
overflow : hidden;
position : relative;
}
#my-iframe
{
position : absolute;
top : -100px;
left : -100px;
width : 1280px;
height : 1200px;
}
여기 400x200px 치수의 DIV가 1개 있습니다.이제 IFRAME을 이동시키면 올바른 위치에 배치할 수 있습니다.
<div id="my-div">
<iframe src="http://www.example.com" id="my-iframe" scrolling="no"></iframe>
</div>
동일한 오리진 정책 및 관련 iframe 제한으로 인해 이 작업을 안정적으로 수행할 수 없습니다.
..같은 원본 정책은 JavaScript와 같은 다수의 브라우저 측 프로그래밍 언어에 대한 중요한 보안 개념입니다.정책.. 는, 다른 사이트의 페이지에 걸쳐, 대부분의 메서드와 속성에의 액세스를 금지합니다.
웹 사이트(또는 타깃사이트 프록시)의 경우 부모의 JavaScript는 삽입 iframe의 DOM 또는 CSS를 필요에 따라 변경할 수 있습니다.
대상 웹사이트가 다른 수단(XDR/XHR+CORS 포함)을 통해 데이터를 통신하려고 한다면, 이러한 웹 사이트가 해킹으로 사용될 수도 있습니다.그러나 이 작업에 대한 일반적인 해결책은 없습니다.
(XHR을 사용하는 경우에도) 같은 오리진정책에 의해 제한됩니다.
브라우저 보안 제한으로 인해 대부분의 "Ajax" 요청은 동일한 원본 정책을 따릅니다. 요청은 다른 도메인, 하위 도메인 또는 프로토콜에서 데이터를 성공적으로 검색할 수 없습니다.
안<iframe>를 사용하여 작업할 수 있는 완벽한 창을 제공합니다.원하는 작업을 수행하는 가장 직접적인 방법은 표시할 단편만 포함된 완전한 페이지를 서버에 제공하는 것입니다.
다른 방법으로는 간단하게<div> jQuery를 합니다.load전체 페이지를 로드하고 원하는 섹션만 추출하는 기능:
$('#target-div').load('http://www.yahoo.com');
다른 작업이 필요할 수 있으며, 중요한 차이점은 내용이 별도의 창으로 구분되지 않고 기본 페이지의 일부가 된다는 것입니다.
페이지의 일부만 가져오도록 URL을 조작할 수 없습니다.원하는 서버 측 언어를 사용하여 페이지 내용을 가져와 HTML을 구문 분석합니다. 여기서 원하는 DIV를 가져와 화면에 출력할 수 있습니다.를 사용하여 불필요한 콘텐츠를 제거할 수도 있습니다.
에서는 PHP를 사용할 수 .file_get_contents()을 읽고, 「파스할 수 없다」를 합니다.DOMDocumentDIV로 하다
기본적인 생각은 이렇습니다.이는 테스트되지 않았지만 올바른 방향으로 안내해야 합니다.
$page = file_get_contents('http://touch.facebook.com');
$doc = new DOMDocument();
$doc->loadHTML($page);
$divs = $doc->getElementsByTagName('div');
foreach($divs as $div) {
// Loop through the DIVs looking for one withan id of "content"
// Then echo out its contents (pardon the pun)
if ($div->getAttribute('id') === 'content') {
echo $div->nodeValue;
}
}
언급URL : https://stackoverflow.com/questions/14117763/how-do-you-put-only-a-certain-section-of-a-website-into-an-iframe
'programing' 카테고리의 다른 글
| AngularJS 오류: '인수 'FirstCtrl'이(가) 함수가 아니며 정의되지 않았습니다. (0) | 2023.04.05 |
|---|---|
| 기존 create-react-app 앱에 TypeScript 추가 (0) | 2023.04.05 |
| angularjs가 있는 뷰에서 ng-if 값을 사용하여 null을 확인하는 방법 (0) | 2023.04.05 |
| AngularJS에서 onKeyUp을 검출하려면 어떻게 해야 합니까? (0) | 2023.03.31 |
| $location 내에서 매개 변수를 전달하고 있습니다.각도에서의 경로 (0) | 2023.03.31 |