1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<base href="../../../" />
<script src="list.js"></script>
<script src="page.js"></script>
<link type="text/css" rel="stylesheet" href="page.css" />
</head>
<body>
[page:Loader] →
<h1>[name]</h1>
<p class="desc">
使用XMLHttpRequest来加载资源的低级类,并由大多数加载器内部使用。
它也可以直接用于加载任何没有对应加载器的文件类型。
</p>
<h2>例子</h2>
<p>
[example:webgl_loader_msgpack WebGL / loader / msgpack]<br />
[example:webgl_morphtargets_human WebGL / morphtargets / human]<br />
</p>
<code>
var loader = new THREE.FileLoader();
//加载一个文本文件,并把结果输出到控制台上
loader.load(
// resource URL
'example.txt',
// onLoad回调
function ( data ) {
// output the text to the console
console.log( data )
},
// onProgress回调
function ( xhr ) {
console.log( (xhr.loaded / xhr.total * 100) + '% loaded' );
},
// onError回调
function ( err ) {
console.error( 'An error happened' );
}
);
</code>
<p>
<em>注意:</em>
必须启用缓存
<code>THREE.Cache.enabled = true;</code>
这是一个全局属性,只需要设置一次,供内部使用FileLoader的所有加载器使用。
[page:Cache Cache] 是一个缓存模块,用于保存通过此加载器发出的每个请求的响应,因此每个文件都会被请求一次。
</p>
<h2>构造函数</h2>
<h3>[name] ( [param:LoadingManager manager] )</h3>
<p>
[page:LoadingManager manager] — [page:LoadingManager loadingManager] 是加载器所使用的加载管理器。
默认为 [page:DefaultLoadingManager].
</p>
<h2>属性</h2>
<p>共有属性请参见其基类[page:Loader]。</p>
<h3>[property:String mimeType]</h3>
<p>
详情 [link:https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types mimeType].
请参考 [page:.setMimeType]。默认为 *undefined*。
</p>
<h3>[property:object requestHeader]</h3>
<p>[link:https://developer.mozilla.org/en-US/docs/Glossary/Request_header request header] 在HTTP 请求中使用。 请参考 [page:.setRequestHeader]。 默认为 *undefined*.</p>
<h3>[property:String responseType]</h3>
<p>请求的响应类型。 请参考 [page:.setResponseType]. 默认为 *undefined*.</p>
<h3>[property:String withCredentials]</h3>
<p>
XMLHttpRequest是否使用证书。 请参考 [page:.setWithCredentials].
默认为 *undefined*.
</p>
<h2>方法</h2>
<p>共有方法请参见其基类[page:Loader]。</p>
<h3>[method:null load]( [param:String url], [param:Function onLoad], [param:Function onProgress], [param:Function onError] )</h3>
<p>
[page:String url] — 文件的URL或者路径,也可以为
[link:https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs Data URI].<br />
[page:Function onLoad] (可选) — 加载完成时将调用。回调参数将是加载的响应。<br />
[page:Function onProgress] (可选) — 将在加载过程中进行调用。参数将是XMLHttpRequest实例,
其中包含 [page:Integer total] 和 [page:Integer loaded] 字节<br />
[page:Function onError] (可选) — 在加载错误时被调用。<br /><br />
加载URL并将响应传递给onLoad函数。
</p>
<h3>[method:FileLoader setMimeType]( [param:String mimeType] )</h3>
<p>
设置正在加载的文件预期类型 [link:https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types mimeType]
。请注意,在许多情况下,这将自动确定,因此默认情况下它是 *undefined* 。
</p>
<h3>[method:FileLoader setRequestHeader]( [param:object requestHeader] )</h3>
<p>
[page:object requestHeader] - key: 要设置header的名称。 value:要设置header的值。<br /><br />
请参考在HTTP 请求中的 [link:https://developer.mozilla.org/en-US/docs/Glossary/Request_header request header]。
</p>
<h3>[method:FileLoader setResponseType]( [param:String responseType] )</h3>
<p>
改变响应的类型,其类型有效值如下:<br />
[page:String text] 或者空 string (默认) - 返回的数据类型为 [page:String string].<br />
[page:String arraybuffer] - 加载的数据类型到一个数组buffer中 [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer ArrayBuffer] 并进行返回。<br />
[page:String blob] - 返回的数据为 [link:https://developer.mozilla.org/en/docs/Web/API/Blob Blob]。<br />
[page:String document] - 使用 [link:https://developer.mozilla.org/en-US/docs/Web/API/DOMParser DOMParser] 解析文件。<br />
[page:String json] - 将文件解析为 [link:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse JSON.parse].<br />
</p>
<h3>[method:FileLoader setWithCredentials]( [param:Boolean value] )</h3>
<p>
XMLHttpRequest是否使用cookie、授权头或TLS客户端证书等凭据。 请参考 [link:https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials XMLHttpRequest.withCredentials].<br />
请注意,当您在本地或从同一域加载文件,则该方法无效。
</p>
<h2>源</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>
|