兼容

web前端开发中浏览器兼容问题(二)

若如初见. 提交于 2020-04-08 11:20:22
6.DIV浮动IE文本产生 3px 的问题 • 左边对象浮动,右边采用外补丁的左边距来定位,右边对象内的文本会离左边有3px的间距. #box { float:left; width:800px; } #left { float:left; width:50%; } #right { width:50%; } *html #left{ margin-right:-3px; //这句是关键 } <div id="box"> <div id="left"></div> <div id="right"></div> </div> 显示区别 7.高度 不适应 问题 • 高度不适应是当内层对象的高度发生变化时,外层高度不能自动进行调节,特别是当内层对象使用了margin或padding时。 例: • 解决办法:在P对象前后各加一个div对象,对这个div对象添加一个border属性即可。 8.IE图片下有空隙产生问题 • 解决这个BUG的方法也有很多,可以是改变html的排版,或者设置img 为display:block 或者设置vertical-align 属性为 vertical-align:top | bottom |middle |text-bottom 都可以解决. 9.对齐文本与文本输入框问题 加上 vertical-align:middle; <style type="text

正确理解Java方法的返回值

梦想与她 提交于 2020-03-23 13:04:21
首先来看一段代码 我们把这段代码称为代码①,接下来我们再来看另外一段代码 我们把这段代码称为代码②。 在代码①当中,定义了一个方法,这个方法声明的返回值类型是double,而实际通过return关键字返回的却是一个int型的值,但并没有引起编译错误。而在代码②当中,情况正好相反,方法声明的返回值类型是int,方法内部的return关键字实际返回了一个double类型的值,在这种情况下,编译器却报出了语法错误。 对比一下这两种情况,很多初学Java的小伙伴搞不清:为什么同样是方法声明的返回值类型与实际返回值的类型不相同,但一种情况不报错,而另一种情况却无法通过编译检查呢?要讲清楚这个问题,我们必须从为什么方法要声明返回值类型说起。 在Java语言中,要求程序员在定义一个方法的时候,必须在方法名称的前面声明这个方法的返回值类型。为什么要求你这么做呢?简单来说,就是编译器强制程序员必须公开一个信息,那就是:这个方法在运行之后会返回一个什么类型的值,只有这样,调用方法的人才知道要用一个什么类型的变量接收方法的运算结果。除此之外,编译器还要求:主调方法在接收返回值的过程中,必须以声明的返回值类型作为标准,而不是看实际返回值的类型。就拿代码①来说,声明的返回值类型是double,实际返回值是int,我们在程序中用变量接收方法返回值的时候,必须用double型变量接收

[jQuery] 关于jQuery的AJAX不兼容IE的解决办法

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-10 18:49:51
在使用jQuery的AJAX:get方法去检测数据是否存在时,会发现IE会出现不兼容的情况。 用AJAX:post方法时,使用Chrome/FireFox/IE均能出现正确的结果,但是在使用AJAX:get方法时,IE却不能返回正确的结果。 难道是数据超出了get方法的限制的长度,这个也不可能,我总共才传了一点点数据。排除。 网上一些网友说是IE缓存的问题,在请求数据后边加上随机数就行,比如加上时间数new Date().getTime()。 先前的代码中我已经添加了随机数,用的是“Math.random()”也不行。难道用时间比较靠谱? 那就改成获取时间试试,在参数后加“new Date().getTime()”后反复测试还是不行,真是百思不得其解!这个错误也排除了。 反复查看手册后发现请求的数据格式还是有一种JSON格式,如{foo:["bar1", "bar2"]} ,然后就按照这种格式书写,还真的返回了正确的查询结果。真不知道IE还有这点要求。(完) 先前的格式: type: "get", data: "bid="+my_bid+"&name_cn="+name_cn+"&timeStamp="+new Date().getTime(), 改进后格式: type: "get", data: {'bid':my_bid,'name_cn':name_cn,'timeStamp

HTML+CSS+JS实现TABLE固定列(常见浏览器兼容)的最佳实践

心已入冬 提交于 2019-12-14 11:45:07
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> BS架构的企业级应用中,当一个表格列数较多时,用户一个常见的需求就是把前面几个重要的列固定住,这样拖动滚动条时固定的列会方便用户查看数据,用户体验很好。一些重量级的JS组件库也都有这个功能,那么有没有更简单的方法实现这个功能呢? 这个需求常见的解决方案是使用表格拼接的方法,这个方案如果要制作静态的网页,或者功能简单的动态页面,逻辑比较简单,技术上也不复杂,很容易实现,但是如果要做成组件,动态功能较多的话,就需要写大量的冗余代码,难以维护,甚至于一个简单的功能,都需要写很多的代码,比如事件处理等,这个方法就显得比较笨拙,灵活性很差,不是一个好的方案。 经过长时间的分析研究,各种场景的试验,我们找到了一个兼容性非常好的解决方案,总体上来讲采用的是定位计算的方法,下面贴出代码,然后做个解读。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content=

Supporting Python 3(支持python3)——使用现代的风格改善你的代码

99封情书 提交于 2019-12-06 20:48:29
使用现代风格改善你的代码 原文: http://python3porting.com/improving.html 译者: TheLover_Z 一旦你开始使用 Python 3,你就有机会接触新的特性来改善你的代码。这篇文章中提到的很多东西实际上在 Python 3 之前就已经被支持了。但我还是要提一下它们,因为知道了这些以后你的代码可以从中获益。我说的包括修饰器,在 Python 2.2 开始提供支持; sorted() 方法,在 Python 2.4 开始提供支持;还有上下文管理,在 Python 2.5 开始提供支持。 这里提及的其它新特性在 Python 2.6 或者 2.7 都提供了支持,所以说如果你不是在用 Python 2.5 和之前的版本的话,你可以使用这里提到的几乎全部的新特性。 使用 sorted() 来替代 .sort() 在 Python 中,列表有一个 .sort() 方法可以进行排序。 .sort() 会影响列表的结构。下面这么写是因为在 Python 2.3 之前只能这么写。 >>> infile = open('pythons.txt') >>> pythons = infile.readlines() >>> pythons.sort() >>> [x.strip() for x in pythons] ['Eric', 'Graham',

Supporting Python 3(支持python3)——关于本书

橙三吉。 提交于 2019-12-06 20:47:13
关于本书 这本书书是源码在GitHub [5] 上的开放性的书,所以任何人都可以给本书提供贡献(在湖闻樟译注: 原文提供pdf版,购买价格可以自定,有条件的话建议扶持下)。作者和编辑是Lennart Regebro,以及以后贡献者将列在这里。 这本书是在reStructuredText [1] ,里写的,使用Sphinx [2] 和LaTeX [3] 排版 以及使用CreateSpace [4] .印刷。各部分的字体:TeX Gyre Schola主体文本, DejaVu Sans Mono 代码 以及Flux Bold 标题。 封面来自 Emmanuel “Tambako” Keller , http://www.flickr.com/photos/tambako/ 在本书的网页有一个勘误表, http://python3porting.com/ . Lennart Regebro(在湖闻樟注:作者)想要感谢下面这些为了更本提供帮助的人: Andreas Braukmann , Nicholas Coghlan , Paul Everitt , Cris Ewing , Luca Fabbri , Russell Ferriday , Patrick Gerken , Janko Hauser , Domen Kožar , Baptiste Mispelon ,

Supporting Python 3(支持python3)——序

耗尽温柔 提交于 2019-12-06 20:46:48
序 当我在2002年6月加入python-dev邮件列表时,“Python 3000"(在湖闻樟译注:即Python 3)的团队每隔几个月都会描述一个Python 开发团队希望他们实现的建议,但是因为兼容性的原因都没有办法做到。对我们来说为“Python 3000 可能是“做一些事意味着没有发生任何变化。 但是后来我们开始越来越经常地说在Python 3000可能发生的事。最终到了“Python 3000”因为内部程序员的惰性被经常引用成缩写“py3k”的时候。 然后我们开始相信像我们大肆宣传的那样py3k将会更加好。到了Andrew Kuchling创建了用于跟踪我们在2004年底对py3k各种想法的EP PEP 3100(这是我最终负责的PEP 3000的原型)的时候 ,我们实际上要通过对py3k的一个“疯狂”的想法。这导致了在2006年3月开始了严肃地开发以及最终在2008年12月3日释放了Python 3.0。 当这些正在发生时,在社区上有对创建Python 3 的可行性/理智的复杂感情。在PEP 3100被创建的2004年,Python的流行程序有了明显的提升。这种趋势持续及在2006年左右,当py3k的开发全面开展时,Python的受欢迎程序已经超过了Perl。所能当Python成为世界上最流行的动态编程语言时,开发团队正在开始开发将下一个大版本

IE6,IE7 Firefox 兼容问题

强颜欢笑 提交于 2019-12-06 17:52:26
关于ie6、ie7和ff浏览器兼容 网友评论 0 条 转载到博客 2009-1-8 16:11:23 来源: 本站整理 顶一下 这些方法都是我平时用到时在网上找到收藏下来的呵呵,我提前声明一下免得误会! 一、CSS HACK 以下两种方法几乎能解决现今所有HACK. 1, !important 随着IE7对!important的支持, !important 方法现在只针对IE6的HACK.(注意写法.记得该声明位置需要提前.) <style> #wrapper { width: 100px!important; /* IE7+FF */ width: 80px; /* IE6 */ } </style> 2, IE6/IE77对FireFox *+html 与 *html 是IE特有的标签, firefox 暂不支持.而*+html 又为 IE7特有标签. <style> #wrapper { #wrapper { width: 120px; } /* FireFox */ *html #wrapper { width: 80px;} /* ie6 fixed */ *+html #wrapper { width: 60px;} /* ie7 fixed, 注意顺序 */ } </style> 注意: *+html 对IE7的HACK 必须保证HTML顶部有如下声明: <

关于安卓so的兼容性的简单说明

时光毁灭记忆、已成空白 提交于 2019-12-06 07:55:18
armeabi、armeabi-v7a、mips、x86 、 arm64-v8a 如何理解? ABI:指应用基于哪种指令集来进行编译,ABI以前总共有四种,分别是armeabi、armeabi-v7a、mips、x86,它们都是表示cpu的类型,现在又有了arm64-v8a。 (注意:以下所有讨论不包括mips) 先说以前对于so的平台兼容处理方式吧。 以前安卓都是32位系统,运行的进程都是32位,理论上armeabi的so可以被全平台兼容,所以,理论上我们可以只提供一个armeabi的so就能在所有cpu平台运行了。也就是说如果我们引入了A和B两个库,其中A提供了全平台的 armeabi、armeabi-v7a、x86三 个so,而B只有一个armeabi的so,那么我们可以把B的这个so复制到其他两个文件夹就可以被兼容了。 同时因为现在armeabi的设备比armeabi-v7的要少很多,所以有些应用直接提供了armeabi-v7的so。 现在有了arm64-v8a的CPU以及安卓64位系统,上面的方法就有点例外了。 在安卓64位系统上,同时运行着32位和64位的进程(这点和Windows很像,在64位Windows上也是能同时运行32位和63位的进程的)。 以下讨论是基于64位安卓系统上: 如果一个纯粹的java写的应用,没有使用任何的so,那么默认就应该以64位模式来运行;

Supporting Python 3(支持Python 3)——目录

£可爱£侵袭症+ 提交于 2019-12-06 05:46:34
Supporting Python 3(支持Python 3) 关于本书 关于术语 序 欢迎来到Python 3 是时候了吗? 如果我现在不能切换会怎么样? Python 和它的版本 更多资源 迁移策略 仅支持Python 3 Python 2和Python 3的单独分支 使用2to3转换到Python 3 使用Distribute来支持2to3转换 无需转换支持Python 2 和 Python 3 使用3to2 哪种策略适合你? 应用 Python模块和包 框架 结论 为Python3作准备 在Python 2.7下运行 当除以整数时用//代替/ 使用新式的类 单独的二进制数据和字符串 当排序时,使用key来代替cmp 使用丰富的比较运算符 相对棘手的 实现 __hash__() 确保你没有用任何一个被移除的模块 测试覆盖率和tox 可选:在字典中使用迭代器方法(iterator-methods) 2to3 使用2to3 明确的固定器(fixers) 分发包 在安装时执行2to3 使用Distribute支持多个版本的Python 使用Distribute运行测试 使用Distribute运行2to3 常见的迁移问题 不正确的引入(import) 相对引入问题 Unorderable类型、__cmp__和cmp 排序 排序Unicode 字节、字符串及Unicode 字节文字