桌面编辑器
要在桌面编辑器中调试 ONLYOFFICE 插件,请使用 --ascdesktop-support-debug-info 标志。根据您使用的操作系统,按照此处的说明进行操作。

调试工具
开发者控制台
- 打开开发者工具(
F12)。 - 在框架选择器中选择插件 iframe,以便日志在正确的上下文中运行。
- 使用控制台方法检查状态:
console.log("Debug:", value);
console.info("Info:", info);
console.warn("Warning:", warnValue);
console.error("Error:", errorObj);
断点
- 在希望暂停执行的位置插入
debugger;。 - 必须在插件执行前打开开发者工具。
this.callCommand(function () {
debugger;
// code to inspect
});
提示
或者,您可以在开发者工具中手动设置调试断点:打开 Sources > 找到您的插件文件 > 点击行号以添加断点(右键单击可添加条件断点)。
最佳实践
调试插件初始化
(function (window, undefined) {
window.Asc.plugin.init = function () {
console.log("Plugin initialization started");
try {
// Initialization
this.callCommand(function () {
debugger;
var oDocument = Api.GetDocument();
var oParagraph = Api.CreateParagraph();
oParagraph.AddText("Test Example");
oDocument.InsertContent([oParagraph]);
});
} catch (error) {
console.error("Initialization failed:", error);
}
};
})(window, undefined);
调试器用例和作用域管理
您可以通过将外部变量附加到 Asc.scope 对象来在插件中使用它们。
(function (window, undefined) {
window.Asc.plugin.init = function () {
console.log("Plugin initialization started");
try {
var text = "Test Example";
Asc.scope.text = text; // Attach text variable to asc scope
// Initialization
this.callCommand(function () {
debugger;
var oDocument = Api.GetDocument();
var oParagraph = Api.CreateParagraph();
oParagraph.AddText(Asc.scope.text); // Execute
oDocument.InsertContent([oParagraph]);
});
} catch (error) {
console.error("Initialization failed:", error);
}
};
})(window, undefined);