王牌编辑器-如何找到一个或所有实例

Ace Editor - How to find one or all instances?

本文关键字:一个 实例 编辑器 何找 王牌      更新时间:2023-09-26

我试着在一个随机的网站上获取和设置一个ace编辑器的值。但是我不知道实例名。也没有任何div上的ID。是否有一种方法可以找到一个或所有实例,以便我可以访问api,如:

var editor = ace.edit("...");

谢谢你的建议

所有的ace编辑器需要有ace_editor classname和ace.edit保存编辑器到<domNode>.env.editor,所以以下应该在大多数情况下工作

var all = document.querySelectorAll(".ace_editor");
for (var i = 0; i < all.length; i++) {
    if (all[i].env && all[i].env.editor)
        console.log(all[i].env.editor)
    else
        console.log("can't get editor from" all[i])
}

对于没有envnew Editor()编辑器和在shadow dom中创建的编辑器不起作用,无法通过querySelectorAll找到