Javascript error on warcraftlogs.com

Causes issues with drop-down menus not being usable across the site. Chrome and Firefox.

Here’s Firefox:
TypeError: a.indexOf is not a function
r.fn.load()
jquery.min.js:4

jquery.mCustomScrollbar.concat.min.js:5

jquery.mCustomScrollbar.concat.min.js:4

jquery.mCustomScrollbar.concat.min.js:4

jquery.mCustomScrollbar.concat.min.js:4
jque

And Chrome:

Uncaught TypeError: a.indexOf is not a function
at r.fn.init.r.fn.load (jquery.min.js:4)
at jquery.mCustomScrollbar.concat.min.js:5
at n (jquery.mCustomScrollbar.concat.min.js:4)
at jquery.mCustomScrollbar.concat.min.js:4
at jquery.mCustomScrollbar.concat.min.js:5

That error is not related to dropdown menus.

So the drop down menus not working half the time you load a page is something else?

Yeah. I am unable to reproduce the issue so I haven’t been able to fix it. They work fine for me, and I don’t have any reliable steps to reproduce.

From time to time specs menu does not work for me or all the submenus. I just reload the page and ti works.

What I did and managed to reproduce only twice was:

  1. Open WCL
  2. Press
  3. Go at Krosus (or any other)
  4. Click
  5. And then at the submenu that opens, there is no popup for specs.

Also, I managed to have the whole menu not responding by going to https://www.warcraftlogs.com/rankings/10 (for example). There some times that no menu is working (no submenu) or some of the menus doesn’t have their submenu.

The errors chrome consoles reports are:

None of those JS errors are relevant.

Note that some people had menus break completely everywhere that had the BetterTTV Chrome extension installed. Un-installing that extension fixed their problems.

Definitely something weird going on here with intermittent menu failures in Chrome and Safari only. I didn’t change anything with these menus so trying to get to the bottom of it. It’s hard to debug, since it’s just failing occasionally for me.

Note I’m referring to the fight selection and phase selection menus on report pages, since those failing is new.

Yesterday I was consistently having the problem on more than half of page reloads, so I thought I’d try things out. Disabling BetterTTV did prevent the issue from occuring again in another dozen tries. Re-enabling BetterTTV didn’t return the issue and it remained gone for the rest of the session.

I really don’t know what’s going on.

Trying again just now I got it to happen 3 times in a row, then 3 times without it happening all with the same Dell ad showing up. So it doesn’t appear to be an ad problem. 14 more reloads and it still didn’t happen.

I’m landing an update now to eliminate all of the JS errors in the console on the off chance that they are related. (I don’t think they are, but who knows.)

I am able to reproduce the issue in Safari as well as Chrome, which makes me no longer suspect Chrome as the culprit.

What this update is doing:
(1) Moving to jQuery 3.2.0
(2) Added in my own implementation of jQuery.browser() to fix the BBQ error and updated BBQ to latest version (fixes the JS error)
(3) Updated mCustScrollbar to latest version (fixes the JS error)
(4) Make sure to refresh the phases smartmenu after building it using .refresh()
(5) Updated scrollLock library to latest version and added the correct .map file (gets rid of the JS error)