精华内容
下载资源
问答
  • 2019-08-19 16:46:31

    点击下载来源:无极浏览器(教学专用浏览器)官方版 v5.0.0.15
    无极浏览器是一款教学专用浏览器,比其他浏览器更快速、更安全、稳定性更好,而且可以帮你拦截烦人的广告,它上网速度快,打开页面迅速,页面内容或者视频想看就看,给用户提供一个优质提升的上网体验服务。此浏览器适用于老师与学生之间,内置微课录制、webrtc直播、rtmp直播、httpflv播放、flash、mp4、学习考试锁屏,管控功能,在线授课轻松方便,专注于教学课堂、家庭访问学习使用场景。并且,该浏览器拥有健康上网新体验,合理有效的控制学生上网时间,禁止网络游戏,强大不良信息过滤,反黄功能,给学生一个绿色学习环境,给家长一个放心保证。小编给大家带来了无极浏览器官方版下载,需要的小伙伴们欢迎前来免费下载使用。
    无极浏览器
    功能特色
    1、一键锁屏
    家长一键锁屏,学生学习无忧
    (1)点播锁屏
    (2)直播锁屏
    (3)作业锁屏
    2、直播集成
    集成五大直播功能,在线授课轻松方便
    (1)万人教学直播(大并发,低延时,流畅互动)
    (2)1v1小班直播(面对面般的教学体验)
    (3)手机直播(随时随地直播)
    (4)设备直播(会议直播神器,4k高清直播,流畅不卡顿)
    (5)伪直播(解放老师,灵活方便)
    3、无极微课宝
    一款完全免费且功能强大的微课制作工具,微课录制好帮手
    (1)多种教学工具(图形,教具,公式编辑器)(2)文档云端导入(各种文档支持本地导入,云端导入。Ppt保留原有动画效果)
    (3)支持windows ink(书写丝滑,笔锋强劲)
    (4)内录外录任意切换(录制任意时刻可以切换内录和外录,无需单独设置)
    (5)多场景应用(微课录制,课堂教学,现场培训)
    (6)支持外接设备(可以外接高拍仪,摄像头,摄像机等设备)
    4、无极录屏王
    高清录屏,支持手写,完全免费
    (1)完全免费且无弹窗广告(不被讨厌的广告打断录制的灵感)
    (2)内录外录任意切换(录制任意时刻可以切换内录和外录,无需单独设置)
    (3)支持手写批注(无论是网页录制,视频录制都可以在上面进去书写批注)
    (4)支持高清录制(高清录制,让画面每一帧都清晰呈现)
    5、上网管控
    健康上网新体验,给学生一个绿色学习环境,给家长一个放心保证
    (1)控制上网时间(合理有效的控制小孩上网时间,禁止网络游戏)
    (2)绿色上网(强大不良信息过滤,反黄功能,给孩子绿色上网空间)
    (3)推荐优质学习内容
    (4)网络黑白名单
    (5)上网记录监控
    6、极速上网
    (1)谷歌最新内核,网页闪电般打开
    (2)安全干净,无弹窗广告。绿色纯净
    更新日志
    无极浏览器v5.0.0.15更新:(2019-08-19)
    1、修改了已知的BUG,提高浏览稳定性
    2、优化性能

    更多相关内容
  • 星愿浏览器(Twinkstar Browser), 一款大学生都爱用的浏览器,无缝兼容Chrome插件,个性化界面,漫画阅读模式,漫画搜索,视频下载,视频弹窗,等等
  • Google浏览器已经推出了 正式版 作为学生经常在机房上网 为了方便做了一个chrome的绿色便携版 将chrome的程序目录 一般在C:\Documents and Settings\Administrator\Local Settings\Application Data 里的文件拷到...
  •  一款绿色浏览器,界面简洁轻巧,最受关注的是该浏览器能通过IPv6隧道技术能访问ipv6, facebook和一系列google服务,更多功能正在完善中,确实是一款学生必备的浏览器。  目前,不少国内高校的主要校内网站都已...
  • matlab中绿色的代码什么意思 #WebMat WebMat 是一个基于WEB的矩阵表达式计算器项目,它能在浏览器中完成矩阵表达式的运算,并且提供变量赋值,从文件中导入矩阵,图形化矩阵编辑的功能,同时概念性地支持将较繁重的...
  • Redfox是经过定制后的绿色安装增强FireFox版本,其特点如下:采用正式版代码编译优化,支持部分非标准网站;不写注册表,可以方便的拷贝移动或者删除;加入了大量常用扩展供大家在安装的时候选择;对原有FireFox的...

     

    IEtrident
    Chromewebkit/blink
    firefoxGecko
    Operapresto
    Safariwebkit

     

      内核主要分成两部分:渲染引擎(layout engineer或 Rendering Engine) 和 JS 引擎。

    • 渲染引擎:负责取得网页的内容(HTML、 XML 、图像等等)、整理讯息(例如加入 CSS 等),以及计算网页的显示方式,然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。所有网页浏览器、电子邮件客户端以及其它需要编辑、显示网络内容的应用程序都需要内核。
    • JS引擎则:解析和执行 javascript 来实现网页的动态效果。

      最开始渲染引擎和JS引擎并没有区分的很明确,后来 JS 引擎越来越独立,内核就倾向于只指渲染引擎。渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。

     

    各种浏览器

    Firefox浏览器

    Mozilla Firefox,中文名称火狐,是一个开源网页浏览器,使用Gecko引擎(即非ie内核),由Mozilla基金会与数百个志愿者所开发。原名“Phoenix”(凤凰),之后改名“Mozilla Firebird”(火鸟),再改为Firefox的名字。 Firefox是Mozilla基金会开发的一个轻便、快速、简单与高扩充性的浏览器。

    Redfox浏览器

    Redfox是经过定制后的绿色安装增强FireFox版本,其特点如下:采用正式版代码编译优化,支持部分非标准网站;不写注册表,可以方便的拷贝移动或者删除;加入了大量常用扩展供大家在安装的时候选择;对原有FireFox的错误和不方便设置进行了修正;调整了部分次参数进一步加快FireFox的浏览速度。

    Madfox浏览器

    Madfox是一个基于Firefox的浏览器。Firefox是一个非常优秀的浏览器,但是由于我们周围有很多不符合互联网标准的网站,从而在很大程度上阻碍了Firefox的推广。对于标准和非标准,无论是技术还是非技术层面,都有着非常激烈的争论。Madfox项目的目的,是希望仅从技术的角度出发,通过扩展Firefox,尝试去兼容不符合标准和规范的网站。

    DR.Orca浏览器

    Dr.Orca是一款方便、实用的单窗口多页面浏览器。它基于Gecko引擎,除了拥有Gecko核心浏览器的浏览速度快的特点,还具备了时下各种主流的浏览器所具备的很多功能,如支持鼠标手势、强大的过滤功能、群组收藏功能等。Dr.Orca还提供了多语言选择,其中包括了简体中文。

    K-Meleon浏览器

    K-Meleon是一个可自定义的,轻型的用于WIN32(WINDOWS)平台的网络浏览器,基于Geckos设计引擎。K-Meleon是在遵循GNU公共许可证下的开放源代码的自由软件。

    Netscape 6.0 之后版本

    网景(Netscape)是一个自1994年开始的品牌。它亦是网景通讯公司(Netscape Communications Corporation,1994年4月4日—2003年7月5日)的常用简称。网景通讯公司曾经是一间美国的电脑服务公司,以其生产的同名网页浏览器而闻名。

    Opera浏览器

    Opera为来自挪威的一个极为出色的浏览器,具有速度快、节省系统资源、订制能力强、安全性高以及体积小等特点,目前已经是最受欢迎的浏览器之一。多文件接口(MDI)、方便的缩放功能、整合搜索引擎、键盘截径与鼠标浏览功能、当机时下次可以从上次浏览进度开始、防止pop-up、Fullscreen、对HTML标准的支持、整合电子邮件与新闻群组以及让使用者自订接口按钮、skin、工具列等的排列方式,都是Opera多年来备受喜爱的特殊功能。

    Opera长年以来不屈不挠,尽管市场始终就那么一点。如今各浏览器群雄逐鹿,Opera公司宣布,将在2013年2月发布一款名为“OperaIce”的手机和平板机浏览器,不再使用自己开发和使用了多年的Presto核心,改用Google Chrome的Web Kit,支持Android、iOS两大平台。曾伴随我们多年并让我们佩服的Opera的小巧特性成为历史。

    Opera 9.5 ~ 12.16

    Opera9.5~12.16使用新的Kestrel内核(仍属于Presto内核),新内核使Opera速度更快,且支持开放网页标准。其中Opera Link功能可以使用户自由连接装有Opera的设备。Opera9.5~12.16可以在Windows、Mac及Linux操作系统下完美运行。

    Opera12.16之后版本(不包括Opera12.16)

    Opera12.16之后(不包括Opera12.16)的版本使用Google Chrome的Web kit内核,原有的浏览器检测方法找不出Opera特征,Opera不再是主流浏览器,10%的员工因此离开,这些人中大都是核心开发人员。

    安装Webkit版的Opera不会覆盖原版Opera,原版Opera的自动更新不会更新Webkit版的Opera。

    多内核壳浏览器

    编辑

    国内最主流的“双核”浏览器基本都是Trident和Web Kit这个架构,例如搜狗高速浏览器傲游浏览器猎豹安全浏览器QQ浏览器360极速浏览器世界之窗浏览器极速版枫树浏览器快快浏览器百度浏览器、阿云浏览器(后期版本)、太阳花浏览器等等。

     

    • 搜狗高速浏览器

    搜狗浏览器,搜狐出品,使用高速(web kit)和兼容(Trident)双浏览模式,保证良好兼容性的同时极大提升网页浏览速度。当采用高速模式访问网页出现问题时,可点击地址栏旁边的内核按钮直接切换内核,使用兼容性更佳的兼容模式正常浏览网页。

     

    • 傲游浏览器3

    傲游浏览器3.0是国内首先尝试使用Web kit与Trident双核心的浏览器。Web kit核心将使你打开网页的速度更快,Trident 核心则会带给你更好的兼容性支持。除此之外,傲游3.0目还包括智能填表、智能地址栏、弹窗过滤、在线收藏等功能。

     

    • 猎豹安全浏览器

    猎豹安全浏览器是由金山网络技术有限公司推出的一款浏览器,采用Trident和Web Kit双渲染引擎,猎豹浏览器对Chrome的Web kit内核进行了超过100项的技术优化,访问网页速度更快,支持HTML5新国际网页标准,极速浏览的同时也保证兼容性。

     

    • QQ浏览器6.11

    QQ浏览器6.11是腾讯公司推出的新一代浏览器,使用极速(Web kit)和普通(Trident)双浏览模式,设计了全新的界面交互及程序框架,目的是为用户打造一款快速、稳定、安全、网络化的优质浏览器。

     

    • 360极速浏览器

    360极速浏览器基于Chromium开源项目,继承了Chromium开源项目超级精简的页面和创新布局,并创新性地融入国内用户喜爱的新浪微博、人人网、天气预报、词典翻译、股票行情等等热门功能,在速度大幅度提升的同时,兼顾国内互联网应用。

     

    • 世界之窗浏览器极速版

    世界之窗浏览器极速版是基于谷歌的开源项目Chromium开发,是Google Chrome浏览器的一个并行分支。凤凰工作室逐渐将The World 普通版上一些特色功能加入进来,并对一些细节功能进行改造,使之更适合中国国内互联网情况和上网习惯;并逐渐参与到Chromium开源项目中,这样,即可以加强国内用户的Chrome浏览器使用体验,也为互联网发展做出自己的贡献。另外,Build选择上,选取稳定的Chrome版本作为The World Chrome的发布版。

     

    • Lunascape(5.0+)

    Lunascape浏览器是日本Lunascape公司出品的三引擎浏览器。可在浏览器中自由切换三种渲染引擎:Trident(IE)、 Gecko(Firefox)和Web Kit,最大地保证了浏览器的兼容性和稳定、快速的特点。此浏览器还获得数个奖项,号称世界首款融合了3种内核、运行速度最快的浏览器。其充分应用了web2.0的时代特征,将浏览器与各种网络服务进行了无缝集成,并携带了多种革命性的功能。如高性能的选项卡式浏览、方便快捷的鼠标手势RSS订阅、防止意外崩溃功能、IE工具栏支持、直接导入设置从多种浏览器中、自动删除个人信息、多种自定义外观、支持视频共享网站与SNS网站的插件、3种内核自由切换等等。总之,Lunascape可以让您在日常生活中的各种事物均可直接在浏览器内完成。

    内核

    Trident(IE内核)

    Trident:该内核程序在1997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来的,并沿用到目前的IE11。Trident实际上是一款开放的内核,其接口内核设计的相当成熟,因此才有许多采用IE内核而非IE的浏览器(壳浏览器)涌现(如360浏览器、Maxthon、The World、TT、Green Browser、Avant Browser等)。此外,为了方便也有很多人直接简称其为IE内核(当然也不排除有部分人是因为不知道内核名称而只好如此说)。

    由于IE本身的“垄断性”(虽然名义上IE并非垄断,但实际上,特别是从Windows95年代一直到XP初期,就市场占有率来说IE的确借助Windows的东风处于“垄断”的地位)而使得Trident内核的长期一家独大,微软很长时间都并没有更新Trident内核,这导致了两个后果——一是Trident内核曾经几乎与W3C标准脱节(2005年),二是Trident内核的大量Bug等安全性问题没有得到及时解决,然后加上一些致力于开源的开发者和一些学者们公开自己认为IE浏览器不安全的观点,也有很多用户转向了其他浏览器,Firefox和Opera就是这个时候兴起的。非Trident内核浏览器的市场占有率大幅提高也致使许多网页开发人员开始注意网页标准和非IE浏览器的浏览效果问题。

    补充:IE从版本11开始,初步支持Web GL技术。

    补充:IE8的Java Script引擎是Jscript,IE9开始用Chakra,这两个版本区别很大,Chakra无论是速度和标准化方面都很出色。

    Trident内核的常见浏览器有: 

    IE6IE7、IE8(Trident 4.0)、IE9(Trident 5.0)、IE10(Trident 6.0);

    360安全浏览器360极速浏览器(采用Chrome+IE内核)、傲游浏览器(傲游1.x、2.x为IE内核,3.x为IE与Webkit双核)、百度浏览器(早期版本)、世界之窗浏览器(最初为IE内核,2013年采用Chrome+IE内核)、2345浏览器腾讯TT、淘宝浏览器、采编读浏览器、搜狗浏览器、阿云浏览器(早期版本)、瑞星安全浏览器、Slim Browser、 GreenBrowser爱帆浏览器(12 之前版本)、115浏览器155浏览器闪游浏览器、N氧化碳浏览器、糖果浏览器、彩虹浏览器、瑞影浏览器、勇者无疆浏览器、114浏览器、蚂蚁浏览器、飞腾浏览器速达浏览器佐罗浏览器海豚浏览器(iPhone/iPad/Android)、UC浏览器(Blink内核+Trident内核)等。

    其中部分浏览器的新版本是“双核”甚至是“多核”,其中一个内核是Trident,然后再增加一个其他内核。国内的厂商一般把其他内核叫做“高速浏览模式”,而Trident则是“兼容浏览模式”,用户可以来回切换。

    Gecko(Firefox内核)

    Gecko:Netscape6开始采用的内核,后来的Mozilla Fire Fox(火狐浏览器)也采用了该内核,Gecko的特点是代码完全公开,因此,其可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。因为这是个开源内核,因此受到许多人的青睐,Gecko内核的浏览器也很多,这也是Gecko内核虽然年轻但市场占有率能够迅速提高的重要原因。

    事实上,Gecko引擎的由来跟IE不无关系,前面说过IE没有使用W3C的标准,这导致了微软内部一些开发人员的不满;他们与当时已经停止更新了的Netscape的一些员工一起创办了Mozilla,以当时的Mosaic内核为基础重新编写内核,于是开发出了Gecko。不过事实上,Gecko内核的浏览器仍然还是Firefox(火狐)用户最多,所以有时也会被称为Firefox内核。此外Gecko也是一个跨平台内核,可以在Windows、BSD、Linux和MacOSX中使用。

    补充:Java Script引擎是Spider Monkey。

    Gecko内核常见的浏览器:Mozilla Firefox、Mozilla SeaMonkey、Epiphany(早期版本)、Flock(早期版本)、K-Meleon

    Presto(Opera前内核) (已废弃)

    Presto:Opera12.16及更早版本曾经采用的内核,现已停止开发并废弃,该内核在2003年的Opera7中首次被使用,该款引擎的特点就是渲染速度的优化达到了极致,然而代价是牺牲了网页的兼容性。

    实际上这是一个动态内核,与前面几个内核的最大的区别就在脚本处理上,Presto有着天生的优势,页面的全部或者部分都能够在回应脚本事件时等情况下被重新解析。此外该内核在执行Javascrīpt的时候有着最快的速度,根据在同等条件下的测试,Presto内核执行同等Javascrīpt所需的时间仅有Trident和Gecko内核的约1/3(Trident内核最慢,不过两者相差没有多大),本文的其中一个修改者认为上述测试信息过于老旧且不完整,因为他曾做过的小测试显示Presto部分快部分慢,各内核总体相当。那次测试的时候因为Apple机的硬件条件和普通PC机不同所以没有测试WebCore内核。只可惜Presto是商业引擎,使用Presto的除开Opera以外,只剩下NDS Browser、WiiInternet Channle、Nokia770网络浏览器等,这很大程度上限制了Presto的发展。

    Opera现已改用Google Chrome的Blink内核。

    它是苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。Web kit引擎包含Web Core排版引擎及Java Script Core解析引擎,均是从KDE的KHTML及KJS引擎衍生而来,它们都是自由软件,在GPL条约下授权,同时支持BSD系统的开发。所以Web kit也是自由软件,同时开放源代码。在安全方面不受IE、Firefox的制约,所以Safari浏览器在国内还是很安全的。

    限于MacOSX的使用不广泛和Safari浏览器曾经只是MacOSX的专属浏览器,这个内核本身应该说市场范围并不大;但似乎根据最新的浏览器调查表明,该浏览器的市场甚至已经超过了Opera的Presto了——当然这一方面得益于苹果转到x86架构之后的人气暴涨,另外也是因为Safari3终于推出了Windows版的缘故吧。Mac下还有Omni Web、Shiira等人气很高的浏览器。

    Google Chrome、360极速浏览器以及搜狗浏览器高速模式也使用webkit作为内核(在脚本理解方面,Chrome使用自己研发的V8引擎)。

    Web Kit内核在手机上的应用也十分广泛,例如Google的手机Gphone、Apple的iPhone,Nokia’s Series 60 browser等所使用的Browser内核引擎,都是基于Web Kit。

    Web kit(Safari内核,Chrome内核原型,开源)

    Webkit:它是苹果公司自己的内核,也是苹果的Safari浏览器使用的内核。 Web kit引擎包含Web Core排版引擎及Java Script Core解析引擎,均是从KDE的KHTML及KJS引擎衍生而来,它们都是自由软件,在GPL条约下授权,同时支持BSD系统的开发。所以Web kit也是自由软件,同时开放源代码。在安全方面不受IE、Firefox的制约,所以Safari浏览器在国内还是很安全的。

    限于Mac OS X的使用不广泛和Safari浏览器曾经只是Mac OS X的专属浏览器,这个内核本身应该说市场范围并不大;但似乎根据最新的浏览器调查表明,该浏览器的市场甚至已经超过了Opera的Presto了——当然这一方面得益于苹果转到x86架构之后的人气暴涨,另外也是因为Safari 3终于推出了Windows版的缘故吧。Mac下还有Omni Web、Shiira等人气很高的浏览器。

    Google Chrome、360极速浏览器以及搜狗浏览器高速模式也使用web kit作为内核(在脚本理解方面,Chrome使用自己研发的V8引擎)。

    Web Kit 内核在手机上的应用也十分广泛,例如 Google 的手机 Gphone、 Apple 的iPhone, Nokia’s Series 60 browser 等所使用的 Browser 内核引擎,都是基于 Web Kit。

    WebKit内核常见的浏览器:Apple Safari (Win/Mac/iPhone/iPad)、Symbian手机浏览器、Android 默认浏览器,

    Blink(Google的最新内核)

    2013年4月3日,谷歌在Chromium Blog上发表博客,称将与苹果的开源浏览器核心Webkit分道扬镳,在Chromium项目中研发Blink渲染引擎(即浏览器核心),内置于Chrome浏览器之中。

    苹果在Safari中采用Web kit核心,并于2005年将Web kit公开为开源软件。谷歌当时采用苹果的Web kit核心打造了Chrome浏览器。Opera也宣布称将会转向Webkit核心,但是谷歌宣布此举后,Opera表示将会跟随谷歌采用其Blink浏览器核心,同时参与了Blink的开发。

    谷歌转向研发Blink浏览器内核意义重大,谷歌此举欲降低Webkit即苹果在浏览器市场的影响力。截止2012年底,Web kit浏览器内核占总浏览器市场份额约40%。

    谷歌解释称,Chromium多处理架构系统与其他Web kit浏览器很不相同。

    谷歌工程师Adam Barth在博客中表示,随着浏览器的发展,苹果的Web kit已经不能满足用户需求,同时也有碍浏览器技术的创新步伐。但是他也表示,谷歌自主研发Blink内核绝非易事,但是新内核将会提升整个开源网络生态系统的机能。

    谷歌做出此举之际,Mozilla与三星也达成合作协议开发“下一代”浏览器渲染引擎Servo。

    排版引擎

     

    WebCore

    WebCore是苹果公司开发的排版引擎,它是在另外一个排版引擎“KHTML”的基础上而来的。使用WebCore的主要有Safari,此外还有Omni Web、Shiira、Swift等。Safari现支持Windows,但效果不如iOS上的。

    KHTML

    KHTML,是HTML网页排版引擎之一,由KDE所开发。

    KDE系统自KDE2版起,在档案及网页浏览器使用了KHTML引擎。该引擎以C++编程语言所写,并以LGPL授权,支援大多数网页浏览标准。由于微软的Internet Explorer的占有率相当高,不少以FrontPage制作的网页均包含只有IE才能读取的非标准语法,为了使KHTML引擎可呈现的网页达到最多,部分IE专属的语法也一并支援。

    KHTML拥有速度快捷的优点,但对错误语法的容忍度则比Mozilla产品所使用的Gecko引擎小。

    苹果电脑于2002年采纳了KHTML,作为开发Safari浏览器之用,并发布所修改的最新及过去版本源代码。后来发表了开放源代码的Web Core及Web Kit引擎,它们均是KHTML的衍生产品,在开发网站列出引擎改变内容,并会传回至KDE计划。由于两个衍生产品各走不同路线,使两者源代码偏离,在与KDE交换更新会出现困难。其中一个原因,是苹果在对外公开源代码之前,以一年时间编修他们的KHTML。另外,苹果传送更新至KDE计划的方式,多是一口气把大量改动一起传送,KDE在整理资料也出现一定的困难,及后苹果表示会以CVS格式来传送。再者,苹果所作出的改动包括Mac OS X系统独有的事物,如Objective-C、KWQ等,在Linux及KHTML是没有的。但KDE方面仍透过这些改动,为KHTML加入新功能及加快其排版速度。

    基于KHTML内核的内核:Web Kit、WebCore。

     

    展开全文
  • python 绕过国科大教务系统获取所有学生成绩 我发现国科大的教务系统有 bug,今天早上我绕到后台,用 python 爬取了国科大在读和已毕业所有人的成绩,包括本科生和研究生。因为涉及隐私,我也就自己看看,不会跟...

    python 绕过国科大教务系统爬取十万学生成绩

    我发现国科大的教务系统有 bug,今天早上我绕到后台,用 python 爬取了国科大在读和已毕业所有人的成绩,包括本科生和研究生。因为涉及隐私,我也就自己看看,不会跟别人说。只不过系统的这个漏洞,还是希望技术人员能够快点修复吧。

    get 和 post 的基本用法

    urllib 和 requests 都可以做 get 和 post 请求,我理解的 requests 是封装了 urllib 的更上层的一个东西。所以,没有什么特别要求,简单方便地,我们用 requests 就行了。他们的一个基本模板如下。
    get 方式请求:

    import requests
    stuID = "xxxxxxxxxxxxxxx"
    url = "xxx"+stuID
    r = requests.get(url)
    
    # requests提供了 params 关键字参数来传递参数
    parameter = {
                "key1":"value1",
                "key2":"value2"
                }
    response = requests.get("http://httpbin.org/get",params = parameter)
    print(response1.url)
    # 输出 http://httpbin.org/get?key1=value1&key2=value2
    

    post 方式请求:

    import requests
    payload = {
        "key1":"value1",
        "key2":"value2"
    }
    response = requests.post("http://httpbin.org/post",data = payload)
    print(response.text)
    
    import requests
    postdata = { 'name':'aaa' }
    r = requests.post("http://xxxxx",data=postdata)
    print(r.text)
    
    #如果要爬虫用的话 一般建议带上session会话和headers表头信息,session会话可以自动记录cookie
    s = requests.Session()
    headers = { 'Host':'www.xxx.com'}
    postdata = { 'name':'aaa' }
    url = "http://xxxxx"
    s.headers.update(headers)
    r = s.post(url,data=postdata)
    print(r.text)
    
    #可以直接带上 header
    import requests
    import json
     
    data = {'some': 'data'}
    headers = {'content-type': 'application/json',
               'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0'}
     
    r = requests.post('https://api.github.com/some/endpoint', data=data, headers=headers)
    print(r.text)
    

    简单地来说就是,r = requests.get(url)r = requests.post(url),然后有一些多余的参数可选。这是基本的已给 get 和 post 框架,其它的,根据后续需求查查百度修修补补即可。

    做一个简单的 GUI 界面

    除了批量爬取,我们也可以获取单个学生的成绩。比如说,某个时刻你对某个学霸同学的成绩很感兴趣,查!!!
    做了一个简单的 GUI 界面。泄露传播别人的隐私是违法行为,代码和工具我就不公开了。
    我装的是 anaconda,我不知道它把 pyqt5 放哪了。打开 Everthing 搜一下,喏,绿色的那个就是。

    在这里插入图片描述

    然后就是:

    • 新建对话框,带确定按钮那种。
    • 拖一个 Line Edit 用来输入学号,拖一个 Label 用来写"学号"两个字。摆好位置,添一添布局。保存 ui 文件。
    • 用 pyuic5 把 ui 文件转成 py 文件,pyuic5 用法类似于一般的格式转化工具。打开终端,执行 pyuic5 .\untitled.ui -o dlg.py
    • 然后把生成出来的界面文件,import 进去用就行了。一个基本用它的框架模板是:
      from PyQt5.QtGui import *
      from PyQt5.QtCore import *
      from PyQt5.QtWidgets import QInputDialog, QLineEdit, QDialog
      from PyQt5.QtWidgets import QApplication
      import sys
      #import dlg //不要这样写,应该写下面一个
      from dlg import *
      class TestDialog(QDialog,Ui_Dialog):  
          def __init__(self,parent=None):  
              super(TestDialog,self).__init__(parent)  
              self.setupUi(self)
      
      app=QApplication(sys.argv)  
      dialog=TestDialog()  
      dialog.show()  
      app.exec_()
      
      #下面这部分是主程序,需要简单改改
      import requests
      #stuID = "xxxxxxxxxxxxxxx"
      stuID = dialog.lineEdit.text() 
      #尊重隐私,后文省略
      

    注意两点:1、命名 ui 文件生成的 py 文件时,可以自己命名,但是不能和 python 搜索路径下的文件重名,为了防止这一点,最后有一个特别的名字。2、导入自己的模块,写 from dlg import * 而不写 import dlg 否则可能会出现找不到。

    运行出对话框,如下:
    在这里插入图片描述

    解析方法的选择

    网页的解析方法,我们可以选择 BeautifulSoup、lxml(XPath ) 和正则表达式。这些我都用过,推荐 lxml,因为浏览器可以直接 Copy 你选中部分的 Xpath 表达。XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。

    基本介绍:

    / 从根节点选取
    // 从所有匹配的节点选取
    . 当前节点
    .. 当前的父节点
    nodename 选取节点
    @ 选取节点的属性
    * 通赔符 
    | 选取若干路径用分割
    text() 选取该节点的文本内容
    
    例子:
    //img/@src 选取所有img 节点的src属性
    //img/../text 选取img节点的父节点下的text节点
    //*/@src 选取任何节点的 src 属性
    
    result = html.xpath('//a/@href')
    print(result)
    
    
    result = html.xpath('//div/text()')
    print(result)
    result = html.xpath('//div//text()')
    
    # string 也是一种函数方法,可以提取子标签的文本
    content = code.xpath('//div[@class="p_content  "]/cc/div')
    for i in content:
    	print(i.xpath('string(.)'))
    

    一个基本的写法框架模板是:

    import requests
    from lxml import etree
    from chardet import detect
    url = "xxxxx"
    r = requests.get(url)
    # html=r.content
    # cder=detect(html)
    # html=html.decode(cder.get('encoding'))
    html=r.text
    
    tree=etree.HTML(html)
    # tmp = etree.tostring(tree)
    # print(tmp)
    name = tree.xpath('/html/body/div/table[3]/tr[1]/td[2]/font')
    print('result is: '+name[0].text)
    

    代码结构

    部分代码展示如下:

    dlg.py

    # -*- coding: utf-8 -*-
    
    # Form implementation generated from reading ui file '.\test.ui'
    #
    # Created by: PyQt5 UI code generator 5.9.2
    #
    # WARNING! All changes made in this file will be lost!
    
    from PyQt5 import QtCore, QtGui, QtWidgets
    
    class Ui_Dialog(object):
        def setupUi(self, Dialog):
            Dialog.setObjectName("Dialog")
            Dialog.resize(400, 300)
            self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
            self.buttonBox.setGeometry(QtCore.QRect(30, 240, 341, 32))
            self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
            self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
            self.buttonBox.setObjectName("buttonBox")
            self.label = QtWidgets.QLabel(Dialog)
            self.label.setGeometry(QtCore.QRect(50, 120, 312, 31))
            self.label.setObjectName("label")
            self.lineEdit = QtWidgets.QLineEdit(Dialog)
            self.lineEdit.setGeometry(QtCore.QRect(140, 120, 252, 31))
            self.lineEdit.setObjectName("lineEdit")
    
            self.retranslateUi(Dialog)
            self.buttonBox.accepted.connect(Dialog.accept)
            self.buttonBox.rejected.connect(Dialog.reject)
            QtCore.QMetaObject.connectSlotsByName(Dialog)
    
        def retranslateUi(self, Dialog):
            _translate = QtCore.QCoreApplication.translate
            Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
            self.label.setText(_translate("Dialog", "学号"))
            self.lineEdit.setText(_translate("Dialog", "201900000000000"))
    
    
    

    main.py

    from PyQt5.QtGui import *
    from PyQt5.QtCore import *
    from PyQt5.QtWidgets import QInputDialog, QLineEdit, QDialog
    from PyQt5.QtWidgets import QApplication
    from lxml import etree
    from chardet import detect
    import sys
    #import dlg //不要这样写,应该写下面一个
    from dlg import *
    class TestDialog(QDialog,Ui_Dialog):  
        def __init__(self,parent=None):  
            super(TestDialog,self).__init__(parent)  
            self.setupUi(self)
    
    app=QApplication(sys.argv)  
    dialog=TestDialog()  
    dialog.show()  
    app.exec_()
    
    #下面这部分是主程序,需要简单改改
    import requests
    #stuID = "xxxxxxxxxxxxxxx"
    stuID = dialog.lineEdit.text() 
    url = "xxxxx"
    r = requests.get(url)
    
    html=r.text
    tree=etree.HTML(html)
    tmp = etree.tostring(tree)
    print(tmp)
    name = tree.xpath('/html/body/div/table[3]/tr[1]/td[2]/font')
    print('result is: '+name[0].text)
    f = open(name[0].text+stuID+".html",'w+',encoding='utf-8')
    #print(r.text)
    f.write(html)
    
    

    HTML 和 JavaScript

    为了使用更方便的快捷,除了桌面程序,我还写了一个 H5 的小脚本,效果如下。

    11
    部分前端代码如下:

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title>
    			国科大成绩查询
    		</title>
    		<link href="http://apps.bdimg.com/libs/bootstrap/3.3.4/css/bootstrap.css"
    		rel="stylesheet">
    		<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.js">
    		</script>
    		<style type="text/css">
    			html,body{width:100%;height:100%;margin:0;font:14px "Microsoft Yahei","微软雅黑",Tahoma,Arial,Helvetica,STHeiti;color:#ccc;background-color:#27ae60;}.logo{width:150px;height:64px;background:url(./images/spite_index)
    			-29px -432px no-repeat;margin:80px auto 20px;}.header{color:#f4f4f4;margin-bottom:15px;font-size:21px;font-weight:200;text-align:center;}.header
    			span{font-size:14px;}.form-group{margin-top:40px;margin-bottom:15px;}.form-group
    			.text{width:450px;border:2px solid #27ae60;-webkit-box-shadow:none;box-shadow:none;font-size:16px;padding:13px
    			30px;border-radius:0;height:auto;text-align:center;margin:10px auto;}.form-group
    			.text:focus{border-color:#208d4e;}a.submit{width:446px;background:#239650;border:1px
    			solid #239650;-webkit-box-shadow:none;box-shadow:none;font-size:18px;color:#fff;padding:10px
    			30px;border-radius:0;height:auto;text-align:center;margin:0 auto;}a:hover{cursor:pointer;text-decoration:none;background:#208d4e;border-color:#208d4e;}.tip{width:375px;height:87px;background:url(./images/spite_index)-21px
    			-513px;margin:80px auto 0;}
    		</style>
    		<script type="text/javascript">
    			$(function() {
    				$('#submit').on('click',
    				function() {
    					var input = $('input[name=input]').val().replace(/(^\s*)|(\s*$)/g, "");
    					window.open('xxx' + input + '?xxx');
    				})
    			});
    		</script>
    	</head>
    	<body>
    		<div class="container">
    			<div class="logo">
    			</div>
    			<p class="header">
    				陆嵩小主,请输入您要查询的学号
    				<br/>
    				<div class="form-group">
    					<input type="text" class="form-control text" name="input" value="" placeholder="输入学号"
    					/>
    					<a id="submit" class="form-control submit">
    						获取成绩
    					</a>
    				</div>
    			</p>
    			<div class="tip">
    			</div>
    		</div>
    	</body>
    
    </html>
    
    展开全文
  • 这样解决浏览器不兼容问题

    千次阅读 2014-05-26 07:49:10
    如果想解决浏览器的兼容性问题,你首先要明白在一个浏览器显示正常的代码为什么会在其他浏览器出现浏览器不兼容的问题?这是因为各个浏览器对于HTML标签或者DIV盒子模型的解析不同造成的,经常会出现问题的浏览器非...

    来自:http://blog.csdn.net/qq1355541448/article/details/9833147

    浏览器兼容性问题怎么解决?

    如果想解决浏览器的兼容性问题,你首先要明白在一个浏览器显示正常的代码为什么会在其他浏览器出现浏览器不兼容的问题?这是因为各个浏览器对于HTML标签或者DIV盒子模型的解析不同造成的,经常会出现问题的浏览器非IE莫属,因为IE浏览器本身自有的layout,真的是让很多前端人员痛苦不堪。鉴于此我列举一些常用的检测不兼容代码的方法!

    1.排除法,逐行删除标签检测出问题的代码。

    2.加边框法。给每个盒子加border。这样就可以看出哪个盒子显示不正常。

    3.删除CSS,把样式表逐行删除,检测哪段样式有问题。

    以下为常见的一些浏览器兼容问题及解决方法

    浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同

    问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。

    碰到频率:100%

    解决方案:CSS里 *{margin:0;padding:0;}

    备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设置各个标签的内外补丁是0。

    浏览器兼容问题二:块属性标签float后,又有横行的margin情况下,在IE6显示margin比设置的大

    问题症状:常见症状是IE6中后面的一块被顶到下一行

    碰到频率:90%(稍微复杂点的页面都会碰到,float布局最常见的浏览器兼容问题)

    解决方案:在float的标签样式控制中加入 display:inline;将其转化为行内属性

    备注:我们最常用的就是div+CSS布局了,而div就是一个典型的块属性标签,横向布局的时候我们通常都是用div float实现的,横向的间距设置如果用margin实现,这就是一个必然会碰到的兼容性问题。

    浏览器兼容问题三:设置较小高度标签(一般小于10px),在IE6,IE7,遨游中高度超出自己设置高度

    问题症状:IE6、7和遨游里这个标签的高度不受控制,超出自己设置的高度

    碰到频率:60%

    解决方案:给超出高度的标签设置overflow:hidden;或者设置行高line-height 小于你设置的高度。

    备注:这种情况一般出现在我们设置小圆角背景的标签里。出现这个问题的原因是IE8之前的浏览器都会给标签一个最小默认的行高的高度。即使你的标签是空的,这个标签的高度还是会达到默认的行高。

    浏览器兼容问题四:行内属性标签,设置display:block后采用float布局,又有横行的margin的情况,IE6间距bug

    问题症状:IE6里的间距比超过设置的间距

    碰到几率:20%

    解决方案:在display:block;后面加入display:inline;display:table;

    备注:行内属性标签,为了设置宽高,我们需要设置display:block;(除了input标签比较特殊)。在用float布局并有横向的margin后,在IE6下,他就具有了块属性float后的横向margin的bug。不过因为它本身就是行内属性标签,所以我们再加上display:inline的话,它的高宽就不可设了。这时候我们还需要在display:inline后面加入display:talbe。

    浏览器兼容问题五:图片默认有间距

    问题症状:几个img标签放在一起的时候,有些浏览器会有默认的间距,加了问题一中提到的通配符也不起作用。

    碰到几率:20%

    解决方案:使用float属性为img布局

    备注:因为img标签是行内属性标签,所以只要不超出容器宽度,img标签都会排在一行里,但是部分浏览器的img标签之间会有个间距。去掉这个间距使用float是正道。(我的一个学生使用负margin,虽然能解决,但负margin本身就是容易引起浏览器兼容问题的用法,所以我禁止他们使用)

    浏览器兼容问题六:标签最低高度设置min-height不兼容

    问题症状:因为min-height本身就是一个不兼容的CSS属性,所以设置min-height时不能很好的被各个浏览器兼容

    碰到几率:5%

    解决方案:如果我们要设置一个标签的最小高度200px,需要进行的设置为:{min-height:200px; height:auto !important; height:200px; overflow:visible;}

    备注:在B/S系统前端开时,有很多情况下我们又这种需求。当内容小于一个值(如300px)时。容器的高度为300px;当内容高度大于这个值时,容器高度被撑高,而不是出现滚动条。这时候我们就会面临这个兼容性问题。

    浏览器兼容问题七:透明度的兼容CSS设置

    做兼容页面的方法是:每写一小段代码(布局中的一行或者一块)我们都要在不同的浏览器中看是否兼容,当然熟练到一定的程度就没这么麻烦了。建议经常会碰到兼容性问题的新手使用。很多兼容性问题都是因为浏览器对标签的默认属性解析不同造成的,只要我们稍加设置都能轻松地解决这些兼容问题。如果我们熟悉标签的默认属性的话,就能很好的理解为什么会出现兼容问题以及怎么去解决这些兼容问题。

    1. /* CSS hack*/

    我很少使用hacker的,可能是个人习惯吧,我不喜欢写的代码IE不兼容,然后用hack来解决。不过hacker还是非常好用的。使用hacker我可以把浏览器分为3类:IE6 ;IE7和遨游;其他(IE8 chrome ff safari opera等)

    ◆IE6认识的hacker 是下划线_ 和星号 *

    ◆IE7 遨游认识的hacker是星号 *

    比如这样一个CSS设置:

    1. height:300px;*height:200px;_height:100px;

    IE6浏览器在读到height:300px的时候会认为高时300px;继续往下读,他也认识*heihgt, 所以当IE6读到*height:200px的时候会覆盖掉前一条的相冲突设置,认为高度是200px。继续往下读,IE6还认识_height,所以他又会覆盖掉200px高的设置,把高度设置为100px;

    IE7和遨游也是一样的从高度300px的设置往下读。当它们读到*height200px的时候就停下了,因为它们不认识_height。所以它们会把高度解析为200px,剩下的浏览器只认识第一个height:300px;所以他们会把高度解析为300px。因为优先级相同且想冲突的属性设置后一个会覆盖掉前一个,所以书写的次序是很重要的。

    另外,附上常见的最全的CSS浏览器兼容问题

    1.div的垂直居中问题 vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行 

    2. margin加倍的问题 设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。解决方案是在这个div里面加上 display:inline; 例如: <#div id=”imfloat”> 相应的css为 #IamFloat{ float:left; margin:5px;/*IE下理解为10px*/ display:inline;/*IE下再理解为5px*/} 

    3.浮动ie产生的双倍距离 #box{ float:left; width:100px; margin:0 0 0 100px; //这种情况之下IE会产生200px的距离 display:inline; //使浮动忽略} 这里细说一下block与inline两个元素:block元素的特点是,总是在新行上开始,高度,宽度,行高,边距都可以控制(块元素);Inline 元素的特点是,和其他元素在同一行上,不可控制(内嵌元素); #box{ display:block; //可以为内嵌元素模拟为块元素 display:inline; //实现同一行排列的效果 diplay:table; 

    4 IE与宽度和高度的问题 IE 不认得min-这个定义,但实际上它把正常的width和height当作有min的情况来使。这样问题就大了,如果只用宽度和高度,正常的浏览器里这两个值就不会变,如果只用min-width和min-height的话,IE下面根本等于没有设置宽度和高度。 比如要设置背景图片,这个宽度是比较重要的。要解决这个问题,可以这样: #box{ width: 80px; height: 35px;}html>body #box{ width: auto; height: auto; min-width: 80px; min-height: 35px;} 

    5.页面的最小宽度 min -width是个非常方便的CSS命令,它可以指定元素最小也不能小于某个宽度,这样就能保证排版一直正确。但IE不认得这个,而它实际上把width当做最小宽度来使。为了让这一命令在IE上也能用,可以把一个<div> 放到 <body> 标签下,然后为div指定一个类, 然后CSS这样设计: #container{ min-width: 600px; width:expression(document.body.clientWidth < 600? "600px": "auto" );} 第一个min-width是正常的;但第2行的width使用了Javascript,这只有IE才认得,这也会让你的HTML文档不太正规。它实际上通过Javascript的判断来实现最小宽度。 

    6.DIV浮动IE文本产生3象素的bug 左边对象浮动,右边采用外补丁的左边距来定位,右边对象内的文本会离左边有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.IE捉迷藏的问题 当div应用复杂的时候每个栏中又有一些链接,DIV等这个时候容易发生捉迷藏的问题。 有些内容显示不出来,当鼠标选择这个区域是发现内容确实在页面。 解决办法:对#layout使用line-height属性或者给#layout使用固定高和宽。页面结构尽量简单。 

    8.float的div闭合;清除浮动;自适应高度; 

    ① 例如:<#div id=”floatA” ><#div id=”floatB” ><#div id=” NOTfloatC” >这里的NOTfloatC并不希望继续平移,而是希望往下排。(其中floatA、floatB的属性已经设置为 float:left;) 这段代码在IE中毫无问题,问题出在FF。原因是NOTfloatC并非float标签,必须将float标签闭合。在 <#div class=”floatB”> <#div class=”NOTfloatC”>之间加上 < #div class=”clear”>这个div一定要注意位置,而且必须与两个具有float属性的div同级,之间不能存在嵌套关系,否则会产生异常。并且将clear这种样式定义为为如下即可: .clear{ clear:both;} 

    ②作为外部 wrapper 的 div 不要定死高度,为了让高度能自动适应,要在wrapper里面加上overflow:hidden; 当包含float的 box的时候,高度自动适应在IE下无效,这时候应该触发IE的layout私有属性(万恶的IE啊!)用zoom:1;可以做到,这样就达到了兼容。 例如某一个wrapper如下定义: .colwrapper{ overflow:hidden; zoom:1; margin:5px auto;} 

    ③对于排版,我们用得最多的css描述可能就是float:left.有的时候我们需要在n栏的float div后面做一个统一的背景,譬如: <div id=”page”> <div id=”left”></div> <div id=”center”></div> <div id=”right”></div> </div> 比如我们要将page的背景设置成蓝色,以达到所有三栏的背景颜色是蓝色的目的,但是我们会发现随着left center right的向下拉长,而 page居然保存高度不变,问题来了,原因在于page不是float属性,而我们的page由于要居中,不能设置成float,所以我们应该这样解决 <div id=”page”> <div id=”bg” style=”float:left;width:100%”> <div id=”left”></div> <div id=”center”></div> <div id=”right”></div> </div> </div> 再嵌入一个float left而宽度是100%的DIV解决之 

    ④万能float 闭合(非常重要!) 关于 clear float 的原理可参见 [How To Clear Floats Without Structural Markup],将以下代码加入Global CSS 中,给需要闭合的div加上 class="clearfix" 即可,屡试不爽. /* Clear Fix */ .clearfix:after { content:"."; display:block; height:0; clear:both; visibility:hidden; } .clearfix { display:inline-block; } /* Hide from IE Mac */ .clearfix {display:block;} /* End hide from IE Mac */ /* end of clearfix */ 或者这样设置:.hackbox{ display:table; //将对象作为块元素级的表格显示} 

    11.高度不适应 高度不适应是当内层对象的高度发生变化时外层高度不能自动进行调节,特别是当内层对象使用margin 或paddign 时。 例: #box {background-color:#eee; } #box p {margin-top: 20px;margin-bottom: 20px; text-align:center; } <div id="box"> <p>p对象中的内容</p> </div> 解决方法:在P对象上下各加2个空的div对象CSS代码:.1{height:0px;overflow:hidden;}或者为DIV加上 border属性。 

    12 .IE6下为什么图片下有空隙产生解决这个BUG的方法也有很多,可以是改变html的排版,或者设置img 为display:block 或者设置vertical-align 属性为 vertical-align:top | bottom |middle |text-bottom 都可以解决. 

    13.如何对齐文本与文本输入框 加上 vertical-align:middle; <style type="text/css"> <!-- input { width:200px; height:30px; border:1px solid red; vertical-align:middle; } --> </style> 

    14.web标准中定义id与class有什么区别吗 一.web标准中是不容许重复ID的,比如 div id="aa" 不容许重复2次,而class 定义的是类,理论上可以无限重复, 这样需要多次引用的定义便可以使用他. 二.属性的优先级问题 ID 的优先级要高于class,看上面的例子三.方便JS等客户端脚本,如果在页面中要对某个对象进行脚本操作,那么可以给他定义一个ID,否则只能利用遍历页面元素加上指定特定属性来找到它,这是相对浪费时间资源,远远不如一个ID来得简单. 

    15. LI中内容超过长度后以省略号显示的方法 此方法适用与IE与OP浏览器 <style type="text/css"> <!-- li { width:200px; white-space:nowrap; text-overflow:ellipsis; -o-text-overflow:ellipsis; overflow: hidden; } --> </style> 

    16.为什么web标准中IE无法设置滚动条颜色了 解决办法是将body换成html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <style type="text/css"> <!-- html { scrollbar-face-color:#f6f6f6; scrollbar-highlight-color:#fff; scrollbar-shadow-color:#eeeeee; scrollbar-3dlight-color:#eeeeee; scrollbar-arrow-color:#000; scrollbar-track-color:#fff; scrollbar-darkshadow-color:#fff; } --> </style> 

    17.为什么无法定义1px左右高度的容器 IE6下这个问题是因为默认的行高造成的,解决的方法也有很多,例如:overflow:hidden | zoom:0.08 | line-height:1px 

    18.怎么样才能让层显示在FLASH之上呢 解决的办法是给FLASH设置透明 <param name="wmode" value="transparent" /> 

    19.怎样使一个层垂直居中于浏览器中这里我们使用百分比绝对定位,与外补丁负值的方法,负值的大小为其自身宽度高度除以二 <style type="text/css"> <!-- div { position:absolute; top:50%; lef:50%; margin:-100px 0 0 -100px; width:200px; height:200px; border:1px solid red; } --> </style> 

    FF与IE 

    1. Div居中问题 div设置 margin-left, margin-right 为 auto 时已经居中,IE 不行,IE需要设定body居中,首先在父级元素定义text-algin: center;这个的意思就是在父级元素内的内容居中。 

    2.链接(a标签)的边框与背景 a 链接加边框和背景色,需设置 display: block, 同时设置 float: left 保证不换行。参照 menubar, 给 a 和 menubar 设置高度是为了避免底边显示错位, 若不设 height, 可以在 menubar 中插入一个空格。 

    3.超链接访问过后hover样式就不出现的问题被点击访问过的超链接样式不在具有hover和active了,很多人应该都遇到过这个问题,解决方法是改变CSS属性的排列顺序: L-V-H-A Code: <style type="text/css"> <!-- a:link {} a:visited {} a:hover {} a:active {} --> </style> 

    4. 游标手指cursor cursor: pointer 可以同时在 IE FF 中显示游标手指状, hand 仅 IE 可以 

    5.UL的padding与margin ul标签在FF中默认是有padding值的,而在IE中只有margin默认有值,所以先定义 ul{margin:0;padding:0;}就能解决大部分问题 

    6. FORM标签 这个标签在IE中,将会自动margin一些边距,而在FF中margin则是0,因此,如果想显示一致,所以最好在css中指定margin和 padding,针对上面两个问题,我的css中一般首先都使用这样的样式ul,form{margin:0;padding:0;}给定义死了,所以后面就不会为这个头疼了. 

    7. BOX模型解释不一致问题 在FF和IE 中的BOX模型解释不一致导致相差2px解决方法:div{margin:30px!important;margin:28px;} 注意这两个 margin的顺序一定不能写反, important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样: div {maring:30px;margin:28px}重复定义的话按照最后一个来执行,所以不可以只写margin:xx px!important; #box{ width:600px; //for ie6.0- w\idth:500px; //for ff+ie6.0} #box{ width:600px!important //for ff width:600px; //for ff+ie6.0 width /**/:500px; //for ie6.0-} 

    8.属性选择器(这个不能算是兼容,是隐藏css的一个bug) p[id]{}div[id]{} 这个对于IE6.0和IE6.0以下的版本都隐藏,FF和OPera作用.属性选择器和子选择器还是有区别的,子选择器的范围从形式来说缩小了,属性选择器的范围比较大,如p[id]中,所有p标签中有id的都是同样式的. 

    9.最狠的手段 - !important; 如果实在没有办法解决一些细节问题,可以用这个方法.FF对于”!important”会自动优先解析,然而IE则会忽略.如下 .tabd1{ background:url(/res/images/up/tab1.gif) no-repeat 0px 0px !important; /*Style for FF*/ background:url(/res/images/up/tab1.gif) no-repeat 1px 0px; /* Style for IE */} 值得注意的是,一定要将xxxx !important 这句放置在另一句之上,上面已经提过 

    10.IE,FF的默认值问题 或许你一直在抱怨为什么要专门为IE和FF写不同的CSS,为什么IE这样让人头疼,然后一边写css,一边咒骂那个可恶的M$ IE.其实对于css的标准支持方面,IE并没有我们想象的那么可恶,关键在于IE和FF的默认值不一样而已,掌握了这个技巧,你会发现写出兼容FF和 IE的css并不是那么困难,或许对于简单的css,你完全可以不用”!important”这个东西了。 我们都知道,浏览器在显示网页的时候,都会根据网页的 css样式表来决定如何显示,但是我们在样式表中未必会将所有的元素都进行了具体的描述,当然也没有必要那么做,所以对于那些没有描述的属性,浏览器将采用内置默认的方式来进行显示,譬如文字,如果你没有在css中指定颜色,那么浏览器将采用黑色或者系统颜色来显示,div或者其他元素的背景,如果在 css中没有被指定,浏览器则将其设置为白色或者透明,等等其他未定义的样式均如此。所以有很多东西出现FF和IE显示不一样的根本原因在于它们的默认显示不一样,而这个默认样式该如何显示我知道在w3中有没有对应的标准来进行规定,因此对于这点也就别去怪罪IE了。 

    11.为什么FF下文本无法撑开容器的高度标准浏览器中固定高度值的容器是不会象IE6里那样被撑开的,那我又想固定高度,又想能被撑开需要怎样设置呢?办法就是去掉height设置min- height:200px; 这里为了照顾不认识min-height的IE6 可以这样定义: { height:auto!important; height:200px; min-height:200px; } 

    12.FireFox下如何使连续长字段自动换行 众所周知IE中直接使用 word-wrap:break-word 就可以了, FF中我们使用JS插入&#10;的方法来解决 <style type="text/css"> <!-- div { width:300px; word-wrap:break-word; border:1px solid red; } --> </style> <div id="ff">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div> <scrīpt type="text/javascrīpt"> /* <![CDATA[ */ function toBreakWord(el, intLen){ var ōbj=document.getElementById(el); var strContent=obj.innerHTML; var strTemp=""; while(strContent.length>intLen){ strTemp+=strContent.substr(0,intLen)+"&#10;"; strContent=strContent.substr(intLen,strContent.length); } strTemp+="&#10;"+strContent; obj.innerHTML=strTemp; } if(document.getElementById && !document.all) toBreakWord("ff", 37); /* ]]> */ </scrīpt> 

    13.为什么IE6下容器的宽度和FF解释不同呢 <?xml version="1.0" encoding="gb2312"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <style type="text/css"> <!-- div { cursor:pointer; width:200px; height:200px; border:10px solid red } --> </style> <div ōnclick="alert(this.offsetWidth)">让FireFox与IE兼容</div> 问题的差别在于容器的整体宽度有没有将边框(border)的宽度算在其内,这里IE6解释为200PX ,而FF则解释为220PX,那究竟是怎么导致的问题呢?大家把容器顶部的xml去掉就会发现原来问题出在这,顶部的申明触发了IE的qurks mode,关于qurks mode、 standards mode的相关知识,请参考:http: //www.microsoft.com/china/msdn/library/webservices/asp.net/ ASPNETusStan.mspx?mfr=true 

    IE6,IE7,FF IE7.0 出来了,对CSS的支持又有新问题。浏览器多了,网页兼容性更差了,疲于奔命的还是我们 ,为解决IE7.0的兼容问题,找来了下面这篇文章:现在我大部分都是用!important来hack,对于ie6和firefox测试可以正常显示,但是ie7对!important可以正确解释,会导致页面没按要求显示!下面是三个浏览器的兼容性收集. 

    第一种,是CSS HACK的方法 height:20px; /*For Firefox*/ *height:25px; /*For IE7 & IE6*/ _height:20px; /*For IE6*/ 注意顺序。 这样也属于CSS HACK,不过没有上面这样简洁。 #example { color: #333; } /* Moz */ * html #example { color: #666; } /* IE6 */ *+html #example { color: #999; } /* IE7 */ 

    <!--其他浏览器 --> <link rel="stylesheet" type="text/css" href="css.css" /> <!--[if IE 7]> <!-- 适合于IE7 --> <link rel="stylesheet" type="text/css" href="ie7.css" /> <![endif]--> <!--[if lte IE 6]> <!-- 适合于IE6及一下 --> <link rel="stylesheet" type="text/css" href="ie.css" /> <![endif]--> 

    第三种,css filter的办法,以下为经典从国外网站翻译过来的。. 新建一个css样式如下: #item { width: 200px; height: 200px; background: red; } 新建一个div,并使用前面定义的css的样式: <div id="item">some text here</div> 在body表现这里加入lang属性,中文为zh: <body lang="en"> 现在对div元素再定义一个样式: *:lang(en) #item{ background:green !important; } 这样做是为了用!important覆盖原来的css样式,由于:lang选择器ie7.0并不支持,所以对这句话不会有任何作用,于是也达到了 ie6.0下同样的效果,但是很不幸地的是,safari同样不支持此属性,所以需要加入以下css样式: #item:empty { background: green !important } :empty选择器为css3的规范,尽管safari并不支持此规范,但是还是会选择此元素,不管是否此元素存在,现在绿色会现在在除ie各版本以外的浏览器上。 对IE6和FF的兼容可以考虑以前的!important 个人比较喜欢用

    更多 0
    1
    展开全文
  • (我的一个学生使用负margin,虽然能解决,但负margin本身就是容易引起浏览器兼容问题的用法,所以我禁止他们使用)   浏览器兼容问题六:标签最低高度设置min-height不兼容  问题症状:因为min-height本身就是一...
  • Javascript 多浏览器兼容性问题及解决方案 兼容性处理要点: 1、DOCTYPE 影响 CSS 处理  2、FF: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 ...
  • 本大学生健康管理系统是为了更好的对大学生的心理进行管理的一个系统,系统分为管理员,医生和学生三种用户角色,主要实现了用户登录,学生信息管理,医生信息管理,生活作息管理, 运动记录管理, 疾病记录管理, ...
  • 一样米养百样人,尽管吃同样的食物,但还是有人健康,有人身体不适。这个个人估计和浏览器兼容问题一样,同样的HTML(HTML5)+...同样的代码,有的浏览器效果显示“正常”,有的显示“不正常”。 什么是兼容问题
  • 基于Chrome浏览器的HackBar_v2.2.6插件的安装与注册

    万次阅读 多人点赞 2019-07-09 00:20:27
    Hackbar是一款基于浏览器的简单的安全审计或者说是渗透测试工具,能够帮助您测试sql注入,XSS漏洞和站点安全性,帮助开发人员对其代码进行安全审计。 本篇博客介绍的是基于Chrome浏览器的hackbar插件的安装与注册,...
  • 基于wampsever的学生成绩管理系统的开发教程 一.安装wampsever1.下载wampsever,一路next...next...2. 安装完成后双击运行wampsever。3.配置wampsever二.数据库操作1.建立数据库pxscj2.用SQLyog导入数据库pxscj(==...
  • 学生成绩管理系统【JSP+Servlet+MySQL】

    千次阅读 2021-01-07 12:36:11
    学生成绩管理系统【基于JSP+Servlet+MySQL】一、环境配置软件需求软件的安装及各项配置eclipse 一、环境配置 软件需求 Eclipse IDE for Java Developers - 2020-12 MySQL 8.0 apache-tomcat-9.0.41 软件的安装及...
  • 最近突然想整个服务器玩玩,百度了一下发现腾讯云学生服务器,完成学生认证之后一个月最低只要十块钱就能玩起来,于是就买了一个,折腾了一天,算是在服务器上搭建好了基本web开发环境(tomcat和jdk),并且也在...
  • 建议使用数据库连接工具navicat完成操作,提供一个绿色版:https://pan.baidu.com/s/1a90JhOe3J7jYiJqoia9QAg 提取码:r7yv (4)用开发工具IDEA(或eclipse)打开项目: 推荐用IDEA打开项目,建议将项目的JDK版本...
  • 0x00 前言BeEF,全称The Browser Exploitation Framework,是一款针对浏览器的渗透测试工具。 目前对其测试的文章不是很多,所以希望通过本次测试给大家带来全新的认识。0x01 简介工具主页:http://beefproject.com...
  • 如果想解决浏览器的兼容性问题,你首先要明白在一个浏览器显示正常的代码为什么会在其他浏览器出现浏览器不兼容的问题?这是因为各个浏览器对于 HTML标签或者DIV盒子模型的解析不同造成的,经常会出现问题的浏览器非...
  • 最近突然想整个服务器玩玩,百度了一下发现腾讯云学生服务器,完成学生认证之后一个月最低只要十块钱就能玩起来,于是就买了一个,折腾了一天,算是在服务器上搭建好了基本web开发环境(tomcat和jdk),并且也在...
  • 三好学生 · 2015/10/23 10:180x00 前言BeEF,全称The Browser Exploitation Framework,是一款针对浏览器的渗透测试工具。 目前对其测试的文章不是很多,所以希望通过本次测试给大家带来全新的认识。0x01 简介工具...
  •  绿色模块:表示模块适合目标浏览器,并且执行结果被客户端不可见  红色模块:表示模块不适用于当前用户,有些红色模块也可正常执行  橙色模块:模块可用,但结果对用户可见(CAM弹窗申请权限等) ...
  • kousi_zju_documents

    2021-07-24 05:00:46
    如果你需要新建文件夹,可以打开任意文件夹,点击绿色Download按钮旁的upload,把浏览器地址栏中文件夹名称改为你想要新建的文件夹名称,然后回车,并上传你的文件。 当然,你也可以选择add file->create new file并...
  • 更好的是,一旦达到100%,指示条就会变为绿色(非常令人满意)。 提示区域 粘贴您的提示和注释,以备您在可折叠的提示抽屉中编写时参考。对于班级讨论论坛很有用! 坚持状态+进步 意外刷新后失去工作的日子已经一去...
  • 最近突然想整个服务器玩玩,百度了一下发现腾讯云学生服务器,完成学生认证之后一个月最低只要十块钱就能玩起来,于是就买了一个,折腾了一天,算是在服务器上搭建好了基本web开发环境(tomcat和jdk),并且也在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,777
精华内容 1,110
关键字:

学生绿色浏览器