Можно ли переписать существующий javascript на моей странице с помощью Google Tag Manager? - PullRequest
0 голосов
/ 25 декабря 2018

Наша страница обновляется, потому что она ожидает запроса ввода пользователя каждый раз, когда страница загружается.Я просто хочу изменить время обновления с 3000 мс до 100 мс.

Я бизнес-пользователь :) У меня нет доступа к разработчикам, и управление нашим сайтом осуществляется третьей стороной.У меня есть доступ к GTM.Я хочу выяснить, есть ли способ, которым я могу заблокировать запуск JavaScript или изменить значение в сценарии.

<script type="text/javascript">
    jQuery(document).ready(function () {
       var getloc = Mage.Cookies.get('storeb');
       //var getloc = "2018-12-24 21:39:35";
        if (getloc == null || getloc == '') {
            setTimeout(function () {
                jQuery.magnificPopup.open({
                    items: {
                        src: '#storeselect-popup',
                        type: 'inline'
                    },
                    modal: true
                })
            }, 3000);
        }

        jQuery('.mfp-popup').click(function(){
            jQuery('#storeselect-popup .messages').css('display','block');   
        });
        var outputpickup = jQuery('.pickup select').val();
        var outputship = jQuery('.ship select').val();
        if( outputpickup > 0 || outputship > 0 ){
            jQuery('#storeselect-select').removeAttr("disabled");
        }
        jQuery('#storeselect-popup ol li select').on('change', function() {
            if( this.value > 0){
                jQuery('#storeselect-select').removeAttr("disabled");
            }
            else if(this.value == 0){
                jQuery('#storeselect-select').attr("disabled","disabled");
            }
        })
        jQuery('#delivery_zip').keyup(function(e){
            if(jQuery(this).val().length == 5){
                jQuery('#storeselect-select').removeAttr("disabled");
            }else {
                jQuery('#storeselect-select').attr("disabled","disabled");
            }
        });
    });
</script>

Я не могу обойтись без обновления страницы, но я хочу, чтобы обновление страницы происходило очень быстро, отсюда и 100 мс.

1 Ответ

0 голосов
/ 26 декабря 2018

tl; dr: нет, не для вашего случая использования.

Ответ на заголовок - «можно ли перезаписать Javascript» - «да».Вы можете перезаписать переменные и функции или даже получить доступ к содержимому тегов сценария и перезаписать его чем-то другим.

Для вашего конкретного случая использования не так уж много.JQuery не предоставляет способ переопределить функцию document.ready.Также вы не можете очистить свой тайм-аут, так как clearTimeout нуждается в ссылке на тайм-аут, и в вашем примере он не назначен переменной.Вы можете перебирать теги сценария, удалять сценарий с тайм-аутом и реализовывать измененное время ожидания в пользовательском теге HTML, но это требует минимальных навыков программирования и является абсолютно ужасным решением, которое, вероятно, потерпит неудачу для любого числа крайних случаев.,Независимо от того, что вы думаете сейчас, заплатить разработчику, чтобы он изменил это, несомненно, лучшее решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...