【问题标题】:Tampermonkey overrides JIRA ShortcutsTampermonkey 覆盖 JIRA 快捷方式
【发布时间】:2017-09-01 02:19:45
【问题描述】:

我有一个 Tampermonkey 脚本,它根据 JIRA cmets 的文本对其进行着色。着色确实按预期工作。但 JIRA 问题的所有按键事件均已停用。

在脚本之前,我可以按 . 激活操作菜单或按 m 添加评论等。

脚本之后没有任何效果。

信息:当我在 Chrome 的 Snippet Windows 中运行脚本时,一切都很好 - 所有快捷方式仍然有效,并且着色已经发生。这让我假设 Tampermonkey 会覆盖或取消绑定 JIRA 中的键事件。

有人知道如何避免这种情况吗?

脚本

    // ==UserScript==
// @name         JiraCommentColors
// @namespace    com.company.tamperscripts
// @version      0.2
// @description  colorize comments in JIRA made by awesome xetra11
// @author       xetra11
// @match        https://jira.company.com/browse/*
// @grant        none
// @require http://code.jquery.com/jquery-1.12.4.min.js
// ==/UserScript==


(function() {
    var opacity = '0.3';
    var borderStyle = '1px solid black';
    var commentSelector = "div[id*='comment']";
    var zwischenstandSelector = 'a[name=Zwischenstand]';
    var fragenSelector = 'a[name=Frage]';
    var wartenSelector = 'a[name=Warten]';
    var colorZwischenstand = 'rgba(0, 102, 0, '+ opacity +')';
    var colorFrage = 'rgba(0, 153, 204, '+ opacity +')';
    var colorWarten = 'rgba(255, 102, 0, '+ opacity +')';

    var paintZwischenstand = function(index, element){
        $(element).closest(commentSelector)
            .css('background-color', colorZwischenstand)
            .css('border', borderStyle);
    };
    var paintFrage = function(index, element){
        $(element).closest(commentSelector)
            .css('background-color', colorFrage)
            .css('border', borderStyle);
    };
    var paintWarten = function(index, element){
        $(element).closest(commentSelector)
            .css('background-color', colorWarten)
            .css('border', borderStyle);
    };

    $(zwischenstandSelector).each(paintZwischenstand);
    $(fragenSelector).each(paintFrage);
    $(wartenSelector).each(paintWarten);
})();

【问题讨论】:

  • 我在 JIRA 上尝试了相同的脚本,它运行良好。我正在使用 TM 4.2.7。您使用的是哪个版本的 TM?
  • 您可能使用的是旧版本。请参阅Tampermonkey 'hijacks' cmd+shift+e 错误。
  • 4.3.6 是我的版本。你可以使用 JIRA 快捷键,比如 Pressing 吗?打开快速命令?
  • 是的。我尝试了快捷方式,它正在工作。您也可以尝试使用 Tampermonkey Beta。
  • 刚刚尝试过 - 也没有帮助:/

标签: javascript jira tampermonkey


【解决方案1】:

可能的原因可能是因为您没有将@run-at 指定为document-end。试试下面的代码

// ==UserScript==
// @name         JiraCommentColors
// @namespace    com.company.tamperscripts
// @version      0.2
// @description  colorize comments in JIRA made by awesome xetra11
// @author       xetra11
// @match        https://jira.company.com/browse/*
// @grant        none
// @run-at       document-end
// @require http://code.jquery.com/jquery-1.12.4.min.js
// ==/UserScript==


(function() {
    var opacity = '0.3';
    var borderStyle = '1px solid black';
    var commentSelector = "div[id*='comment']";
    var zwischenstandSelector = 'a[name=Zwischenstand]';
    var fragenSelector = 'a[name=Frage]';
    var wartenSelector = 'a[name=Warten]';
    var colorZwischenstand = 'rgba(0, 102, 0, '+ opacity +')';
    var colorFrage = 'rgba(0, 153, 204, '+ opacity +')';
    var colorWarten = 'rgba(255, 102, 0, '+ opacity +')';

    var paintZwischenstand = function(index, element){
        $(element).closest(commentSelector)
            .css('background-color', colorZwischenstand)
            .css('border', borderStyle);
    };
    var paintFrage = function(index, element){
        $(element).closest(commentSelector)
            .css('background-color', colorFrage)
            .css('border', borderStyle);
    };
    var paintWarten = function(index, element){
        $(element).closest(commentSelector)
            .css('background-color', colorWarten)
            .css('border', borderStyle);
    };

    $(zwischenstandSelector).each(paintZwischenstand);
    $(fragenSelector).each(paintFrage);
    $(wartenSelector).each(paintWarten);
})();

【讨论】:

  • Awww 我希望这就是求解器。但它并没有什么都不做。我也试过document-idle,但也没有运气......
  • 你能做一个工作的小屏幕截图,包括控制台吗?
  • 如何截屏快捷键?我可以截图你的控制台输出
  • 对不起。我有点困。尝试投射控制台输出。
  • bilder-upload.eu/show.php?file=221642-1498500354.jpg - 与没有脚本的控制台输出相同,仅供参考
猜你喜欢
  • 1970-01-01
  • 2019-04-14
  • 2011-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-17
相关资源
最近更新 更多