Скрыть div после перенаправления на новую страницу HTML - PullRequest
0 голосов
/ 02 июня 2018

У меня есть две html-страницы index.html и register.html. Из index.html мне нужно перейти к register.html и показать страницу входа после пропуска выбранной области.ниже приведен код, который я пробую.

$("#lgnToProfile").on("click", function(){
window.location.href = "register.html";
$("#slctRgn").hide();
$("#lgnPage").show();
});

Может кто-нибудь проверить и предложить мне, как решить эту проблему и что я делаю неправильно?

Я ссылался на решения, предоставленные на ПоказатьDIV или Раздел после перенаправления на html-страницу Но безуспешно.

Ответы [ 3 ]

0 голосов
/ 02 июня 2018

Вам необходимо проверить страницу реферера, чтобы предпринять дальнейшие действия на следующей странице.Поскольку JavaScript не может получить доступ к странице реферера, вы можете добиться этого с помощью якоря или хеша, чтобы проверить наличие реферера и показать / скрыть ваши элементы.

На index.html вам просто нужна ссылка (нет click необходимо событие jQuery) к странице регистрации с добавлением хеш-имени: register.html#referer.Слово referer может быть любым, что вы хотите.

Затем на register.html вам нужно оценить значение хеш-функции:

$(document).ready(function() {

    // get the hash value
    var hash = window.location.hash;

    // if the hash is defined and it’s equal to “referer” (the choosen hash value)
    if(hash == "#referer") {

        // execute your code to show or hide elements

    }

});
0 голосов
/ 03 июня 2018

Если вы не хотите изменять свой URL-путь, вы можете сделать это с помощью «localStorage»:

var currentPath = window.location.pathname;
var savedPath   = localStorage.getItem('previousPage');

// if a page has been saved yet
if (typeof savedPath === 'string') {

    // if the current page is "register.html" and the saved page is "index.html"
    if (currentPath.match('/register.html') && savedPath.match('/index.html')) {
        $("#slctRgn").hide();
        $("#lgnPage").show();
    }
}

// save current page
localStorage.setItem('previousPage', currentPath);

https://developer.mozilla.org/fr/docs/Web/API/Window/localStorage

0 голосов
/ 02 июня 2018

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

Что вам нужно сделать, так или иначе сообщить register.html, что его нужно скрытьвыделенный регион div, а затем скрыть div из скрипта, запущенного в register.html.

Например, из index.html можно добавить параметр строки запроса для уведомления register.html.

$("#lgnToProfile").on("click", function() {
    window.location.href = "register.html?hideSlctRgn=1";
}

Затем, начиная с register.html, при готовности документа , проверьте, задан ли параметр, и соответствующим образом спрячьте div.

$(function() {
    if ( window.location.search.indexOf('hideSlctRgn=1') != -1 ) {
        $("#slctRgn").hide();
        $("#lgnPage").show();
    }
})

Существуют другие (лучшие) способы проверкидля существования параметра строки запроса, но вышеизложенный простой способ.Вместо параметра строки запроса вы можете установить cookie или использовать локальное хранилище.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...