go на страницу и открыть модальный javascript - PullRequest
1 голос
/ 28 мая 2020

Цель состоит в том, чтобы go перейти на страницу и показать модальное окно с этой страницы.

Есть ли способ выполнить это после успешной загрузки страницы?

//load page
window.location.href = 'foobar.html';

//wait until page is ready then open modal?
$(window).ready(function () {
  console.log('did it work?');
  $('#someModal').modal('show');
});

Я перечислил файл javascript на странице html, но он просто не работает. Все происходит в том же окне документа, что и на начальной странице.

ОТВЕТ

Я решил получить предыдущий URL-адрес и выполнить поиск подстроки для запуска модального окна для отображения на второй странице.

//first js script for the first html page
window.location.href = 'foobar.html';

//second js script for the second html page
$(document).ready(function () {

    var prev_url = document.referrer;

    if (prev_url.includes('substring')){
        $('#someModal').modal('show');
    }
});

Ответы [ 3 ]

1 голос
/ 28 мая 2020

Спасибо за предложения.

Я придумал, как заставить это работать! При перезагрузке документа второй страницы я получу последнюю строку URL-адреса и посмотрю, содержит ли она подстроку. Если да, покажите модальное окно. Вроде работает :)

$(document).ready(function () {

    var prev_url = document.referrer;

    if (prev_url.includes('substring')){
        $('#someModal').modal('show');
    }
});
0 голосов
/ 28 мая 2020

Вы должны разделить скрипты. 1-я страница:

 $(document).ready(function () {
window.location.href="foobar.html";
});

2-я страница:

 $(document).ready(function () {
     $('#someModal').modal('show');
});

Надеюсь, это сработает для вас.

0 голосов
/ 28 мая 2020

К сожалению, javascript существует только между загрузками страниц, каждая новая загрузка страницы очищает весь выполняющийся код javascript. Если вы хотите имитировать загрузку страницы, вы можете использовать History API, который поместит sh новую запись на кнопку возврата браузера, а затем запустит код после этого. вместо присвоения значений window.location вам нужно будет вызвать pushState и передать ему некоторые аргументы, как описано в ссылке, а затем перейти к вызову вашего модального кода.

например ,

window.history.pushState({}, window.document.title, 'foobar.html');
$('#someModal').modal('show');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...