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头.
那么这应该如何工作,或者(如果没有标准)主要浏览器如何实现这些刷新功能?
我想知道当我使用CSS单击文本输入/文本区域时是否可以删除默认的蓝色和黄色发光?
在html下实现文件上传非常简单,但我注意到有一个'accept'属性可以添加到<input type="file" ...>标记中.
此属性是否可用作限制文件上传到图像等的方法?使用它的最佳方法是什么?
或者,有没有办法限制文件类型,最好是在文件对话框中,为html文件输入标签?
如果您已经使用过任何长度的JavaScript,那么您就知道Internet Explorer没有为Array.prototype.indexOf()[包括Internet Explorer 8]实现ECMAScript函数.这不是一个大问题,因为您可以使用以下代码扩展页面上的功能.
Array.prototype.indexOf = function(obj, start) {
for (var i = (start || 0), j = this.length; i < j; i++) {
if (this[i] === obj) { return i; }
}
return -1;
}
Run Code Online (Sandbox Code Playgroud)
我什么时候应该实现这个?
我应该使用以下检查将其包装在我的所有页面上,检查是否存在原型函数,如果不存在,请继续并扩展Array原型?
if (!Array.prototype.indexOf) {
// Implement function here
}
Run Code Online (Sandbox Code Playgroud)
或者浏览器检查,如果它是Internet Explorer,那么只需实现它?
//Pseudo-code
if (browser == IE Style Browser) {
// Implement function here
}
Run Code Online (Sandbox Code Playgroud) javascript internet-explorer cross-browser internet-explorer-8
我有一些在IE中工作的JavaScript代码包含以下内容:
myElement.innerText = "foo";
Run Code Online (Sandbox Code Playgroud)
但是,似乎'innerText'属性在Firefox中不起作用.是否有一些Firefox等价?或者是否可以使用更通用的跨浏览器属性?
Web应用程序如何检测粘贴事件并检索要粘贴的数据?
我想在将文本粘贴到富文本编辑器之前删除HTML内容.
之后粘贴后清理文本有效,但问题是所有以前的格式都丢失了.例如,我可以在编辑器中编写一个句子并将其设为粗体,但是当我粘贴新文本时,所有格式都会丢失.我想只清理粘贴的文本,并保持以前的格式不变.
理想情况下,该解决方案应适用于所有现代浏览器(例如,MSIE,Gecko,Chrome和Safari).
请注意,MSIE有clipboardData.getData(),但我找不到其他浏览器的类似功能.
在IE上,我可以使用(非常非标准但可以正常工作)jQuery来实现这一点
if ($.browser.msie)
$(document).keydown(function(e) { if (e.keyCode == 8) window.event.keyCode = 0;});
Run Code Online (Sandbox Code Playgroud)
但有可能以一种适用于Firefox的方式,或以跨浏览器的方式获得奖金吗?
作为记录:
$(document).keydown(function(e) { if (e.keyCode == 8) e.stopPropagation(); });
Run Code Online (Sandbox Code Playgroud)
什么也没做.
$(document).keydown(function(e) { if (e.keyCode == 8) e.preventDefault(); });
Run Code Online (Sandbox Code Playgroud)
解决了问题,但是在页面上呈现退格键不可用,这比原始行为更糟糕.
编辑:我这样做的原因是我不是创建一个简单的网页,而是一个大型的应用程序.因为你在错误的地方按下退格键而失去10分钟的工作是令人难以置信的烦恼.通过防止退格键导航回来,防止错误与烦人用户的比例应该高于1000/1.
编辑2:我不是想阻止历史导航,只是意外事故.
EDIT3:@brentonstrines评论(因为这个问题非常受欢迎而搬到这里):这是一个长期的'修复',但你可以抛弃你的支持Chromium bug来改变webkit中的这种行为
我正在尝试制作一个水平规则,中间有一些文字.例如:
-----------------------------------我的头衔------------ -----------------
有没有办法在CSS中做到这一点?没有所有" - "破灭显然.
最近,我一直看到标签"webkit"的问题.这些问题通常倾向于与CSS,jQuery,布局,交叉浏览器兼容性问题等相关的基于Web的问题......
那么这个"webkit"是什么?它与CSS有什么关系?我还注意到-webkit-...各种网站的源代码中有很多属性.这两个有关吗?
所以从目前为止的答案...... WebKit是Safari/Chrome的HTML/CSS Web浏览器渲染引擎.IE/Opera/Firefox是否有这样的引擎?使用其中一个的优点和缺点是什么?我可以在Firefox中使用WebKit功能吗?
最终的问题...... IE支持WebKit吗?
所有主流浏览器都使用不同的渲染引擎.我想这就是为什么有这么多跨浏览器兼容性问题的一个重要原因!
那么,是否有某种项目或移动到所有浏览器将使用的标准渲染引擎?HTML5会结束跨浏览器兼容性问题吗?