javascript - Attempt to modify HTMLTableRowElement.prototype -


i have 2 methods, working nicely in couple of pages, when comes greasemonkey script fail reason, throwing 'is not function' error.
same code, while attached page, works perfectly.

htmltablerowelement.prototype.hiderow = function(){this.style.display = 'none'}; htmltablerowelement.prototype.showrow = function(){this.style.display = ''}; 

error appearing upon calling 1 of these functions. clues?

that code doesn't work greasemonkey script due gm script being in different scope , (nominally) in sandbox. see "why window (and unsafewindow) not same userscript script tag" more information , workarounds (@grant none (maybe), or script injection, or unsafewindow).

however, unless trying alter existing code added by/to page, don't things way.

use jquery's .hide(), .show(), or .toggle().


or create class using gm_addstyle(), eg:

gm_addstyle (".gm_hide {display: none !important;}"); 


and use dom functions add or remove class desired. eg:

//--- select 2nd row of first table var somerow = document.queryselector ("table tr:nth-of-type(2)");  somerow.classlist.add    ("gm_hide"); somerow.classlist.remove ("gm_hide"); somerow.classlist.toggle ("gm_hide"); 

Comments

Popular posts from this blog

c++ - How to add Crypto++ library to Qt project -

jQuery Mobile app not scrolling in Firefox -

How to use vim as editor in Matlab GUI -