从引用php页面回发后,Internet Explorer css样式中断

gtr*_*971 5 css php post caching internet-explorer-9

我以为我会把它扔到那里只是为了看看是否有人遇到过这个问题,并且知道可能的原因/解决方案.

我有一个PHP页面,它加载一个数据表(内置在PHP中),其中包含一条EDIT链接,该链接在每条记录上被回显.该链接将您带到编辑页面,其中包含用户ID和记录ID作为参数添加到编辑页面中的URL.一旦编辑完成并且用户提交更改,它们将被带回显示记录数据表的页面.一切都运行成功,除了当它们返回到引用页面时,DIV现在都被推到左边,而不是像第一次加载页面时那样很好地居中.此外,很明显其他一些风格也在回程中丢失了.这仅发生在IE(使用IE9),而不是在FF或Chrome中.

我已经使用了Fiddler和W3C验证器来尝试缩小问题范围,但我的直觉告诉我这是IE缓存内容的问题,或者是在应用样式之前将一些东西发回到页面中的一个愚蠢的PHP问题.

有什么想法吗??

谢谢!


解决了:

感谢GolezTrol提供的最初建议,使我朝着正确的方向前进!

我仔细研究了HTML,并在文档的顶部找到了答案.

这种方式的工作方式是加载PageA.php时,HTML和样式加载正常,页面没有错误.当您单击数据表中的EDIT链接时,它会将您带到PageB.php,其中可以编辑信息并将其提交回数据库,此时您被重定向回PageA.php以查看更新的表.再次加载PageA.php时,页面被破坏,我的DIV被推到左边框,一些样式丢失了.

发生错误的原因是,从引用的PageB回来时发布的javascript警告会让您知道数据库已更新.PHP脚本在DOCTYPE声明和HTML的其余部分之前将该警报注入到文档中,从而炸毁了我的页面.为了解决这个问题,我只是用true/false变量替换了初始警报,然后将PHP注入警报放在文档正文中.一切都很好!

Firefox和Chrome处理了这个错误,但IE9对于糟糕的程序员来说要困难得多.:-)

感谢所有快速回复和建议!

gtr*_*971 1

感谢 GolezTrol 最初的建议,引导我走向正确的方向!

我仔细查看了 HTML,并在文档顶部找到了答案。

其工作原理是,当加载 PageA.php 时,HTML 和样式加载正常并且页面没有错误。当您单击数据表中的“编辑”链接时,您将进入 PageB.php,可以在其中编辑信息并将其提交回数据库,此时您将被重定向回 PageA.php 以查看更新后的表。当 PageA.php 再次加载时,页面被破坏,我的 DIV 被推到左边框,并且一些样式丢失。

该错误是由于从引用的 PageB 返回时发布的 javascript 警报所致,该警报让您知道数据库已更新。PHP 脚本在 DOCTYPE 声明和其余 HTML 之前将该警报注入到文档中,因此炸毁了我的页面。为了解决这个问题,我只是用 true/false 变量替换了初始警报,然后将 PHP 注入的警报放置在文档正文中。现在一切都好啦!

Firefox 和 Chrome 处理了这个错误,但 IE9 对于糟糕的程序员来说要困难得多。:-)

感谢您的快速回复和建议!