`
weina
  • 浏览: 146680 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

终结IE6下背景图片闪烁问题

    博客分类:
  • html
阅读更多
a {}{
  background:url(images/normal.gif);
}
a:hover {}{
  background:url(images/hover.gif);
}

如果为超级链接定义上述的 css样式以实现鼠标悬浮时的动态效果,在firefox下是没有什么问题的,第一次加载之后,浏览器都会从缓存读取背景图片;而IE6在这里有一个 bug,它每次都从服务器端读取背景图片,结果就是,若服务器反应较慢hover效果就会出现短暂的空白,令人极度不爽。


一直以来都是通过“两张背景图片合并、background-postion控制位置”的方式解决问题的,效果差强人意。今天无意中从一个老外的网站上发现了一个比较妥善的解决方案,具体来说就是在页面中加入一段简单的javascript脚本,告诉ie6:本地有背景图片的话就不要麻烦服务器了。
document.execCommand("BackgroundImageCache",false,true);

关于这段脚本的放置方式有两种:

1.纯css方式,在css中加入如下代码
html {}{
    filter: expression(document.execCommand("BackgroundImageCache", false, true));
}

2.随便在页面中哪个位置(head、body或者onload)调用上面提及的脚本,例如:
    <script type="text/javascript">
        document.execCommand("BackgroundImageCache", false, true);
    </script>

鉴于expression严重影响浏览器效率,建议采用第二种方式。

最后,总结完整方案:普通、hover状态对应的图片合并成一张,css中通过background-postion控制其位置,页面中加入从缓存读取背景图片的javascript脚本。

附英文地址 http://evil.che.lu/2006/9/25/no-more-ie6-background-flicker
分享到:
评论
1 楼 领悟人生 2010-05-02  
太感动了,我的项目大的提升。从1700多次的请求,减至200多次。

相关推荐

    谷歌浏览器2021插件使用.docx

    1. **快捷工具**:这款插件提供了自定义快速访问菜单的功能,用户可以保存未提交的表单数据,设定快捷键,实现网址一键通,查看原始图片,使用图片放大镜,甚至将图片设为桌面背景。此外,还有独立视频播放功能,...

    scratch少儿编程逻辑思维游戏源码-战舰 v2.0.zip

    scratch少儿编程逻辑思维游戏源码-战舰 v2.0.zip

    (E卷,100分)- 最大矩阵和(Java & JS & Python & C).html

    (E卷,100分)- 最大矩阵和(Java & JS & Python & C).html

    C#实现WebSocket源码

    WebSocket是一种在客户端和服务器之间建立持久连接的协议,它允许双方进行双向通信,极大地提高了实时性,被广泛应用于即时通讯、在线游戏、股票交易等领域。本篇将详细讲解如何使用C#来实现WebSocket,以及Fleck库在其中的作用。 WebSocket协议基于HTTP的握手过程,但一旦连接建立,它就不再依赖HTTP,而是通过TCP直接通信。在C#中,我们可以利用.NET Framework或.NET Core提供的System.Net.WebSockets命名空间来创建WebSocket服务器和客户端。然而,对于更高级的功能和更好的灵活性,开发者通常会选择第三方库,如Fleck。 Fleck是C#中一个轻量级且高效的WebSocket服务器实现。它提供了丰富的事件驱动API,使得开发者可以轻松地处理WebSocket连接的建立、消息传递和断开等操作。下面我们将探讨Fleck的使用步骤: 1. **安装Fleck**:你需要在你的项目中添加Fleck库。如果你使用的是NuGet包管理器,可以通过搜索"Fleck"并安装来获取。 2. **初始化服务器**:在C#代码中,首先创建一个Fleck服务器实例,指定监听的IP地址和端口号。例如: ```csharp var server = new Fleck.WebSocketServer("ws://localhost:8080"); ``` 3. **配置服务器**:你可以设置各种配置选项,如最大接收/发送缓冲区大小、心跳间隔等。然后注册事件处理器,如OnOpen、OnClose、OnMessage等,以处理客户端连接、断开和消息接收。 4. **连接事件**:`OnOpen`事件在客户端连接时触发,你可以在这里对新连接进行初始化操作,如存储连接信息、验证用户等。 5. **消息处理**:`OnMessage`

    实训商业源码-苍穹衔电街电共享充电宝挂机源码-毕业设计.zip

    实训商业源码-苍穹衔电街电共享充电宝挂机源码-毕业设计.zip

    Android Studio日历备忘录记事本源码项目:SQLite数据库管理,快速开发,功能丰富,美观易用,适合新手学习

    内容概要:本文详细介绍了基于Android Studio开发的日历备忘录记事本项目,涵盖日历查看、添加备忘录、闹钟提醒和删除备忘录等功能。项目使用SQLite数据库进行数据管理和持久化,利用AlarmManager实现闹钟提醒功能。文章深入讲解了各个功能模块的实现细节,如日历视图的使用、数据库操作类的设计、闹钟设置的逻辑以及界面交互的优化。此外,还探讨了一些常见的开发技巧和注意事项,如时间戳的存储、手势识别的应用等。 适用人群:适用于初学者和有一定经验的Android开发者,尤其是希望深入了解SQLite数据库操作和AlarmManager使用的开发者。 使用场景及目标:① 学习如何使用Android Studio构建完整的应用程序;② 掌握SQLite数据库的基本操作,包括建表、增删查改;③ 理解AlarmManager的工作机制及其在实际项目中的应用;④ 提升用户体验,如优化界面交互和提高代码质量。 其他说明:文中提供的源码和详细的代码注释有助于读者更好地理解和实践。同时,项目中预留了一些扩展任务,鼓励读者进一步探索和提升技能。

    TensorRT加速的YOLOv5智能监控平台:多线程多任务并行处理,视频监控与录像回放一体化管理

    内容概要:本文详细介绍了如何使用TensorRT加速YOLOv5模型推理,并结合QT框架搭建一个多任务并行处理的智能监控平台。主要内容包括:YOLOv5与TensorRT的融合,通过将YOLOv5模型转换为ONNX格式并进一步转化为TensorRT引擎,从而大幅提升推理速度;QT框架的应用,利用其跨平台特性实现视频监控、录像回放、电子地图等多种功能;16路视频并行检测的具体实现,通过多线程机制和CUDA流的支持,确保系统的高效运行。此外,文章还探讨了模型热更新、网络流处理、日志记录等方面的优化措施。 适合人群:具备一定编程基础,尤其是熟悉C++、Python和深度学习框架的研究人员和技术开发人员。 使用场景及目标:适用于需要高效、智能监控解决方案的企业和个人开发者。主要目标是提高视频监控系统的效率和智能化水平,如安防监控、交通监测等领域。 其他说明:文中提供了大量代码示例,帮助读者更好地理解和应用所介绍的技术。同时强调了系统设计中的性能优化技巧,如内存管理和多线程调度等。

    基于S7-200 PLC与MCGS组态的运料小车控制系统开发:梯形图程序、接线图与组态画面全解析

    内容概要:本文详细介绍了基于S7-200 PLC和MCGS组态的运料小车控制系统的设计与实现。首先阐述了系统的IO分配,明确了输入输出信号的具体连接方式,如限位开关和电机控制信号。接着讲解了接线图原理图,包括电源连接、信号传输路径等。然后展示了梯形图程序的关键逻辑,如初始化、正反向运行控制等,并进行了详细的代码解析。最后介绍了MCGS组态画面的设计,通过图形化界面实现了对小车运行状态的实时监控和操作。 适用人群:适用于从事自动化控制领域的工程师和技术人员,尤其是对PLC编程和组态软件有一定了解的人群。 使用场景及目标:该系统主要用于工厂自动化生产线中物料运输的小车控制,旨在提高生产效率和安全性。通过合理的硬件配置和软件编程,实现小车的自动往返、限位保护等功能,确保系统稳定可靠运行。 其他说明:文中还分享了一些实际调试过程中遇到的问题及其解决方案,强调了硬件线路和软件逻辑相结合的重要性。此外,提出了一些改进措施,如增加历史轨迹记录、优化传感器信号处理等。 标签1:PLC编程,标签2:MCGS组态,标签3:自动化控制,标签4:S7-200,标签5:运料小车

    实训商业源码-超漂亮的响应式个人主页-毕业设计.zip

    实训商业源码-超漂亮的响应式个人主页-毕业设计.zip

    scratch少儿编程逻辑思维游戏源码-准备做一个射箭游戏.zip

    scratch少儿编程逻辑思维游戏源码-准备做一个射箭游戏.zip

    实训商业源码- 深蓝健身房瑜伽馆行业V4.14.0 小程序前端+后端-毕业设计.zip

    实训商业源码- 深蓝健身房瑜伽馆行业V4.14.0 小程序前端+后端-毕业设计.zip

    实训商业源码-thinkphp小雨网址导航网整站源码-毕业设计.zip

    实训商业源码-thinkphp小雨网址导航网整站源码-毕业设计.zip

    实训商业源码- 超人配送代驾跑腿V1.5.11-毕业设计.zip

    实训商业源码- 超人配送代驾跑腿V1.5.11-毕业设计.zip

    双闭环Vienna整流器与SVPWM控制,MATLAB仿真结果标准验证,800V以上大功率直流应用

    内容概要:本文详细介绍了用于大功率直流800V及以上电压输出的双闭环Vienna整流器及其SVPWM控制方法。首先阐述了三相三电平Vienna整流器的拓扑结构特点,强调其适用于高压环境的优势。接着深入探讨了电流内环和电压外环的设计,包括PI控制器参数的选择、中点电位平衡控制以及SVPWM的具体实现方式。文中提供了多个MATLAB/Simulink代码片段,展示了如何进行扇区判断、占空比计算等关键步骤,并分享了一些实用技巧,如避免使用atan2函数以提高仿真速度。此外,还讨论了动态响应测试、参数整定等方面的经验,确保系统的高效性和稳定性。最终给出了详细的仿真结果,验证了方案的有效性。 适合人群:从事电力电子、大功率直流电源设计的研究人员和技术工程师。 使用场景及目标:①理解和掌握双闭环Vienna整流器的工作原理;②学会利用MATLAB/Simulink搭建并优化SVPWM控制系统;③满足国家相关标准的要求,如THD低于5%,效率高于95%等。 其他说明:文章不仅提供了理论知识,还包括大量实践经验,帮助读者更好地应对实际工程中的挑战。同时提醒读者注意一些常见的陷阱,如IGBT选择不当导致的过压问题等。

    scratch少儿编程逻辑思维游戏源码-陷阱游戏.zip

    scratch少儿编程逻辑思维游戏源码-陷阱游戏.zip

    基于S7-200 PLC与MCGS组态的机械手抓取控制系统:全面解析与详实图纸展示

    内容概要:本文详细介绍了基于S7-200 PLC和MCGS组态的机械手抓取控制系统。首先阐述了系统的核心组件,包括S7-200 PLC作为控制核心和MCGS组态软件作为可视化界面的作用。接着展示了具体的梯形图编程示例及其逻辑分析,解释了如何通过编程实现机械手的精确控制。然后讨论了IO分配与接线图原理,确保各个信号正确连接。最后介绍了MCGS组态画面的设计,使操作人员能够直观监控和控制机械手的工作状态。此外,文中还提供了许多实用的小技巧,如调试方法、常见错误规避等。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是对PLC编程和组态软件有一定了解的人群。 使用场景及目标:适用于需要设计和实施机械手抓取控制系统的工业环境,旨在提高生产效率和精度。目标是帮助读者掌握S7-200 PLC和MCGS组态的具体应用,从而构建稳定可靠的控制系统。 其他说明:文章不仅涵盖了理论知识,还包括大量实践经验,有助于读者更好地理解和应用相关技术。

    scratch少儿编程逻辑思维游戏源码-像素柱.zip

    scratch少儿编程逻辑思维游戏源码-像素柱.zip

    实训商业源码- 朋友圈浏览记录V1.0.3 全开源版-毕业设计.zip

    实训商业源码- 朋友圈浏览记录V1.0.3 全开源版-毕业设计.zip

    车辆检测yolo v2车辆检测识别【含Matlab源码 581期】.md

    JavaScript语言教程&案例&相关项目资源,奖励仅限VIP资源

    scratch少儿编程逻辑思维游戏源码-纸飞机(1).zip

    scratch少儿编程逻辑思维游戏源码-纸飞机(1).zip

Global site tag (gtag.js) - Google Analytics