114843.385855 uso - Monkey Barrel [0.0.0](/scripts/diff/114843/385855)

- Initial metadata block commit
Reserving this scriptid so I can actually do some debugging with a script. :)

114843.385855

SHA1:a3380415fd70de480e5dbbdbb76f3f8af57c2e64
114843.386202 uso - Monkey Barrel [0.0.1](/scripts/diff/114843/386202)

- Initial code commit

114843.386202

SHA1:a3c33efba1febb043f02c5de1deccda656f0193f
114843.386572 uso - Monkey Barrel [0.0.2](/scripts/diff/114843/386572)

- Unstick menus if [userscripts.org alternate CSS](/scripts/show/34698) is active
- Remove notice note as users can figure this out and it may change down the road

114843.386572

SHA1:e619e19ac23d9676ac991114f95ba91832589ec6
114843.386580 uso - Monkey Barrel [0.0.3](/scripts/diff/114843/386580)

- Missed removal of less than...typo

114843.386580

SHA1:7b5779115b7f26a4b217fb7fea736ea1d268a39f
114843.386618 uso - Monkey Barrel [0.0.4](/scripts/diff/114843/386618)

- Allow personalized unsticking of submenu... defaulting to on
- Enable unstick without [userscripts.org alternate CSS](/scripts/show/34698) installed
- Some formatting and standardization

114843.386618

SHA1:2280f4d01e741575807dc5baec17c2cec4bb08bf
114843.386945 uso - Monkey Barrel [0.0.5](/scripts/diff/114843/386945)

- Fix USO styling

114843.386945

SHA1:97bfaa8ee297712c2053789fe3cf8ea6dbffc842
114843.387079 uso - Monkey Barrel [0.0.6](/scripts/diff/114843/387079)

- FF 3.6.x style fix

114843.387079

SHA1:23da2d11208d9b2050466895d2bf83de1d623e88
114843.387424 uso - Monkey Barrel [0.0.7](/scripts/diff/114843/387424)

- Fix thumb vs large for script icon
- Misc formatting

114843.387424

SHA1:819e168b3d3413f5231161de41ff4b74d7b48b2a
114843.387425 uso - Monkey Barrel [0.0.8](/scripts/diff/114843/387425)

- Bahh missed some formatting

114843.387425

SHA1:c5ab4cfac6789a0553e7a1f159ec21f1e47d9bc4
114843.387480 uso - Monkey Barrel [0.0.9](/scripts/diff/114843/387480)

- More accurate method/workaround for detecting [userscripts.org alternate CSS](/scripts/show/34698) ;)
Seems there is a Firefox upstream issue with the getComputedStyle object with cssText in Firefox 7.0.1. :\

Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1

114843.387480

SHA1:4bfb87a70762ba9cd9090dd81cf6aa764b3347e0
114843.387518 uso - Monkey Barrel [0.0.10](/scripts/diff/114843/387518) [∩](/scripts/version/114843/387518.user.js)

Suppress some warning messages in the Error Console by changing conditional.

Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1

114843.387518

SHA1:6a822444d8c914a4ba2586d6dd618601dbe685b1
114843.387929 uso - Monkey Barrel [0.0.11](/scripts/diff/114843/387929)

- Failure with style sheet parsing when JavaScript is disabled... reverting to detection method in [0.0.8](/topics/89961?page=1#posts-390418)

```
Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
[Greasemonkey HEAD](http://github.com/greasemonkey/greasemonkey/commit/7ed47f93310ab3903ebfc26e1a9723acb325345a)
Clean profile and Running
```

```
Error: uncaught exception: [
  Exception... "A parameter or an operation is not supported by the underlying object"
  code: "15"
  nsresult: "0x8053000f (NS_ERROR_DOM_INVALID_ACCESS_ERR)"
  location: "resource://greasemonkey/runScript.js Line: 957"
]
```

Isolated to this code document.styleSheets.item(sheet).cssRules[rule] where sheet = 0 and rule = 0.  I'm not quite sure if this is related to [greasemonkey#1384](http://github.com/greasemonkey/greasemonkey/issues/1384) or if it is entirely unrelated.  It would appear that cssText in any instance is unreliable at this time. Any assignment even for testing throws the Exception with JavaScript disabled.

[https://bugzilla.mozilla.org/buglist.cgi?quicksearch=cssText](https://bugzilla.mozilla.org/buglist.cgi?quicksearch=cssText)[https://bugzilla.mozilla.org/buglist.cgi?quicksearch=cssRules](https://bugzilla.mozilla.org/buglist.cgi?quicksearch=cssRules)[https://bugzilla.mozilla.org/show_bug.cgi?id=470321](https://bugzilla.mozilla.org/show_bug.cgi?id=470321) vaguely resembles this.

[https://bugzilla.mozilla.org/show_bug.cgi?id=625013](https://bugzilla.mozilla.org/show_bug.cgi?id=625013) is a likely candidate. DOMContentLoaded fired and was trapped so it technically should already be in the DOM. :\

Hmmm this would appear to be a cross-domain restriction (inclusive to @namespace btw) imposed on the Sandbox/XPCNativeWrapper (restricted (content) scope wouldn't be any better).

The following code snippet [submitted](http://stackoverflow.com/questions/3211536/accessing-cross-domain-stylesheet-with-cssrules) as "Hope this helps someone." appears to be public domain to access same-domain sheets:

```
function cssAttributeGet(selectorText,attribute) {
  var styleSheet, rules, i, ii;
  selectorText=selectorText.toLowerCase();
  if (!document.styleSheets) {
    return false;
  }
  for (i=0; i<document.styleSheets.length; i++) {
    try{
      styleSheet=document.styleSheets[i];
      rules = (styleSheet.cssRules ? styleSheet.cssRules : styleSheet.rules);
      for (ii=0; ii<rules.length; ii++) {
        if (
          rules[ii] && rules[ii].selectorText &&
          rules[ii].selectorText.toLowerCase()===selectorText &&
          rules[ii].style[attribute]
        ){
          return (rules[ii].style[attribute]);
        }
      }
    }
    catch(e){
      // Do nothing!
    };
  }
  return false;
}
```

Computed values don't appear to be in the near future with JavaScript disabled so will continue with Used values for now.

114843.387929

SHA1:ba1b2ef9d3d9407907fef50511097598bd668a67
114843.388248 uso - Monkey Barrel [0.0.12](/scripts/diff/114843/388248)

- Clean up the DOM a bit... Thanks to GIJoe for being persistent on another script. ;)
There will probably be more but need some brain and finger rest. :)

114843.388248

SHA1:88d67b3678053a66da183109f3a9f7bb2dbc434b
114843.388271 uso - Monkey Barrel [0.0.13](/scripts/diff/114843/388271)

- Clean up GMC a bit in the DOM too.
- Disable UI in print mode.

114843.388271

SHA1:ad12cba4e33fb02f37ed15b08bffb88342cf29ba
114843.388575 uso - Monkey Barrel [0.0.14](/scripts/diff/114843/388575)

- Support library changes for GM_addGlobalStyle

114843.388575

SHA1:7b6237a5f7de3598ef7a2b74bb9a4e8020090543
114843.388585 uso - Monkey Barrel [0.0.15](/scripts/diff/114843/388585)

- Consolidate top-level scripts CSS into one style tag... seems to be working well. :)

NOTE: I've discovered that Firefox 3.6.23 doesn't have the necessary code to do a document implementation with styleSheets properly. Notated on homepage that recent release of Firefox is required.

NOTE: Did some bullet-proofing in 0.0.5 of the lib so now it should support Firefox 3.6.x however the DOM will still be "messy" for those browsers since the ability is not present. Changed homepage to recommend instead of require latest.

114843.388585

SHA1:8f9c20ccb5580efbceb186d1e2b988ff74571acc
114843.389097 uso - Monkey Barrel [0.0.16](/scripts/diff/114843/389097)

- Ensure that latest support lib is present for older browsers by triggering an update.
- Misc formatting

114843.389097

SHA1:93df9ddd380389016ac3873dfd78e5cb0a051595
114843.389147 uso - Monkey Barrel [0.0.17](/scripts/diff/114843/389147)

- Sync with latest support lib... eliminate extra parm
- Misc formatting

114843.389147

SHA1:57ab28c63ce568814f8c35a8a20a1f760e0c67e2
114843.390402 uso - Monkey Barrel [0.0.18](/scripts/diff/114843/390402)

- Sync with latest support lib

114843.390402

SHA1:5c77988b2510047a7fd97c7cd99e7c718ba4d44c
114843.390435 uso - Monkey Barrel [0.0.19](/scripts/diff/114843/390435)

- Maintain secure as much as possible... requires GMxhr to execute since xhr is prevented in secure.
- Misc code tweaks

114843.390435

SHA1:4d8572f7e21bcd22c2dd65950ca13f33197d1d26