wiki 上有个记录:使用rgba来实现半透明背景(不半透明文字等)【IE兼容处理】
其实大家应该都经常用,比如在 svn 中提交的 css 常有这样的代码:
<!--#include virtual="block/reset.css"--> <!--#include virtual="block/header.css"--> <!--#include virtual="block/layout.css"-->
对于 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:/// 来访问。
JSON 全称是 JavaScript Object Notation(JavaScript 对象表示法),有着严格的语法定义(参考《JavaScript语言精粹》附录E: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系列标签应用举例
有一个情形需要考虑的:一次加载的数据可能存在不足以撑出竖向滚动条,这样将无法触发滚动来加载更多。
原文:http://www.cnblogs.com/aim-at-is-the-tao-in/p/3615484.html