gpt4 book ai didi

javascript - 在 Confluence 的 Javascript 中添加自定义快捷键

转载 作者:行者123 更新时间:2023-12-02 22:31:46 25 4
gpt4 key购买 nike

在我的工作中,我们使用 Confluence。我需要在编辑页面上进行等宽格式的快捷方式。 native 快捷键是 CTRL+SHIFT+M。它是通过 MyFlow 功能在 Opera 中获取的,无法更改。

是否可以选择使用 Javascript 代码来实现它?
(我可以在浏览器扩展中进行 JS 注入(inject)。)

常规的快捷方式 JS 代码可以正常工作,但在 Confluence 编辑页面上不行:

// define a handler
function monospaceKeyTrigger(e) {

// this would test for whichever key is 40 and the ctrl key at the same time
if (e.ctrlKey && e.shiftKey && e.keyCode == 90) {
// trigger click on monospace button
//document.getElementById("rte-monospace").click();
alert('!!monospace!!');
}
}
// register the handler
document.addEventListener('keyup', monospaceKeyTrigger, false);

那么,我错过了什么?
我猜,由于编辑器 JS 功能,它根本不会触发...
大家有什么建议吗?

最佳答案

找到了。

//Set CTRL+SHIFT+L shortcut for monospace formatting in the editor
window.AJS.Rte.getEditor().shortcuts.add("ctrl+shift+l","monospace","confMonospace");

干杯

附注感谢您的帖子:

P.P.S。浏览器就绪的 Javascript 代码(在 Atlassian Confluence 6.15.2 中测试)

简单👌:

// Set monospace formatting for a key shortcut in confluence
// Use a browser extension for injecting this code snippet
(function () {
window.AJS.Rte.getEditor().shortcuts.add(
'ctrl+shift+l',
"monospace",
"confMonospace"
);
}());

过度保护😀:

// Set monospace formatting for a key shortcut in confluence
// Use a browser extension for injecting this code snippet
console.log('include CJS');

let confKeyAdd = {
run: function () {
this.key = {
keyCode: 'ctrl+shift+l',
codeType: 'monospace',
codeConfType: 'confMonospace'
};

this.setKey();
},

waiter: function (shouldWaitCall, successCall, repeat = 10, interval = 1000) {
let timerId;
//wait here
timerId = setInterval(
function () {
if (--repeat < 0) {
console.log('confKeyAdd: Have not found an object.');
clearTimeout(timerId);
return;
}

if (shouldWaitCall()) {
console.log('confKeyAdd: Still waiting... [' + repeat + ']');
return;
}

clearTimeout(timerId);

// call me!
successCall();
},
interval
);
},

setKey() {
let _this = this;

// first call: should-wait
// second call: success
this.waiter(
function () {
console.log('confKeyAdd: Checking...');
return typeof window.AJS === 'undefined'
|| window.AJS.Rte.getEditor() === null
|| !window.AJS.Rte.getEditor().shortcuts;
},
function () {
console.log('confKeyAdd: Adding a key shortcut for: ' + _this.key.keyCode);
window.AJS.Rte.getEditor().shortcuts.add(
_this.key.keyCode,
_this.key.codeType,
_this.key.codeConfType
);
},
);
}
};

confKeyAdd.run();

关于javascript - 在 Confluence 的 Javascript 中添加自定义快捷键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58877097/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com