服务器端代码只崩溃IE?

时间:2011-05-27 14:37:50

标签: php codeigniter

奇怪的问题:PHP运行一个生成字符串的嵌套foreach(基本上是一个显示人们假期的日历)。

此字符串进入$data['grid']并发送到视图。 var_dump显示:string(188263)

当使用FF和Chrome查看时,字符串在网页上打印得很好但是出于某种原因,当使用IE6,8和9(未在7中测试)查看时,它每次都会崩溃浏览器;它挂起,屏幕上什么都没有出现。

IE可以在控制器中打印出来时显示字符串,因此在传递给视图之前。

这在IE中运行良好:

print $str; die;
$data['grid'] = $str;
$this->load->view('conge', $data);

这会崩溃IE:

//print $str; die;
$data['grid'] = $str;
$this->load->view('conge', $data);

页面的总“权重”为192KB,没有JS运行。感觉就像是一个PHP /内存问题,但“IE”只存在于IE中的事实没有多大意义。

任何想法如何调试?

编辑:当我将FF的渲染输出保存到静态HTML文件中并在IE中加载时,它会崩溃。打印出来的字符串没有换行符(loooong)但是当我添加\ n时问题仍然存在。无论如何,更近了一步。

EDIT2:这似乎是由于HTML标记中的错误导致IE崩溃(?!)。结案!

1 个答案:

答案 0 :(得分:0)

服务器端代码不会使浏览器崩溃。

生成的HTML文件可能会导致浏览器崩溃,因此您需要仔细检查输出的HTML。

将w3c验证服务指向URL并查看其返回的内容。

如果没有结果,则开始注释掉标题的大部分,然后是主体等,直到你获得成功的渲染,然后你可以调查一小部分代码。

顺便说一下,我假设192k包含图像,CSS等其他怪物HTML文件!