lua.vm.js innerHTML 错误

我得到了下面的 lua.vm.js 代码:

local data=tostring(js.global.Module.read('/statsWidget.lcgi'))
print(data)
print(js.global.document.getElementById('statsWidget').innerHTML)
js.global.document.getElementById('statsWidget').innerHTML=data

虽然 ajax 调用和两个打印都运行良好,但尝试设置 innerHTML 会引发 JavaScript 错误:

Uncaught SyntaxError: Unexpected identifier lua.vm.js:5717
  _emscripten_run_script_int                lua.vm.js:5717
  iS                                        lua.vm.js:6406
  eX                                        lua.vm.js:6406
  iM                                        lua.vm.js:6406
  eZ                                        lua.vm.js:6406
  iD                                        lua.vm.js:6406
  iM                                        lua.vm.js:6406
  eZ                                        lua.vm.js:6406
  dB                                        lua.vm.js:6406
  k1                                        lua.vm.js:6407
  invoke_vii                                lua.vm.js:6359
  eS                                        lua.vm.js:6406
  e2                                        lua.vm.js:6406
  dA                                        lua.vm.js:6406
  cD                                        lua.vm.js:6406
  ccallFunc                                 lua.vm.js:536
  ccall                                     lua.vm.js:495
  Lua.execute                               lua.vm.js:6608
  (anonymous function)                      lua.vm.js:6614
  Lua.executeScripts                        lua.vm.js:6613
  window.onload                             lua.vm.js:6603

我做错了什么?

点赞
用户1885454
用户1885454

我不能验证您的数据,但是对我来说,这个有效:

-- working
js.global.document:getElementById('statsWidget').innerHTML= "foo"

而这个失败了:

-- not working
js.global.document.getElementById('statsWidget').innerHTML= "foo"

请注意冒号在 document 后面。它给函数增加了隐藏的 self 参数:

-- working too
js.global.document.getElementById(js.global.document,'statsWidget').innerHTML= "foo"
2016-05-13 13:14:35