pjax: HTML-ссылка, которая работает как кнопка возврата браузера - PullRequest
0 голосов
/ 23 декабря 2018

Я использую pjax для навигации по моему сайту.Мне нужно создать кнопку возврата HTML, которая работает точно так же, как кнопка возврата браузера.Но это должна быть простая HTML-ссылка.Как мне создать ссылку на pjax, которая переходит на предыдущую страницу?

Я искал, и все темы, похоже, касаются кнопки возврата браузера, а это не то, что мне нужно

Этокод, который я использую для моей навигации pjax

 $(function() {
        $(document).pjax('.pjax', '#pjax-container', {
            fragment: '#pjax-container',
            timeout: 9000000 ,
        });
    });

Ответы [ 3 ]

0 голосов
/ 05 января 2019

Если вы хотите создать простую HTML-ссылку, которая приведет вас на предыдущую страницу, вы можете использовать History API для этого.

Вы можете сделать это легко, используя History API'swindow.history.back() метод и метка привязки, как это:

<a href="javascript:window.history.back()">Back</a>

или с помощью кнопки вы можете сделать это в атрибуте onclick, как этот

<button onclick="javascript:window.history.back()">Back</button>
0 голосов
/ 08 января 2019

Да, просто определите функцию для этого ...

function goBack(){

   window.history.back();

}

И затем назовите ее как

<button onClick="goBack()">Back</button>

Или

<a onClick="goBack()">Back</a>
0 голосов
/ 05 января 2019

Вы можете получить доступ к истории просмотра через JavaScript.См. Документацию .

. Если вам нужна простая обратная ссылка, вы можете использовать ее следующим образом:

<a href="javascript:window.history.back();">go back</a>

или следующим образом:

<button onclick="window.history.back()">go back</button>

В качестве альтернативы, если вы не хотите использовать window.history, ваше приложение должно поддерживать историю просмотров.

Вы можете использовать события из библиотеки pjax.Вот пример, которым вы можете следовать:

// Variable to control history
const myAppHistory = []

// Get current url from event before ajax and put into an variable to control the history
$(document).on('pjax:beforeSend', function(event) {
    const url = event.currentTarget.URL;
    myAppHistory.push(url);
})

// Returns last page visited
function goBack() {
    const url = myAppHistory.pop()
    if (typeof url != "undefined") {
        $.pjax({url: url, container: '#main'})  
    }
}

Таким образом, вы используете goBack() везде, где вам это нужно.

...