HTML5网站优点和缺点有哪些?
HTML5优点与缺点
优点
1、网络标准统一、HTML5本身是由W3C推荐出来的。2、多设备、跨平台3、即时更新。4、提高可用性和改进用户的友好体验;5、有几个新的标签,这将有助于开发人员定义重要的内容;6、可以给站点带来更多的多媒体元素(视频和音频);7、可以很好的替代Flash和Silverlight;8、涉及到网站的抓取和索引的时候,对于SEO很友好;9、被大量应用于移动应用程序和游戏。
缺点
a)、安全:像之前Firefox4的web socket和透明代理的实现存在严重的安全问题,同时web storage、web socket 这样的功能很容易被黑客利用,来盗取用户的信息和资料。b)、完善性:许多特性各浏览器的支持程度也不一样。c)、技术门槛:HTML5简化开发者工作的同时代表了有许多新的属性和API需要开发者学习,像web worker、web socket、web storage 等新特性,后台甚至浏览器原理的知识,机遇的同时也是巨大的挑战d)、性能:某些平台上的引擎问题导致HTML5性能低下。e)、浏览器兼容性:最大缺点,IE9以下浏览器几乎全军覆没。
html5写的网站和后台php语言该如何对接?
不管是静态页面还是动态页面,最终呈现给用户的都是由HTML、CSS、JS等组成的,浏览器能解析的内容。
HTML模版与PHP的结合方式有三种:
- 混合编程
- 使用模版引擎
- 前后端分离
混合编程
混合编程就是一个文件里既有HTML代码,也有PHP代码,这是PHP早期的开发模式。
使用模版引擎
由于在混合编程模式下,PHP文件里既有HTML代码,也有PHP代码,极不方便前端人员和后端人调试。这时候就有人提出可以模板引擎将模板文件与PHP代码分开开发,前端人员需要在模版文件里使用数据时就先用一些特殊的标签位代替,等页面渲染时模板引擎再把这些标签位使用PHP代码代替。PHP里比较常用的模版引擎有Smarty,QuickSkin……一些主流的框架也会内置自己的模版引擎。
前后端分离
模板引擎的使用虽然一定程度上将模板文件和PHP代码分离开来,但模版引擎里一些特殊的标签,可能有时候还是得需要后端人员操作,这样就导致前端人员和后端人员之间还是会有一些牵制,从而影响开发效率。
那如何排除前后端开发的相互干扰呢?答案:前后端分离。
前后端分离是将前端开发和后端开发隔离开来,前端开发人员只负责HTML、JS、CSS,后端人员只负责PHP,两者的交互只会通过接口调用的方式,如使用Ajax。前后端分离真正做到了前后端人员的相互分离,互不打扰,但相对而言也对前端人员产生了挑战,因为前端人员现在要知道如何处理数据。
随着现在终端越来越多,前后端分离将是一个必然的趋势。
前端html+js一般是不能直接调用后端php中的函数的并返回结果的。
菜农在学习网站编程后,就被此事困扰很长时间。
因为前端的js可以通过ajax技术带参数访问后端的php过程,并返回结果。
那么是否js也能带参数访问任意php函数并返回结果?
菜农在网友的指点下完成此设想并测试通过!
其核心思想是通过js的ajax调用php的call_user_func_array()函数,以实现任意php函数的调用。
特别注意:
为了网站的安全和防止黑客的攻击,特别设立了$funclst数组,js只能调用$funclst数组内的特定函数。
php核心代码为:
$funclst = array("f0", "f1", "f2", "a1", "a2", "a3", "a4", "HotCount");
$func = $_REQUEST["function"];
if(in_array($func,$funclst) && function_exists($func)){//只能调用例程函数
if(isset($_REQUEST["age"]) && strpos(strtolower($_REQUEST["age"]), "http://")){
echo "函数$func()的参数中包含非法字符!!!";
} else {
$age =isset($_REQUEST["age"])? explode(",",$_REQUEST["age"]) : array();//参数以","分割
echo call_user_func_array($func,$age);
}
}else{
echo "函数$func()不存在!!!";
}
javascript通过Ajax直接调用任意PHP函数多参数例程
菜农在网友的指点下完成此例程,非常感谢!!!
如图所示,前两个分别是html和php的源码(csv内存储了访问该测试函数的次数,即网站访问计数器。