无法在Google Chrome扩展程序中获得适当的Ace编辑器文本

时间:2017-01-09 06:52:58

标签: javascript html dom google-chrome-extension ace-editor

我正在制作Google Chrome扩展程序,它从ACE编辑器获取文本。但是一旦我创建ACE对象,格式就会丢失,我无法使用缩进来获取Java代码。结果还包含许多不需要的字符。

我使用了以下代码。

var editor = ace.edit('editor');
var code = editor.getValue();

在我的代码执行之前

1

我的代码执行后

2

但是当我从开发者控制台运行相同的代码时,它运行正常。

请建议使用DOM元素获取格式化的完整代码有什么问题或其他方法吗?

1 个答案:

答案 0 :(得分:0)

这是因为chrome扩展中的代码无法访问页面中运行的代码。 当您在元素的现有编辑器env property上调用ace.edit并改为创建新编辑器时。 作为一种解决方法,您可以创建将在页面上下文中运行的内容脚本,并使用events或postMessage与其余扩展进行通信。有关详细信息,请参阅https://stackoverflow.com/a/13292994/1743328