Tag: 跨浏览器

使用CSS创建圆角

我怎样才能创建使用CSS圆角?

浏览器检测与功能检测

我会暂时扮演魔鬼的主张。 我一直在想,为什么浏览器检测(而不是功能检测)被认为是一个糟糕的做法。 如果我测试某个浏览器的某个版本,并确认,某些功能的行为是以某种可预测的方式,那么决定做特例似乎是可以的。 原因是将来会万无一失,因为这部分浏览器版本是不会改变的。 另一方面,如果我检测到DOM元素具有函数X,则不一定意味着: 这个功能在所有的浏览器中以相同的方式工作 更重要的是,即使在所有未来的浏览器中,它也将以相同的方式工作。 我只是窥探jQuery源代码,他们通过插入一个精心构造的HTML代码片段到DOM中进行特征检测,然后检查它是否具有某些特征。 这是一个明智而可靠的方法,但是我会说如果我在我的一小段个人JavaScript(没有jQuery)中做了这样的事情,那将会有点过重。 他们也具有实际无限的质量保证资源的优势。 另一方面,你经常看到人们做的是他们检查函数X的存在,然后在此基础上,他们认为函数将在所有具有这个函数的浏览器中以某种方式表现。 我没有说任何特征检测不是一件好事(如果使用正确),但我想知道为什么浏览器检测通常立即被驳回,即使这听起来合乎逻辑。 我不知道这是否是另一个时髦的事情。

什么请求浏览器的“F5”和“Ctrl + F5”刷新生成?

在Web浏览器中, F5和Ctrl + F5触发的操作有标准吗? 我曾经在IE6和Firefox 2.x上做过实验。 F5刷新将触发一个HTTP请求,通过If-Modified-Since标题发送到服务器,而Ctrl + F5不会有这样的标题。 在我的理解中, F5会尝试尽可能多地使用缓存的内容,而Ctrl + F5则是放弃所有缓存的内容,然后再从服务器中检索所有的内容。 但今天,我注意到,在一些最新的浏览器(Chrome,IE8),它不再这样工作了。 F5和Ctrl + F5都发送If-Modified-Since标头。 那么这应该如何工作,或者(如果没有标准的话)主要浏览器如何实现这些刷新功能有什么不同?