2013-07-09 2 views
1

Есть ли библиотека или фрагмент кода, который заставляет определенную кнопку действовать как правильная кнопка возврата назад, где она перенесет вас на предыдущую страницу, которая была загружена раньше?html5/jquery back button

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

Есть ли пример этого или мне нужно создать свою собственную логику, которая отслеживает историю страниц как-то?

+0

Вы используете шаблон с одним файлом или несколькими файлами? – Omar

+0

один файл atm, но переместит мой JS в JS-файл позже – jonney

+0

используйте '$ .mobile.changePage()' в jQM, как упоминалось в моем ответе. проверьте эту демонстрацию http://jsfiddle.net/Palestinian/YMTzU/ – Omar

ответ

2

Navigate назад - Single-файл шаблона:

$('.selector').on('click', function (e) { 
    e.preventDefault(); 
    var page = $.mobile.activePage.prev('[data-role=page]'); 
    $.mobile.changePage(page, { 
    transition: 'flip', 
    reverse: true 
    }); 
}); 

Navigate назад - Multi-файлы шаблона:

$('.selector').on('click', function (e) { 
    e.preventDefault(); 
    var page = document.referrer; 
    $.mobile.changePage(page, { 
    transition: 'flip', 
    reverse: true 
    }); 
}); 

Demo

+0

Не возвращается к экрану – jonney

+0

@jonney - вы перемещаетесь между страницами или .html-файлами? – Omar

+0

.html файлы я прохожу через – jonney

6

Вы можете использовать метод обратной связи JavaScript;

function backButton() { 
    window.history.back() 
} 

<a onclick="backButton()">Go back</a> 

Или другой способ;

<a onclick="history.go(-1);">Go back</a> 
+1

или для тех из нас, кто не любит размещать код внутри html, чистый подход js: '$ ('body'). find ('. go -back '). on (' click ', function() {window.history.back();}); 'с html:' Go back ' –

+0

Приветствия, которые сделали трюк – jonney

+0

@jonney Ответ правильный, Я потеряю переходный эффект. – Omar