Установить переменную для конкретной страницы в jquery

0

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

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


извиниться за отсутствие подробных сведений.

Если какой-либо другой URL-адрес щелкнул, значение должно инициализироваться.

Пожалуйста, дайте мне знать.

  • 0
    Вы можете использовать куки
  • 0
    Можете ли вы предложить ссылку для этого. Потому что я мало интересуюсь печеньем
Теги:
scope

3 ответа

1
Лучший ответ

Используйте файлы cookie. Там есть отличный плагин для куки файлов для jQuery. https://github.com/carhartl/jquery-cookie

Вот как это вы.

Добавьте это между тегами <head> и </head>:

<script src="/path/to/jquery.cookie.js"></script>

Теперь использование выглядит так (для вашего случая использования - добавьте это на каждую страницу):

<script type="text/javascript">

$(document).ready(function()
{
    // Get Cookie Value
    var currentCount = $.cookie('myPageCounter');

    // Create Cookie, if the cookie doesn't exist
    if (!currentCount) {
        $.cookie('myPageCounter', 1);
    }

    // Otherwise, increment the cookie counter
    else {
        $.cookie('myPageCounter', (currentCount + 1));
    }
});

</script>
  • 0
    Я добавил тот же ответ перед вами. Не уверен, почему я не получил ни одного голоса :)
  • 0
    Я дал вам кое-что, вполне заслуженно указав на ту же библиотеку, о которой я думал;)
Показать ещё 1 комментарий
1

Попробуйте использовать jQuery Cookie

$(document).ready(function(){
var count=parseInt($.cookie('the_page_count_cookie'),10);

$.cookie('the_page_count_cookie', count+1); 

});
  • 0
    опечатка. parseint должен быть parseInt
  • 0
    @LatheesanKanes, спасибо :)
0

Вы можете использовать localStorage, например

localStorage['yourVarname'] = yourFunctionResult;

До тех пор, пока вы доверяете своим пользователям использование современных браузеров (localStorage поддерживается Firefox 3. 5+, Safari 4+, IE8+ и Chrome). В противном случае у вас есть несколько вариантов, два из которых вы не хотите использовать, поэтому вы оставили файлы cookie (другой человек дал подробности для этого, поэтому я не буду подробно останавливаться) или другой вариант, как указано здесь: возможно ли создать переменную, которая не изменяется при обновлении страницы, в javascript? :

Передайте данные в URL-адрес и прочитайте текущий URL-адрес (включая данные, которые вы передали) при загрузке страницы. Например: переадресовать браузер на http://something.com/yourpage.html#flag=true, если пользователь обновился через браузер или перенаправил на http://something.com/yourpage.html#flag=false, если пользователь нажмите кнопку. При загрузке страницы просто прочитайте текущий URL-адрес и посмотрите, что это за флаг.

  • 0
    не является localStorage для HTML5? Как тогда пользователь будет иметь дело с людьми, посещающими его сайт из старых браузеров? Cookie является кросс-платформенным и поддерживается в любом браузере (если он включен, конечно).
  • 0
    Хороший вопрос, я добавил оговорку.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню