2011-08-11 98 views
0

这可能是不可能的,但我正在寻找一种不同的方式在PHP页面中包含整页。目前我正在使用的方法是一个iframe。出于某些原因,我们希望摆脱iframed方法,并研究其他方法。问题是,iframe为子页面提供了一个很好的独立环境。嵌入页面没有iFrame

PHP包括因为整个路径结构上,当你包含到父页面的孩子,从父CSS/JavaScript的改变现在影响孩子,反之亦然是不可行的。这个孩子包含完整的html结构,并将其直接包含在另一个页面中会导致各种各样的欺骗行为。我们也有近2000个设计各异的子页面,所以没有什么可以通过自动脚本进行更改。毋庸置疑,我们不希望触摸子页面。

所以我的问题是,有没有办法在不使用iframe的情况下将页面包含到另一个页面中,同时仍保留子项的路径结构并且不会使两个页面相互冲突(关于代码/样式/脚本在各个)。任何提示将有所帮助。

+0

没有自动化的方法来使得这两个页面不会相互冲突,如果你只是试图包含/需要它们。从你试图做模板的东西看来,无论是谁创建了最初的网站,都确实玷污了模板化的想法。如果你不想使用iframe,那么你将不得不手动取出/更改任何问题。你可以写一个脚本来做到这一点。 – MoarCodePlz

+0

iframe有什么问题? – Quentin

+0

在我们体验过的移动浏览器中,iframe有很多小问题,而且W3C似乎想要转储它们,所以前景不确定。 –

回答

0

您可以使用Ajax和孩子复位风格。例如:

<div id="ajax_container"> 
    .. Content Loaded by Ajax .. 
</div> 

div#ajax_container * { 
    margin: 0px; 
    padding: 0px; 
    border: none; 
    ... 
    font-family: Arial; 
} 
+0

问题仍然存在,由Ajax加载的内容将是一个完整的HTML页面(完整的DOCTYPE,HTML,头,身体标签等)。扔在一个div内不会变好。然后还有孩子的元素(图像,CSS,js)的路径现在将从父页面引用并且会中断。 –

+0

好的,我不知道。嗯,除此之外,几乎没有其他方式,我认为... – elslooo

相关问题