PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (16): [1] 2 3 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 238
Dezmont Отправлено: 20 Ноября, 2012 - 19:30:49 • Тема: Изменить href ссылки. • Форум: JavaScript & VBScript

Ответов: 26
Просмотров: 7397
DlTA, там если зарегистрироваться, то на будут справа сверху ссылки. Ссылка Задачи. А в ней, с правой стороны ссылки iCalendar.

2.Дополнение немного приятнее. Как стандартными средствами интегрировать - не смотрел просто даже.
3. Я думаю что изменит. Ну на крайний случай, можно будет обновить страницу. Сначала "сайтовый" скрипт отработает, а потом уже мой.
Там в зависимости от хеша должен к ссылке постфикс добавляться.
if(hash=='section.tasks') {
do something...
}
Dezmont Отправлено: 20 Ноября, 2012 - 15:59:44 • Тема: Изменить href ссылки. • Форум: JavaScript & VBScript

Ответов: 26
Просмотров: 7397
DlTA пишет:
короче говоря, не используйте для этих целей якорь, допишите тупо в конец ссылки свое
&notkash=32156468435

Да я не использую никакие якоря. Это сайт так работает.
Это сторонний сервис, доступа к исходникам я никакого не имею. Я выступаю как пользователь, который хочет упростить себе жизнь с помощью tampermonkey.
Tampermonkey - это такое расширение для chrome, аналог greasemonkey, которое применяет пользовательские скрипты к указанным сайтам в интернете.

Мне по идее просто нужно вот этот скрипт доработать:
CODE (javascript):
скопировать код в буфер обмена
  1. if ("onhashchange" in window) {
  2.     var iCal = document.getElementById('icalendareventslista').href;
  3.     if(location.hash == 'section.tasks'){
  4.         var date = new Date().valueOf();
  5.         var hashHandler = function (event) {
  6.             document.getElementById('icalendareventslista').href = iCal + '&' + date;
  7.         }
  8.     }
  9.     window.addEventListener("hashchange", hashHandler, false);
  10. }

но у меня ничего не получается. =(
З.Ы. Если не сложно, посмотрите сами: http://www[dot]rememberthemilk[dot]com
Dezmont Отправлено: 20 Ноября, 2012 - 14:39:05 • Тема: Изменить href ссылки. • Форум: JavaScript & VBScript

Ответов: 26
Просмотров: 7397
DlTA пишет:
а так и не понял нафига это все пишется?
в чем смысл дописывать в ссылку в яколь случайное число, да еще и многократно?


Ээээх...=)
Remember The milk - сервис типа todo листа, с возможностью экспорта созданных мероприятий в Google calendar. Экспорт происходит по нажатию на ссылку, которая имеет вид:
CODE (htmlphp):
скопировать код в буфер обмена
  1. webcal://www.rememberthemilk.com/icalendar/dezmont/29096484/events/?tok=eJwNzTkOAzEIQNETWWI1*DhggxQpS5GpcvpM96v3xVKDbGMbcDGeIsTmE1pbLYVpFji5rnKNjI6dWWStkzSPj1O-1*d9jefjew1asKa4DN6yG9QsgnxnBIaqCwMCty6*wc6Z4oQHNIDyblu*TO51xx*0Aio9

В GC добавляется календарь, который по-идее в реальном времени должен синхронизироваться с сервисом RTM. Т.е. при добавлении любого нового мероприятия в RTM оно тут же должно появиться в соответствующем календаре GC.
По непонятным причинам гугл уже много лет игнорирует эту проблему и никак не пытается её решить. В итоге, при добавлении мероприятия в RTM, в GC оно может отобразиться через несколько часов-суток. Единственный выход, который был найден, это к ссылке с календарём добавлять случайный параметр вот так:

И т.д. Как я понял Google как-то кеширует календарь и уже потом, по своим личным соображениям, обновляет его. При использовании ссылки с уникальным параметром на конце в GC добавляется актуальный календарь на текущий момент времени.

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

P/S
Постарался всё понятно изложить. Если что-то ещё неясно, спрашивайте.
Dezmont Отправлено: 20 Ноября, 2012 - 13:56:03 • Тема: Изменить href ссылки. • Форум: JavaScript & VBScript

Ответов: 26
Просмотров: 7397
DlTA пишет:
чет не догоню, у вас хеш дописывается после якоря?
якорь и все что дальше вроде не приходят на сервер


Якорь это символ #? В адресной строке это hash.
На сервер это однозначно не идёт, если в скрипте не задано. Обычно внутренний скрипт и обрабатывает.

З.Ы. Я просто JS вообще не знаю. На уровне гугла только скрипт пишу.
Dezmont Отправлено: 19 Ноября, 2012 - 23:52:51 • Тема: Изменить href ссылки. • Форум: JavaScript & VBScript

Ответов: 26
Просмотров: 7397
Вот так вот написал, но что-то ничё не работает. А завтро на работу....=)
Подскажите плз.
CODE (javascript):
скопировать код в буфер обмена
  1. if ("onhashchange" in window) {
  2.     var iCal = document.getElementById('icalendareventslista').href;
  3.     if(location.hash == '#section.tasks'){
  4.         var date = new Date().valueOf();
  5.         var hashHandler = function (event) {
  6.             document.getElementById('icalendareventslista').href = iCal + '&' + date;
  7.         }
  8.     }
  9.     window.addEventListener("hashchange", hashHandler, false);
  10. }
Dezmont Отправлено: 19 Ноября, 2012 - 23:16:28 • Тема: Изменить href ссылки. • Форум: JavaScript & VBScript

Ответов: 26
Просмотров: 7397
Есть страница:
CODE (htmlphp):
скопировать код в буфер обмена
  1. http://www.rememberthemilk.com/home/dezmont/#section.tasks

На ней ссылка:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <a href="webcal://www.rememberthemilk.com/icalendar/dezmont/29096484/events/?tok=eJwNzTkOAzEIQNETWWI1*DhggxQpS5GpcvpM96v3xVKDbGMbcDGeIsTmE1pbLYVpFji5rnKNjI6dWWStkzSPj1O-1*d9jefjew1asKa4DN6yG9QsgnxnBIaqCwMCty6*wc6Z4oQHNIDyblu*TO51xx*0Aio9" id="icalendareventslista" class="noteadd" style="font-weight: bold; padding-left: 4px; font-size: 0.95em; vertical-align: bottom;">iCalendar<span style="margin-left: 17px; text-decoration: underline; display: block;">(Событий)</span></a>

К этой ссылке в конце нужно прибавлять уникальный идентификатор в текущий момент времени, т.е. каждую секунду. Я преположил, что это может быть timestamp.
Т.е. нужно поменять ссылку на странице на вот такую:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. <a href="webcal://www.rememberthemilk.com/icalendar/dezmont/29096484/events/?tok=eJwNzTkOAzEIQNETWWI1*DhggxQpS5GpcvpM96v3xVKDbGMbcDGeIsTmE1pbLYVpFji5rnKNjI6dWWStkzSPj1O-1*d9jefjew1asKa4DN6yG9QsgnxnBIaqCwMCty6*wc6Z4oQHNIDyblu*TO51xx*0Aio9&1234567" id="icalendareventslista" class="noteadd" style="font-weight: bold; padding-left: 4px; font-size: 0.95em; vertical-align: bottom;">

CODE (htmlphp):
скопировать код в буфер обмена
  1. [code=htmlphp]
  2. <a href="webcal://www.rememberthemilk.com/icalendar/dezmont/29096484/events/?tok=eJwNzTkOAzEIQNETWWI1*DhggxQpS5GpcvpM96v3xVKDbGMbcDGeIsTmE1pbLYVpFji5rnKNjI6dWWStkzSPj1O-1*d9jefjew1asKa4DN6yG9QsgnxnBIaqCwMCty6*wc6Z4oQHNIDyblu*TO51xx*0Aio9&1234568" id="icalendareventslista" class="noteadd" style="font-weight: bold; padding-left: 4px; font-size: 0.95em; vertical-align: bottom;">

Изменения в самом конце href ссылки: &1234567, &1234568
И так далее.
Dezmont Отправлено: 19 Ноября, 2012 - 22:00:24 • Тема: Изменить href ссылки. • Форум: JavaScript & VBScript

Ответов: 26
Просмотров: 7397
DlTA пишет:
и где нить на странице есть скриптик, который по этим якорям делает дополнительный запрос для подгрузки контента

Вот вот. Теперь бы додуматься, как бы мне отследить изменение ссылки? Может можно каждую секунду проверять, есть ли необходимая ссылка, и изменять её, если она соответствует регулярке. Ну или какой-нибудь подобный метод? Может есть какие-нибудь идеи?
Гугл выдал hashchange. Может подойдёт?
Dezmont Отправлено: 19 Ноября, 2012 - 21:58:05 • Тема: Изменить href ссылки. • Форум: JavaScript & VBScript

Ответов: 26
Просмотров: 7397
Упс. Извиняюсь за нубство. Прочитал про console.log.
Выполнение команды мне выдало ссылку мою.
Dezmont Отправлено: 19 Ноября, 2012 - 21:49:56 • Тема: Изменить href ссылки. • Форум: JavaScript & VBScript

Ответов: 26
Просмотров: 7397
DlTA пишет:
ожет не тот элемент выбрали, может на странице несколько элементов с таким id и вы смотрите на второй

Нет. Элемент верный. Всё выполняется нормально просто дело в этих hash данных, которые идут после #. И в способе генерации страницы.Если даже напрямую в браузере набираешь http://www.rememberthemilk.com/home/dezmont/#section.tasks, то тебя сначала кидает на главную страницу (http://www.rememberthemilk.com/home/dezmon), а потом скрипт обрабатывает данные и выдаёт страницу.
(Добавление)
DlTA пишет:
попробуйте в хроме
CODE (javascript):
скопировать код в буфер обмена
console.log(document.getElementById('icalendareventslista'));

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

Это нужно выполнить в адресной строке, на нужной странице, предварительно введя javascript:? Если так, то результат у меня нулевой.
А если ввожу в адресной строке:
CODE (javascript):
скопировать код в буфер обмена
  1. javascript:
  2. var iCal = document.getElementById('icalendareventslista').href;
  3. var date = new Date().valueOf();
  4. document.getElementById('icalendareventslista').href = iCal + '&' + date;

То в результате получаю алерт с необходимой мне ссылкой.
Dezmont Отправлено: 19 Ноября, 2012 - 21:46:11 • Тема: Изменить href ссылки. • Форум: JavaScript & VBScript

Ответов: 26
Просмотров: 7397
Может я и неверно предполагаю, но это единственное, что думается.
Может в скрипте можно как-нибудь прописать, чтобы он следил за изменением параметра href тега a (после загрузки страницы) и при положительном результате совершал необходимые действия. Либо проверял бы hreaf a в соответствии с регуляркой.
Просто реализовать не знаю как, нужно изучать язык. (
Dezmont Отправлено: 19 Ноября, 2012 - 21:38:57 • Тема: Изменить href ссылки. • Форум: JavaScript & VBScript

Ответов: 26
Просмотров: 7397
armancho7777777 пишет:
Они у Вас сами по себе генирируются?

Честно, не в курсе. Про hash данные в интернете нагуглил только, и понял, что js в зависимости от них страницу дополняет.

http://www[dot]rememberthemilk[dot]com/
Вот там если зарегистрироваться или с помощью гуглуаккаунта войти, можно посмотреть. Сверху страницы сссылки, при нажатии на которые в адресной строке страница изменяется
CODE (htmlphp):
скопировать код в буфер обмена
  1. http://www.rememberthemilk.com/home/dezmont/
  2. http://www.rememberthemilk.com/home/dezmont/#section.tasks
  3. http://www.rememberthemilk.com/home/dezmont/#section.settings

И так далее.
Т.е. 1-я страница нормально генерируется, а последующие уже дополняют данными открытый шаблон.
(Добавление)
EuGen пишет:
Поменялось. Во-первых, закрыт тег <a> и во-вторых, id корректно указан.

Ой. Извините, на html даже не посмотрел.
Dezmont Отправлено: 19 Ноября, 2012 - 20:18:53 • Тема: Изменить href ссылки. • Форум: JavaScript & VBScript

Ответов: 26
Просмотров: 7397
Хееееееелп.))) Больше ни у кого идей нет? (
Dezmont Отправлено: 18 Ноября, 2012 - 14:37:35 • Тема: Изменить href ссылки. • Форум: JavaScript & VBScript

Ответов: 26
Просмотров: 7397
Что-то я не понял... Ничего ж не поменялось?

alert на странице www[dot]site[dot]ru/home/name/#section[dot]tasks выдаёт www[dot]site[dot]ru/home/name/#&1356833983

Так то по-идее код правильный, но из-за того что при переходе по вкладкам на сайте они генерирются с помощью JS, ничего не получается.
Если запускать скрипт через адресную строку на уже сгенерированной странице, то всё нормально работает. (
Dezmont Отправлено: 18 Ноября, 2012 - 13:33:33 • Тема: Изменить href ссылки. • Форум: JavaScript & VBScript

Ответов: 26
Просмотров: 7397
Добрый день. Пытаюсь написать скрипт, чтобы он менял href тега <a>.
Проблема в том, что на сайте используются hash-данные (ну или как там они называются).
В общем URL изначально выглядит вот так: www.site.ru/home/name.
При клике по закладкам, которые есть на странице, он меняется вот так: www.site.ru/home/name/#section.tasks, www[dot]site[dot]ru/home/name/#section[dot]settings и т.д.
Когда через Greasemonkey прикручиваю скрипт к странице, то он ничего не меняет.
На главной странице (www.site.ru/home/name) выглядит вот так:
CODE (html):
скопировать код в буфер обмена
  1. <a href="#" id="icalendareventslista">

На странице www[dot]site[dot]ru/home/name/#section[dot]tasks JS, который на сайте меняет код вот так:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <a href="webcal://www.site.ru/icalendar/name/29096485/?tok=eJwNyzkOAzEIAMAXWTIGDDwHDEiRchTZKq-PTj8kwb7kQMvEQshaAI3pXIclCNeuqUvZStnD209ELWneiyN1ZP1en-c1no-vNZZN26Q8QtTMZTZuro3eaX3s-jETDFVJHMAymqyKgkh4VyDfDRPwD9E3KtA" id="icalendarlista">


Я вставляю такой код в greasemonkey:
CODE (javascript):
скопировать код в буфер обмена
  1. var iCal = document.getElementById('icalendareventslista').href;
  2. var date = new Date().valueOf();
  3. document.getElementById('icalendareventslista').href = iCal + '&' + date;

Но что-то ничего не работает. (((
Подскажите куда копать.
Dezmont Отправлено: 17 Ноября, 2012 - 01:10:23 • Тема: Экспорт iCal в Google Calendar из RTM • Форум: Напишите за меня, пожалуйста

Ответов: 1
Просмотров: 45
Вот такую фигню написал, но она что-то не работает.
CODE (javascript):
скопировать код в буфер обмена
  1. var iCal = document.getElementById('icalendareventslista').href;
  2. var date = new Date().valueOf();
  3. document.getElementById('icalendareventslista').href = iCal + '&' + date;
  4.  


З.Ы. JS не знаю совсем (((( и DOM (

Страниц (16): [1] 2 3 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB