7

The answers of the, as duplicate, linked questions haven't helped me first.

Looking at the linked Question

The accepted Answer says

The issue is you're using the Screenshot Capture extension by Google. Uninstall it and try an alternative (such as this).

However. I have no such extension installed.

In the JavaScript Chatroom, i was told

That happens in chrome 30+

Though testing it with different versions (stable, beta, canary), seems to reduce the problem to the canaray version.


I figured it is jQuery.fn.animate which is causing the trouble. (if you want to see)

It is being called somewhere in the jQuery.fn.scrollTo function which gets redefined in master-chat.js

function h(a) { 
   i.animate(l, d, f.easing, a && function() {
      a.call(this, c, f)
   })
}

So to fix it temporarily it seems to be enough passing 0as duration

function h(a) {
    i.animate(l, 0, f.easing, a && function() {
      a.call(this, c, f)
   })
}

Calling the first IIFE of master-chat.js with the workaround, via a bookmarklet

javascript:(function(e){function t(e){return"object"==typeof e?e:{top:e,left:e}}var n=e.scrollTo=function(t,n,r){e(window).scrollTo(t,n,r)};n.defaults={axis:"xy",duration:1.3<=parseFloat(e.fn.jquery)?0:1};n.window=function(){return e(window)._scrollable()};e.fn._scrollable=function(){return this.map(function(){if(this.nodeName&&-1==e.inArray(this.nodeName.toLowerCase(),["iframe","#document","html","body"]))return this;var t=(this.contentWindow||this).document||this.ownerDocument||this;return e.browser.safari||"BackCompat"==t.compatMode?t.body:t.documentElement})};e.fn.scrollTo=function(r,i,s){"object"==typeof i&&(s=i,i=0);"function"==typeof s&&(s={onAfter:s});"max"==r&&(r=9e9);s=e.extend({},n.defaults,s);i=i||s.speed||s.duration;s.queue=s.queue&&1<s.axis.length;s.queue&&(i/=2);s.offset=t(s.offset);s.over=t(s.over);return this._scrollable().each(function(){function o(e){l.animate(v,0,s.easing,e&&function(){e.call(this,r,s)})}var u=this,l=e(u),h=r,p,v={},m=l.is("html,body");switch(typeof h){case"number":case"string":if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(h)){h=t(h);break}h=e(h,this);case"object":if(h.is||h.style)p=(h=e(h)).offset()}e.each(s.axis.split(""),function(e,t){var r="x"==t?"Left":"Top",i=r.toLowerCase(),a="scroll"+r,c=u[a],d=n.max(u,t);p?(v[a]=p[i]+(m?0:c-l.offset()[i]),s.margin&&(v[a]-=parseInt(h.css("margin"+r))||0,v[a]-=parseInt(h.css("border"+r+"Width"))||0),v[a]+=s.offset[i]||0,s.over[i]&&(v[a]+=h["x"==t?"width":"height"]()*s.over[i])):(r=h[i],v[a]=r.slice&&"%"==r.slice(-1)?parseFloat(r)/100*d:r);/^\d+$/.test(v[a])&&(v[a]=0>=v[a]?0:Math.min(v[a],d));!e&&s.queue&&(c!=v[a]&&o(s.onAfterFirst),delete v[a])});o(s.onAfter)}).end()};n.max=function(t,n){var r="x"==n?"Width":"Height",i="scroll"+r;if(!e(t).is("html,body"))return t[i]-e(t)[r.toLowerCase()]();var r="client"+r,s=t.ownerDocument.documentElement,o=t.ownerDocument.body;return Math.max(s[i],o[i])-Math.min(s[r],o[r])}})(jQuery)

isn't the optimal way to get around this though. Since the canary version is not supported, this is probably not going to be fixed, so if anyones' using it and experience the problem, you can use the above code, either as bookmarklet or userscript, to temporarily get rid of the problem.

It seems the question can be closed then

10
  • I am using win7 chrome Version 30.0.1599.69 m and I don't see this occurring in chat.
    – Travis J
    Oct 8, 2013 at 23:48
  • @TravisJ hm, I'm on win 8.1 Chrome Canary 32.x, I'll test it with different versions and update the question
    – C5H8NNaO4
    Oct 9, 2013 at 8:42
  • Please note that Chrome Canary is not supported. I can't replicate on Chrome current (30).
    – Sklivvz
    Oct 9, 2013 at 13:40
  • @Sklivvz Thanks for the info, that makes sense. I tested it with each update channels' version. And it seems only to occur on canary. So i guess the question can be closed.
    – C5H8NNaO4
    Oct 10, 2013 at 7:27
  • @Sklivvz status-bydesign or status-declined then? :) Oct 10, 2013 at 7:56
  • @ShaWizDowArd I guess will not be implemented or fixed at the present time. is the better fit than is intentional
    – C5H8NNaO4
    Oct 10, 2013 at 8:12
  • @C5H8NNaO4 the lack of support is by design though. :) Oct 10, 2013 at 8:13
  • It occurs in dev channel too, or at least the build I have. I went with the simpler approach of using $.fx.off to just disable all animations as a desperate workaround for now.
    – Tim Stone
    Oct 10, 2013 at 8:14
  • @ShaWizDowArd That is indeed the case =) But i think the tags content' takes reference to the actual bug, rather than the fixing process of the bug. So while not to fix the bug is is inteded, the bug itself rather isn't =) btw thanks for updating the infos.
    – C5H8NNaO4
    Oct 10, 2013 at 8:17
  • We don't support beta browsers. It is not worth working around bugs that are anyway most of the time fixed in the official release of the same browser.
    – user215114
    Oct 10, 2013 at 15:44

0

Browse other questions tagged .