2017-04-06 76 views
11

我有colorizes JIRA意見取決於他們的文字tampermonkey腳本。着色確實按預期工作。但是,全部 JIRA問題的按鍵事件被禁用。Tampermonkey覆蓋JIRA快捷方式

劇本之前,我是能夠按.來激活操作菜單或按m添加註釋等

腳本沒有什麼作品之後。

信息:當我在Chrome的代碼片段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); 
})(); 
+2

我試着在JIRA上的相同的腳本,它工作正常。我正在使用TM 4.2.7。您正在使用什麼版本的TM? – Tushar

+2

您可能正在使用舊版本。參見[Tampermonkey '劫持' CMD + SHIFT + E](https://forum.tampermonkey.net/viewtopic.php?f=17&t=2123&sid=404affd8d05611dc689e0e2b83eb8dfd)錯誤。 – Tushar

+0

4.3.6是我的版本。 \t 你可以使用JIRA快捷鍵,如按下。打開快速命令? – xetra11

回答

3

可能的原因可能是因爲你沒有指定@run-atdocument-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); 
})(); 
+0

Awww我希望這就是解決者。但它沒有做任何事情。我也嘗試過'文件閒置',但沒有運氣... – xetra11

+0

你能做一個小型的工作,包括控制檯的演員? –

+0

如何屏幕快照按快捷鍵?我可以截取你的控制檯輸出 – xetra11