CSS를 사용하여 페이지의 iframe 내부에있는 div 스타일을 변경할 수 있습니까?CSS를 사용하여 iframe 내부에서 div 스타일에 영향을 줌
답변
짧은 번호.
도메인 간 리소스 제한으로 인해 iframe에로드 된 페이지를 제어하지 않는 한 iframe에로드 된 HTML에 CSS를 적용 할 수 없습니다.
사실이지만 사람들이 어떻게 도움이되는지 알려주는 데 도움이되지 않습니다. –
아마도 당신이 생각하는 방식이 아닙니다. iframe도 CSS 파일에 <link>
이 있어야합니다. 그리고 다른 도메인에 있다면 자바 스크립트로도 할 수 없습니다.
어떻게 이런 일을 할 수 있습니까? '
JavaScript가 필요합니다. 상위 페이지에서 iframe의 이름을 JavaScript 명령 앞에 붙여야한다는 점을 제외하고는 부모 페이지에서와 동일합니다.
동일한 원본 정책이 적용되므로 자신의 서버에서 오는 iframe 요소에만이 작업을 수행 할 수 있습니다.
나는 쉽게 만들기 위해 Prototype 프레임 워크를 사용frame1.$('mydiv').style.border = '1px solid #000000'
또는
frame1.$('mydiv').addClassName('withborder')
내 비슷한이 질문을 참조하십시오 http://stackoverflow.com/questions/1962707/how-to-give-style-to-iframed-page-content-using-parent-pages-css 스타일을 변경할 수없는 경우 if 프레임이 다른 서버에서 왔습니까? –
맞습니다. Iframe 콘텐츠는 동일한 도메인 정책의 적용을받습니다. 도메인에서 온 것이면 그것을 제어 할 수 있고, 그렇지 않으면 잠글 수 있습니다. 이렇게하면 모든 종류의 Iframe 기반 페이지 도용이 방지됩니다. –
정확히 "CSS 전용"솔루션은 아니지만 나에게 충분합니다. +1 –
빠른 대답 : 아니, 죄송합니다.
CSS 만 사용하는 것은 불가능합니다. 기본적으로 스타일을 지정하려면 iframe 내용을 제어해야합니다. javascript 나 원하는 웹 언어를 사용하는 메소드가 있습니다. (필자가 약간 읽었지만 자신에게 친숙하지 않습니다.) 필요한 스타일을 동적으로 삽입하는 방법이 있지만 iframe 내용을 직접 제어해야합니다. 네가 가진 것처럼.
예. 자세한 내용은이 다른 스레드를 살펴 보자 : 성가신 있지만 How to apply CSS to iframe?
var cssLink = document.createElement("link");
cssLink.href = "style.css";
cssLink.rel = "stylesheet";
cssLink.type = "text/css";
frames['frame1'].document.body.appendChild(cssLink);
은 frame1 인 iframe의 ID입니까? –
예, frame1은 iframe의 ID입니다. –
네, 가능합니다. 페이지 본문에 페이지의 HTML을 인쇄/에코 한 다음 CSS 규칙 변경 기능을 적용해야합니다. 위에서 제시 한 것과 같은 예제를 사용하면 기본적으로 페이지에서 div를 찾고 CSS를 적용한 다음 최종 사용자에게 다시 인쇄/반향 출력하는 구문 분석 방법을 사용하게됩니다. 나는이 기능을 필요로하지 않으므로 다른 웹 페이지의 CSS에있는 모든 항목에 해당 기능을 aphtply로 코딩하고 싶지 않습니다.
참고 :
질문은 "CSS 만 사용"을 묻습니다. 이를 염두에두고 당신의 대답은 잘못되었습니다. –
사용 JQuery와 소스까지 기다려로드, 이 내가 달성하는 방법입니다 (사용 각도 간격, 당신은 할 수있어. 자체 자바 스크립트에서는 setInterval 방법) :
var addCssToIframe = function() {
if ($('#myIframe').contents().find("head") != undefined) {
$('#myIframe')
.contents()
.find("head")
.append(
'<link rel="stylesheet" href="app/css/iframe.css" type="text/css" />');
$interval.cancel(addCssInterval);
}
};
var addCssInterval = $interval(addCssToIframe, 500, 0, false);
iframe로드 이벤트를 사용하지 않는 이유는 무엇입니까? – ProllyGeek
그렇습니다. 우리는 확실히 –
당신은 iframe
첫째의 내용을 검색 한 후 평소와 같이 그들에 대하여 jQuery
선택기를 사용할 수 있습니다.
$("#iframe-id").contents().find("img").attr("style","width:100%;height:100%")
$("#iframe-id").contents().find("img").addClass("fancy-zoom")
$("#iframe-id").contents().find("img").onclick(function(){ zoomit($(this)); });
행운을 비네!
이 작동하지 않을 수 있습니다 : 잡히지 않은 DOMException : 'HTMLIFrameElement'에서 'contentDocument'속성을 읽지 못했습니다 : 원본 "http : // HOST"가 교차 원산지 프레임에 액세스하지 못하도록 차단했습니다. . – tubbo
클라이언트 측에서 불가능합니다. Iframe이 도메인의 일부가 아니므로 javascript 오류가 발생합니다. "오류 : 속성에 대한 액세스가 거부되었습니다"문서 "" 유일한 해결책은 서버 측 코드에서 페이지를 가져 와서 필요한 CSS를 변경하는 것입니다.
이 답변은 내용이 정확하지만 자바 스크립트와 관련이 있지만 질문은 CSS와 관련이 있습니다. 대답은 자바 스크립트를 사용해야하지만 그렇게 말하지 않을 수도 있습니다. 대답은 또한 iFrame의 콘텐츠가 다른 도메인의 콘텐츠라고 가정합니다. 항상 그렇지는 않습니다. 마지막으로 정확한 메시지는 브라우저마다 다릅니다. – pwdst
일을하는 일종의 해킹 방법은 유진이 말한 것과 같습니다. 나는 그의 코드를 따라 가고 페이지에 대한 나의 커스텀 CSS에 연결했다. 저를위한 문제는, 지저귐 타임 라인으로 당신은 smidgen 코드를 무시하기 위해 트위터를 피하는 작업을해야한다는 것입니다. 이제 우리는 우리의 css와 함께 압연 타임 라인을 가지고 있습니다, I.E. 큰 폰트, 적절한 행의 높이, 및 스크롤 바가 그 제한치보다 큰 높이로 숨겨집니다.
var c = document.createElement('link');
setTimeout(frames[0].document.body.appendChild(c),500); // Mileage varies by connection. Bump 500 a bit higher if necessary
은 분명히 그것은 jQuery를 통해 수행 할 수 있습니다
$('iframe').load(function() {
$('iframe').contents().find("head")
.append($("<style type='text/css'> .my-class{display:none;} </style>"));
});
의
Chrome 브라우저에서 동일한 원산지 정책으로 인해 더 이상 사용할 수 없습니다. 오류 메시지 :'Uncaught DOMException : 'HTMLIFrameElement'에서 'contentDocument'속성을 읽지 못했습니다 : 원점 ****이있는 프레임이 교차 원점 프레임에 액세스하지 못하도록 차단했습니다 .' – Mohammad
- 1. CSS를 사용하여 표 셀 내부에서 스크롤 가능한 div
- 2. iframe 내부에서 오버플로 -y
- 3. 외부의 iframe 내부에서 ajax 사용
- 4. CSS를 사용하여 교차 브라우저 div 중심 맞춤
- 5. jQuery를 사용하여 타이머에서 DIV CSS를 변경하십시오.
- 6. Html과 CSS를 사용하여 div 태그가 끝나는 곡선
- 7. 순전히 CSS를 사용하여 div 요소 재정렬
- 8. iframe 내부에서 div를 찾는 방법
- 9. iframe 내부에서 양식을 보내려면 어떻게해야합니까?
- 10. div inside iframe 숨기기
- 11. iframe 내부에서 jQuery 크기 조정 문제가 발생했습니다.
- 12. 부모로부터 iframe 내부에서 DIV에 액세스하는 방법
- 13. serverfbml 태그 내부에서 CSS를 사용하는 방법은 무엇입니까?
- 14. 숨겨진 컨트롤, iframe 또는 div
- 15. 해당 iframe 내부에서 iframe을 닫는 방법
- 16. 내 div의 여백은 콘텐츠/블록 내부에서 왜 영향을 받습니까?
- 17. javadript를 사용하여 embed/iframe 내부에서 PDF 인쇄하는 방법
- 18. 북마크릿을 사용하여 iframe 내부에서 javascript 함수를 수정하는 방법은 무엇입니까?
- 19. 로드 div iframe 만 클릭하십시오
- 20. 부분적으로 HTML을 CSS를 사용하여
- 21. CSS를 사용하여 내비게이션
- 22. CSS를 사용하여 코너 이미지
- 23. JQuery - iframe 내부에서 클릭 링크 가로 채기
- 24. iframe 내부에서 무선 값 가져 오기
- 25. 도메인이 다른 iframe 내부에서 AJAX 호출하기
- 26. IE6 스크롤 이벤트가 내부에서 작동하지 않습니다. Iframe
- 27. Jquery : iframe 내부에서 입력 파일 값을 변경하십시오.
- 28. iframe의 발신자 페이지에서 iframe 콘텐츠 CSS를 변경하십시오.
- 29. jQuery를 사용하여 div 내부에서 양식의 최소화 된보기를 구현하는 방법은 무엇입니까?
- 30. 배경색에게 영향을
가능한 복제 [하면 iframe하는 CSS를 적용하는 방법?] (http://stackoverflow.com/questions/217776/how-to-apply-css-to-iframe) –