wiki 上有个记录:使用rgba来实现半透明背景(不半透明文字等)【IE兼容处理】javascript
其实你们应该都常常用,好比在 svn 中提交的 css 常有这样的代码:css
<!--#include virtual="block/reset.css"--> <!--#include virtual="block/header.css"--> <!--#include virtual="block/layout.css"-->
对于 HTML ,一样也能够用这样的方式。在作大页面的时候常有好处,能把主页面的结构变得更清楚,特别是对于不少页面使用或重复出现的状况,如:html
<div id="JcarList"> <!--#include virtual="block/carBlock.html"--> <!--#include virtual="block/carBlock.html"--> <!--#include virtual="block/carBlock.html"--> <!--#include virtual="block/carBlock.html"--> <!--#include virtual="block/carBlock.html"--> </div>
固然,由于是用到了 apache 的 ssi 功能,因此,须要用 http:// 的方式来访问而不能像直接把文件拖进浏览器那样用 file:/// 来访问。java
JSON 全称是 JavaScript Object Notation(JavaScript 对象表示法),有着严格的语法定义(参考《JavaScript语言精粹》附录E:JSON)。apache
JSON 是一个键值对集合,形式必须是json
{string1 : JSON_value, str2, val2}
而下面那种 这并非 JSON,这只是一个数组。跨域
[{str1: val1}, {str2: val2}]
这是函数调用数组
function foo() {}
foo();
这是最简单的回调浏览器
function bar() {console.log('call me');} function foo(callback) { // 别的代码处理 callback(); // 执行回调函数 } foo(bar);
把一个函数(a)做为参数传进另外一个函数(b)中,在执行 b 的过程当中,执行以参数形式传入的函数 a,这个函数 a 就是咱们所说的回调函数(callback)。服务器
其实咱们经常使用的 <script src="xxoo.jsp?callback=cb"></script> 的调用接口形式只是请求一个 JavaScript 文件,和日常的直接的 .js 文件的不一样是接口是根据传入的参数(如:callback=cb)来动态生成 JavaScript 代码而已。
上面那个接口返回的内容多是这样的:
cb(data);
// data 能够是任意合法的 JavaScript 数值,好比 1, 'a', null, undefined, [1, 2, 3], {'name': 'John'} 等等
除了上面的直接用 <script /> 内嵌接口在页面的作法外,更加常见的作法是根据需求,以不一样的参数来动态请求接口,而后得到相应的数据。好比电脑网、汽车网等经常使用的用户登陆、ip识别和地区行情等。简单来讲,代码形如:
// 已定义的函数 function cb(data){ // do something } // 动态请求数据(常见为事件触发,好比 click 等) var script = document.createElement('script'); var pageNo = 10; var path = 'http://xxoo.com/getpage.jsp?page=pageNo&callback=cb'; script.src = path; document.getElementsByTagName('head')[0].appendChild(script);
服务端大概这样处理:
// 获取请求中附带的参数 p = getByRequest('page') c = getByRequest('callback') data = getContentByPage(p) // 根据请求的参数生成数据 output(c(data)) // 返回数据到浏览器等客户端
这种动态请求 js 的方法又叫 jsonp,主要目的是为了解决 Ajax 没法跨域的问题。虽然叫 jsonp,但和 JSON 其实没太大的关系,只是一开始 data 的格式大可能是 JSON 而已。实际使用中,直接返回 HTML 的状况很多。
双哥的 cms 配合 JSON 格式来处理的方法很好。不过,若是只是读取 JSON 接口来生成 HTML 的话,能够看下斌哥的记录,好比这个 CMS - 读取json或xml文档并生成静态html代码 - data系列标签应用举例
有一个情形须要考虑的:一次加载的数据可能存在不足以撑出竖向滚动条,这样将没法触发滚动来加载更多。