2016-11-17 4 views
2

私はプールアプリのWebサービスから組み込みのiframeを持っています。私はH1を非表示にしたり、削除したいiframeから要素を削除するJquery

<div id="18993" class="os_widget" style="..." ... > 
    <div class="os_widget_container os_widget_container0" style="..." > 
     <iframe " name="os_frame" style="..." src="... "> (no id)  
      <!DOCTYPE html> 
        ... 
        <body> 
         ... 
         <h1> </h1> 
         ... 
        </body> 
      </html> 
     </iframe> 
    </div> 
</div> 

:インラインフレームがロードされたHTMLの構造がある

<script> 
    (function(d, s, id){ 
    var js, 
     fjs = d.getElementsByTagName(s)[0], 
     p = (('https:' == d.location.protocol) ? 'https://' : 'http://'), 
     r = Math.floor(new Date().getTime()/1000000); 
    if (d.getElementById(id)) {return;} 
    js = d.createElement(s); js.id = id; js.async=1; 
    js.src = p + "www.opinionstage.com/assets/loader.js?" + r; 
    fjs.parentNode.insertBefore(js, fjs); 
    }(document, 'script', 'os-widget-jssdk')); 
</script> 
<div id="18993" class="os_widget" data-path="...." data-comments="false" data-of="..."></div> 

:私はこのコードを追加し、プールのIFRAMEを追加するには 。

A)

<script> 
$(document).ready(function(){ 

var iFr = $('iframe'); 
iFr.load(function() { 
    iFr.attr('id','something'); 
    iFr.contents().find('h1').css({'display' : 'none'}); 
    //iFr.contents().find('h1').remove(); 
    //$('something').contents().find('h1').hide(); 
    }); 
}); 
</script> 

は、私もそれは私がiFrameにすると、もちろん私はH1を削除したり、隠すことができないIDを追加することはできません、ない成功を収めてこれらを試してみましたB)

$(document).ready(function(){ 
var f = $("iframe"); 
f.load(function(){ 
    f.find(' h1').css({'display' : 'none'}); 
    //f.find('h1').hide(); 
    //f.contents().find('h1').remove(); 
    }); 
}); 
</script> 

すべてのヘルプ、素晴らしいことだと ベスト 感謝ホセ

+1

iFrame内の別のURL /ドメインからコンテンツを取得する要素にアクセスすることはできません – empiric

+1

ありがとう@empiric例外はありません。 –

+1

[this](http://madskristensen.net/post/iframe-cross-domain-javascript-calls)ressourceが役立つかもしれません。しかし、一般的に、iFramesのソース/ドメインへの完全なアクセス権がない場合、これはセキュリティ上の理由から制限されています。 – empiric

答えて

1

セキュリティ上の理由から、あなたがそのソースが別のドメインのフォームを来てとのiFrameのコンテンツにアクセスすることはできません、hereを説明されているいくつかのexcpetionsがありsame-origin policy

と呼ばれます。

iframe内のhtmlにアクセスする最も信頼性の高い方法は、iframeソースまたはドメインにアクセスできる場合です。

それはあなたのドメインの下にHTMLを掻き集め、それをあなたのドメインの下に含めることになりますが、私は間違いなくこのことをお勧めしません。 多くの機能が失われ、重大なアップデートを見逃している可能性があります。

+0

説明に感謝します。 –

関連する問題