首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在IE中提供静态图像会导致Quirks模式

在IE中提供静态图像会导致Quirks模式
EN

Stack Overflow用户
提问于 2013-07-24 03:52:23
回答 1查看 123关注 0票数 0

按照前面提到的here方法,我可以成功地提供png、gif或任何我想要的图像,但由于我无法控制页面的<!DOCTYPE> (据我所知),IE9 (以及其他)决定将“文档模式”设置为"Quirks“作为默认设置。

IE成功地显示了图像(只是文档边缘的轻微阴影提供了任何问题的线索),所以也许我应该满足,并忽略以这种方式创建的页面所具有的可怕的怪癖模式状态。

我的方法类似于上面答案中的方法:

代码语言:javascript
运行
复制
# Other processing that is not output / echoed
# <-- Can something else be sent here to calm IE down?
header('Content-Type: image/png');
readfile($imagePath);

根据IE的开发人员工具,这种方法生成的HTML文档如下所示:

代码语言:javascript
运行
复制
<html>
    <head>
        <title></title>
    <body>
        <img src="theUrlOfThePage" />

有没有一种方法可以在不妨碍发送的header和我想要输出的图像的情况下调整(或缺少) DOCTYPE?我在上述过程的不同阶段尝试传递DOCTYPE的尝试破坏了正确显示图像的能力。

EN

回答 1

Stack Overflow用户

发布于 2013-10-09 10:33:42

使用包含doctype的header模板:

代码语言:javascript
运行
复制
<?php
echo <<<HEADER
<!doctype html>
  <html>
     <body>

HEADER;
?>

和一个结束文件的页脚模板:

代码语言:javascript
运行
复制
<?php
echo <<<FOOTER
  </body>
</html>
FOOTER;
?>

在主文件中,既包括现有内容,也包括两者:

代码语言:javascript
运行
复制
<?php
include('header.php')
include('content.php')
include('footer.php')
?>

使用输出缓冲在内部缓存输出字符串,并一次性将其发送给用户。在长时间运行的脚本中,您还需要定期刷新输出缓冲区,以便将一些反馈发送到HTTP客户端。这可以使用ob_end_flush()来完成。此函数还会关闭输出缓冲,因此您可能希望在刷新之后立即再次调用ob_start()。

链接头将是有用的,但仅在Firefox中:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17819764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档