iPhone内置Safari进入百度搜索图片,图片不显示是什么原因?

发布网友 发布时间:2022-04-23 02:30

我来回答

14个回答

懂视网 时间:2022-05-15 20:56

原文作者:Thijs van der Vossen

本文翻译自《How to work around the Mobile Safari image resource limit》,原文写于2010年10月25日。可能部分已经不再适用。

翻译本文的目的是作为《读Zepto源码之assets模块》的附文,读Zepto源码系列文章已经放到了github上,欢迎star: reading-zepto

正文开始:

受限于 IpadIphone 的可用内存,Safari 浏览器的移动端会比桌面端有着更严格的资源使用

其中之一是每个 HTML 页面的图片数据总量。当移动端的 Safari 浏览器加载了 810MB 的图片数据后,就会停止加载其他图片,甚至浏览器还会崩溃。

大多数网站都不会受到这条的影响,因为保持页面合理的大小通常是一种很聪明的做法。

但是,在下面的场景中,你可能会遇到麻烦,如大型的图片画廊和幻灯片,或者是异步加载新数据的 web 应用,例如模拟不同版块切换时的原生动画(是的,你可以用移动端 Safari 模拟 Flipboard 的切换效果 )。

我们有充足的理由相信,只通过删除不再需要的图片元素,就可以不受这条的影响:

var img = document.getElementById('previous');
img.parentNode.removeChild(img);

但是然并卵,因为某些原因,将图片从 DOM (或者一个包含图片的元素)中删除时,图片的真实数据并没有释放。真是头大啊!

而将图片的 src 属性设置为其他的(更小的)图片链接,却起到了作用。

var img = document.getElementById('previous');
img.src = 'images/empty.gif';

替换掉 src 属性后,旧的图片数据最终得到了释放。

我已经彻底测试过这种方法,下面几个方面是需要注意的:

  1. src 属性设置为其他图片后,图片数据不会立即释放,需要一段时间让垃圾回收器来真正地释放内存。这意味着,如果你太块地插入图片,依旧可能会陷入麻烦中。

  2. 在移动端 Safari 触发后,即便删除一部分或者全部已经加载的数据,Safari 也不会再加载额外的图片,这种情况即便在切换到其他页面时也继续存在。这意味着在测试这项技术时,你需要经常重启 Safari(这差点把我逼疯了)。

  3. 如果你想将图片元素从 DOM 中删除,你还必须确保在更改 src 前,元素不能为垃圾回收掉,否则,旧图片数据不会被释放。下面这个是最好的解决方案:

var img = document.getElementById('previous');
img.parentNode.removeChild(img);
img.src = 'data:image/gif;base,' + 
 'R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=';
window.timeout(function() {img = null;
}, 60000);

你可以看到,我使用了 data URI 作为替换图片。

(如果你只是删除图片元素, iPad 在加载8张图片后会停止继续加载,如果用 Zeptoassets 插件,会持续加载。)

在上周我和 Thomas Fuchs 解释了这项技术后,他立即将它加入了 Zepto 中。这个周末,我贡献了一个测试函数,你可以自己用它来测试下。

热心网友 时间:2022-05-15 18:04

进入你的iphone主菜单界面,点击“设置”图标,进入设置界面!

在设置页面,选择“通用”选项进入!

在通用选项卡页面选择“访问*”进入。

在进入页面设置前,需要你输入开始设定的密码方可进行设置,输入访问密码进入!

在控制页面我们发现safari开关处于关闭状态,点击进入safari设置页面!

在safari设置界面打开右侧的开关!如下图所示!

设置完毕,我们回到主界面,久违的safari图标回来了!

热心网友 时间:2022-05-15 19:22

看看是否禁用了cookie,设置-safari浏览器-阻止所有cookie-关闭,网站就可以显示图片了

热心网友 时间:2022-05-15 20:56

1、网速太慢,建议切换WIFI环境下试试
2、设置safari是否开启了无图模式

热心网友 时间:2022-05-15 22:48

两种可能。
1,系统被卡住了,进入设置-Safari,操作“清理历史与网站数据”,退出所有后台,关机重启。
2,网络质量不良,网速慢,导致手机加载慢。手机下载腾讯手机管家,对网络进行测速。

热心网友 时间:2022-05-16 00:56

检测是不是网速问题

使用Safari设置其他搜索引擎

双击home,重新打开浏览器


热心网友 时间:2022-05-16 06:02

很可能是你的网络问题,只有3G,有没有wifi试一下看,如果正常那就是数据流量卡

热心网友 时间:2022-05-16 09:00

可能是DNS问题,
你换成百度的试试:180.76.76.76

热心网友 时间:2022-05-16 15:46

看到你用的是3G网络,80%是因为网络的问题。

2条建议如下:

换4G网络网络

连接WIFI网络

热心网友 时间:2022-05-16 19:34

手机重启后,就可以了。

热心网友 时间:2022-05-16 23:38

1、可能是网络的原因
2、可能是手机过旧
3、版本太新或太旧

热心网友 时间:2022-05-17 04:00

到safari设置中,进入高级选项,开启JavaScript选项即可

热心网友 时间:2022-05-17 08:38

在设置里面,打开阻止所有cookie就好了

热心网友 时间:2022-05-17 13:32

还有人用内置浏览器?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com