Помощ за jQuery код

sharpshooter

Registered
Здравейте! Може ли някой да удари едно рамо? Искам, когато кликна на интерактивна количка с някакъв клас, да отворя custom link. Цялата работа е, че тя отваря някакв popup, а аз искам да отвори линк.
Ето кода, който използвам:

Код:
<script>
jQuery(document).ready(function(){
setTimeout(function(){
    jQuery(".class-name").html('<a href="https://abv.bg" target="_blank"></a>')
}, 3000);
})
</script>

Може би трябва да се добави prevent event.preventDefault, но не съм сигурен.

Благодаря предварително!
 
Код:
   e.preventDefault();
         var url = 'web-tourist.net'
          window.open(url, '_blank')
Имай напредвид и от HTML 5.2 се бяха разбирали всички браузери за нещо, а и адблокърите се сърдят, при теб става дума за same-origin, но да се има едно наум:

An algorithm is allowed to show a popup if any of the following conditions is true:

…

event listener for a trusted event …

… queued by an algorithm that was allowed to show a popup, and the chain of such algorithms started within a user-agent defined timeframe.
пример:
// блокиран
window.open('https://javascript.info');

// работи
button.onclick = () => {
window.open('https://javascript.info');
};


Правилния начин е количката при req/res - там да се случват нещато, тоест при user event. Ако кейса е този, за който си мисля - при кликане на кошницата - да те редиректва в някакwa /cart или /pending страница , или да добавя разни параметри - прави ги тея неща при обработването на бутона, не отделно. Така хем трябва да ги затваряш, хем няма логика да се случва по тоя начин, или Аз не мога да я разбера.
 
Последно редактирано:
Да, точно това е идеята, благодаря много, че се включи!

Не успявам обаче да го направя. Как мога в твоя код да сложа class/ID на кошницата?
 
Трябва да има юзър итерктион за да работят тия неща
Какво имаш предвид? Това съм го подкарвал, но в друг случай, просто сега не става, предполагам защото кошницата има някаква функция вече.
 
Какво имаш предвид? Това съм го подкарвал, но в друг случай, просто сега не става, предполагам защото кошницата има някаква функция вече.
Означава на прост български, че е нужно, за да работи, юзъра да има взаимодействие с дивайса, на който е самия сайт, скрипт и код. ;) Искаш да ходи на друг адрес, което не знам дали е много ок, особено при кошниците на магазините. Виж, някакъв попъп съм виждал.
 
Означава на прост български,...
Да, мерси, защото итерктион не съм виждал на нито един език. Разбирам какво означава, просто не разбирам какво общо има - нали идеята е да просто вместо popup/sidebar да отиде на друга страница? Пак е на същия сайт.
 
Да, мерси, защото итерктион не съм виждал на нито един език. Разбирам какво означава, просто не разбирам какво общо има - нали идеята е да просто вместо popup/sidebar да отиде на друга страница? Пак е на същия сайт.
Да, но да знаеш, че юзъра на е свикнал като цяло на такова поведение, дори би го озадачило. ;)
 
То пак отива в страница, където можеш да си промениш съдържанието на кошницата, просто на телефон не искам да е sidebar, защото не изглежда толкова добре. Поведението е абсолютно същото, може да се завърши поръчката и от двете места, т.е. потребителят няма причина да се обърква. Стандартната функция на WooCommerce "view cart" е точно такава - вкарва те в тяхната "cart page". Знам, че е една стъпка допълнително преди checkout-a, но на телефон просто изглежда по-добре. Това е.
 
Мислех, че се говори за отваряне в нов таб. window.open(url, '_blank') - това прави. И имаш една страница, която се генерира на ново. Странично показващото се меню може да бъде доста елегантно и да си има X, ако е нещо много дразнещо.
 
Е ясно, темата ти е такава - пипни малко темплейтите, и не се занимавай с JS, предполагам, че ти дава quick view, a искаш да ходи директно , без попъпи?
 
Мислех, че се говори за отваряне в нов таб. window.open(url, '_blank') - това прави. И имаш една страница, която се генерира на ново. Странично показващото се меню може да бъде доста елегантно и да си има X, ако е нещо много дразнещо.
Да, моя грешка, просто съм оставил това в кода. Със сигурност идеята не е да отваря в нов прозорец.

Е ясно, темата ти е такава - пипни малко темплейтите, и не се занимавай с JS, предполагам, че ти дава quick view, a искаш да ходи директно , без попъпи?
Не, не ми дава quick view. Отваря sidebar кошница, а аз искам да отиде в cart page. Това е само на мобилно, затова няма как да пипна темплейтите. Просто на мобилно cart page-а изглежда много по-добре отколкото тази sidebar cart. Успях да го направя, но работи само на десктоп, не знам как да го направя само за мобилно.
 
Нещо не разбирам защо е цялата дискусия, човека не пита ли просто за това?

JavaScript:
jQuery(document).ready(function(){
    setTimeout(function(){
        // Новият код тук↓
        jQuery(".class-name").click(function() {
            window.location = "/show-cart";
        })
    }, 3000);
})

Където /show-cart е новата страница, където искаш да те заведе.
 
PHP:
add_action('wp_footer', function() {
  if (wp_is_mobile()) {
    ?>
    <script>
        jQuery(document).ready(function() {
          jQuery('class-name').on('click', function() {
            window.location = jQuery(this).attr('href');
          });
        });
    </script>
    <?php
  }
});

аз залагам, че има линк но е превентнат и затова не зарежда та не се налага да задава такъв, просто при клик редиректва само в мобайл
 
PHP:
add_action('wp_footer', function() {
  if (wp_is_mobile()) {
    ?>
    <script>
        jQuery(document).ready(function() {
          jQuery('class-name').on('click', function() {
            window.location = jQuery(this).attr('href');
          });
        });
    </script>
    <?php
  }
});

аз залагам, че има линк но е превентнат и затова не зарежда та не се налага да задава такъв, просто при клик редиректва само в мобайл
За WP ли е ставало през цялото време дума?
 

Back
Горе