`

关于firefox对于href属性的特殊解析

 
阅读更多

今天项目遇到一个很奇怪的问题,使用firebug网络监控,发现同一页面,在firefox下会对后台请求多次,但是IE9,chrome没有这样的问题。

直接公布结果吧,经过不断的尝试,最终发现问题出在对一个CSS加载的地方

 

<link rel="stylesheet" href="" id="css_1"/>
<script type="text/javascript">
	if(window.screen.width >= 1280){
		$("#css_1").attr('href', '<%=cssBasePath%>/css/css_1.css');
	}else{
		$("#css_1").attr('href', '<%=cssBasePath%>/css/css_1_1024.css');

	}
</script>

 

 问题就出在href=“”的位置,firefox对于这种href=“”的解析,会再次请求url地址栏处的url,但是并不会将页面返回(如果返回,将成死循环),于是,将代码改成

<link rel="stylesheet" id="css_1"/>

即可~

 

经验总结,浏览器对页面的加载,应该会判断缓存中是否已经加载过的js和css,如果已经加载,不会再后台请求。但是当js代码修改了css的<link>标签,再次进入页面时,href="" 遇到这这个标签,则会再次解析url地址栏中的地址。今天这个问题出在,我们一个JSP页面INCLUDE的好几个JSP,子JSP又很不规范都加载了以上的代码,所以,firefox遇到这种情况,会先解析href=“”,然后执行JS后,继续解析href="..css",因为..css已经加载,ff不会再去服务器上请求。所以导致,css并未重复加载,但是href=""会执行多次

 

分享到:
评论

相关推荐

    网页兼容问题、IE、FireFox

    本文将深入探讨IE5至IE9以及Firefox的兼容性问题,解析解决这些问题的方法,以及如何利用注释标签来实现跨浏览器的兼容。 首先,我们来看一下IE系列浏览器的兼容性问题。从IE5到IE9,每个版本都有其独特的渲染引擎...

    IE6、IE7、IE8、Firefox、Chrome、Safari的CSS hack兼容一览表

    由于不同的浏览器(如IE6、IE7、IE8、Firefox等)对CSS的解析有所不同,导致生成的页面效果不一致。这时就需要针对不同的浏览器编写不同的CSS代码,以确保在所有浏览器中都能得到预期的页面效果。这一过程称为CSS ...

    浏览器兼容性解决方法

    对于不透明度的设置,IE使用`filter`属性,而Firefox和其他现代浏览器则使用`opacity`属性。开发者应同时提供两种写法,以确保所有浏览器都能正确渲染。 #### 9. 边框圆角支持 IE对于CSS3的`border-radius`支持较...

    css+div 在IE中兼容

    对于`ul`和`ol`列表元素,清除默认样式(如`list-style`)在IE和Firefox中的表现不同。在IE中,`margin`和`padding`的清除可能不起作用,而在Firefox中则可能需要额外的处理。 ### 5. CSS Filter IE通过私有的`...

    如何让css在所有浏览器下兼容

    - 当设置`text-align`属性时,Firefox和IE可能会有不同的表现。 #### 四、优化CSS代码结构 **1. 链接状态顺序** 当定义链接的不同状态时,需要按照正确的顺序来编写CSS规则,即`L-V-H-A`(link、visited、hover...

    ie6 ie7 ff浏览器兼容

    不同浏览器对CSS的支持程度不一,尤其是对于早期版本的Internet Explorer(IE)如IE6、IE7,以及Firefox等浏览器,在处理某些CSS属性时会有所差异。本文将详细介绍如何通过特定的CSS技巧来实现这些浏览器之间的兼容...

    JavaScript操作XML(js XML).doc

    在JavaScript中,可以通过DOMParser对象解析XML字符串,如Firefox等非IE内核浏览器使用`DOMParser.parseFromString()`方法;而IE内核浏览器则使用ActiveXObject创建`Msxml2.DOMDocument`实例,通过`loadXML()`方法...

    不同浏览器之间路径问题Demo

    特别是涉及到URL的相对解析时,例如在使用`src`或`href`属性时,不同浏览器可能有不同的解析逻辑。 4. **文件系统访问权限**: 部分浏览器可能不允许直接访问本地文件系统,这会限制文件路径的使用,尤其是涉及到...

    css hack大全

    &lt;link rel="stylesheet" type="text/css" href="stylesheet/firefox.css"/&gt; &lt;!-- [if IE 7]&gt; &lt;link rel="stylesheet" type="text/css" href="stylesheet/ie7_green.css"/&gt; &lt;![endif]--&gt; &lt;!-- [if IE 6]&gt; ...

    区分ie6 7 8 FF 的css hack 日常总结

    另外,对于Firefox和其他非IE浏览器,通常无需使用Hack,因为它们对CSS标准的支持较好。但有时为了向后兼容,可能会用到如`-moz-`这样的厂商特定前缀来支持某些特性,比如Firefox对CSS3动画的支持: ```css -moz-...

    html中id与name

    在这种模式下,非标准属性如`document.all`在Firefox等非IE浏览器中将不再可用,因此使用`id`进行脚本操作更为可靠。 在HTML5中,尽管`name`和`id`仍然保持原有的角色,但`id`的使用更加广泛,它在`&lt;label&gt;`元素的`...

    浏览器兼容性问题

    - **问题描述**:不同版本的Firefox对于`window.location`和`window.location.href`的支持有所不同。IE和Firefox 2.0.x版本支持`window.location`和`window.location.href`,但Firefox 1.5.x仅支持`window.location`...

    javascript的经典面试题汇总

    - **选项C**: `Firefox和IE存在大量兼容性问题的主要原因在于他们对javascript的支持不同上` - **解析**:虽然不同的浏览器对JavaScript的支持程度有所不同,但这并不是导致兼容性问题的主要原因。主要原因是浏览器...

    CSS样式兼容IE6、IE7、IE8、FF火狐浏览器的方法

    在CSS属性名前加上浏览器特定的前缀,如`-moz-`(火狐),或在值后添加特殊字符,如`_width`(IE6)。 #### 使用现代工具: - **Autoprefixer**:自动添加浏览器前缀,提高CSS兼容性。 - **Browserslist**:指定...

    前端面试题以及vue前端面试题

    1. 浏览器测试:了解常见浏览器的内核,如 Chrome 的 Blink、Firefox 的 Gecko、Safari 的 WebKit 等。 2. Doctype 的作用:DOCTYPE 是用于声明文档类型的标签,告知浏览器使用哪种文档类型解析 HTML文档。 3. ...

    css hacks 利用浏览器的漏洞来隐藏特定浏览器的CSS规则

    - **Safari 3+, Chrome 1+, Opera 9+, Firefox 3.5+** ```css body:nth-of-type(1) #siete { color: red; } ``` 这些选择器Hacks都是利用了浏览器在解析CSS时的不同行为来达到目的。例如,IE6和IE7对于伪类选择...

    常见css BUG

    important`来确保该属性值在IE7及以上版本以及Firefox中优先被应用。 - 示例代码: ```css #example { width: 100px !important; /* IE7+ & Firefox */ width: 103px; /* IE6 */ } ``` 2. **IE6 特殊选择器**...

    跨浏览器开发经验总结

    1. **IE、Firefox支持JavaScript往剪贴板写入内容** 2. **Opera、Safari、Chrome使用ActionScript往剪贴板写入内容** - 不同浏览器对于剪贴板操作的支持程度不同,需要采取不同的策略。 #### 五、事件 1. **...

    03HTML基础.pdf

    3. 火狐(Mozilla Firefox) 4. 苹果的Safari 5. Opera(欧朋) 三、HTML定义 HTML是一种用于创建网页的标准标记语言,由一系列的标签组成,这些标签被用来定义网页的各个部分。HTML文档包含&lt;!DOCTYPE html&gt;来声明...

    DIV+css兼容性FFIE6IE7IE8IE9[借鉴].pdf

    本文档“DIV+css兼容性FFIE6IE7IE8IE9[借鉴].pdf”主要关注如何处理Firefox和不同版本的Internet Explorer(IE6、IE7、IE8、IE9)之间的CSS差异。以下是一些关键知识点的详细说明: 1. **CSS Hack**: - CSS Hack...

Global site tag (gtag.js) - Google Analytics