今天给各位分享 开发一个完整的网站,不用JavaScript能行吗? 的知识,其中也会对 如何用php开发一个完整的网站 进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
3. 进行网站设计和开发 设计:包括页面布局、色彩搭配、字体选择等视觉元素的设计。可以使用现成的网站模板进行个性化修改,也可以从零开始设计。 开发:掌握HTML、CSS、JavaScript等前端技术,以及PHP、MySQL等后端技术,实现网站的交互功能和数据管理。4. 发布网站并进行优化 发布:将网站文件上传到
第二阶段:会用网页 *** 软件和基础语法后,已会可以 *** 一个较完整的网站了。当然为了让网站做得更漂亮,功能更强大,你就需要学一些动态编程语言,常用的有ASP,PHP和ASP.NET,推荐后两种,应为ASP再过一段时间会被淘汰,后两种程序区别自己上网搜索吧,本人更倾向于学习.NET,面向对象,功能太强了,微软的东西
功能:用于存放网站文件的地方。提供商:通常由主机供给商提供。备案要求:国内大陆的主机需要备案才可以使用,而国外的主机则不需要备案。编程语言:必要性:用于开发网站所需的各种功能和页面。常用语言:包括但不限于HTML、CSS、JavaScript等前端技术,以及ASP、CGI、PHP等后端脚本程序。开发工具:作用:
从零开始搭建一个属于自己的网站,可以按照以下步骤进行:安装基础工具:安装Node.js:这是JavaScript运行的基础环境,对网站开发至关重要。选择长期支持版以避免频繁更新带来的问题。Git与GitHub入门:安装Git:用于版本管理。注册GitHub账号:熟悉基本操作,因为用户名将成为免费域名前缀。安装VS Code编辑器:
PHP语言是写不出视频播放器的,JAVASCRIPT更不行,一般人也不要想自己去写播放器。一般是用现成的播放器插件,把服务器硬盘上的视频地址传进去就播放了。甚至视频都不在自己的服务器上,只是在页面上加上一段第三方视频网站的代码。播放器插件是不是就是指视频解码器?大体有哪些?我怎么在网上找不到?
safari的javascript要开启吗javascript那个选项一定要开着,javascript是网站浏览器中的脚本语言,绝大部分网站都使用了javascript。关闭的话,会导致网站上面好多功能无法使用。web检查器是开发人员用的,需要用数据线和电脑连接,才能使用,不会要关心这个。\x0d\x0a\x0d\x0a对于Safari浏览器\x0d\x0a
可以,但是对用户来说可能浏览的时候感觉没那么好。比如一般javascript常用的表单验证功能:你可以用php在服务器端做,也可以用js在客户端进行验证。区别在于 *** 是在客户端上验证,马上用户就可以看到验证效果。使用php在服务器端验证就需要把用户输入的数据通过 *** 传到服务器进行验证然后把验证结果再传回客户
开发一个完整的网站,不用JavaScript能行吗?
后台地址:域名/admin.php开启云平台及 *** 微信登录:域名/admin.php?action=cloudoperation=open后台功能很多,各位站长慢慢研究吧,也可以在自己电脑尝试一下,那么访问你的网站就用127.0.0.1这个ip或者localhost 如何进入网站的后台? 一般情况下网站的后台都有默认的地址你建议你试一下以下后缀的地址 /admin/index.asp /ad
1、首先你得搭建PHP运行环境。建议使用PHP开发速成搭建工具包xampp。集成php+phpmyadm+mysql 2、第二步,写需求,如图书管理系统。是否需要会员系统(会员是否分等级如普通、VIP分等级的话,那么有这些等级之间有什么差别)、是否需要文章发布、是否需要图书信息发布、是否需要在线购买书籍、是否要对书籍进行
1、选择一门自己认为顺眼的动态脚本语言,就象你说的PHP(不要去考量语言的优劣性),掌握语法结构,掌握常用函数,类。2、熟悉SQL语句的使用(对于常用网站而言),熟悉一种数据库的使用。3、能够配合Javascript和动态脚本语言来实现流行的Ajax模式。打的好累,希望会对你有所帮助。以上里面出现的专业词汇如
mysql.php---数据库创建文件;login.php---前台用户登陆文件;check.php---连接数据库验证文件;mysql.php文件代码:程序代码
在自己电脑上测试的话,首先装一个PHP环境,初学可以用一键安装包,如WAMP。完整的网站需要前台和后台,你可以先下载织梦CMS,PHPCMS,discuz,然后也一键安装,就会有一个相对完整的网站了,只需要你修改一些配置。
连接前后端:将静态网页与PHP后台逻辑整合在一起,形成一个完整的网站。确保用户可以通过前台页面与后台逻辑进行交互。测试与调试:对网站进行全面的测试,确保所有功能都能正常工作。在测试过程中,可能会发现一些bug或需要改进的地方,及时进行修复和优化。部署网站:选择服务器:选择一个合适的服务器来部署
1、首先你得搭建PHP运行环境。建议使用PHP开发速成搭建工具包xampp。集成php+phpmyadm+mysql 2、第二步,写需求,如图书管理系统。是否需要会员系统(会员是否分等级如普通、VIP分等级的话,那么有这些等级之间有什么差别)、是否需要文章发布、是否需要图书信息发布、是否需要在线购买书籍、是否要对书籍进行
自己用php开发一个简单的网站,包括后台和前台,开发的步骤,麻烦详细一点,就是一些文字性
前台页面frontpagedreamweaver都可以,后台PHP可以用eclipse或直接用文本编辑器来写,数据库要看你使用的是什么数据库,mysql一般可以用phpmyadmin,oracle可以用pl/sql或toad 网页如果要做的漂亮势必还需要photoshop和flash(现在flash已经逐渐被html5取代)
在构建大型网站时,LAMP(Linux+Apache+MySQL+PHP/Perl/Python)是一个广泛采用的技术栈。LAMP中的各个组件都是开源软件,它们被设计成可以独立运行,但通常协同工作以提供高效、灵活的Web服务。Linux作为操作系统,提供了一个稳定、安全的基础平台。Apache是一个流行的Web服务器软件,负责接收和解析Web请求
自己的需要编写适合自己或大众的框架。如zend framework 、thinphp、qeephp、 *** arty、cakephp等等,要知道一个好的框架不是一天就能写出来的,都是日积月累的。5、程序实现了你自己的需求,然后就是测试了。测试,可以分的很细了。如数据完整性验证。数据有效性、操作步骤一致性、6、以上则完成。
在自己电脑上测试的话,首先装一个PHP环境,初学可以用一键安装包,如WAMP。完整的网站需要前台和后台,你可以先下载织梦CMS,PHPCMS,discuz,然后也一键安装,就会有一个相对完整的网站了,只需要你修改一些配置。
综上所述,PHP程序设计常用的软件及工具包括文本编辑器和IDE(如PhpStorm、Zend Studio)、辅助工具(如Sublime Text 3、UE)、运行PHP所需的环境(PHP软件包、WEB服务器软件、数据库软件)以及其他开发工具(如FTP上传工具、版本控制系统)。开发者可以根据自己的需求和习惯选择合适的工具进行PHP程序设计。
PHP需要用到什么软件PHP集成开发环境,有ZendStudio、EclipseforPHP、PhpStorm等。1、ZendStudio ZendStudio是ZendTechnologies公司开发的PHP语言集成开发环境(IDE)。除了有强大的PHP开发支持外也支持HTML、js、CSS,但只对PHP语言提供调试支持。2、EclipsePHPStudio EclipsePHP是一个大型PHP项目开发编译器,基于
我设计一个PHP网站,一般有一个MYSQL的数据库和一个在IE中集成的PHP5的运行环境就够了,写代码用UltraEdit就可以了,该死的FrontPage和DW总是在你不想往一个容不得器里加东西的时候乱加很多东西。网上有现成的程序,叫什么忘了,大概就是把PHP5和MYSQL集成在一个安装包里,安装完以后在IIS里加入index
用PHP技术设计一个完整的网站需要的软件有哪些?
简单seo的话,首先填写网站的标题,关键词和描述的设置 标题常用的形式 标题:关键词1_关键词2_关键词3-企业名称 关键词:关键词1,关键词2,关键词3,描述:一段话描述网站,要包含关键词1,2,3 这样就可以了,关键词不建议设置超过3个,所以标题充分利用,不要堆砌关键词。建站的流程 域名实名认证
一、关键词的分析 网站SEO之一步就是关键词的分析,在做关键词分析的时候需要了解每个子栏目的SEO需求,一般从这几点来分析br/> 1、探寻用户的搜索需求。从百度相关搜索中可以看到关键词的受欢迎度,而且可以看出用户需要得到什么样的信息。关键词的相关度在关键词分析中占有的比重也非常高,一般情况下
对于单网页,如果添加了单网页而没有在管理内容处给该单页添加标题,前台进入该单页时,处可能会显示SEO站点标题或站点名。可以通过修改模板文件来解决这个问题,例如,直接以该单页的栏目名称作为,或者使用万能的if语句来定制调用规则。修改global.func.php文件:有时候,可能需要直接修改/phpcms/libs/funct
2.辅助导航、次导航:一般放在首页和列表页的左边,用来布局长尾词或者热门词。3.面包屑导航:每个页面(包括搜索框页面)都要有“主页>XXX>XXX”的导航,并且“主页”都是可点击返回到首页 第二个:代码优化 1.Robot.txt文件优化:禁止搜索引擎抓取涉及安全、动态页面、死链接等方面,把网站地图放到最后
(1)针对PHP网站,一般采用XML格式的网站地图。网站地图保存在根目录下的一个XML文件里,大家在很多网站的底部都会发现有这么一个文件。例如:,它是网站上链接的列表。 *** 一个简洁明了高效的网站地图,可以为搜索引擎快速浏览整个网站的窗口,并且收录网站的全部内容。(2)一般在网站的footer下添加一个关键
首先,网站首页:因为首页是网站中独立唯一的,那么它的title在后台有针对性的单独设置。后台设置位置:后台 - 设置 - 站点管理 -(对应站点)修改 - SEO设置 - 站点标题。另外,如果没有设置seo的站点标题,那么上侧的“站点名”会作为首页title来显示。当然,以上是表面上系统使用起来后台设置首页title
7、代码语义化完整。望采纳
请问完全用PHP代码写成的网站首页应该怎样做SEO?
首先,我们需要下载并安装phpStudy,根据自己的需求选择安装的组件,如Apache、MySQL、PHP等。接着,进入phpStudy进行基本配置,如设置端口号和Web根目录。创建一个新的网站,输入相关信息,设定访问方式,并选择合适的PHP版本。搭建网站的过程中,我们需要配置目录结构和文件,将所有文件放入相应目录。编写网站
1、首先你得搭建PHP运行环境。建议使用PHP开发速成搭建工具包xampp。集成php+phpmyadm+mysql 2、第二步,写需求,如图书管理系统。是否需要会员系统(会员是否分等级如普通、VIP分等级的话,那么有这些等级之间有什么差别)、是否需要文章发布、是否需要图书信息发布、是否需要在线购买书籍、是否要对书籍进行
1、先建立底层结构和文件夹(如果是大型的网站同样设计一个文件UMML)2、基础功能分类关联,以便今后代码引用。3、代码的书写,注意简洁性和函数的使用,内部函数能实现的尽量使用内部函数。4、在部分关键位置加以代码注释。(6)程序的测试和修正 1、对于发现的BUG不能就解决BUG而解决,要处于完整程序考
1.安装apache服务器软件 2.配置apache:a)打开apache安装目录下conf目录中的index.php f)重启apache服务器 二安装php及其配置 1.运行php安装文件 2.将安装目录下的所有dll文件复制到系统盘windows/system32目录下 3.将php.ini文件复制到系统盘windows目录下 4.打开复制后的php.ini文件,找到extension_di
在自己电脑上测试的话,首先装一个PHP环境,初学可以用一键安装包,如WAMP。完整的网站需要前台和后台,你可以先下载织梦CMS,PHPCMS,discuz,然后也一键安装,就会有一个相对完整的网站了,只需要你修改一些配置。
连接前后端:将静态网页与PHP后台逻辑整合在一起,形成一个完整的网站。确保用户可以通过前台页面与后台逻辑进行交互。测试与调试:对网站进行全面的测试,确保所有功能都能正常工作。在测试过程中,可能会发现一些bug或需要改进的地方,及时进行修复和优化。部署网站:选择服务器:选择一个合适的服务器来部署
如何用php开发一个完整的网站
如何用源代码建立一个网站 用源代码建网站是最简单的 *** 之一。在这里写作不容易 我大概会写一个步骤给你参考;准备工作:域名、主机、源代码和ftp工具 Ps:选择主机的时候,一定要知道主机类型asp/php/。网等。,以及是否支持源代码安装。1.将域名解析为主机ip,并将域名与主机绑定 2.使用Ftp工具将源
需要学习,html,css,javascrpt,php和数据库。html主要显示页面元素,比如按钮,图片之类,css主要控制元素的位置大小和样式,界面好不好看主要是css控制;javascript主要是控制元素行为,比如点击一个按钮做什么事情这种。htmlcssjavascript这些构成了静态界面。php的加入可以把网站变成动态的,比如在界面中
1)数据库的增删改查操作;2)使用PHP对数据库进行操作(涉及到表单提交);3)用PHP使结果循环遍历输出;4)分页功能实现;5)文件上传(主要针对图片更新)以上几点你只要会了,你所说的功能就可以简单实现。当然,还有个笨办法,就是你做静态网页,要添加的内容可以用DW的可视化编辑添加好内容然后上传
在自己电脑上测试的话,首先装一个PHP环境,初学可以用一键安装包,如WAMP。完整的网站需要前台和后台,你可以先下载织梦CMS,PHPCMS,discuz,然后也一键安装,就会有一个相对完整的网站了,只需要你修改一些配置。
1、首先你得搭建PHP运行环境。建议使用PHP开发速成搭建工具包xampp。集成php+phpmyadm+mysql 2、第二步,写需求,如图书管理系统。是否需要会员系统(会员是否分等级如普通、VIP分等级的话,那么有这些等级之间有什么差别)、是否需要文章发布、是否需要图书信息发布、是否需要在线购买书籍、是否要对书籍进行
首先,建立一个名为“film”的表,用于存储简短的文字信息。这张表需要包含电影的名称、主演、简介、所属栏目以及电影的URL链接等字段。考虑到这是一个小型网站,初步设定为一个表即可,如果未来扩展,可以增加至10个表,类似于discuz的设计。接着,创建另一个名为“attachment”的表,专门用于存储上传的
要 *** 一个简单的PHP网站,可以按照以下步骤进行:明确网站类型和功能:确定网站类型:首先,要明确你要 *** 的网站类型,比如博客、电商、论坛等。列出所需功能:根据网站类型,列出所有你希望实现的功能,例如用户注册与登录、商品展示、文章发布等。设计数据库结构:建立数据库:根据所需功能,设计并创建一
如何做一个简单PHP网站
前端开发和后台开发是有区别的,工作的内容和负责的东西是完全的不同的,以下以网站的开发为例。 1、前端开发 前端开发现在一般指的就是web前端开发工程师,其负责是网站前端页面也就是网页的页面开发,简单的说网站前端负责是东西是网站用户可见的东西,如网页上的特效、网页的布局、图片、视频等内容。网站前端工程师的工作内容就是将美工设计的效果图的设计成浏览器可以运行的网页,并和后端开发工程师配合做网页的数据显示和交互。 2、后端开发 后端开发一般也叫做后台,其负责是网站后台逻辑的设计和实现还有用户及网站的数据的保存和读取。比如一般网站都是有用户注册和登录的,用户的注册的信息通过前端发送给后端,后端将其保存在数据库中,用户登录网站的时候,后端需要通过用户输入的用户名和密码是否与数据库中的一致来判断用户是否有权限登录,这是后台开发中的一个最简单的功能。
如果开发一个大型的网站,我到底应该使用php还是jsp,后台到底使用php还是用java,我的选择要么是php要么是java,因为我喜欢linux、unix,当然window平台也必须支持,以便哦的妹纸可以查看。这就要求用一些跨平台相当好的软件+工具+语言,所以选择只能是这么几个。最后我的决定是php+java,一个前台一个后台,理由如下: php和java在开源社区的活跃度严重超过了其他的语言,使用人数也都是相当之多;活跃的开发工程师们能够给我帮助,且这俩都能很好的跨平台,不用花费大量的人力物力去维护 我也做过一个物联网的网关网站,比较复杂,当时采用的是jsp+java,复杂程度可想而知,单单说开发过程,网站部分繁琐,每次想查看结果运行网站的时候还需要重新打包部署一下,严重影响了哦的开发效率,每天的时间都是在等待(因为网站比较复杂,打包部署需要浪费一些时间)。相对来说呢,php就没有了,php灵活,好学,上手快,容易修改,容易发布,关键是热部署,这个真让哦眼睛大亮。当然看待任何事物都需要两种眼光,php也会有缺点,比如没有太好的开发IDE,所以拼写错误很正常,且php的sql注入危险较大点,执行效率不高,安全性不如java。还有一些理由,来自知乎的米米们给的建议: Java的优点则是稳定可靠、运行效率高(尤其是JIT的出现之后差距更大了)、不容易犯错(强类型、预编译、必须拦截异常等等),缺点是开发和发布的效率相对较低。尽管优秀的工程师能在一定程度上改变以上的问题,但通常而言,哪能到处都是高手多如狗的梦之队? 从MVC的层次结构上说,在一般网站项目的开发周期中,需求变更最频繁、调整最多的是View,其次是Controller,最后是Model。这非常好理解,没事干谁天天改数据结构?每次版本升级控制结构都要改的啦,或多或少而已。再次是两者之间的
通信,目前RPC技术已经足够成熟,无论是Web Service/Hessian/RESTful API都能够让开发人员专注在功能开发上,而不需要过多的考虑异构平台的差异和通讯的细节。这也就意味着在大公司里同时应用两种语言的方案并不会引入过多的复杂度和工作量。当然,文档量的下限倒是因此被拔高了不少,但事实上大部分团队对此其实都是喜闻乐见的:别每天说文档重要但没空了,你不写其他同事怎么配合? 靠近用户的前端,使用PHP能够更快的完成前端频繁而琐碎的更新,自如的应对各种需求的变化。页面的结构调整、用户输入内容的基本验证、仅只和用户交互有关的简单逻辑等都很适合使用PHP来开发,甚至可以通过类似Smarty等模板技术将其页面的变动迁移到前端团队。而基本的业务逻辑和数据的更新采用Java开发,可以有效的提高复用度、提升性能和吞吐能力、规避安全问题等。而开发效率稍有降低换来的是可维护性的提升,发布速度慢就更不是问题了,因为通常对于基础业务逻辑的调整往往都是整体修改,并层层测试确认才能发布的。 所以,大型网站前端采用PHP后端采用Java,既好招人又好维护、系统稳定还性能高、连安全性都大大增加。代码复用、文档完备度居然也都改善了。让你在以上这些好处触手可及时,对架构师知识谱系在广度上要求更高一些这事根本就不是个问题。 单一方案其实一样可以做良好的隔离,PHP同样可以提供Service,而性能问题其实很多时候是算法和架构的问题而不是语言差异的问题。如Velocity或J
stl等也是很优秀的隔离方案。 但这些方案在高压力下会暴露出很多问题而体现双语言的优势,这些在上面其实都提到,详细说明一些很难得到改变的点: 1. PHP由于其动态脚本语言的特性,包括类、函数、常量在内都需要在每次请求周期中重复执行后才能建立运行环境;为了保证解析速度而牺牲编译质量;应用了FastCGI但仅仅只是复用进程处理请求减少fork成本而不是像其他语言,初始化完毕后通过FastCGI的接口获得数据并以对应接口返回数据等几个原因,基本上已经不可能在性能上追回当初更烂现在开着JIT牌跑车的Java了。 2. 在PHP里是如此的容易犯错而难以发现,即使你用实质上出自官方的Zend Studio,也无法改变一个事实:要保证你的程序高质量无大错,得要有充足的经验、足够的严谨、以及——负责任的QA。 *** 的黄裳就曾经拿IDE这事开过玩笑。而玩笑背后的那个原因“缺乏中间件”最近几年有不少的改善,主要是不少中间件的支持变得更广泛了从而让PHP得益,但发展的根源其实还是在C和Java社区。性能和易犯错则是语言特性造成的技术难点,也是用来换取灵活、快捷的必要代价,很难去指望有根本的改善。 3. Java的世界里也有 *** TL、Velocity和Freemaker等,但和PHP灵活而强大的动态能力、丰富的函数和类库、轻松的学习成本、多到令人发指的文档相比,简直就是渣,就是渣啊! *** TL改完了要重启Context啊有木有?Velocity不关缓存也要重启啊有木有?Velocity开缓存性能低下啊有木有?即使这些都不管,调整下某个数据校验规则要改Action也要重启有木有? 实际工作中性能问题可以通过良好的架构解决,容易犯错的问题可以通过框架和规范以及全面的测试来解决,中间件选择少些但其实该有的都有了,Java的灵活性一样有不少可供考虑的解决方案哪怕是挫得要死的摘掉节点重启,完成后重新上节点的策略。 所以,大家会看到单一语言的技术团队也很多,这个问题的真正考虑还是更多在团队自身的特点、积累等等。用了双语言的,也知道自己为什么要用这些,不用的也清楚自己的路该怎么走。最后的最后说一句:如果你不知道自己为什么要用双语言方案的话,
html5还是用JavaScript的,只是JavaScript的权限更高一些 html5和现在咱们用的html差不多,只不过html5功能更强大。但是事件、交互式设计等等还是需要脚本去操作的。不用脚本只是你的html页面更好看而已,如实现交互式的操作还得用脚本。html5只是一个标准。
HTML5是用于取代1999年所制定的HTML4.01和XHTML1.0标准的HTML(标准通用标记语言下的一个应用)标准版本;现在仍处于发展阶段,但大部分浏览器已经支持某些HTML5技术。HTML5有两大特点:首先,强化了Web网页的表现性能。其次,追加了本地数据库等Web应用的功能。 广义论及HTML5时,实际指的是包括HTML、CSS和JavaScript在内的一套技术组合。它希望能够减少浏览器对于需要插件的丰富性 *** 应用服务(plug-in-based rich internet application,RIA),如Adobe Flash、Microsoft Silverlight与Oracle JavaFX的需求,并且提供更多能有效增强 *** 应用的标准集。 目前HTML5已向开发人员提供了很多新的标签,如section,nav,article,header和footer等。这些标签语义化程度高,会被经常使用,但在IE6,IE7,IE8和Firefox 2等老式浏览器中却不能识别和正常使用。 一、HTML5标签在浏览器展示存在的问题 对于现阶段来说,使用HTML5标签可能遇到的更大问题就是如何在不支持新标签的浏览器中做恰当的处理。当我们在页面中使用HTML5元素时,可能会得到三种不同的结果。 结果1:标签被当作错误处理并被忽略。那么DOM构建的时候,就会当作这个标签不存在。 结果2:标签会被当作错误处理,并在DOM构建的时候依然会按照预期的代码进行创建,并且HTML标签会被构造成行内元素(也就是说虽然不能识别,但是代码里section标签依然会在dom中创建一个对应section节点,但是属于行内元素)。 结果3:标签被识别为HTML5标签,然后用DOM节点对其进行替换。DOM在构建的时候和预想的一致,并且合适的样式会应用到标签上(大部分情况下是块级元素)。 有一个具体的例子,大家思考一下下面的代码: title text 很多浏览器(比如Firefox 3.6和Safari4)解析的时候都会将div作为最外层的元素,然后div里面是一个识别不了的元素(section),它会在DOM中创建,并被作为一个行内元素存在。h1和p元素都是作为section元素的子节点。因为section在DOM中真实存在,所以也可以修改其样式。这种情况对应结果2。 IE9之前的版本会认为section标签是一个错误,并直接将其忽略,那么h1和p标签会被解析,然后成为div标签的子节点。也会被认为是一个错误并直接跳过。在这些浏览器中实际有效的代码是这样的: title text 那么,旧版本的IE浏览器除了生成的DOM结构和其他浏览器不一样,其对不可识别标签的容错能力还是很棒的。因为section节点没有在DOM树中构建,所以也就不能给其增加样式。这种情况对应结果1。 当然,支持HTML5的浏览器比如IE9,Firefox4+,Safari5+会创建正确的DOM结构,然后这些标签会默认附带HTML5规范中定义的默认样式。 那么,我们所面临的更大问题就是同样的代码在不同的浏览器中形成了不同的DOM结构,并且含有不同的样式。 二、如何解决HTML5标签不兼容 或许会有很多人在质疑:为什么老式的浏览器不能识别这些标签?其实错不在浏览器,因为在那个时代根本不存在这种标签,所以不能正确识别出来,而这种不寻常的标签识别令DOM结构变得异常。对此,人们想出了很多在现阶段页面中使用HTML5元素的解决方案。每一个解决方案为了做到兼容都会遇到一些特定的问题。在此也在马海祥博客上跟大家分享一下: 1、实现标签被识别 马海祥曾做个一个测试(以IE8为例),是一个文章标题和蓝色字的文章内容,其中文章内容用了article标签。代码如下: 测试 article{color:#06F;} 文章标题 这是文章内容,应该是一段蓝色的文字。在老式浏览器中,如果不做hack将显示异常。 在IE8浏览器中,显示如下: IE8不能识别article标签, 定义在标签上的CSS样式没有起作用。 在IE8中,被解释成命名为和两个空的标签元素,与文章内容并列为兄弟节点,如下图所示: 既然因为不能识别标签而不能使用,那我们的解决办法就是让标签被识别出来。所幸,简单地通过document.createElement(tagName)即可以让浏览器识别标签和CSS引擎知道该标签的存在。假设我们上面的例子的区域加上如下代码。 document.createElement('article'); IE8浏览器中的DOM解释就会变成下图所示: 自然,文字也显示成正常的蓝色。如下图所示: 2、JavaScript解决方案 JavaScript解决方案目的是解决在旧版本的IE中样式应用的问题。老版本的IE不会识别不明元素已经是一个耳熟能详的特性,而如果这些元素已经通过document.createElement()创建,那么浏览器就可以识别这些标签,并可以将其在DOM树中构建,然后允许开发者对其应用样式。 这个 *** 可以确保HTML5标签能在旧版本IE中对应创建DOM节点,然后可以对其应用样式。这个 *** 将HTML5块级元素设置成display:block,从而可以在各个浏览器中做到兼容。 今天测试以下把马海祥博客的网页改成了HTML5的,调试了一下,在FF和Opera中都显示正常了,到了IE6上却变得面目全非了。对此我还特意去找了一些使用 *** 代码支持HTML5标签元素的 *** ,在此也跟大家分享一下: (1)、使用html5shiv 查看了一下,发现了html5shiv能解决这个问题,可以把HTML5的新元素转换成IE6认识的内容。只需要在你的head中调用这段代码就行: 当然你也可以直接把这个文件下载到自己的网站上。但这个文件必须在head标签中调用,因为IE必须在元素解析这前知道这些元素,才能启作用!但马海祥还要提醒你一下:还要在你的CSS文件中加上以下代码,不然有可能会出现些莫名其妙的问题。 header,nav,article,section,aside,footer{display:block;} 另外excanvas.js是Google为IE6支持canvas元素写的脚本,以后马海祥会跟大家再细说这样的例子,感兴趣的朋友可以去试试。 (2)、使用Kill IE6 除此之外你还可以使用KILL IE6一族,前提是你的浏览器允许执行 *** 文件。 *** 很简单,在你的网站的之前加上以下代码就可以了: 上面写的在正常的HTML中属于注释,不会被执行,但在IE中是一个判断语句,所以这些代码只有在IE中才会被识别并加载。 lte:就是Less than or equal to的简写,也就是小于或等于的意思。 lt :就是Less than的简写,也就是小于的意思。 gte:就是Greater than or equal to的简写,也就是大于或等于的意思。 gt :就是Greater than的简写,也就是大于的意思。 ! : 就是不等于的意思,跟javascript里的不等于判断符相同 说实话,马海祥不喜欢这个利用JavaScript解决的方案,因为它破坏了我最主要的web应用开发原则:我们不应该使用JavaScript来控制布局。不仅仅是因为这个做法给那些禁用脚本的用户带来了糟糕的用户体验,更重要的是,如果我们希望我们的web应用代码是面向未来,并且维护性高的,那么必须将视图相关部分分离出来。这个方案对在跨浏览器中构建相同的DOM结构很有帮助,也可以确保你的JavaScript和CSS在各个地方运行结果相同,但是这个优势并不能改变我对这个 *** 的不认同。 3、Namespace hack 永远不要缺乏使用hack解决问题的能力,在IE中还有其他技术来让浏览器识别不明的标签。这个来自Elco Klingen日志的 *** 一开始引起了广泛的关注。该技术包含了一个XML形式的命名空间,并使用了含有namespace前缀的元素。例如: 前缀html5是纯粹是用于这个例子而且也不是官方支持的,你甚至可以用"foo"作为前缀,结果还是一样。有了前缀之后,IE会识别新的元素,从而可以应用样式。在其他浏览器中一样有效,那么最后,你就成功地在各个浏览器中构建了一样的元素和一样的样式。 这个 *** 的缺陷很明显:你必须在HTML文档中使用XML格式的命名空间,同样,你也需要在css中这么做: html5\:section { display: block; } 马海祥点评:这并不是我期望Web开发者编写代码的方式。虽然这是一个非常杰出的解决方案,但是这让应用变得不自然。我不希望看到文件中充满了带命名空间的元素。 4、Bulletproof技术(防弹衣技术) 说实话,我是之一次接触到这个技术,建议在所有新的HTML5块级元素中增加一个内部的div元素,然后包含一个CSS class,用这个元素来替代HTML元素(类似在里面穿了一件防弹衣),例如: 在应用样式的时候,Tantek推荐直接给div增加样式,而不是给新元素增加样式 推荐使用: .section { color: blue; } 而不是: section { color: blue; } 这个方案的原理是用简单的方式将原来的样式应用方式转移到一个代表了HTML5标签的元素上。由于我一般情况下不会将样式通过标签名的方式应用到元素上,所以马海祥也并完全支持这个建议。 马海祥觉得这个方案的缺陷是不同的浏览器构建了不同的DOM结构,那么你必须在编写JavaScript和CSS的时候格外小心。获取子节点或者父节点的时候,不同的浏览器返回的结果可能会不一样。特别是在下面的代码中: 5、反向的bulletproof技术 还有一些 *** ,比如尝试使用和Tanteck方案相反的技术,也就是把HTML5元素放在div元素内部,例如: 这个方案唯一的不同是HTML5元素的位置,其他都一样。喜欢这个技术的支持者认为他的一致性很好(适用于所有的元素,包括)。但是DOM结构的不同让这个方案意义变得不大。他的主要优势是技术上的一致性。 6、关于X-UA-Compatible的使用 目前绝大多数网站都用以下代码来作为IE8的兼容 *** 。 虽然微软将IE向标准迈进了一大步,而事实上IE8还存在一系列渲染的奇怪现象是不争的事实。 在X-UA-Compatible中可用的 *** 有: 其中最后一行是永远以最新的IE版本模式来显示网页的。 另外加上 而使用,Emulate模式后则更重视。 所以目前来说还是以使用 为首选。 7、通过修改HTML部分来实现 我的主要目标是确保我只需要修改HTML部分。这就意味着不需要修改CSS和JavaScript。为什么会有这样的需求?需要修改的Web应用视图越多,你越有可能制造bug。将改变限制到一个视图也就限制了bug的出现,即使出现了bug,也可以减少你查找错误的范围。如果一个视图破相了,我可以知道这是因为我增加了一个section元素,而不是考虑是不是CSS文件修改来带的影响。 在研究了所有这些解决方案,并进行一些尝试和设计之后,我回到了Tantek的方案。这是唯一一个只需要修改HTML而不用动CSS和HTML的方案。现在,我在他的方案基础上做了一些改进,来达到我想要的结果。 首先,我不会给那些代表HTML5元素的class增加样式(所以我不会使用.section这样的选择器)。我保留了div元素,然后再增加一个带语义的class来应用样式,并作为进行JavaScript操作的钩子。例如,这样的代码: 经过改进后: 这样的修改完成后,我依然使用.content作为样式和脚本的入口。这也意味着我不需要修改CSS和JavaScript。 然后,为了避免hgroup标签这样的情况,我选择不使用这个标签。我在我已有的所有页面中没有找到任何一个使用了这个标签的。由于hgroup标签只能包含标题元素,如果你确实想要使用这个标签,那么使用hrgoup来包含本身是非常安全的(假设它没有包含其他的块级元素)。 我在马海祥博客上花了很多时间来测试比较bulletproof和反向的bulletproof哪个更好一些。我做选择时最主要的决定因素就是反向的bulletproof需要我去增加CSS代码。在那些为HTML5标签创建了DOM节点但是没有应用默认样式的元素来说,div元素里包含了一个HTML5块级元素在很多情况下都会搅乱我的布局,因为创建的DOM节点是行内元素。我不得不明确增加CSS规则来让这个节点变成块级元素从而可以正常布局,这也就违反了我不修改CSS文件的初衷。 马海祥博客点评: 在我的研究中,我使用了多个页面,然后在这些页面上使用修改过后的bulletproof技术。我分别在简单和复杂的布局中,含有和不含有JavaScript交互进行测试。在每一个例子中,我只需要修改HTML就可以让页面表现正确(不修改JavaScript和CSS)。那么,子节点和父节点的问题怎么办?有趣的事情是我在测试中并没有遇到这样的问题。 理由很简单,因为我对代码苛刻的态度。我认真地做了第二遍检查: (1)、标签名和ID不会用于应用样式(只是用class)。 (2)、尽量选择常用的CSS选择器并且尽量减少选择器的使用。 (3)、JavaScript代码不依赖于特定的DOM结构。 (4)、标签名不用于操作DOM。 我注意到另一个有趣的事情是我使用了HTML5元素作为容器。而这些新的元素仅仅是作为功能性模块的边界。你应该花费你的大部分时间为内部的元素编写样式和脚本而不是处理各个模块间的样式和脚本。由于马海祥博客的JavaScript和CSS标签都应用在容器的内部,所以一切都显得很顺利。我想这才是一个真正的代码质量高的网站。
开发一个完整的网站,不用JavaScript能行吗? 的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于 如何用php开发一个完整的网站 、 开发一个完整的网站,不用JavaScript能行吗? 的信息别忘了在本站进行查找喔。