Javascript-форум (https://javascript.ru/forum/)
-   Я не знаю javascript (https://javascript.ru/forum/ya-ne-znayu-javascript/)
-   -   Переадрессация на печеньках (https://javascript.ru/forum/ya-ne-znayu-javascript/3771-pereadressaciya-na-pechenkakh.html)

nemo 22.05.2009 01:11

Переадрессация на печеньках
 
Идея такая, Я выбираю куда меня перенаправлять при переходе на главную страницу, тоесть например я выбрал перенаправлять меня на персональную сстраницу. и при переходе на главную меня перенаправляет на персональную страницу.
Здесь нужно вмешательство условных операторов - но они несостовляют труда как работса скрипта.
Помогите пожалуйсто со скриптом jquery.

$('.settings_form .top a').click(function(){
 var HPCookie = $(this).attr('href');
 $.cookie('HPCookie', HPCookie);
 location=$(this).href=$.cookie('HPCookie');
})

$(document).ready(function(){
 if(!($.cookie('HPCookie'))) var PageHPCookie = '/';
 else
 var PageHPCookie = $.cookie('HPCookie');
 location=$(this).href=$.cookie('PageHPCookie');
})


это моя версия кода и она неработает.

Заранее большое спасибо.

x-yuri 22.05.2009 03:57

а куда this указывает в обработчике ready? И зачем эти 'location=$(this).href'? Типа а вдруг сработает? И почему печеньки две?

nemo 22.05.2009 12:53

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

x-yuri 22.05.2009 13:00

не надо писать то, что не понимаешь... спрашивай, что не понимаешь
p.s. я уже написал где ошибка

nemo 22.05.2009 13:03

:D я пойму только тогда когда вы исправите или напишите, p/s я уже 3-ий день с этим скриптом мучаюсь, даже если я знаю где ошибка - я незнаю как это исправить

nemo 22.05.2009 13:51

.....
omg - :cray:

nemo 22.05.2009 16:06

я очень верю в ваш ответ мне необходимо его получить

Gvozd 22.05.2009 16:46

window.location.href='new_page.htm';

nemo 22.05.2009 19:04

Gvozd,
спс в целом за помощь, но location лучше писать без window а то влисе работать небудет. а про location.href='ссылко'; я знал. вот незнаю как сделать на селекте и на куках для выбора каждого пользователя

nemo 22.05.2009 19:22

- буду зубрить js книгу пока мне здесь неответят.

x-yuri 22.05.2009 19:59

Цитата:

но location лучше писать без window а то влисе работать небудет
а почему у меня в лисе всегда такое работало, хотя href я обычно не пишу? Ты можешь пример привести кода с window, который не работает?

Цитата:

я пойму только тогда когда вы исправите или напишите
я тебе уже сказал: у тебя 2 cookie, если ты не можешь это исправить - значит не понимаешь, что делает твой код... значит спрашивай, что в нем тебе не понятно

nemo 22.05.2009 20:25

$('.settings_form .top a').click(function(){
 - Указываю путь через родителей до тега <a> прием интеробильности Клик (срабатывает функция) 
 var HPCookie = $(this).attr('href');
Переменная HPCookie записывает этот же прием интеробильности а именно свойство тега Ссылка
 $.cookie('HPCookie', HPCookie);
Печенька принимает даные с переменной HPCookie
 location.href=$.cookie('HPCookie');
Вот здесь я неуверен, но хотел чтобы страница перекидывалась на ту что переменная HPCookie записала ссылку
})
 
$(document).ready(function(){
После загрузки документа срабатывает функция
 if(!($.cookie('HPCookie'))) var PageHPCookie = '/';
Если печенька приняла данные с переменной HPCookie то переменная PageHPCooke равна главной странице '/'
 else
Если нет
 var PageHPCookie = $.cookie('HPCookie');
То переменная PageHPCookie подгружает печеньку HPCookie
 location.href=$.cookie('PageHPCookie');
Вот здесь я неуверен, но хотел чтобы страница перекидывалась на ту что переменная PageHPCookie записала ссылку
})



вроде так :blink: если я неправ то подправте меня .. я только сооброжаю что где и как :help: Но скрипт неработает

x-yuri 22.05.2009 20:43

это что переводчиком каким-то переведено? Что такое прием интеробильности?

Цитата:

location.href=$.cookie('HPCookie');
Вот здесь я неуверен, но хотел чтобы страница перекидывалась на ту что переменная HPCookie записала ссылку
переход по ссылке произойдет по умолчанию, если его не отменить

Цитата:

location.href=$.cookie('PageHPCookie');
Вот здесь я неуверен, но хотел чтобы страница перекидывалась на ту что переменная PageHPCookie записала ссылку
где у тебя что-то записывается в печеньку 'PageHPCookie'? И зачем ты что-то писал в переменную PageHPCookie, если не используешь ее значение

nemo 22.05.2009 20:54

интерактивный* - реагирющий на действие пользователей
Цитата:

переход по ссылке произойдет по умолчанию, если его не отменить
ок оставлю пустым то место
Цитата:

где у тебя что-то записывается в печеньку 'PageHPCookie'? И зачем ты что-то писал в переменную PageHPCookie, если не используешь ее значение
в перемнную PageHPCookie я хотел указать главную страницу на случий если куков низаписаны..

nemo 22.05.2009 20:58

плз напиши готовый скрипт Очень прошу мне ещё капать и капать а я сэтим скриптым походу уже 4-ый день возжусь...:cray:

x-yuri 23.05.2009 01:39

переменная и cookie это разные вещи. Ты записываешь путь в переменную, а перейти хочешь по пути из cookie, в которую ты ничего не записал

Цитата:

плз напиши готовый скрипт
:no: ты должен понимать, что делаешь. Я тебе могу только помочь понять :yes:

nemo 23.05.2009 04:26

Цитата:

- буду зубрить js книгу пока мне здесь неответят.
я думал что буду это делать как минмум месяца 3.... а прошла 1 ночь я успел всю документацию прочесть и использовать проффесиональные примеры :blink:
x-yuri,
спс запомощь но решил продолжить на js, + с езжу магаз куплю там книгу по jquery если есть

nemo 23.05.2009 05:05

Хотя самый лучший вариянт изучения как мне показался -Listings лучше его поищу в инете под jquery

nemo 23.05.2009 22:02

x-yuri,
ПЛЗ ХЕЕЕЕЕЕЛП!!!!!!

Цитата:

<script>
$(document).ready(function(){
$(".settings_form .top a").click(function () {
var homepage = $(this).attr('href');
$.cookie("href", homepage);
});

$(document).ready(function(){
if($.cookie("homepage"))
window.location.href='homepage';
});
});
</script>
я попробывал поновый написать но опять неполучилось :cray: что я нетак опять сделал?(

nemo 24.05.2009 00:14

йа буду учить пхп пока неполучу ответа!!!!!!!11:-/ :-/

Gvozd 24.05.2009 02:06

Цитата:

Сообщение от nemo
$.cookie("href", homepage);

Цитата:

Сообщение от nemo
if($.cookie("homepage"))

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

PS
Цитата:

Сообщение от nemo
йа буду учить пхп пока неполучу ответа!!!!!!!11

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

x-yuri 24.05.2009 03:27

Цитата:

откуда вы взяли этот метод в jQuery?!
нету у него метода с таким именем
ну вот здесь есть - http://plugins.jquery.com/project/Cookie
я подразумевал, что какой-то плагин подключен

Цитата:

x-yuri,
ПЛЗ ХЕЕЕЕЕЕЛП!!!!!!
никто за тебя думать не будет, ты путаешь строку, переменную и cookie. Задавай вопросы, "ПЛЗ ХЕЕЕЕЕЕЛП!!!!!!" не катит, ты должен понимать что ты делаешь

nemo 24.05.2009 16:13

Цитата:

<script>
$(document).ready(function(){
$(".settings_form .top a").click(function () {
var homepage = $(this).attr('href');
$.cookie("href", homepage);
});

$(document).ready(function(){
if($.cookie("homepage"))
window.location.href='homepage';
});
});
</script>
Gvozd,я мучаю гугл каждый день - там только 1 статья про плагин cookie библиотеки jquery чей автор является Генадий прочитал ее раз питнадцать смысл понял но скрипты разные вот в чём проблема, читаю книгу по пхп жс тоже кажый день и сижу мучаюсь с этим скриптом 5-ый день.


x-yuri, я думал код всё сам скажет за себя - достаточно один раз его прочитать и проинформировать ошибку ведь так?

Цитата:

ты должен понимать что ты делаешь
видимо ошибочно, но понимаю. если мои панятия неверны то как мне ещё вопрос задать?
1. "Что такое переменная?"
2. "Что такое куки?"
3. "Что такое Jquery?"
4. "И т.п."

Ведь мне было бы проще понять если я увидел 1 правильный скрипт отличный отмоего и тогда бы я разгледел эти изменения затем поапелировал бы этот материал в гугле или своим думием.

x-yuri 24.05.2009 23:29

$(document).ready(function(){
    $(".settings_form .top a").click(function () { 
        var homepage = $(this).attr('href'); // в 
            // переменную с именем homepage помещаем 
            // содержимое атрибута href текущей ссылки
        $.cookie("href", homepage); // в cookie с 
            // именем href помещаем содержимое 
            // переменной с именем homepage
    });

    $(document).ready(function(){
        if($.cookie("homepage")) // если в cookie 
                // с именем homepage уже что-то записано
            window.location.href='homepage'; // переходим 
                // по URL http://homepage/
    });
});

nemo 25.05.2009 02:22

x-yuri,
спасибо

nemo 25.05.2009 02:27

x-yuri,
все получилось =) благодоря тому что ты описал и я понял

nemo 25.05.2009 03:06

всё наконецто

<script>
$(document).ready(function(){
    $(".settings_form .top a").click(function () { 
        var homepage = $(this).attr('href'); 
        $.cookie("homepage", homepage);
    });
 
    $(document).ready(function(){
        if($.cookie("homepage"))
            window.location.href = $.cookie('homepage'); 
    });
});
</script>

x-yuri,благодарен

nemo 25.05.2009 03:24

а как сделать чтобы меня перекидывало сразу прежде чем загрузит документ?.....

x-yuri 25.05.2009 03:28

перенаправление, кстати, лучше делать на сервере, тогда вообще не будет грузиться ненужная страница

nemo 25.05.2009 03:38

у меня юкоз(

x-yuri 25.05.2009 04:05

тогда никак: помести скрипт как можно выше на страничке

nemo 25.05.2009 04:08

ясно =)

nemo 25.05.2009 15:19

Блин я нмеогу ещё одну простейшую функцию выполнить (
я хотел чтобы можно было устанавливать Разрешить куки или нет я вот так сделал

$('.settings_form .top a').click(function(){
var hptrue = $(this).attr('class', 'on');
$.cookie("hptrue", hptrue, { expires: 360, });
});

$('.settings_form .top a').click(function(){
var hptrue = $(this).attr('class', 'off');
$.cookie("hptrue", null);
});



<script>$(document).ready(function(){if($.cookie(" homepage, hptrue"))window.location.href = $.cookie('homepage');});</script>

x-yuri 25.05.2009 23:59

ты не можешь запретить cookie, ты можешь приостановить действие одного cookie (homepage) за счет использования дополнительного (hptrue), а можешь просто его удалить

для чтобы проверить, что элемент принадлежит к некоторому классу можно использовать hasClass

когда attr передается два параметра, он назначает атрибуту с названием из первого параметра значение второго параметра

с помощью $.cookie нельзя получить значения двух кук

nemo 26.05.2009 00:08

Спасиибоо!!!!!!!!!!
:D в чем фишка то что ты помогаешь другим,хочешь в рай попасть?

nemo 26.05.2009 00:16

x-yuri,
я спомощью класса On который записывает куку hptrue хотел подтвердить что загружать куки можно спомощью условия

if($.cookie(" homepage, hptrue"))
т.е если я ненажму кнопку ON то кука hptrue незапишется
и поэтому как указанно в условии недопустит загружать истинный скрипт переадрессации

а класс OFF очищает куку hptrue - что создает условиям стать ложной загрузкой..

вобщем вроде всё как ты сказал и было задумано но.. неработает(

nemo 26.05.2009 00:21

впринцепи мне и так помогли.. попробую разобратся сам совсеми усилиями


Часовой пояс GMT +3, время: 06:39.