Я напишу свое решение, которое я использовал, используя jQuery. Идея заключается в том пошлешь пользовательские parametar страницы вы хотите загрузить через URL.I надеюсь, что это то, что вы стремитесь к
Пример test.com # = MYPAGE с просмотрами страниц,
Идея заключается в следующем, у вас есть mainPage.html и его js-файл. Внутри mainPage.html есть div с основным содержанием класса.
В файле mainpage js вы проверяете изменение хеша для pageView. Чтение URL-адреса, который должен быть something.com # pageView = yourPage, вы получаете страницу, которую хотите открыть, в данном случае yourPage.
Мы загружаем страницу с помощью jquery через селектор div и функцию .load, я установил, что он находится внутри страниц папок, вы можете отправить все местоположение страницы через URL-адрес, например, something.com # pageView = location/связанных с просмотрами страниц
чтобы получить доступ к URL мы сделаем функцию getUrlVars
function getUrlVars() {
var vars = [], hash;
var indexofHash = window.location.href.indexOf('#');
var hashes;
if (indexofHash == -1) {
hashes = window.location.href.slice((window.location.href.indexOf('?')) + 1).split('&');
} else {
hashes = window.location.href.slice((window.location.href.indexOf('#')) + 1).split('&');
}
for (var i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
Таким образом, наши JS должны иметь на документ готов, чтобы проверить, какие страницы мы хотим загрузить, и на # Сменить.
var $pageView = $('.main-content')
$(document).on('ready', function() {
var loadPage = getUrlVars()["pageView"]
if(loadPage == undefined || loadPage == ''){ //Load home page
$pageView.load("pages/home.html", function() {
//After load
});
}else{
$pageView.load("pages/"+loadPage+".html",function(){
//After page load
})
}
});
И это preaty # Сменить много же
$(window).on('hashchange', function (e) {
var loadPage = getUrlVars()["pageView"]
if (loadPage == undefined && loadPage == '') {
$pageView.load("pages/home.html", function() {
//After page load
});
} else {
$pageView.load("pages/" + loadPage + ".html", function() {
//After page load
});
}
});
Вы можете добавить загрузчик в начале функций, и удалить их после загрузки страницы.
Теперь HREF должен выглядеть как-то вроде HREF = «# = стр.1 с просмотрами страниц,»
хмм вы можете отправить парам корыто URL, Например yoururl.com # = стр.1 с просмотрами страниц, Тогда читайте о просмотрах страниц и параметров на # изменения, и сделать функцию, которая изменит ваш основной контент. Добавление динамического #something к вашему URL-адресу не обновит вашу страницу. Все это возможно с помощью jquery. Если вы хотите увидеть полный код, я могу отправить ответ. – noitse
Если ваша ссылка на страницы/page1.html работает, тогда ссылка на страницы/стр. 2.html должен работать, потому что вы заменяете контент на index.html, так что технически вы на index.html все время. Я правильно понимаю вашу проблему? –
hmm no, ссылка находится на страницах/page1.html, которая заменяет содержимое на index.html, но страницы/page1.html не смогут прочитать custom.js cuz в своей папке, поэтому у него не будет расширения например, .html или .php –