javascript - 三个 JS 加载失败错误
问题描述
我使用插件 io_blender 将我的 3d 模型导出到 JSON 文件。但是当我尝试加载 html 时显示下一个错误:
three.js:31844 加载文件失败:///F:/xampp/htdocs/threejs/Rock1.json:跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https。
阅读了很多可能的解决方案,但我不明白。有人说我需要将 json 文件放在服务器上。所以我从 xampp 复制 htdocs 上的文件但没有用。
<html>
<head>
<title>My first three.js app</title>
<style>
body { margin: 0; }
canvas { width: 100%; height: 100% }
</style>
</head>
<body>
<script src="js/three.js"></script>
<script src="js/controls/OrbitControls.js"></script>
<script src="js/OBJLoader.js"></script>
<script>
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 75, window.innerWidth/window.innerHeight, 0.1, 1000 );
var renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
controls = new THREE.OrbitControls(camera, renderer.domElement);
var obj;
var loader = new THREE.JSONLoader();
loader.load(
'Rock1.json',
function(g,m){
obj = new THREE.Mesh(g,m);
scene.add(obj);
obj.position = -6;
obj.rotation = 0.4;
}
);
//create the model
/*var geometry = new THREE.BoxGeometry(1, 1, 1);
//create material
var material = new THREE.MeshBasicMaterial({color: 0xFFFFFF, wireframe: false});
var cube = new THREE.Mesh(geometry, material);*/
//scene.add (cube);
camera.position.z = 3;
//game logic
var update = function(){
/*cube.rotation.x += 0.01;
cube.rotation.y += 0.05;*/
};
//draw scene
var render = function() {
renderer.render(scene, camera);
};
//run game loop (update. render, repeat)
var GameLoop = function(){
requestAnimationFrame( GameLoop );
update( );
render( );
};
GameLoop();
</script>
</body>
</html>
谢谢
解决方案
您需要在服务器上上传您的 json 文件,基本上这就是解决方案。
我有同样的错误,我找到了相同的可能解决方案,我把 dae 文件放在服务器上,但它没有像你说的那样工作,但在我的情况下,我得到了一个不同的错误
无法加载https://...test.dae:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'null' 不允许访问。
我添加了这个 chrome 扩展Allow-Control-Allow-Origin并解决了问题。
您的问题与 json 文件有关,但我相信此解决方案会很有用。
推荐阅读
- python - 如何生成出现另一个字符串的字符串列表
- ssl - SSL 连接失败:错误:1408F10B:SSL 例程:ssl3_get_record:错误的版本号
- javascript - GAS:通过工作表执行业务逻辑搜索的 Google 可视化查询
- ios - Fastlane 在上传到 TestFlight 时失败
- awk - 如果匹配发生,则删除第二个匹配项
- perl - 我需要用 PHP 格式在 Perl 中序列化
- python - ModuleNotFoundError:没有名为“discord_webhook”的模块
- php - 如何通过php在html表中回显超链接
- android - 将 Android 微调器与 php 文件数组连接
- python - 专注于python tkinter中的一个窗口