2016-04-28 125 views
-3

我需要在下面的僞頁面加載一個div裏面的html頁面:如何隔離div內的CSS規則?

<html> 
    <head></head> 
    <style> 
     body { 
      background-color: yellow; 
     } 
    </style> 
    <body> 
     <div style="display:none"> 
      <html> 
       <head></head> 
       <style> 
        body { 
         background-color: blue; 
        } 
       </style> 
       <body> 
        <div style="display:none"> 
         ... 
        </div> 
       </body> 
      </html> 
     </div> 
    </body> 
</html> 

什麼自然地發生在這個代碼是背景將變成藍色,因爲它是在頁面的中間被改變。有沒有辦法隔離這個div?所以它的行爲與iframe類似。 div內的內容存儲在一個變量中,所以我認爲我不能使用一個框架,因爲這個html代碼並沒有存儲在一個文件中,而是將它用作一個源代碼。

謝謝!

+1

雖然這個HTML會在大多數瀏覽器中加載,但它是非常無效的HTML。我建議你先弄清楚如何將''的嵌入式HTML去除(包括)''以及結束''。 – Tigger

+0

更好地創建一個正文,而不是新的html正文標籤使用自定義div。 –

+0

我有一個腳本可以發送電子郵件給多個用戶,但我想讓用戶在發送之前預覽html電子郵件。 –

回答

2

這只是錯誤的。 一個HTML文檔只能有一個html標籤和一個body標籤,否則它將是一個無效的文檔,瀏覽器不會允許它。

如果你加載一個iframe,相反,它會有他自己的#document,這很好。

2

由於安全風險,您無法將網站加載到沒有iframe的網站。

你唯一能做的就是用php這樣的服務器端腳本加載正則表達式的頭部,然後把剩下的部分發送到你的div中。