2013-06-12 70 views
2

我在單個頁面上有一個iframe,並且我將html(存儲在mysql中)加載到iframe中。 我想申請一個單獨的樣式表到iframeJQuery - 將樣式表應用於Iframe(相同的域)

下面是我在做什麼至今:

<?php 
    $storedhtml = '<strong>Testing</strong><br><br>lots more html text......'; 
?> 

<iframe id="lovely_pages" src="about:blank" style="width:99%;height:700px;" frameBorder="0"></iframe> 

<script language="javascript" type="text/javascript"> 
$(document).ready(function(){ 

    $('#lovely_pages').contents().find('html').html('<?php echo $storedhtml; ?>'); 

}); 
</script> 

這是我想申請到iframe樣式表:

<link href="/styles/iframe_only.css" rel="stylesheet" type="text/css">

我試着將樣式表到html()$storedhtml變量,但這並沒有改變任何東西。 任何人都可以看到我在做什麼不正確?

+0

看起來不像你有一個頭,身體,或在您的iFrame別的,因爲你只是插入一個簡單的字符串到documentElement,覆蓋其他一切。瀏覽器可能會嘗試修復它,但樣式應該在頭上,所以您必須插入有效的HTML或訪問瀏覽器創建的頭元素來嘗試修復您的愚蠢錯誤。 – adeneo

+0

我只是在玩弄,因爲我注意到'iframe'裏面沒有多少東西,除了簡單的字符串。 – coffeemonitor

回答

2

下面的下面的修改定勝負:

<?php 
    $storedhtml = '<strong>Testing</strong><br><br>lots more html text......'; 
?> 

<iframe id="lovely_pages" src="about:blank" style="width:99%;height:700px;" frameBorder="0"></iframe> 

<script language="javascript" type="text/javascript"> 
$(document).ready(function(){ 

    $('#lovely_pages').contents().find('head').html('<link href="/styles/iframe_only.css" rel="stylesheet" type="text/css">'); 
    $('#lovely_pages').contents().find('body').html('<?php echo $storedhtml; ?>'); 

}); 
</script> 
相關問題