CSS之Button样式兼容Safari浏览器的写法
HTML 默认的 button 样式在 Safari 系列浏览器中是不一样的,所以有些按钮样式在苹果设备中显示的比较怪异。下面给出兼容 Safari 浏览器的 button CSS 样式的写法,这样可以去除苹果设备浏览器中比较怪异的显示效果。input.sb { cursor:pointer; color:white; background:#9ea2c0; width:98px; padding:0;...
Ajax跨域原理JQuery之Jsonp使用剖析
change 注册事件,然后再执行 open 和 send 方法。一般来说,实现简单的Ajax请求,我们只需要在 readyState 等于 4(请求完成) 之后再进行后续的状态码判断并处理。对于IE浏览器,实现起来稍有不同,IE系列是使用 ActiveXObject 控件来实现异步请求的,不同版本的IE浏览器在写法上稍有不同,因此完整的Ajax类需要对IE系列浏览器做个判断,不过IE11之后已经不再是...
前端技术之DIV或SPAN+CSS实现箭头效果
现这种艺术。关于在网页实现箭头效果,很多网站直接使用图片,其实这是不理智的。能用CSS技巧实现的效果,不到万不得已不要使用图片。我们在做网站的时候,最重要的指标就是速度,不能让用户等待,不能让用户看着浏览器在转圈圈。下面将详细描述如何使用SPAN标签实现箭头效果。我们都知道,HTML标签的元素都有边框属性,并且还可以对上下左右四个边框分别设置颜色和厚度。这样如果我们将元素的高度和宽度设置为0,边框厚度增...
HTML5 表单新属性 pattern 的使用
查看到输入框的属性中含有 pattern,由于是一个邮箱字段,pattern 写的过于严格,导致不能通过校验。这样的提示对于一般的用户来说,是不会明白怎么回事的。 于是写了个小页面进行测试,发现不同的浏览器的提示内容不一样,也有部分支持 HTML5 的浏览器不支持 pattern 属性的,比如 Safari 浏览器。测试发现 Chrome 和 Firefox 都支持 pattern 属性,Chrome ...
前端技术之导航栏浮动最佳实践
或者不习惯这样的方式。 我开始在做 LMLPHP 官方网站的文档的时候,也遇到了这样的问题,如何用更好的方式来展示左侧菜单导航区域。LMLPHP 官方文档的做法是计算导航左侧和右侧主体内容的高度,结合浏览器窗口可见区域 viewport 的高度,最后得出左侧 DIV 的最佳高度,采用悬停展示滚动条(如果菜单被展开,高度超出范围)的方式和页面向下滚动固定左侧导航的方式来提升用户体验。这样的做法还算能够接受...
chrome 不能录音:Uncaught TypeError: Cannot read property ‘getUserMedia‘ of undefined
记录一下,虽然这个问题我没有问题。chrome 浏览器不能录音:Uncaught TypeError: Cannot read property ‘getUserMedia‘ of undefined 解决方法 打不开浏览器录音功能的问题解决方案,在浏览器的地址栏里输入 chrome://flags/#unsafely-treat-insecure-origin-as-secure 并回车、然后改成 E...
LMLPHP官方网站兼博客移动站上线
经过周日的努力,一下午加晚上,LMLPHP 官方网站手机站和 LMLPHP 官方博客手机站正式上线。目前所有页面在 MI2 的自带浏览器,UC浏览器,百度浏览器和 Samsung Galaxy S4 mini 的 QQ 浏览器上显示均正常,效果还算比较满意,毕竟同样的内容要兼容在不同尺寸的设备上显示出来还是有些难度的。 在做手机站的时候,站点宽度设置都是100%,基本没有特别指定的宽度,HTML 结构...
百度统计onunload事件拖慢网页加载速度
刚刚开始使用百度统计的时候,有时候查看浏览器对网页的渲染情况,发现在 FireFox 上页面变慢了很多,第一个请求文档加载完毕后,紧接着下一个请求就是百度统计,这一点曾经让我迷惑了很久,一直不清楚是怎么回事,后来清除了百度统计代码后的第二次加载页面就没有了统计请求(清除后的第一次还是有的)。 后来我在百度知道里面提问,问题的内容大概是百度统计是如何做到在文档 onload 之后就立刻发出请求的。过了好...
Chrome 以及各大浏览器对 Cookie 的有效期
Cookie 有效期的问题,我是最近才发现的。我以前的经验告诉我们,Cookie 设置个几十年甚至上百年都没有问题的,所以知道了之后,现在的开发就不再查看浏览器端的表现了,服务端的代码设置好了就认为 OK 了。最近的无意中发现,让我对浏览器这种玩意儿产生了很多讨厌!还是那个原则,规矩不能乱改啊。看网上的资料,好像是 2022 年 8 月 的 Chrome 104 版本发布。在这方面我真是落后太多了。据说...
通过 UA 来识别浏览器和操作系统
通过 UA 来判断浏览器及版本信息和操作系统类型及版本信息,其实意义不大,也是不太准的。一般这种只适用于浏览器请求识别,如果是 APP 客户端一般也不会设置这样的字段,至少会换种方式或名字。如果要更加准确的判断这些信息,应该在客户端完成识别。即使意义不大,还得尝试去做。写这种代码,比较费时间,因为不仅仅是技术,而是需要大量的搜集工作。找了一些开源的软件包,大的吓人,有些竟然依赖网络请求,这样就很慢且不稳...