2016-04-28 103 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中。