我在https://blockly-games.appspot.com上有一点乐趣,并且必须the last level,你可以写完整的javascript(new Date().getTime();
非常方便)。
尽管在Chrome中打开控制台(ctrl-shift-j)我似乎无法在游戏中使用console.log("test");
向其写任何内容。当我这样做时,我看到:
// Starting battle with 2 players. compressed.js:420
// [Player] throws an error: Unknown identifier: console compressed.js:423
// undefined compressed.js:423
// [Player] dies. compressed.js:416
然而,如果我在控制台中输入console.log("hmm");
,我会正确看到:
// console.log("hmm");
// hmm VM1038:2
// undefined
如果我尝试使用alert("test")
,则相同。
我想调试,但我发现的唯一输出形式是操纵鸭子并抛出未知标识符。这个沙箱有什么办法吗?
更新:How do I print debug messages in the Google Chrome JavaScript Console?有一些恢复控制台的想法,但在这种情况下它们似乎不起作用。
更新:只是要清楚这是遇到此错误时Chrome的样子。
答案 0 :(得分:0)
找到了一个kludgey解决方法:
throw "\nYour message here.";
显示器:
// [Player] throws an error: Unknown identifier: compressed.js:423
// Your message here.
// undefined compressed.js:423
// [Player] dies. compressed.js:416
杀死自己只是为了记录某些内容可能看起来很苛刻,但现在你可以写出一些时髦的断言。
function assertTrue(test, message) {
if (!test) {
throw message;
}
}
它有效,但主知道我希望有更好的方法。