iframe에 CSS를 적용하는 방법은 무엇인가요?

RSS 링크를 표시하기 위한 iframe 섹션이 있는 간단한 페이지가 있습니다. 메인 페이지와 동일한 CSS 형식을 iframe에 표시되는 페이지에 적용하려면 어떻게 해야 하나요?

질문에 대한 의견 (4)

크로스 도메인 edit: 동작하지 않을 경우 적절한 고르 헤더입니다 설정되었습니다.

두 가지 다른 일들도 있습니다. 스타일을 iframe 블록 및 스타일을 페이지가 포함된 iframe. 일반적인 방법으로 스타일을 iframe 블록이어야 설정할 수 있습니다.

스타일을 iframe 의 하위 페이지가 포함시킨 설정한 페이지 임베드됨 이어야 합니다.

모 서피스에서 Javascript 와 페이지 또는 로드할 수 있습니다.

var cssLink = document.createElement("link");
cssLink.href = "style.css"; 
cssLink.rel = "stylesheet"; 
cssLink.type = "text/css"; 
frames['iframe1'].document.head.appendChild(cssLink);
해설 (13)

이 문제는 구글 캘린더 를 만났다. 내가 하고 싶은 스타일 it on 어두운 배경 및 폰트 변경.

다행히 아무런 제한이 (embed) 코드 url 을 사용하여 직접 액세스 기능을 가져올 수 있기 때문에 '' file_get_contents php 전체 컨텐츠 페이지에서. 구글 uirl 수 있으며, php 파일을 호출하는 대신 호출하십시오 ap. 서버의 emailxtender. ',' 함께 구글스필프 포함할 원래 내용 수정:

$content = file_get_contents('https://www.google.com/calendar/embed?src=%23contacts%40group.v.calendar.google.com&ctz=America/Montreal');

경로를 추가 데이터베이스에구성원을 스타일시트가:

$content = str_replace('','', $content);

(이렇게 하면 '헤드' 종료 직전 마지막 배치하십시오 스타일시트가 태그번호.)

Css, js 원본 url 을 형성하는 기본 url 을 지정할 경우 상대적으로) 이라고 부른다.

$content = str_replace('','', $content);

'마지막' 구글스필프 파일은 다음과 같습니다.

<?php
$content = file_get_contents('https://www.google.com/calendar/embed?src=%23contacts%40group.v.calendar.google.com&ctz=America/Montreal');
$content = str_replace('','', $content);
$content = str_replace('','', $content);
echo $content;

그럼 'iframe' embed 코드 변경하십시오 다음과 같이 사용된다.

굿 럭!

해설 (14)

아이프레임의 콘텐츠를 완전히 제어할 수 없거나 다른 스타일의 다른 페이지에서 콘텐츠에 액세스하려는 경우 JavaScript를 사용하여 아이프레임을 조작해 볼 수 있습니다.

var frm = frames['frame'].document;
var otherhead = frm.getElementsByTagName("head")[0];
var link = frm.createElement("link");
link.setAttribute("rel", "stylesheet");
link.setAttribute("type", "text/css");
link.setAttribute("href", "style.css");
otherhead.appendChild(link);

사용하는 브라우저에 따라 이 방법은 동일한 도메인에서 제공되는 페이지에서만 작동할 수 있습니다.

해설 (2)
var $head = $("#eFormIFrame").contents().find("head");

$head.append($("", {
    rel: "stylesheet",
    href: url,
    type: "text/css"
}));
해설 (3)

iframe은 대부분의 브라우저에서 보편적으로 다른 HTML 페이지처럼 처리됩니다. iframe의 콘텐츠에 동일한 스타일시트를 적용하려면 그 안에 사용된 페이지에서 참조하기만 하면 됩니다.

해설 (1)

Css 는 코드 ',' link&gt 슬라이드에서는 적용하는 방법을 사용하지 않고 직접 로드하기에 &lt, 추가 스타일시트가.

var head = jQuery("#iframe").contents().find("head");
var css = '' +
          '#banner{display:none}; ' +
          '';
jQuery(head).append(css);

이 감춰집니다 호출이네요 iframe 의 배너 제안 주셔서 감사합니다!

해설 (4)

행키가 말한 것처럼 iframe에서 페이지를 제어하는 경우 가장 쉬운 방법은 공통 스타일로 공유 CSS 파일을 만든 다음 HTML 페이지에서 해당 파일로 링크하는 것입니다.

그렇지 않으면 iframe의 외부 페이지에서 페이지의 스타일을 동적으로 변경할 수 없을 것입니다. 스푸핑 및 기타 해킹에 악용될 수 있기 때문에 브라우저에서 크로스 프레임 돔 스크립팅에 대한 보안을 강화했기 때문입니다.

이 튜토리얼에서 일반적인 아이프레임 스크립팅에 대한 자세한 정보를 확인할 수 있습니다. 크로스 프레임 스크립팅 정보에서는 IE 관점에서의 보안 제한 사항을 설명합니다.

해설 (0)

위의 조금만 변경 작업:

var cssLink = document.createElement("link") 
cssLink.href = "pFstylesEditor.css"; 
cssLink.rel = "stylesheet"; 
cssLink.type = "text/css"; 

//Instead of this
//frames['frame1'].document.body.appendChild(cssLink);
//Do this

var doc=document.getElementById("edit").contentWindow.document;

//If you are doing any dynamic writing do that first
doc.open();
doc.write(myData);
doc.close();

//Then append child
doc.body.appendChild(cssLink);

적어도 ff3 및 ie8 로 작동합니다

해설 (3)

Css, 자바스크립트를 재사용하려는 경우 메인 페이지 ',' 교체하십니까 &lt IFRAME&gt 함께 고려해야 할 것 같습니다, 아약스 로드됨 컨텐트입니다. 이건 더 지금 서 있는 검색 봇 친화적임 때 JavaScript 실행할 수 있습니다.

이것은 [jQuery] (http://jquery.com) 예제에서와 다른 문서에 포함된 html 페이지를. 이 보다 훨씬 더 친화적임 iframe '서'. 이 봇 위해 반드시 페이지 '에서' 이 포함된 로보츠.t스트 않습니다를 인덱스화를 추가하기만 허용하지 않도록


  <header>
    <script src="/js/jquery.js" type="text/javascript"></script>
  </header>

    <div id='include-from-outside'></div>
    <script type='text/javascript'>
      $('#include-from-outside').load('http://example.com/included.html');
    </script> 

구글에서 직접 jQuery 포함할 수도 있습니다. http://code.google.com/apis/ajaxlibs/documentation/ - 즉, 새로운 버전을 옵션임 자동 포함, 일부 상당한 속도 향상. 또한 믿어주셔야 kofax 를 제공할 수 있다는 의미입니다 방금 포함한다.)

해설 (1)

다음 날 위해 일했다.

var iframe = top.frames[name].document;
var css = '' +
          '' +
          'body{margin:0;padding:0;background:transparent}' +
          '';
iframe.open();
iframe.write(css);
iframe.close();
해설 (1)

위에 있는 모든 솔루션을 적극 대처하기 위한 프레임 내용은 로드을 지연으로 확장하는지 포함한다.

$('iframe').each(function(){
    function injectCSS(){
        $iframe.contents().find('head').append(
            $('', { rel: 'stylesheet', href: 'iframe.css', type: 'text/css' })
        );
    }

    var $iframe = $(this);
    $iframe.on('load', injectCSS);
    injectCSS();
});
해설 (1)

컴팩트형 버전 :

<script type="text/javascript">
$(window).load(function () {
    var frame = $('iframe').get(0);
    if (frame != null) {
        var frmHead = $(frame).contents().find('head');
        if (frmHead != null) {
            frmHead.append($('style, link[rel=stylesheet]').clone()); // clone existing css link
            //frmHead.append($("", { rel: "stylesheet", href: "/styles/style.css", type: "text/css" })); // or create css link yourself
        }
    }   
});
</script>

하지만 때때로 iframe ',' 창에서 로드되었는지 있어 아직 준비가 필요한 타이머를 사용하여 .

  • 즉시 사용 가능 코드*의 (와 타이머):
<script type="text/javascript">
var frameListener;
$(window).load(function () {
    frameListener = setInterval("frameLoaded()", 50);
});
function frameLoaded() {
    var frame = $('iframe').get(0);
    if (frame != null) {
        var frmHead = $(frame).contents().find('head');
        if (frmHead != null) {
            clearInterval(frameListener); // stop the listener
            frmHead.append($('style, link[rel=stylesheet]').clone()); // clone existing css link
            //frmHead.append($("", { rel: "stylesheet", href: "/styles/style.css", type: "text/css" })); // or create css link yourself
        }
    }
}
</script>

.and jQuery 링크:

<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.1.min.js" type="text/javascript"></script>
해설 (0)

이 시도하시겠습니까 사용할 수 있습니다.

$('iframe').load( function() {
     $('iframe').contents().find("head")
     .append($("  .my-class{display:none;}  "));
  });
해설 (2)

여기에 대답을 jQuery, CSS 링크를 사용하는 다른 것으로 보인다.

이 코드에서는 바닐라 JavaScript. E-lab 은 style&gt &lt, 새 ',' 요소. 이 세트 수 있는 요소를 포함하는 텍스트 내용 문자열으로 새로운 CSS. 또한 그 요소 첨부됩니다 직접 iframe document& # 39 의 헤드입니다.

var iframe = document.getElementById('the-iframe');
var style = document.createElement('style');
style.textContent =
  '.some-class-name {' +
  '  some-style-name: some-value;' +
  '}' 
;
iframe.contentDocument.head.appendChild(style);
해설 (0)

When you say &quot &quot 도c오픈 ();; 무슨뜻이냐믄 있는모든 iframe 내부의 쓰기 때문에 HTML 태그를 쓸 수 있습니다 합니다 모든 기본 CSS 와 HTML 페이지의 태그뿐 스케쳐내 고리입니다 iframe 헤드입니다 그냥 iframe CSS 로 작성할 수 있는 링크를 항목이없습니다. 난 당신에게 예:

doc.open();

doc.write('<meta charset="utf-8"/><meta http-quiv="Content-Type" content="text/html; charset=utf-8"/>Print Frame<table id="' + gridId + 'Printable' + '" class="print" >' + out + '</table>');

doc.close();
해설 (0)

이렇게 iframe 컨텐트에서 스타일을 수 없습니다. 내 제안에 약간만이라도 스크립팅하는 (PHP, ASP, Perl 스크립트) 또는 세르베르사이드 사용할 수 있는 온라인 서비스 찾기 위해 JavaScript 코드를 변환할 수 있는 급지가. 이 밖에 할 수 있는 방법이 될 수 있다고 할 수 있는 경우 세르베르사이드 다음과 같습니다.

해설 (1)

Iframe 을 넣다 액세스하도록 스맥랜드의 페이지에서든 경우 다른 CSS 를 통해 이를 iframe 에 로드할 때, 나는 여기서 적용하십시오 위해서만 페이지에 대한 해결책을 찾으면 이와 같은 것을

이 경우에도 iframe 는 다른 도메인에 로드중 작동됨

확인란 포스트 세이지 '대한' ()

이 같은 계획은 보내고, css 를 iframe 메시지로

iframenode.postMessage('h2{color:red;}','*');

이 메시지는 '는 것은 iframe *' 전송하십시오 관계없이 뭐한테 도메인

iframe 및 추가 받은 메시지 (CSS) 에서 메시지를 주고받을 수 있는 문서 헤드입니다.

코드 페이지 iframe 에 추가할

window.addEventListener('message',function(e){

    if(e.data == 'send_user_details')
    document.head.appendChild(''+e.data+'');

});
해설 (0)

내가 다른 해결책을 찾을 수 있는 html 이런 스타일을 동일팔레트에 주


    html {
        color: white;
        background: black;
    }


    html {
        color: initial;
        background: initial;
    }
    iframe {
        border: none;
    }

(자세한 내용은 js onload) 이 일을 선택한 다음 iframe

또한 js

<script>
    ifstyle = document.getElementById('iframestyle')
    iframe = top.frames["log"];
</script>

최상의 솔루션이 될 수 있지만 그렇지 않을 뿐만 아니라, 또 다른 옵션을 스케쳐내 향산된 확실히 하기 위해 &quot style"; 태그에 부모창

해설 (0)

자, 다음 두 가지 도메인 내에서

  1. iFrame 섹선에서
  2. 페이지 로드되었는지 iFrame 내부의

그래서 이 두 다음과 같이 단면에는 운영까지도 스타일

1. IFrame 의 섹선에서 스타일

Css id '또는' 클래스 '존경' 에서 그 이름을 사용하는 스타일 수 있습니다. 또한 it in your 모피쳐 스타일 시트 스타일입니까 됩니다.


#my_iFrame{
height: 300px;
width: 100%;
position:absolute;
top:0;
left:0;
border: 1px black solid;
}


2. IFrame 내부의 로드되었는지 스타일입니까 페이지

이 페이지를 Javascript 를 통해 모 서피스에서 시켜버리므로 로드될 수 있습니다.

var cssFile  = document.createElement("link") 
cssFile.rel  = "stylesheet"; 
cssFile.type = "text/css"; 
cssFile.href = "iFramePage.css"; 

css 파일이 있는 설정한 후 iFrame 섹선에서 인정

//to Load in the Body Part
frames['my_iFrame'].document.body.appendChild(cssFile); 
//to Load in the Head Part
frames['my_iFrame'].document.head.appendChild(cssFile);

여기서 또 이렇게 iFrame 내부의 머리 부분을 사용하여 편집할 수 있는 페이지

var $iFrameHead = $("#my_iFrame").contents().find("head");
$iFrameHead.append(
   $("",{ 
      rel: "stylesheet", 
      href: urlPath, 
      type: "text/css" }
     ));
해설 (0)

우리는 salesforce. iframe 태그를 스타일입니까 삽입할 수 있습니다. [게시하기를 또한 목마르겠구나] [1]


.className
{
    background-color: red;
}




<script type="text/javascript">
    $(function () {
        $("#iFrameID").contents().find("head")[0].appendChild(cssID);
        //Or $("#iFrameID").contents().find("head")[0].appendChild($('#cssID')[0]);
    });
</script>

[1]: # 25626811 https://stackoverflow.com/questions/624979/append-a-stylesheet-to-an-iframe-with-jquery/25626811

해설 (2)