VPenkov / okayNav

The world's okayest responsive navigation. This is (sort of) a legacy implementation. Please stay tuned to the 3.0 branch (https://github.com/VPenkov/okayNav/tree/v3.0)
4.02k stars 266 forks source link

Clash with revolution slider on wordpress #21

Open dingo-d opened 8 years ago

dingo-d commented 8 years ago

I'm implementing this for client on his wordpress site, and he has revolution slider included in page, and when I enable okayNav, I get these errors:

Uncaught TypeError: Cannot read property 'href' of undefined        jquery.themepunch.revolution.min.js=ver=5.1.6:8
common.js:206 Uncaught TypeError: Cannot read property 'x' of undefined      common.js:206

Both revolution slider js file, and common are minified, so I'm not sure where this could clash with your script.

Any idea what could be the issue?

VPenkov commented 8 years ago

I'm unsure how okayNav acts around CommonJS but that's at the top of my to-do list.

dingo-d commented 8 years ago

Did you look into the clash with revolution slider? I am trying to figure out what could be the issue, but I really have no idea what could cause it. Their code is minimzed, and all I see is that the issue is here:

    T = function(t, i, a) {
        i.syncload--,
        i.loadqueue && e.each(i.loadqueue, function(e, i) {
            var n = i.src.replace(/\.\.\/\.\.\//gi, "")
              , o = self.location.href
              , r = document.location.origin
              , s = o.substring(0, o.length - 1) + "/" + n
              , l = r + "/" + n
              , d = k(self.location.href, i.src);
            o = o.substring(0, o.length - 1) + n,
            r += n,
            (_(r) === _(decodeURIComponent(t.src)) || _(o) === _(decodeURIComponent(t.src)) || _(d) === _(decodeURIComponent(t.src)) || _(l) === _(decodeURIComponent(t.src)) || _(s) === _(decodeURIComponent(t.src)) || _(i.src) === _(decodeURIComponent(t.src)) || _(i.src).replace(/^.*\/\/[^\/]+/, "") === _(decodeURIComponent(t.src)).replace(/^.*\/\/[^\/]+/, "") || "file://" === window.location.origin && _(t.src).match(new RegExp(n))) && (i.progress = a,
            i.width = t.width,
            i.height = t.height)
        }),
        C(i)
    }
VPenkov commented 8 years ago

I replied to your email, please check your spam folder from Tue, Mar 1, 2016, around 8:25 PM GMT +2.

I'll post the solution in the docs when we figure out what's wrong.

dingo-d commented 8 years ago

Stupid google, I've replied to the mail. Hope you'll find the issue. I've tried moving the scripts in footer, in header, made okayNav dependent on revolution slider, nothing helped. And without destroying it and enabling it on resize I still get the errors and menu doesn't go back to original menu (mobile -> desktop).

I'll try to see what else could be the issue.

cognopatrick commented 8 years ago

Came up with the same problem, you guys found a solution?

dingo-d commented 8 years ago

Nope, I don't know why the revolution slider clashes with the navigation (don't really see where the clash could come from). So I removed the okayNav and started to work on my own custom nav. Try removing the touch based events all together (even though I have disabled them). That's the only thing that comes to mind that could clash with rev slider.

cognopatrick commented 8 years ago

okay guys, few day's later. Anyone found a solution? Need to get this website up and running :smile:

VPenkov commented 8 years ago

I'm in contact with Themepunch. Hopefully I'll be provided with a demo license to ensure compatibility. Meanwhile if anyone is okay with giving me access to their website where I can perform tests, drop me a line at hi@vergilpenkov.com

VPenkov commented 8 years ago

Can any of you guys tell me if the problem still persists with the current version? Seems like a CommonJS issue which should be resolved now.

cognopatrick commented 8 years ago

updated revolution slider to Version: 5.2.3 but the problem is not resolved. Stil the same errors, the strange thing is that te slider acts normal but load time is extremely long and console errors accure:

Uncaught TypeError: $ is not a function 3jquery.themepunch.revolution.min.js?ver=5.2.3:8 Uncaught TypeError: Cannot read property 'href' of undefined jquery.themepunch.revolution.min.js?ver=5.2.3:8 http://hotelvillaflora.nl/wp-content/uploads/2016/03/drinking.jpg Could not be loaded !(anonymous function) @ jquery.themepunch.revolution.min.js?ver=5.2.3:8n.extend.each @ jquery.min.js?ver=1.10.2:2n.fn.n.each @ jquery.min.js?ver=1.10.2:2waitForCurrentImages @ jquery.themepunch.revolution.min.js?ver=5.2.3:8(anonymous function) @ jquery.themepunch.revolution.min.js?ver=5.2.3:8 jquery.themepunch.revolution.min.js?ver=5.2.3:8 http://hotelvillaflora.nl/wp-content/uploads/2016/03/ribbon-slider.png Could not be loaded !(anonymous function) @ jquery.themepunch.revolution.min.js?ver=5.2.3:8n.extend.each @ jquery.min.js?ver=1.10.2:2n.fn.n.each @ jquery.min.js?ver=1.10.2:2waitForCurrentImages @ jquery.themepunch.revolution.min.js?ver=5.2.3:8(anonymous function) @ jquery.themepunch.revolution.min.js?ver=5.2.3:8 jquery.themepunch.revolution.min.js?ver=5.2.3:8 http://hotelvillaflora.nl/wp-content/uploads/2016/03/button-bekijk-het-menu.png Could not be loaded !(anonymous function) @ jquery.themepunch.revolution.min.js?ver=5.2.3:8n.extend.each @ jquery.min.js?ver=1.10.2:2n.fn.n.each @ jquery.min.js?ver=1.10.2:2waitForCurrentImages @ jquery.themepunch.revolution.min.js?ver=5.2.3:8(anonymous function) @ jquery.themepunch.revolution.min.js?ver=5.2.3:8

Also my own written jquery gives errors with revolution slider..

dingo-d commented 8 years ago

I had errors and the image wasn't showing.

cognopatrick commented 8 years ago

Do you also stil have these issues?

VPenkov commented 8 years ago

I meant that you should update okayNav to the latest version.

What theme are you using? There's surely something I'm missing here and need to replicate locally.

cognopatrick commented 8 years ago

I build my own theme, ill take a look at updating

cognopatrick commented 8 years ago

I updated okaynav and revolution slider but without any changes. Still the same problem

dingo-d commented 8 years ago

I had to find a different solution so I had to abandon the okayNav unfortunately.

abdulrauf618 commented 6 years ago

@dingo-d I was facing same issue. Image exists on server but in

jquery.themepunch.revolution.min.js

imgLoaded = function(e, i, t) {

giving an error of undefined href

after few seconds giving a warning

Could not be loaded !

I fixed it, Solution: update image load function

imgLoaded = function(e, i, t) {
                i.syncload--, i.loadqueue && jQuery.each(i.loadqueue, function(i, a) {
                var n = a.src.replace(/\.\.\/\.\.\//gi, "");
                var r = (self.location != undefined ) ? self.location.href : n;
                var o = document.location.origin,
                    s = r.substring(0, r.length - 1) + "/" + n,
                    l = o + "/" + n;
                    var d = abstorel(r, a.src);
                r = r.substring(0, r.length - 1) + n, (cutParams(o += n) === cutParams(decodeURIComponent(e.src)) || cutParams(r) === cutParams(decodeURIComponent(e.src)) || cutParams(d) === cutParams(decodeURIComponent(e.src)) || cutParams(l) === cutParams(decodeURIComponent(e.src)) || cutParams(s) === cutParams(decodeURIComponent(e.src)) || cutParams(a.src) === cutParams(decodeURIComponent(e.src)) || cutParams(a.src).replace(/^.*\/\/[^\/]+/, "") === cutParams(decodeURIComponent(e.src)).replace(/^.*\/\/[^\/]+/, "") || "file://" === window.location.origin && cutParams(e.src).match(new RegExp(n))) && (a.progress = t, a.width = e.width, a.height = e.height)
            }), progressImageLoad(i)
        },