You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JS自动填充Jira中role=textbox的富文本编辑器字段?

搞定Jira富文本编辑器自动填充问题

为啥直接改DOM没用?
ProseMirror编辑器有自己独立的内部状态,你手动改role="textbox"的div、隐藏textarea这些DOM元素,只是改了表面的显示内容,根本没同步到编辑器的内部状态,Jira自然识别不出字段填了东西。

该怎么正确填充?

  • 找到ProseMirror实例:Jira通常会把编辑器实例挂在DOM元素的属性上,比如试试document.querySelector('[role="textbox"]').editor(不同Jira版本可能有差异,自己用浏览器控制台验证下)。
  • 用编辑器API塞内容:通过实例的dispatch方法更新内部状态,示例代码:
    // 先拿到编辑器元素
    const editorElement = document.querySelector('[role="textbox"]');
    if (!editorElement) return;
    
    // 获取ProseMirror实例
    const editor = editorElement.editor;
    if (!editor) return;
    
    // 构造要填充的内容(得符合ProseMirror的节点结构)
    const content = {
      type: 'doc',
      content: [
        {
          type: 'paragraph',
          content: [
            { type: 'text', text: '这是自动填充的描述内容' }
          ]
        }
      ]
    };
    
    // 更新编辑器内容
    editor.dispatch(editor.state.tr.setContent(content));
    
  • 补触发事件(可选):要是上面的方法还不行,手动触发输入和变更事件,让Jira的表单监听逻辑感知到变化:
    editorElement.dispatchEvent(new Event('input', { bubbles: true }));
    editorElement.dispatchEvent(new Event('change', { bubbles: true }));
    

注意点:

  • 不同Jira版本的编辑器实例挂载方式可能不一样,用浏览器开发者工具看元素属性、控制台调试确认下。
  • 得等编辑器完全加载再执行代码,可以用setInterval轮询等元素和实例出现,或者监听DOM变化事件。

内容的提问来源于stack exchange,提问作者Павел Шоломицкий

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 19:06:06