Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在KindleFire上调试silk浏览器?_Javascript_Kindle Fire - Fatal编程技术网

Javascript 如何在KindleFire上调试silk浏览器?

Javascript 如何在KindleFire上调试silk浏览器?,javascript,kindle-fire,Javascript,Kindle Fire,在KindleFire上运行我的站点时,我遇到了一些不同于Chrome的javascript行为。为了调试这个,我需要访问Chrome开发者工具或Firebug之类的工具。有什么建议吗?在同一条船上。。。希望adb logcat会有所帮助,但javascript控制台消息似乎没有出现在那里。也许需要在设备上设置一些东西来将控制台日志定向到logcat 编辑:找到一个合适的解决方案:--允许您设置远程调试/日志控制台。非常简单(仅限于控制台日志记录,因此需要将大量日志转储到日志中)。。。但效果很好

在KindleFire上运行我的站点时,我遇到了一些不同于Chrome的javascript行为。为了调试这个,我需要访问Chrome开发者工具或Firebug之类的工具。有什么建议吗?

在同一条船上。。。希望adb logcat会有所帮助,但javascript控制台消息似乎没有出现在那里。也许需要在设备上设置一些东西来将控制台日志定向到logcat

编辑:找到一个合适的解决方案:--允许您设置远程调试/日志控制台。非常简单(仅限于控制台日志记录,因此需要将大量日志转储到日志中)。。。但效果很好。至少帮助我找到了问题的根源


操作方法:

我采用了另一种方法,创建了一个包装器本机应用程序,可以弹出一个JavaScript对话框

我的包装器代码相当大,所以我取了一些相关部分的片段。它实际上可以工作,并且会显示任何javascript错误

// registers the debugger to catch errors 
WebView engine = (WebView) findViewById(R.id.web_engine);
engine.setWebChromeClient(new DebugClient(this));

// the class that manages the errors
private class DebugClient extends WebChromeClient {
        Activity activity;

        public DebugClient(Activity activity) {
            this.activity = activity;
        }

        @Override
        public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
            if (consoleMessage.messageLevel() == MessageLevel.ERROR
                    || consoleMessage.messageLevel() == MessageLevel.WARNING) {
                String title="Javascript error on line "
                        + String.valueOf(consoleMessage.lineNumber())
                        + " of " + consoleMessage.sourceId();
                AlertBox alertBox=new AlertBox(activity, (ActionListener)null, title, consoleMessage.message(), "OK");
                alertBox.show();
                alertBoxes.add(alertBox);
            }
            return true;
        }
    }

要编译它,您需要在计算机上安装Android SDK,可能还需要一个带有ADT的Java IDE(Eclipse?)。然后,您只需创建新项目,将WebView组件添加到layout/main.xml中,然后粘贴代码。在您的Kindle Fire上编译并安装。

:O jsconsole.com在哪里度过了我的一生?太有用了。谢谢FWIW,我现在在需要时使用Weinre。jsconsole很棒,但weinre提供了与chrome开发者工具栏相同的调试工具。设置有点复杂,但值得: