我正在尝试使用莫兹列尔火狐扩展,从emacs内部给我一个Javascript。
我想我已经把它设置好了。我可以从emacs与REPL进行交互,并且可以像教程页面中所描述的那样探索文档。当我尝试做一些非常简单的事情时,问题就出现了,比如获得一个canvas元素的上下文:
repl> document.getElementById("mycanvas").getContext("2d")
!!! TypeError: document.getElementById("mycanvas") is null
Details:
message: document.getElementById("mycanvas") is null
fileName: chrome://mozrepl/content/repl.js -> file:///C:/Users/teamonkey/AppData/Roaming/Mozilla/Firefox/Profiles/chfdenuz.default/mozrepl.tmp.js
lineNumber: 1
stack:
@chrome://mozrepl/content/repl.js -> file:///C:/Users/teamonkey/AppData/Roaming/Mozilla/Firefox/Profiles/chfdenuz.default/mozrepl.tmp.js:1
name: TypeError这不仅仅是一个特定的实例:任何对getElementById的调用都只会返回null。
如果我启动了firebug,我可以输入相同的内容,它将返回一个有效的上下文,但是我真的很想让REPL在emacs中工作。我不认为这是一个错误,但我可能没有正确配置mozrepl。有人能帮忙吗?
Mozrepl 1.0,Firefox 3.6
发布于 2010-03-22 11:09:42
启动时,您所处的上下文是浏览器窗口本身,而不是任何特定的文档。您可以访问铬元素(菜单、工具栏、选项卡等)。document对象当前引用浏览器窗口。
若要在活动选项卡中将上下文切换到文档,请使用:
repl.enter(content)现在,document对象是加载在active选项卡中的文档,因此您可以访问它的DOM树nad来操作它。
https://stackoverflow.com/questions/2485866
复制相似问题