阅读:3793回复:7
保存的网页用 IE 打开无法显示图片和式样
发觉用 Firefox 保存的网页( Web Page, complete 方式)用 IE 打开就无法显示图片,网页的样式也变得走样了,字体大小、排版什么的都变了,网页中的图片也显示不了。但打开网页的目录其中的图片是有的。
用 Firefox 自己打开显示的和原本的网页一样,但问题是网页中图片指向是原网站上的链接而不是所保存的本地目录的地址。 看来 Firefox 保存网页有问题? |
|
1楼#
发布于:2015-06-16 14:39
用IE打开网页并保存,再用FF打开也一样不能得到完整的网页,只能说浏览器差异吧,因为并没有统一的保存网页的标准。你可以使用 mozilla archive format 扩展统一保存为 MHT 格式。
网页中图片指向原网站链接是图片本来就是一个链接,所以保存的时候将该图片的链接也一并保存,实际上这些图片都还是取自本地。你用 IE 保存一个网页到本地再用IE打开,里面的图片链接也是。 |
|
|
2楼#
发布于:2015-06-17 13:17
你保存的是网页,全部吗?
|
|
3楼#
发布于:2015-06-17 14:06
|
|
4楼#
发布于:2015-06-17 14:28
的确会存在这样的问题,不过楼主描述还是不够细致。
就当前帖子页面为例,用Firefox36完整保存后用IE8打开是这个样子的: 图片:z1.png 用IE8完整保存然后由IE8自己打开是这个样子的: 图片:z2.png 而实际上IE8直接打开论坛在线页面是这样子的: 图片:z3.png (回复数不同那个地方请忽略) 所以实际上,IE8自己都不能保证自己保存下来的网页的完整性,Firefox至少能保证。 -------- 对比保存下来的文件夹,首先可以看到IE8不保存js文件,从而由js处理的东西都失效了;其次CSS文件也经过重排,而且把应用于多个元素的样式代码拆解从而使部分样式丢失(例如【body, table{}】这样的语句不复存在),从而造成IE8自己保存下来的网页样式出现缺失;而Firefox保存的样式表并没经过重排,恐怕因此被IE8直接忽略掉。 再对比html源文件,发现IE8执着地将所有标签改成全大写,但代码却没有经过重排甚至显得乱糟糟,部分属性中双引号被去掉(例如【class="floor_left"】变成【class=floor_left】,但带空格的属性值没去掉),属性的排列也发生变化,文件头的更是有巨大区别: IE8: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0037)https://www.firefox.net.cn/read-50883 --><HTML><HEAD><TITLE>保存的网页用 IE 打开无法显示图片和式样 - Powered by phpwind</TITLE><META charset=UTF-8><META content=chrome=1 http-equiv=X-UA-Compatible><META name=GENERATOR content="MSHTML 8.00.6001.23588"><META name=description content="发觉用 Firefox 保存的网页( Web Page, complete 方式)用 IE 打开就无法显示图片,网页的样式也变得走样了,字体大小、排版什么的都变了,网页中的图片也显示不了。但打开网页的"><META name=keywords content="Firefox 正式版和测试版">Firefox36: <!doctype html> <html> <head> <meta charset="UTF-8" /> <title>保存的网页用 IE 打开无法显示图片和式样 - Powered by phpwind</title> <meta http-equiv="X-UA-Compatible" content="chrome=1"> <meta name="generator" content="phpwind v9.0 20140228" /> <meta name="description" content="发觉用 Firefox 保存的网页( Web Page, complete 方式)用 IE 打开就无法显示图片,网页的样式也变得走样了,字体大小、排版什么的都变了,网页中的图片也显示不了。但打开网页的" /> <meta name="keywords" content="Firefox 正式版和测试版" />结论就是,IE8重排CSS文件造成最终保存下来的文件显示不正常,而不重排的CSS又不进行离线读取(IE8的开发人员工具对离线页面完全不读取CSS)。 不知道楼主用哪个IE版本 |
|
|
5楼#
发布于:2015-06-17 14:36
好像是编码兼容性的问题。以本页为例:
用Firefox保存,用Firefox打开,一切正常。 用Firefox保存,用IE11打开,的确没有所有样式和图片。 然后尝试,在Firefox中将本页保存为1.htm(HTML,完整),再用IE11打开就是正常的。 尝试将原中文标题保存的htm文件中的 %E4%BF%9D%E5%AD%98%E7%9A%84%E7%BD%91%E9%A1%B5%E7%94%A8%20IE%20%E6%89%93%E5%BC%80%E6%97%A0%E6%B3%95%E6%98%BE%E7%A4%BA%E5%9B%BE%E7%89%87%E5%92%8C%E5%BC%8F%E6%A0%B7%20-%20Powered%20by%20phpwind_files 替换为解码后的 保存的网页用 IE 打开无法显示图片和式样 - Powered by phpwind_files 并保存,用IE11打开,就是正常的了。 在IE11的F12工具-网络中查看,路径中的中文的确都乱码了。然而网页编码已设置为UTF-8,自动选择也不行。 用IE11保存的文件是有签名UTF-8(这点不重要),并且scr都是非URL编码形式的中文。 用Firefox保存的文件是无签名UTF-8,src是经过URL编码的中文。 直接右键查看不可用图片的属性,复制出来的file:///地址,在IE11中无法打开,在Firefox中打开正常。 IE可能是不支持识别或访问这种编码后的file url吧,或者是某种兼容性问题或bug,未查资料。 |
|
6楼#
发布于:2015-06-17 15:02
yfdyh000:好像是编码兼容性的问题。以本页为例:手机不方便 简单搜了一下关键字 搜到了这篇 http://www.howtocreate.co.uk/saving.html 是不是能解释这个问题 |
|
|
7楼#
发布于:2015-06-17 15:46
pcxfirefox:手机不方便 简单搜了一下关键字 搜到了这篇看起来无关。 Encoding problems是说保存/输出的字符编码不正确。Broken saved pages似乎是说IE以外的浏览器都显示不正确,以及脚本不正常问题。Internet Explorer breaks CSS说IE忽略不认识的CSS样式。还有些没完全看懂。 这篇文章看上去有年头了,表格还是IE6+和Opera8、9,很多情况早已变化。 |
|