CreateJS-PreloadJS文档翻译

PreloadJS
	PreloadJS 提供了一种预加载内容的统一方式,以便在HTML应用程序中使用。预加载可以使用 'HTML标签' 以及 'XHR' 来完成。

	默认情况下,PreloadJS 会尝试使用 'XHR' 加载内容,因为它提供了对进度和完成事件的更好支持,但是由于跨域问题,使用基于 'HTML标签' 的加载可能更好。

	注意:有些内容需要' XHR' 才能工作(纯文本、Web Audio),有些需要 'HTML标签'(HTML Audio)。尽可能自动处理这些。

	PreloadJS 目前支持所有的现代浏览器,我们已经尽最大努力包括对大多数旧版浏览器的支持。如果发现任何特定操作系统/浏览器组合的问题,请访问 'http://community.createjs.com/' 报告。

	开始
		要开始使用,请查看 'LoadQueue' 类,其中包含一个对于如何加载文件和处理结果的快速概要。

	示例:
		var queue = new createjs.LoadQueue();
		queue.installPlugin(createjs.Sound);
		queue.on('complete', handleComplete, this);
		queue.loadFile({id: 'sound', src: '声音.mp3'});
		queue.loadManifest([
			{id: 'image1', src: '图片.jpg'}
		]);
		function handleComplete(){
			createjs.Sound.play('sound');	
			var image = queue.getResult('image1');
			document.body.appendChild(image);
		}

	关于插件的重要说明:
		插件必须在项目添加到队列之前安装,否则加载未实际启动,添加到队列中的条目,不会被处理。一旦项目添加到 'LoadQueue' 时,则会调用插件功能。

	浏览器支持
		PreloadJS 在 '所有浏览器' 中都得到 '部分支持',并在 '所有现代浏览器' 中得到 '完全支持'。已知的例外有:
			1.对于任意内容,使用 'XHR' 方式加载,在许多较旧的浏览器中都不起作用(请参见http://caniuse.com/xhr2)。在许多情况下,我们可以使用 '标签加载' 方式(图像,音频,CSS,脚本和SVG)。Text 和 WebAudio 只有使用 'XHR加载' 才有效。
			2.某些格式对IE 6,7和8中的 complete事件支持很差!(SVG, 以 '标签加载' 脚本, XML/JSON)
			3.Opera对 'XHR' 方式加载 SVG 的支持很差
			4.Android和Safari中,对于CSS加载,使用 '标签加载' 方式无效!(目前正在想办法解决)
			5.本地加载不允许使用 'XHR' 方式,而加载某些文件格式只能使用 'XHR' 加载。在测试本地内容时,请使用一个本地服务器,或者启用 '标签加载',这是大多数格式所支持的。有关更多信息,请参阅 'setPreferXHR'。

	跨域加载(博客已经写了好多)
		只要服务器支持CORS,大部分内容类型都可以跨域加载。PreloadJS还通过 'LoadQueue' 构造函数中的 'crossOrigin' 参数,对 '支持CORS的服务器' 的图像提供内部支持。如果设置 'crossOrigin' 为一个字符串值(例如:Anonymous),PreloadJS 生成的图像的 'crossOrigin' 属性将设置为该值。请注意,在 '不支持CORS服务器提供的图像' 上设置 'crossOrigin' 值会导致其他错误。有关CORS的更多信息,请访问https://en.wikipedia.org/wiki/Cross-origin_resource_sharing。

	大致看了下提供的类文件,有分类特性:

		// PreloadJS库其他
		PreloadJS
		SamplePlugin
		LoadQueue
		LoadItem

		// 工具集
		DataUtils
		DomUtils
		RequestUtils
		URLUtils

		// 3个基类
		AbstractLoader
		AbstractMediaLoader
		AbstractRequest

		// 加载的请求方式
		TagRequest
		MediaTagRequest
		XHRRequest

		// 不同类型文件的加载
		BinaryLoader
		CSSLoader
		FontLoader
		ImageLoader
		JavaScriptLoader
		JSONLoader
		JSONPLoader
		ManifestLoader
		SoundLoader
		SpriteSheetLoader
		SVGLoader
		TextLoader
		VideoLoader
		XMLLoader

		// 额外的事件对象
		ProgressEvent
		ErrorEvent

		// CreateJS 套件里公共部分
		Event
		EventDispatcher
		Utility Methods
1.PreloadJS
	PreloadJS 是一个静态类,可获取类库的具体信息,例如:库的版本、构建日期等。

2.SamplePlugin
	PreloadJS插件提供了一种给 PreloadJS 功能注入的方式,用于加载不被支持的文件类型,或者以PreloadJS不支持的方式。

	注意:
		该类主要是文档为目的,介绍插件,并不是一个真正的插件。

	插件是基于 '文件扩展名' 或 '支持的预加载类型' 进行注册的,在 'LoadQueue' 类中定义为常量。可用的负载类型是

	插件通过 'getPreloadHandlers' 方法来定义它处理的类型或扩展,当插件首次注册时会调用该方法。

	注册 'PreloadJS' 的插件,只需通过调用 'installPlugin' 方法,在文件开始加载之前,简单地安装它到 'LoadQueue' 队列中
		var queue = new createjs.LoadQueue();
		queue.installPlugin(createjs.SamplePlugin);
		queue.loadFile('test.jpg');

	'getPreloadHandlers' 方法还可以返回一个 'callback' 属性,该回调函数在每个文件加载之前调用。查看 'preloadHandler' 以获取有关回调函数如何工作的更多信息。例如:SoundJS 插件允许 'PreloadJS' 管理使用Flash Player的下载。

3.LoadQueue
	'LoadQueue' 类是预加载内容的主要API。'LoadQueue' 是一个加载管理器,可以预加载单个文件或文件队列。

	创建一个队列
		使用 'LoadQueue',需要创建一个 'LoadQueue' 实例。如果想强制使用 '标签加载' 方式,设置 'preferXHR' 参数为false
			var queue = new createjs.LoadQueue(true);

	监听事件
		添加任何想要的监听器到队列中。从 'PreloadJS' 0.3.0版本后,'EventDispatcher' 允许为事件添加尽可能的监听器。可以订阅以下事件:
			complete - 当队列加载完所有文件,触发
			error - 当队列中加载任意一个文件出错,触发
			progress - 整个队列进度改变时,触发
			fileload - 单个文件加载完成,触发
			fileprogress - 单个文件进度改变时,触发。注意:只有使用XHR(或通过插件可能实现进度跟踪)加载的文件,才会触进度事件。得到的进度值是:除了0或100%。

			queue.on('fileload', handleFileLoad, this);
			queue.on('complete', handleComplete, this);

	添加文件和程序清单(manifests)
		使用 'loadFile' 添加要加载的文件,或一次性添加多个文件 '给 loadFile 方法传递一个列表' 或 '使用 loadManifest' 传递一个 'manifest定义'。文件被追加到活动队列的末尾,所以只要你喜欢,你可以随时随地使用这些方法。
			queue.loadFile('file.jpg');
			queue.loadFile({id: 'image', src: 'file.jpg'});
			queue.loadManifest(['file.jpg', {id: 'image', src: 'file.jpg'}]);

			// 使用外部的manifest文件
			queue.loadManifest('manifest.json');
			queue.loadManifest({src: 'manifest.json', type: 'manifest'});

	如果传递 'false' 作为 'loadNow' 参数,队列将不会启动文件的加载,但是如果已经启动,则不会停止。调用 'load' 方法来启动暂停的队列。请注意:当使用 'loadNow' 参数为 'true',来将新文件添加到队列时,将自动恢复暂停的队列。

		queue.load();

	文件类型
		manifest条目的文件类型,是由文件扩展名自动决定的。PreloadJS中的模式匹配,应该处理大部分的标准文件和url格式,并且支持常用的文件扩展名。如果有一个 '不标准' 的文件扩展名,或使用一个代理脚本来提供文件,可以给 manifest条目 传递一个 'type' 属性,来指明文件类型。

		queue.loadFile({src: '音乐.mp3x', type: createjs.Types.SOUND});

		// 注意:PreloadJS 不会从查询字符串,读取文件扩展名
		queue.loadFile({src: 'http://server.com/proxy?file=图片.jpg', type: createjs.Types.IMAGE});

		支持的文件类型,定义在 'AbstractLoader' 类中,包含:
			Types/BINARY
			Types/CSS
			Types/IMAGE
			Types/JAVASCRIPT
			Types/JSON
			Types/JSONP
			Types/MANIFEST
			Types/SOUND
			Types/SPRITESHEET
			Types/SVG
			Types/TEXT
			Types/VIDEO
			Types/XML

		注意:Loader类型以前是在 'LoadQueue' 上定义的,但已经被移动到了 'Types类

	结果处理
		当一个文件下载完成,触发一个 'fileload' 事件。在上面的例子中,有一个用于 'fileload' 的事件监听器片段。加载的文件通常是一个格式化的对象,该对象可以立即使用,包括:
			Binary - 二进制加载结果
			CSS - 标签
			Image - 标签
			Javascript - 
                    
                    

你可能感兴趣的:(CreateJS)