Как я могу перезагрузить страницу два с кнопки на странице один? - PullRequest
3 голосов
/ 21 июня 2019

У меня есть кнопка на первой странице, и я хочу обновить страницу две, когда я нажимаю на кнопку на первой странице ??

Я использовал этот код, но не работал:

var url_home = "{{ url('/') }}";

$(document).ready(function()
{  
    $("#refreshDIV").click(function()
    {
        $("#refreshDIV").reload(url_home);
    });
});

Ответы [ 3 ]

0 голосов
/ 22 июня 2019

Кажется, вы смешиваете javascript и jquery. Функция reload() не существует в jquery. Тем не менее, вы близки, чтобы ответить на ваш вопрос. Но вам придется поместить свою «вторую страницу» в div # id.

<div id="page1"><button id="reload" ...></div>
<div id="page2">the second page, no page headers</div>

И ваш JQuery

var url_home = "{{ url('/') }}";

$(document).ready(function()
{  
    $("button#reload").click(function()
    {
        //font awesome spinner while loading, temporarily replaces #page2
        $("#page2").html('<div class="fas fa-sync fa-spin fa-2x fa-fw"></span>'); 
        $("#page2").load(url_home);
    });
});

Вы можете сделать кнопку динамической, заменив ее кнопкой <a> boostrap и поймав URL let url_home = $(this).attr('href');, не забудьте preventDefault() и вызвать $("a#reload">, если вы выберете эту опцию.

0 голосов
/ 22 июня 2019

Если я правильно вас понимаю, вы можете сделать это, указав целевой атрибут вашей ссылки при первом запуске новой вкладки. Затем каждый раз, когда вы щелкаете по этой ссылке, используемой для запуска вкладки, она перезагружает страницу в этой вкладке для вас.

На странице A вы добавляете ссылку на страницу B следующим образом:

<a href="/page-b" target="page_b">Foo</a>

Теперь нажмите на эту ссылку, и она откроет страницу B в новой вкладке.

Нажмите еще раз, и она перезагрузит страницу B.

Это не будет работать, если кто-то напрямую перейдет на /page-b.

Нет необходимости писать какой-либо Javascript или что-то на стороне сервера. Однако, если вам нужно создать кнопку динамически, вы можете адаптировать этот подход к вашим потребностям. Надеюсь, это поможет!

Если вы имели в виду перезагрузку части одной и той же веб-страницы, этого легко достичь с помощью AJAX.

0 голосов
/ 21 июня 2019

Вы можете использовать локальное хранилище для этого в браузере, если обе страницы открыты одновременно.

На вашей странице ONE вы можете установить локальное хранилище, как показано ниже:

$("#refreshDIV").click(function()
{
    localStorage.setItem('refreshOtherPage', '0');
    localStorage.setItem('refreshOtherPage', '1');
});

Затем на странице TWO вы можете добавить скрипт слушателя для автоматической перезагрузки страницы:

//Fired from page ONE tab

    $(window).on('storage', function (e)
    {
        var storageEvent = e.originalEvent;

        if ((storageEvent.key == 'refreshOtherPage')
            && (storageEvent.oldValue == '0')
            && (storageEvent.newValue == '1'))
        {
          // DO WHATEVER YOU WANTED TO DO WHEN THAT BUTTON WAS CLICKED HERE
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...