我们都知道您可以使用strg + alt + i启动检查器,但是我现在正在尝试向用户界面添加一个执行相同操作的按钮:

function customEnterInspector () {
        var scene = document.querySelector('a-scene');
        if (scene) {
            if (scene.hasLoaded) {
                this.injectInspector();
            } else {
                scene.addEventListener('loaded', this.injectInspector());
            }
        }
    }

    $( "#intoinspector" ).click(function() {
        customEnterInspector();
    });


但是,我确实得到了错误:

 Uncaught TypeError: this.injectInspector is not a function
at customEnterInspector (index.html:925)
at HTMLAnchorElement.<anonymous> (index.html:933)
at HTMLAnchorElement.dispatch (jquery-3.1.1.min.js:3)
at HTMLAnchorElement.q.handle (jquery-3.1.1.min.js:3)


我想我所引用的元素(a-场景)不是正确的元素。我已经尝试过使用“窗口”,但这也不起作用。关于我还可以尝试的其他建议吗?

谢谢,最好,
-最大

最佳答案

injectInspector()方法是场景对象上inspector component的一部分。在上面发布的代码片段中,this指的是没有该方法的button元素。要引用该组件,可以执行以下操作:

 var inspector = scene.components.inspector;

 // Show inspector immediately.
 inspector.injectInspector();

 // Show inspector after event.
 scene.addEventListener('loaded', function () {
   inspector.injectInspector();
 });

09-25 19:50