我正在制作Google Chrome扩展程序,它从ACE编辑器获取文本。但是一旦我创建ACE对象,格式就会丢失,我无法使用缩进来获取Java代码。结果还包含许多不需要的字符。
我使用了以下代码。
var editor = ace.edit('editor');
var code = editor.getValue();
我的代码执行后
但是当我从开发者控制台运行相同的代码时,它运行正常。
请建议使用DOM元素获取格式化的完整代码有什么问题或其他方法吗?
答案 0 :(得分:0)
这是因为chrome扩展中的代码无法访问页面中运行的代码。 当您在元素的现有编辑器env property上调用ace.edit并改为创建新编辑器时。 作为一种解决方法,您可以创建将在页面上下文中运行的内容脚本,并使用events或postMessage与其余扩展进行通信。有关详细信息,请参阅https://stackoverflow.com/a/13292994/1743328