相关疑难解决方法(0)

如何强制WebKit重绘/重绘以传播样式更改?

我有一些简单的JavaScript来实现样式更改:

sel = document.getElementById('my_id');
sel.className = sel.className.replace(/item-[1-9]-selected/,'item-1-selected');
return false;
Run Code Online (Sandbox Code Playgroud)

这适用于最新版本的FF,Opera和IE,但在最新版本的Chrome和Safari上失败.

它会影响两个后代,这些后代恰好是兄弟姐妹.第一个兄弟更新,但第二个没有.第二个元素的子元素也具有焦点,并包含<a>标记,该标记在onclick属性中包含上述代码.

在Chrome"开发人员工具"窗口中,如果我轻推(例如取消选中并检查)任何元素的任何属性,则第二个兄弟会更新为正确的样式.

是否有一种解决方法可以轻松地以编程方式"轻推"WebKit做正确的事情?

css safari webkit google-chrome

243
推荐指数
9
解决办法
17万
查看次数

iOS Safari使用"-webkit-transform"耗尽内存

http://jsfiddle.net/ES4xG/8/使大多数视网膜设备崩溃.

iOS Safari"轻松"耗尽内存并在使用某些-webkit-transform指令时崩溃.这种方法提供了令人印象深刻的图形,但尤其是在视网膜显示器上,似乎消耗了大量内存并导致崩溃.

上面的演示显示的文本显示150次,否则将在PC浏览器上正常运行:

字体大小和元素数量被夸大以引起崩溃.的-webkit-transform: translate3d(0,0,0)意图强制每个元件的GPU加速绘图.

在实际应用中,我们使用translateX,Y,Z,scale和其他人,似乎被连接到GPU使用相同的方式.还使用了图像和精灵,但它们没有直接连接到崩溃.

鉴于以上情况:

1)iOS Safari崩溃是一个错误吗?

2)插入Apple仪器内存监视器,虚拟内存攀升,似乎是崩溃的罪魁祸首.究竟是什么使用这个记忆?

3)是否有其他GPU加速方法不会占用大量内存?

gpu mobile-safari css3 webgl ios

21
推荐指数
2
解决办法
2万
查看次数

标签 统计

css ×1

css3 ×1

google-chrome ×1

gpu ×1

ios ×1

mobile-safari ×1

safari ×1

webgl ×1

webkit ×1