CSS 만 사용하여 페이지의 iframe 내에있는 div 스타일을 변경할 수 있습니까?
답변
JavaScript가 필요합니다. JavaScript 명령 앞에 iframe 이름을 붙여야한다는 점을 제외하면 상위 페이지에서 수행하는 것과 동일합니다.
동일한 오리진 정책이 적용되므로 자신의 서버에서 오는 iframe 요소에만이 작업을 수행 할 수 있습니다.
내가 사용하는 프로토 타입 쉽도록 프레임 워크를 :
frame1.$('mydiv').style.border = '1px solid #000000'
또는
frame1.$('mydiv').addClassName('withborder')
답변
한마디로
도메인 간 리소스 제한으로 인해 iframe에로드 된 페이지를 제어하지 않으면 iframe에로드 된 HTML에 CSS를 적용 할 수 없습니다.
답변
예. 자세한 내용은이 다른 스레드를 살펴보십시오.
CSS를 iframe에 적용하는 방법은 무엇입니까?
var cssLink = document.createElement("link");
cssLink.href = "style.css";
cssLink.rel = "stylesheet";
cssLink.type = "text/css";
frames['frame1'].document.body.appendChild(cssLink);
답변
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)); });
행운을 빕니다!
답변
빠른 답변은 : 아니요, 죄송합니다.
CSS만으로는 사용할 수 없습니다. 스타일을 지정하려면 기본적으로 iframe 컨텐츠를 제어해야합니다. 필요한 스타일을 동적으로 삽입하기 위해 자바 스크립트 또는 선택한 웹 언어를 사용하는 방법이 있습니다 (약간 읽었지만 익숙하지는 않습니다). 그러나 iframe 내용을 직접 제어해야합니다. 당신이없는 것처럼.
답변
Jquery를 사용하고 소스가로드 될 때까지 기다리십시오.
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은 <link>
CSS 파일에도 있어야합니다 . 그리고 다른 도메인에 있으면 자바 스크립트로도 할 수 없습니다.