2016-03-11 38 views
0

上周我一直在建立自己的个人网站。如何确保three.js移动友好

它在旋转立方体动画前的半透明div中有一些信息。 (很基本的东西吧?)

这里的蹭,我注意到在threjs.org/examples的例子运行在移动性好,尽管我尽我最大的努力做同样的事情我的网站似乎不呈现threejs组件在移动。

到目前为止,我已经尝试了几件事情:

首先要保证我正常从WebGL的回滚我包括探测器index.html,然后使用

renderer = Detector.webgl ? new THREE.WebGLRenderer({ alpha: true }): new THREE.CanvasRenderer({ alpha: true }); 

申报我threejs渲染器。

第二我确保我的代码在init,animate和render方法中得到很好的考虑。

第三我包括stats.js(作为例子)相应地修改我的HTML CSS和JS。

但我似乎没有做的是工作!

现在的页面在计算机上呈现良好,并很好地响应窗口大小调整事件,但在手机上没有任何内容出现在背景中。

就我所见,我正在以与示例相同的方式处理事情,但我没有获得移动性能。

非常感谢您的帮助!

哦,该网站是在这里:krewn.github.io,并且只包含三个文件,每个文件少于80行。

编辑:经过一些变化(declairing undeclaired变量并添加“使用严格”;在3D渲染上的台式机和除移动Mozilla中,移动这很奇怪,因为在移动Mozilla的threejs.org工作的例子...

+2

我在pc上看不​​到3d,得到错误**块范围声明(let,const,函数,类)在严格模式之外还不支持** – 2pha

+0

但我确实在Firefox中看到3d并且没有错误 – 2pha

+0

我做了一些更改,尽管Chrome浏览器中的移动预览工具指示了其他情况,但在Chrome中呈现页面仍然没有移动设备。 – kpie

回答

1

就像在他的评论中提到@ 2pha您的网站无法正常运作:

Uncaught SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode

尝试添加:

"use strict"; 

在所有顶部文件,我敢打赌,它会在Chrome和移动电话上运行良好。

+0

感谢您的建议。不幸的是,我无法编辑任何远程资源,并添加“严格使用”;到prettyGaphics的顶端是无效的。我注意到容器和统计数据未声明,所以我将它们添加到了列表中。一切似乎都表现得很好,但立方体仍然无法在手机上呈现...... – kpie

+0

@kpie必须有一些你错过了。就像你说过的所有示例在移动设备上运行良好,因此代码中必须有其他内容会破坏查看器。也许小提琴可以帮助找到它? – Wilt

+0

是的,不幸的是,它不能在js小提琴上运行...该页面的当前状态仍然在这里http://krewn.github.io – kpie