@artekha

Скрипт не работает в сафари, как пофиксить?

На этом сайте www.webraketa.com/2301-2 есть две кнопки и таймер. Кнопки с надписью: Купить запись за 7$ 49$.
Когда заканчивается таймер (47 минут) кнопки должны менять цвет с зеленого на оранжевый, а так же должна меняться надпись в самой кнопке на: Купить запись за 7$.
В chrome работает, в safari technology preview тоже, а вот в обычном safari не работает, не знаю как узнать почему.
Если что - вот код замены текста и цвета кнопок (время замены на 1 минуту поставлено):
// Javascript starts 2820
  countdown4 = 60;

  function getCookie(c_name) {
    var i, x, y, ARRcookies = document.cookie.split(";");
    for (i = 0; i < ARRcookies.length; i++) {
      x = ARRcookies[i].substr(0, ARRcookies[i].indexOf("="));
      y = ARRcookies[i].substr(ARRcookies[i].indexOf("=") + 1);
      x = x.replace(/^\s+|\s+$/g, "");
      if (x == c_name) {
        return unescape(y);
      }
    }
  }

  function setCookie(c_name, value, exdays) {
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
    document.cookie = c_name + "=" + c_value;
  }

  // Converting date difference from seconds to actual time

  function convert_to_time(secs) {
    secs = parseInt(secs);
    hh = secs / 3600;
    hh = parseInt(hh);
    mmt = secs - (hh * 3600);
    mm = mmt / 60;
    mm = parseInt(mm);
    ss = mmt - (mm * 60);

    if (hh > 23) {
      dd = hh / 24;
      dd = parseInt(dd);
      hh = hh - (dd * 24);
    } else {
      dd = 0;
    }

    if (ss < 10) {
      ss = "0" + ss;
    }
    if (mm < 10) {
      mm = "0" + mm;
    }
    if (hh < 10) {
      hh = "0" + hh;
    }
    if (dd == 0) {
      return (hh + ":" + mm + ":" + ss);
    }
    else {
      if (dd > 1) {
        return (dd + " day " + hh + ":" + mm + ":" + ss);
      }
      else {
        return (dd + " day " + hh + ":" + mm + ":" + ss);
      }
    }
  }
  if(getCookie('countdown')){
    countdown4 = getCookie('countdown');
  };

  // Our function that will do the actual countdown
  do_cd4 = function() {
    if (countdown4 < 1) {
      // change text
      console.log('yes');
      var buttons = document.querySelectorAll('.counter-button');
      buttons.forEach( function(element, buttons) {
        element.classList.add('discount-ended');
        element.href = 'http://webraketa.ecommtools.com/buy/36' 
        element.innerHTML = 'Купить полную запись за 49$';
      });
      setTimeout('do_cd4()', 1000);
    }
    else {
      console.log(countdown4);
      setTimeout('do_cd4()', 1000);
    }
    setCookie('countdown', countdown4, 3);
    countdown4--;
  }
  do_cd4();
  • Вопрос задан
  • 577 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы