动态插入iframe的网页的Html看起来与原始页面略有不同

时间:2012-05-19 05:28:05

标签: jquery css debugging node.js iframe

我有一个网页,我抓住了html,通过套接字通过socket.io将其发送到另一个带有空iframe的页面,并动态地将html插入到iframe中。

我用来插入html的代码如下:

frame.open();
frame.write(html);
frame.close();

然而,似乎DOM元素的一些大小和间距与原始页面的呈现略有不同。

这里有两个屏幕截图,向您展示我的意思。很难看出差异,但顶部的搜索栏的长度略有不同,每首歌曲的标题与大缩略图的距离略有不同:

原始页面:

enter image description here

带有动态插入html的iframe的页面

enter image description here

html的唯一区别是将相对网址更改为绝对网址。除此之外,html,浏览器和窗口大小是相同的。此外,CSS样式也是一样。

这里发生了什么?

1 个答案:

答案 0 :(得分:1)

一些默认设置(如边距和填充)在怪癖和标准模式之间有所不同 因此,请确保DOCTYPE声明与原始声明相同。

或者更正式地说,如果原始页面具有触发标准模式的任何DOCTYPE声明,则iframe中的源也需要具有类似的DOCTYPE。 (不必相同,只要它们触发相同的模式。)