webcompat / web-bugs

A place to report bugs on websites.
https://webcompat.com
Mozilla Public License 2.0
746 stars 66 forks source link

pelotas.rs.gov.br - Unable to access sections on the site #101044

Open webcompat-bot opened 2 years ago

webcompat-bot commented 2 years ago

URL: https://pelotas.rs.gov.br/

Browser / Version: Firefox 99.0 Operating System: Linux Tested Another Browser: Yes Chrome

Problem type: Site is not usable Description: Buttons or links not working Steps to Reproduce: Clicking "NOTICIAS" header on firefox causes the browser to return to the previous page, with no option of going forward again. Typing the website ".../noticias" works just fine and page loads as it should

View the screenshot Screenshot
Browser Configuration
  • gfx.webrender.all: true
  • gfx.webrender.blob-images: true
  • gfx.webrender.enabled: false
  • image.mem.shared: true
  • buildID: 20220310200343
  • channel: aurora
  • hasTouchScreen: false
  • mixed active content blocked: false
  • mixed passive content blocked: false
  • tracking content blocked: false

View console log messages

From webcompat.com with ❤️

softvision-oana-arbuzov commented 2 years ago

Thanks for the report, I was able to reproduce the issue. SectionNotWorking

Affected area:

<div class="section-label">
  <div class="wrapper no-hidden">
    <a href="/noticias">
      <span class="text">Notícias</span>
    </a>
  </div>
</div>

Note:

  1. The issue is not reproducible on Chrome. image
  2. The same behavior is encountered for "Fotos", "Videos" image

Tested with: Browser / Version: Firefox Nightly 100.0a1 (2022-03-15), Firefox Release 98.0.1 Operating System: Windows 10 Pro

Moving to Needsdiagnosis for further investigation.

[qa_11/2022]

karlcow commented 2 years ago

when clicking noticias, it calls https://pelotas.rs.gov.br/js/app.js

  goBack: function () {
    $('.section-label a').click(function () {
      window.history.back();
    });
  },

which was called by https://pelotas.rs.gov.br/js/app.js

ST.core.App = {
  settings: {
  },
  Utils: ST.core.Util,
  Tween: new ST.core.Util.Tween(),
  init: function () {
    // ST.core.Preloader.init();
    this.fullSlider_description = [
    ];
    this.highlights_description = [
    ];
    this.player = '';
    this.fullSlider = '';
    this.highlights = '';
    this.visite = '';
    this.activePage = 1;
    this.binds();
    // this.randomVideo();
    this.resize();
    this.goBack();
    switch (window.location.pathname.replace('/', '').split('/') [0]) {

…

because it reinitializes the document.

with ST.core.App.init(); in

$(document).ready(function () {
  var tag = document.createElement('script');
  tag.src = 'https://www.youtube.com/iframe_api';
  var firstScriptTag = document.getElementsByTagName('script') [0];
  firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
  window.onYouTubeIframeAPIReady = function () {
    switch (window.location.pathname.replace('/', '').split('/') [0]) {
      case '':
        ST.core.App.getYoutube();
        break;
    }
  }
  ST.core.App.init();
  $('#zap-zap-icon').show();
});

The difference of behavior is triggered by something in there

    dispatch: function (e) {
      e = st.event.fix(e);
      var n,
      r,
      i,
      o,
      a,
      s = [
      ],
      u = nt.call(arguments),
      l = (st._data(this, 'events') || {
      }) [e.type] || [
      ],
      c = st.event.special[e.type] || {
      };
      if (u[0] = e, e.delegateTarget = this, !c.preDispatch || c.preDispatch.call(this, e) !== !1) {
        for (s = st.event.handlers.call(this, e, l), n = 0; (o = s[n++]) && !e.isPropagationStopped(); ) for (e.currentTarget = o.elem, r = 0; (a = o.handlers[r++]) && !e.isImmediatePropagationStopped(); ) (!e.namespace_re || e.namespace_re.test(a.namespace)) && (e.handleObj = a, e.data = a.data, i = ((st.event.special[a.origType] || {
        }).handle || a.handler).apply(o.elem, u), i !== t && (e.result = i) === !1 && (e.preventDefault(), e.stopPropagation()));
        return c.postDispatch && c.postDispatch.call(this, e),
        e.result
      }
    },

I haven't figured it out.

karlcow commented 2 years ago

it uses

/*!
 * VERSION: 1.18.5
 * DATE: 2016-05-24
 * UPDATES AND DOCS AT: http://greensock.com
 * 
 * Includes all of the following: TweenLite, TweenMax, TimelineLite, TimelineMax, EasePack, CSSPlugin, RoundPropsPlugin, BezierPlugin, AttrPlugin, DirectionalRotationPlugin
 *
 * @license Copyright (c) 2008-2016, GreenSock. All rights reserved.
 * This work is subject to the terms at http://greensock.com/standard-license or for
 * Club GreenSock members, the software agreement that was issued with your membership.
 * 
 * @author: Jack Doyle, jack@greensock.com
 **/

The current version is 3.9.1

and they use

 /*! jQuery v1.9.0 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license */ 

once it dispatches the click event, it calls the goBack function. which in this context doesn't make sense.

The site needs to be contacted, but the version of libraries are so antiquated that I'm not sure it's really maintained.

webcompat-bot commented 2 years ago

Generate outreach template