我遇到一个很奇葩的IE兼容问题

songfuqiang 2014-07-05 10:04:44
我用zzcms做了一个 保健品招商网:http://www.bjp51.net 用浏览器打开,然后保存到本地,用IE打开就跑偏了,

然后打开保存的页面,

把第一句用下面段替换掉

再次打开就不偏了,其实复制进去和替换的代码是一样的,请问这是什么原因呢?
...全文
468 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
songfuqiang 2014-07-09
  • 打赏
  • 举报
回复
已经解决了,我把4月份到今天的文件全部编码了一次,问题解决了,就是rom的问题,谢谢大家了。
songfuqiang 2014-07-09
  • 打赏
  • 举报
回复

<?php
require("inc/conn.php");
include("inc/top.php");
include("inc/bottom.php");
include("label.php");
include("zs/subzs.php");
include("fly.php");
if (isset($_GET['skin'])){
$siteskin=$_GET['skin'];
}else{
$siteskin=siteskin;
}
$file=dirname(__FILE__)."/template/".$siteskin."/index.htm";
$fso = fopen($file,'r');
$strout = fread($fso,filesize($file));
$strout=str_replace("{#siteskin}",$siteskin,$strout) ;
$strout=str_replace("{#sitename}",sitename,$strout) ;
$strout=str_replace("{#siteurl}",siteurl,$strout) ;
$strout=str_replace("{#pagetitle}",sitetitle,$strout);
$strout=str_replace("{#pagekeywords}",sitekeyword,$strout);
$strout=str_replace("{#pagedescription}",sitedescription,$strout);
$strout=str_replace("{#sitebottom}",sitebottom(),$strout);
$strout=str_replace("{#sitetop}",sitetop(),$strout);
if (strpos($strout,"{@")!==false) $strout=showlabel($strout);//先查一下,如是要没有的就不用再调用showlabel

if (flyadisopen=="Yes") {
$strout=str_replace("{#flyad}",Showflyad("漂浮广告"),$strout);
}else{
$strout=str_replace("{#flyad}","",$strout);
}
if (duilianadisopen=="Yes"){
$strout=str_replace("{#duilianad}",showduilianad("对联广告左侧","对联广告右侧"),$strout);
}else{
$strout=str_replace("{#duilianad}","",$strout);
}
echo  $strout;
?>
这是首页的代码,我刚才一个个检查了 发现一个不是去头的rom 我编码后还是不行。
songfuqiang 2014-07-09
  • 打赏
  • 举报
回复
引用 14 楼 xuzuning 的回复:
显然的的主页不是纯 html 文件 既然是 php 程序,那么就免不了有 include 的文件 被引入的文件本身没有代码输出,所以就把 BOM 头留在页面输出的前面了 如果你还有模板文件,那么在输出的 HTML 中间也可能会有 BOM 影响布局
一个个去特别麻烦,有没有一段php代码,让他强制 ROM吗?
xuzuning 2014-07-09
  • 打赏
  • 举报
回复
显然的的主页不是纯 html 文件 既然是 php 程序,那么就免不了有 include 的文件 被引入的文件本身没有代码输出,所以就把 BOM 头留在页面输出的前面了 如果你还有模板文件,那么在输出的 HTML 中间也可能会有 BOM 影响布局
songfuqiang 2014-07-09
  • 打赏
  • 举报
回复
我有什么方法让他成批去掉呢? 一个个去好麻烦哟
songfuqiang 2014-07-09
  • 打赏
  • 举报
回复
引用 10 楼 xuzuning 的回复:
但是 http://www.bjp51.net 的前20个字节的十六进制内码为 efbbbfefbbbf3c21444f43545950452068746d6c 而 utf-8 的 BOM 头的十六进制内码为 efbbbf 所以你还有两个相关文件的 BOM 头没有去除
您的意思是,主页已经去了,引用的其它页面可能没去完?
xuzuning 2014-07-09
  • 打赏
  • 举报
回复
echo bin2hex(file_get_contents('http://www.bjp51.net/', false, null, 0, 20));
efbbbfefbbbf3c21444f43545950452068746d6c
xuzuning 2014-07-09
  • 打赏
  • 举报
回复
但是 http://www.bjp51.net 的前20个字节的十六进制内码为 efbbbfefbbbf3c21444f43545950452068746d6c 而 utf-8 的 BOM 头的十六进制内码为 efbbbf 所以你还有两个相关文件的 BOM 头没有去除
songfuqiang 2014-07-09
  • 打赏
  • 举报
回复
引用 8 楼 xuzuning 的回复:
在编辑器里选中 无BOM utf-8

[quote=引用 5 楼 songfuqiang 的回复:]
[quote=引用 4 楼 xuzuning 的回复:]
先把 BOM 头去掉再看

哪应该怎么去呢?[/quote][/quote]
已经是这样了,在IE中还是跑偏
xuzuning 2014-07-06
  • 打赏
  • 举报
回复
在编辑器里选中 无BOM utf-8
引用 5 楼 songfuqiang 的回复:
[quote=引用 4 楼 xuzuning 的回复:] 先把 BOM 头去掉再看
哪应该怎么去呢?[/quote]
songfuqiang 2014-07-06
  • 打赏
  • 举报
回复
引用 3 楼 Novolee 的回复:
可能是编码问题,或者BOM的问题
可能是这样,不知道怎么编码
songfuqiang 2014-07-06
  • 打赏
  • 举报
回复
引用 2 楼 jordan102 的回复:
其他浏览器会跑偏吗? 你说放在模板里会跑偏,那要看你是怎么放的。
就是直接把哪段代码替换掉模板的代码
songfuqiang 2014-07-06
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
先把 BOM 头去掉再看
哪应该怎么去呢?
xuzuning 2014-07-06
  • 打赏
  • 举报
回复
先把 BOM 头去掉再看
李睿_Lee 2014-07-05
  • 打赏
  • 举报
回复
可能是编码问题,或者BOM的问题
一起混吧 2014-07-05
  • 打赏
  • 举报
回复
其他浏览器会跑偏吗? 你说放在模板里会跑偏,那要看你是怎么放的。
songfuqiang 2014-07-05
  • 打赏
  • 举报
回复
归纳一句话就是:本来是跑偏了的,在dreamweaver中找了一段同样的代码替换后就可以了,但把这段代码放在模板里,还是会跑偏,大家有遇到过这种情况没、?

20,360

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧