本章介绍three中的加载器及管理器,加载器主要用于加载外部资源,如纹理、视频、音频、模型等资源信息,管理器主要是用于管理加载器使用。

一、学习视频
二、加载器
2.1 载器(Loader)
于实现加载器的基类。
属性
- .crossOrigin : String
crossOrigin 字符串用于实现 CORS ,以从允许 CORS 的其他域加载url。 默认为anonymous。 - .manager : LoadingManager
加载器要使用的 loadingManager 。默认为 DefaultLoadingManager 。 - .path : String
将从中加载资产的基本路径。 默认为空字符串。 - .resourcePath : String
将从中加载额外资源(例如纹理贴图)的基本路径。 默认为空字符串。 - .requestHeader : Object
request header 在 HTTP 请求中使用。 请参考 .setRequestHeader。 默认为 undefined。
方法 - .load () : undefined
该方法需要被所有具体的加载器来实现。它包含了从后端加载资产的逻辑。 - .loadAsync ( url : String, onProgress : Function ) : Promise
- url --- 一个字符串,包含要加载的文件的路径/URL。
- onProgress --- (可选)加载过程中将会被调用的函数。参数将是一个XMLHttpRequest 实例,其包 含了 .total (总)字节数和 .loaded (已加载)字节数。
该函数等效于.load,但返回的是一个 Promise。
- onLoad 由 Promise.resolve 处理,而 onError 则由 Promise.reject 处理。
- .parse () : undefined
该方法需要被所有具体的加载器来实现。它包含了解析资产到 three.js 实体的逻辑。 - .setCrossOrigin ( crossOrigin : String ) : this
crossOrigin --- crossOrigin字符串用于实现CORS,以从允许CORS的其它域加载url。 - .setPath ( path : String ) : this
path --- 设置资产的基本路径。 - .setResourcePath ( resourcePath : String ) : this
resourcePath --- 设置独立资源(如纹理贴图)的基本路径。 - .setRequestHeader ( requestHeader : Object ) : this
requestHeader - key: 要设置header的名称。 value:要设置header的值。
设置在 HTTP 请求中使用的 request header(请求头)。
2.2 LoaderUtils
具有多个实用的加载器函数功能的对象
- .decodeText ( array : TypedArray ) : String
array --- 作为类型化数组的字节流
该函数将字节流作为输入并返回字符串作为表示。 - .extractUrlBase ( url : String ) : String
url --- 从基本URL中,进行提取的URL。
从URL中提取基本信息。
2.3 AnimationLoader
以JSON格式来加载 AnimationClips 的一个类。 内部使用 FileLoader 来加载文件。
- .load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : undefined
- url --- 文件的URL或者路径,也可以为 Data URI.
- onLoad --- 加载完成时将调用。回调参数为将要加载的animation clips.
- onProgress --- 将在加载过程中进行调用。参数为XMLHttpRequest实例,实例包含total和loaded字节。
- onError --- 在加载错误时被调用。
从URL中进行加载并将动画传递给onLoad。
- .parse ( json : JSON ) : Array
json --- 请求,解析 JSON 对象并返回 animation clips 的数组。对象中的各个片段将被 AnimationClip.parse 解析。
typescript
import * as THREE from "three"
export default () => {
const loader = new THREE.AnimationLoader();
// 加载资源
loader.load(
// 资源URL
'../../animations/animation.js',
// onLoad回调
function (animations: THREE.AnimationClips) {
// animations时一个AnimationClips组数
console.log(animations);
},
// onProgress回调
function (xhr: ProgressEvent) {
console.log((xhr.loaded / xhr.total * 100) + '% loaded');
},
// onError回调
function (err: Error) {
debugger
console.log('An error happened');
}
);
}
2.4 AudioLoader
用来加载 AudioBuffer的一个类。 内部默认使用FileLoader来加载文件。
- .load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : undefined
- url --- 文件的URL或者路径,也可以为 Data URI.
- onLoad --- 加载完成时将调用。回调参数为将要加载的响应文本。
- onProgress --- 将在加载过程中进行调用。参数为XMLHttpRequest实例,实例包含total和loaded字节.
- onError --- 在加载错误时被调用。
从URL中进行加载并将已经加载的AudioBuffer传递给onLoad。
typescript
import * as THREE from "three"
export default () => {
const canvas = document.getElementById("demo");
const renderer = new THREE.WebGLRenderer({ canvas });
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 1, 100);
camera.position.z = 10;
const scene = new THREE.Scene()
const geometry = new THREE.BoxGeometry(1, 1, 1);
const material = new THREE.MeshBasicMaterial({
color: '#ff0000'
});
const mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);
// 初始化一个监听
const audioListener = new THREE.AudioListener();
// 把监听添加到camera
camera.add(audioListener);
// 初始化音频对象
const oceanAmbientSound = new THREE.Audio(audioListener);
// 添加一个音频对象到场景中
scene.add(oceanAmbientSound);
// 初始化一个加载器
const loader = new THREE.AudioLoader();
// 加载资源
loader.load(
// 资源URL
'/audio/test1.mp4',
// onLoad回调
function (audioBuffer: ArrayBuffer) {
// 给一个加载器对象设置音频对象的缓存
oceanAmbientSound.setBuffer(audioBuffer);
// 播放音频
oceanAmbientSound.play();
},
// onProgress回调
function (xhr: ProgressEvent) {
console.log((xhr.loaded / xhr.total * 100) + '% loaded');
},
// onError回调
function (err: Error) {
console.log('An error happened');
}
);
console.log(JSON.stringify(geometry.toJSON()))
renderer.render(scene, camera);
}
2.5 BufferGeometryLoader
用来加载BufferGeometry的加载器。 内部使用FileLoader来加载文件。
- .load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : undefined
- url --- 文件的URL或者路径,也可以为 Data URI.
- onLoad --- 加载完成时将调用。回调参数为将要加载的animation clips.
- onProgress --- 将在加载过程中进行调用。参数为XMLHttpRequest实例,实例包含total和loaded字节。
- onError --- 在加载错误时被调用。
从URL中进行加载并将动画传递给onLoad。
- .parse ( json : JSON ) : Array
json --- 请求,解析 JSON 对象并返回 animation clips 的数组。对象中的各个片段将被 AnimationClip.parse 解析。
typescript
import * as THREE from "three"
export default () => {
const canvas = document.getElementById("demo");
const renderer = new THREE.WebGLRenderer({ canvas });
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 1, 100);
camera.position.z = 10;
const scene = new THREE.Scene()
const geometry = new THREE.BoxGeometry(1, 1, 1);
// 初始化一个加载器
const loader = new THREE.BufferGeometryLoader();
// 加载资源
loader.load(
// 资源URL
'models/json/pressure.json',
// onLoad回调
function (geometry: THREE.BufferGeometry) {
const material = new THREE.MeshLambertMaterial({ color: 0xF5F5F5 });
const object = new THREE.Mesh(geometry, material);
scene.add(object);
},
// onProgress回调
function (xhr: ProgressEvent) {
console.log((xhr.loaded / xhr.total * 100) + '% loaded');
},
// onError回调
function (err: Error) {
console.log('An error happened');
}
);
renderer.render(scene, camera);
}
2.6 Cache
一个简单的缓存系统,内部使用FileLoader。
属性
- .enabled : Boolean
是否启用缓存,默认为false. - .files : Object
一个object所持有的缓存文件。
方法
- .add ( key : String, file ) : undefined
key --- 通过引用缓存文件的key。
file --- 所被缓存的文件
使用key为引用文件增加一个缓存入口。如果该key已持有一个文件,则会被覆盖。 - .get ( key : String ) : Any
key --- 一个字符串key
获得该key的值。 如果该key不存在,则以undefined被返回。 - .remove ( key : String ) : undefined
key --- 引用缓存文件的一个字符串key
使用key来删除相应的缓存文件。 - .clear () : undefined
清除所有缓存中的值。
2.7 CompressedTextureLoader
基于块的纹理加载器 (dds, pvr, ...)的抽象类。 内部使用FileLoader来加载文件。
- .load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : undefined
- url --- 文件的URL或者路径,也可以为 Data URI.
- onLoad --- 加载完成时将调用。回调参数为将要加载的animation clips.
- onProgress --- 将在加载过程中进行调用。参数为XMLHttpRequest实例,实例包含total和loaded字节。
- onError --- 在加载错误时被调用。
从URL中进行加载并将动画传递给onLoad。
2.8 CubeTextureLoader
加载CubeTexture的一个类。 内部使用ImageLoader来加载文件。
- .load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : undefined
- url --- 文件的URL或者路径,也可以为 Data URI.
- onLoad --- 加载完成时将调用。回调参数为将要加载的animation clips.
- onProgress --- 将在加载过程中进行调用。参数为XMLHttpRequest实例,实例包含total和loaded字节。
- onError --- 在加载错误时被调用。
从URL中进行加载并将动画传递给onLoad。
typescript
import * as THREE from "three"
import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
export default () => {
const canvas = document.getElementById("demo");
const renderer = new THREE.WebGLRenderer({ canvas });
const camera = new THREE.PerspectiveCamera(100, window.innerWidth / window.innerHeight, 0.1, 1000);
camera.position.z = 10;
const scene = new THREE.Scene()
const textureCube = new THREE.CubeTextureLoader()
.setPath('/textures/cubeMaps/').load([
'px.jpg', 'nx.jpg', 'py.jpg', 'ny.jpg', 'pz.jpg', 'nz.jpg'
]);
textureCube.mapping = THREE.CubeRefractionMapping;
scene.background = textureCube;
const geometry = new THREE.BoxGeometry(1, 1, 1);
const material = new THREE.MeshBasicMaterial({
color: '#ff0000'
});
const mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);
renderer.render(scene, camera);
const controls = new OrbitControls(camera, renderer.domElement);
controls.update();
function animate() {
requestAnimationFrame(animate)
// required if controls.enableDamping or controls.autoRotate are set to true
controls.update()
renderer.render(scene, camera)
}
animate()
}
2.9 DataTextureLoader
用于加载二进制文件格式的(rgbe, hdr, ...)的抽象类。 内部使用FileLoader来加载文件, 和创建一个新的 DataTexture.
- .load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : undefined
- url --- 文件的URL或者路径,也可以为 Data URI.
- onLoad --- 加载完成时将调用。回调参数为将要加载的animation clips.
- onProgress --- 将在加载过程中进行调用。参数为XMLHttpRequest实例,实例包含total和loaded字节。
- onError --- 在加载错误时被调用。
从URL中进行加载并将动画传递给onLoad。
2.10 FileLoader
使用XMLHttpRequest来加载资源的低级类,并由大多数加载器内部使用。 它也可以直接用于加载任何没有对应加载器的文件类型。
属性
共有属性请参见其基类Loader。
- .mimeType : String
详情 mimeType. 请参考 .setMimeType。默认为 undefined。 - .responseType : String
请求的响应类型。 请参考 .setResponseType. 默认为 undefined. - .withCredentials : String
XMLHttpRequest是否使用证书。 请参考 .setWithCredentials. 默认为 undefined.
方法
共有方法请参见其基类Loader。
- .load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : undefined
- url --- 文件的URL或者路径,也可以为 Data URI.
- onLoad (可选) --- 加载完成时将调用。回调参数将是加载的响应。
- onProgress (可选) --- 将在加载过程中进行调用。参数将是XMLHttpRequest实例, 其中包含 total 和 loaded 字节
- onError (可选) --- 在加载错误时被调用。
加载URL并将响应传递给onLoad函数。
- .setMimeType ( mimeType : String ) : this
设置正在加载的文件预期类型 mimeType 。请注意,在许多情况下,这将自动确定,因此默认情况下它是 undefined 。 - .setResponseType ( responseType : String ) : this
改变响应的类型,其类型有效值如下:- text 或者空 string (默认) - 返回的数据类型为 string.
- arraybuffer - 加载的数据类型到一个数组buffer中 ArrayBuffer 并进行返回。
- blob - 返回的数据为 Blob。
- document - 使用 DOMParser 解析文件。
- json - 将文件解析为 JSON.parse.
typescript
import * as THREE from "three"
export default () => {
const loader = new THREE.FileLoader();
//加载一个文本文件,并把结果输出到控制台上
loader.load(
// resource URL
'/animations/animation.js',
// onLoad回调
function (data: any) {
// output the text to the console
console.log(data)
},
// onProgress回调
function (xhr: ProgressEvent) {
console.log((xhr.loaded / xhr.total * 100) + '% loaded');
},
// onError回调
function (err: Error) {
console.error('An error happened');
}
);
}
2.11 ImageBitmapLoader
一个把Image加载为ImageBitmap的加载器。 ImageBitmap提供了一种异步且有效的资源的途径,用于在WebGL中渲染的纹理。
不像FileLoader, ImageBitmapLoader无需避免对同一的URL进行多次请求。
值得注意的是 Texture.flipY 和 Texture.premultiplyAlpha 在 ImageBitmap 中会被忽略。不像常规图像上传到 GPU 时需要这些配置,ImageBitmap 是创建位图时需要它们。比如你需要通过 ImageBitmapLoader.setOptions 来设置等效的选项。详情请参阅 WebGL specification 规范。
属性
共有属性请参见其基类Loader。
- .isImageBitmapLoader : Boolean
Read-only flag to check if a given object is of type ImageBitmapLoader. - .options : String
一个可选对象,用来设置内部使用的createImageBitmap工厂方法, 默认为undefined.
方法
共有方法请参见其基类Loader。
- .load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : undefined
- url --- 文件的URL或者路径,也可以为 Data URI.
- onLoad --- 加载完成时将调用。回调参数为将要加载的image.
- onProgress --- 此回调函数暂时不支持
- onError --- 在加载错误时被调用。
从URL中进行加载,并返回将包含数据的image对象。 - .setOptions ( options : Object ) : this
设置createImageBitmap的选项对象。
typescript
import * as THREE from "three"
import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
export default () => {
const canvas = document.getElementById("demo")
const renderer = new THREE.WebGLRenderer({ canvas, antialias: true });
const camera = new THREE.PerspectiveCamera(10, window.innerWidth / window.innerHeight, 0.1, 100);
camera.position.z = 10;
const scene = new THREE.Scene();
const geometry = new THREE.BoxGeometry();
const loader = new THREE.ImageBitmapLoader();
loader.setOptions({ imageOrientation: 'flipY' });
// 加载一个图片资源
loader.load(
// 资源的URL
'/textures/cubeMaps/img1.png',
// onLoad回调
function (imageBitmap: any) {
const texture = new THREE.CanvasTexture(imageBitmap);
const material = new THREE.MeshBasicMaterial({ map: texture });
const mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);
},
// 目前暂不支持onProgress的回调
undefined,
// onError回调
function (err: Error) {
console.log('An error happened');
}
);
const controls = new OrbitControls(camera, renderer.domElement);
renderer.render(scene, camera);
function animate() {
requestAnimationFrame(animate);
controls.update();
renderer.render(scene, camera);
}
animate()
}
2.12 ImageLoader
用来加载一个Image的加载器。 内部使用FileLoader来加载文件,并被 CubeTextureLoader、ObjectLoader、TextureLoader所使用。
- .load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : undefined
- url --- 文件的URL或者路径,也可以为 Data URI.
- onLoad --- 加载完成时将调用。回调参数为将要加载的animation clips.
- onProgress --- 将在加载过程中进行调用。参数为XMLHttpRequest实例,实例包含total和loaded字节。
- onError --- 在加载错误时被调用。
从URL中进行加载并将动画传递给onLoad。
2.13 MaterialLoader
以JSON格式来加载Material的加载器。 默认使用FileLoader进行加载文件。
属性
共有属性请参见其基类Loader。
- .textures : Object
持有材质的任何纹理的对象,请参考 .setTextures.
方法
共有方法请参见其基类Loader。
- .load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : undefined
- url --- 文件的URL或者路径,也可以为 Data URI.
- onLoad --- 加载完成时将调用。回调参数为将要加载的Material。
- onProgress --- 将在加载过程中进行调用,参数为进度事件。
- onError --- 在加载错误时被调用。
从URL中进行加载,并返回将包含数据的Material对象。
- .parse ( json : Object ) : Material
json --- JSON对象包含材质参数。
解析JSON结构,以json对象的参数中的json.type类型,创建一个新的Material。 - .setTextures ( textures : Object ) : this
textures --- 对象包含任何被材质所使用的纹理。
typescript
import * as THREE from "three"
import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
export default () => {
const canvas = document.getElementById("demo")
const renderer = new THREE.WebGLRenderer({ canvas, antialias: true });
const camera = new THREE.PerspectiveCamera(10, window.innerWidth / window.innerHeight, 0.1, 100);
camera.position.z = 10;
const scene = new THREE.Scene();
const geometry = new THREE.BoxGeometry();
const material = new THREE.MeshBasicMaterial({ color: "#ff0000" });
const mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);
console.log(JSON.stringify(material.toJSON()))
const loader = new THREE.MaterialLoader();
// 加载资源
loader.load(
// 资源URL
'models/json/material.json',
// onLoad回调
function (material: THREE.MeshBasicMaterial) {
mesh.material = material;
},
// onProgress回调
function (xhr: ProgressEvent) {
console.log((xhr.loaded / xhr.total * 100) + '% loaded');
},
// onError回调
function (err: Error) {
console.log('An error happened');
}
);
const controls = new OrbitControls(camera, renderer.domElement);
renderer.render(scene, camera);
function animate() {
requestAnimationFrame(animate);
controls.update();
renderer.render(scene, camera);
}
animate()
}
2.14 ObjectLoader
A loader for loading a JSON resource in the JSON Object/Scene format.
此加载器内部使用FileLoader进行加载文件。
- .load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : undefined
- url --- 文件的URL或者路径,也可以为 Data URI.
- onLoad --- 加载完成时将调用。回调参数为将要加载的object.
- onProgress --- 将在加载过程中进行调用。参数为XMLHttpRequest实例,实例包含total和loaded字节。
- onError --- 在加载错误时被调用。
从URL中进行加载,并将被解析的响应内容传递给onLoad。
- .parse ( json : Object, onLoad : Function ) : Object3D
- json --- 必选参数,需要被解析的JSON源。
- onLoad --- 当解析完成时被调用,其中参数被解析为object.
解析一个JSON结构,并返回一个threejs对象. 内部使用.load()进行加载, 但也可以直接用于解析先前加载的JSON结构。
- .parseGeometries ( json : Object ) : Object
json --- 必选参数,需要被解析的JSON源。
此函数以JSON结构,用.parse()去解析geometries。 - .parseMaterials ( json : Object ) : Object
json --- 必选参数,需要被解析的JSON源。
此函数通过[page:.parse()来使用MaterialLoader,以解析JSON结构中任意材质。 - .parseAnimations ( json : Object ) : Object
json --- 必选参数,需要被解析的JSON源。
此函数通过.parse()来使用AnimationClip.parse(), 以解析JSON结构中任意动画。 - .parseImages ( json : Object ) : Object
json --- 必选参数,需要被解析的JSON源。
此函数通过.parse()来使用ImageLoader, 以解析JSON结构中任意图片。 - .parseTextures ( json : Object ) : Object
json --- 必选参数,需要被解析的JSON源。
此函数通过.parse()来解析JSON结构中任意纹理。 - .parseObject ( json : Object, geometries : BufferGeometry, materials : Material, animations : AnimationClip ) : Object3D
- json --- 必选参数,需要被解析的JSON源。
- geometries --- required. The geometries of the JSON.
- materials --- required. The materials of the JSON.
- animations --- required. The animations of the JSON.
此函数通过.parse()来解析JSON结构中任意对象。
2.15 TextureLoader
加载texture的一个类。 内部使用ImageLoader来加载文件。
- .load ( url : String, onLoad : Function, onProgress : Function, onError : Function ) : undefined
- url --- 文件的URL或者路径,也可以为 Data URI.
- onLoad --- 加载完成时将调用。回调参数为将要加载的Material。
- nProgress --- 将在加载过程中进行调用,参数为进度事件。
- onError --- 在加载错误时被调用。
从URL中进行加载,并返回将包含数据的Material对象。
typescript
import * as THREE from "three"
import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
export default () => {
const canvas = document.getElementById("demo")
const renderer = new THREE.WebGLRenderer({ canvas, antialias: true });
const camera = new THREE.PerspectiveCamera(10, window.innerWidth / window.innerHeight, 0.1, 100);
camera.position.z = 10;
const scene = new THREE.Scene();
const geometry = new THREE.BoxGeometry();
const texture = new THREE.TextureLoader().load("textures/cubeMaps/nx.jpg");
const material = new THREE.MeshBasicMaterial({ map: texture });
const mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);
const controls = new OrbitControls(camera, renderer.domElement);
renderer.render(scene, camera);
function animate() {
requestAnimationFrame(animate);
controls.update();
renderer.render(scene, camera);
}
animate()
}
三、管理器
3.1 DefaultLoadingManager
LoadingManager是一个全局实例, 当其他加载器没有指定加载管理器时,它将被其他大多数的加载器设为默认的加载管理器。
LoadingManager对于大多数加载器来说已经足够了,但有时您可能需要单独设置加载管理器,例如纹理、模型加载器。
3.2 LoadingManager
其功能是处理并跟踪已加载和待处理的数据。如果未手动设置加强管理器,则会为加载器创建和使用默认全局实例加载器管理器 - 请参阅 DefaultLoadingManager.
一般来说,默认的加载管理器已足够使用了,但有时候也需要设置单独的加载器 - 例如,如果你想为对象和纹理显示单独的加载条。
构造方法
LoadingManager( onLoad : Function, onProgress : Function, onError : Function )
-
onLoad --- (可选) 所有加载器加载完成后,将调用此函数。
-
onProgress --- (可选) 当每个项目完成后,将调用此函数。
-
onError --- (可选) 当一个加载器遇到错误时,将调用此函数。
创建一个新的 LoadingManager.
属性
- .onStart : Function
此函数在加载开始时被调用。 有如下参数:
url --- 被加载的项的url。
itemsLoaded --- 目前已加载项的个数。
itemsTotal --- 总共所需要加载项的个数。
该函数默认为undefined。 - .onLoad : Function
所有的项目加载完成后将调用此函数。默认情况下,该函数是未定义的,除非在构造函数中传入。 - .onProgress : Function
此方法加载每一个项,加载完成时进行调用。 有如下参数:
url --- 被加载的项的url。
itemsLoaded --- 目前已加载项的个数。
itemsTotal --- 总共所需要加载项的个数。
默认情况下,该函数为undefined,除非在构造函数中传入。 - .onError : Function
此方法将在任意项加载错误时,进行调用。 有如下参数:
url --- 加载发生错误的项目的url
默认情况下,该函数为undefined,除非在构造函数中传入。
方法
- .addHandler ( regex : Object, loader : Loader ) : this
- regex --- A regular expression.
- loader --- The loader.
Registers a loader with the given regular expression. Can be used to define what loader should be used in order to load specific files. A typical use case is to overwrite the default loader for textures.// add handler for TGA textures
manager.addHandler( /.tga$/i, new TGALoader() );
- .getHandler ( file : String ) : Loader
file --- The file path.
Can be used to retrieve the registered loader for the given file path. - .removeHandler ( regex : Object ) : this
regex --- A regular expression.
Removes the loader for the given regular expression. - .resolveURL ( url : String ) : String
url --- 所要加载的url
给定URL,使用URL修饰符回调(如果有)并返回已解析的URL。如果未设置URL修饰符,则返回原始URL。 - .setURLModifier ( callback : Function ) : this
callback --- 设置URL修饰符成功时回调。使用url参数进行回调,并且必须返回 resolvedURL 。
如果设置了回调,则在发送请求之前将向每个资源URL传递回调。回调可以返回最初的URL,也可以返回新URL以覆盖加载行为。 此行为可用于从.ZIP、拖拽API和数据URI中加载资源文件。
* Note: The following methods are designed to be called internally by loaders. You shouldn't call them directly.* - .itemStart ( url : String ) : undefined
url --- 所要加载的url
任何使用管理器的加载器都会调用此方法, 当加载器需要开始加载URL时。 - .itemEnd ( url : String ) : undefined
url --- 所要加载的url
任何使用管理器的加载器都会调用此方法, 当加载器需要加载URL结束时。 - .itemError ( url : String ) : undefined
url --- 所要加载的url
任何使用管理器的加载器都会调用此方法, 当加载器出现加载错误时。