25yicms利用ASP.NET(C#)+MSSQL技术全力打造功能最强大的营销型企业网站管理系统,企业做网站系统,做网站软件,提供div+css企业网站模板。
阅读内容

frameset(frame)中的内容不显示解决UTF-8编码去掉BOM头


时间:2014/12/07   来源:企业网站管理系统
   或许大家在开发当中会遇到这样一个奇怪的问题:同样的一个文件,我们用firefox打开可以正常显示,我们用其它的浏览器却无法显示内容。我在开发当中就遇到过这样的问题,这个文件里是iframe的代码,用firefox打开正常,用其它的浏览器就是不显示iframe里的内容,想了很久,良思不得其解。刚开始以为是缓存的问题,删除电脑上所有的缓存,问题依旧存在。
  
  文件代码如下:  
  <frameset rows="97,*" cols="*" frameborder="no" border="0" framespacing="0"> 
  <frame src="25yi.aspx" name="topFrame" scrolling="No" noresize="noresize" id="topFrame" />  
  <frame src="www25yi.aspx" name="mainFrame" id="mainFrame"  /> 
  </frameset> 
  </frameset>
  
  frame里的两个文件单独打开是有内容显示的,但是只是把上面的代码放到任何一个文件里就是不显示,不论我怎么操作。刚开始以为是代码的问题,但是仔细查阅了frameset的语法,再次检查上述代码,完全是正常的,没有任何问题。
  
  自己也在网上查询了类似的问题,最后从一篇文章里查询到可能是因为编码的问题,因为BOM头是放在UTF-8编码的文件的头部的,占用三个字节,用来标识该文件属于UTF-8编码。现在已经有很多软件识别BOM头,但是还有些不能识别BOM头,比如PHP就不能识别BOM头,这也是用记事本编辑UTF-8编码后执行就会出错的原因了。
  
  找到问题所存在的原因后,那么问题就很好解决了。我从网上下载了一款名为editplus的软件,这款软件是一套功能强大,可取代记事本的文字编辑器。我用editplus打开不显示内容的页面,然后另存为(在选项里的编码格式里选择UTF-8 无BOM头)就保存好文件。重新运行文件,OK,所有问题解决了。
点击次数:       打印此页  关闭