|
OFF: Букмарклет для ссылок Мисты. | ☑ | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0
stonewolf
28.02.13
✎
11:16
|
Доброго времени суток, товарищи и граждане. От скуки на днях сваял г*внобукмарклет, который при наведении указателя на ссылку типа (1) и ссылок справа показывает над постом собсно текст из ссылки. Умеет подгружать посты с других страниц. Не умеет показывать текст из скрытых постов.
Кроме хрома ни на чём не проверял, т.к. делал себе. пысы. Можно добавить на место урл в панель закладок. На яве не особо, посему за г*внокод сильно не пинайте. Если вставляете в адресную строку, проверьте, чтобы в начале не убралось "javascript:". Без логина посты с других страниц подгружать не будет. |
|||||||||||||
1
stonewolf
28.02.13
✎
11:16
|
(0)
javascript:void( sw=new function() { this.div=document.createElement('div'); with(this.div.style) { position='absolute'; backgroundColor='#d0d0d0'; }; this.show=function(obj) { var tg=obj.target; var id=tg.innerText; var e=document.getElementById("message_"+id); if(e==undefined) { var t=sw.cache[id]; if(t==undefined)t=sw.get(id); } else { var euser=e.getElementsByClassName("registered-user")[0].innerText; var etextnode=e.getElementsByClassName("message-text")[0]; var etextsub=etextnode.getElementsByTagName("td"); var etext=(etextsub.length>0?etextsub[0]:etextnode).innerText; var t='<b>'+euser+'</b><br>'+etext; }; var isLeft=tg.className=='interlink'; e2=tg.parentElement.tagName; var haslinks=tg.parentElement.tagName=='TD'; sw.div.innerHTML=t; document.body.appendChild(sw.div); for(var i=0;i<(isLeft?(haslinks?7:3):8);i++)tg=tg.parentElement; var pos=sw.getOffset(tg); var w=document.body.clientWidth; with(sw.div.style) { verticalAlign='bottom'; top=pos.top-sw.div.clientHeight; left=pos.left; width=e.clientWidth; } }; this.hide=function(){sw.div.parentElement.removeChild(sw.div);}; this.getOffset=function(elem) { var box = elem.getBoundingClientRect(); var body = document.body; var docElem = document.documentElement; var scrollTop = window.pageYOffset || docElem.scrollTop || body.scrollTop; var scrollLeft = window.pageXOffset || docElem.scrollLeft || body.scrollLeft; var clientTop = docElem.clientTop || body.clientTop || 0; var clientLeft = docElem.clientLeft || body.clientLeft || 0; var top = box.top + scrollTop - clientTop; var left = box.left + scrollLeft - clientLeft; return { top: Math.round(top), left: Math.round(left), width: box.width, height: box.height, right: Math.round(left+box.width), bottom: Math.round(top)+box.height }; }; this.topic=(/\d+(?=&)/).exec(document.URL)[0]; this.update=function() { var c='ссылки слева'; var m=document.getElementsByClassName("interlink"); this.setevents(m); var c='ссылки справа'; var m=document.getElementsByClassName("answer-link interlink"); this.setevents(m); }; this.setevents=function(m){for(var i=0;i<m.length;i++){var e=m[i];if(e.onmouseover==null){e.onmouseover=this.show;e.onmouseout=this.hide;}}}; this.update(); this.cache=[]; this.get=function(id) { var req = new Subsys_JsHttpRequest_Js();req.caching = false;req.open('POST', 'ajax_getmessage.php', false); req.send({ k:0, topic_id:this.topic, message_n:id, direction:0}); var s=req.responseJS.message_html; var r=s.substr(s.search('<br>')+4); this.cache[id]=r; return r; } } ); |
|||||||||||||
2
IamAlexy
28.02.13
✎
11:17
|
кривые ссылки которые миста на предыдущие страницы делает твой скрипт понимает ?
|
|||||||||||||
3
Скользящий
28.02.13
✎
11:20
|
Такой вроде давно уже существует.
|
|||||||||||||
4
stonewolf
28.02.13
✎
11:20
|
(2) по номеру поста дёргает.
|
|||||||||||||
5
Скользящий
28.02.13
✎
11:20
|
У меня такой в личной карточке можешь посмотреть, делает то же самое.
|
|||||||||||||
6
Jaffar
28.02.13
✎
11:24
|
(5) скрипт в личной карточке видит только аф_фтар, не?
|
|||||||||||||
7
stonewolf
28.02.13
✎
11:24
|
(3) а чего не прикрутят в движок? удобнее было бы.
(5) то ли не видать, то ли я в глаза долблюсь. |
|||||||||||||
8
IamAlexy
28.02.13
✎
11:25
|
(4) страницы понимает?
|
|||||||||||||
9
YHVVH
28.02.13
✎
11:26
|
велосипед
|
|||||||||||||
10
Скользящий
28.02.13
✎
11:27
|
(6) Хм, ты прав. Выложил на дроп. https://dl.dropbox.com/u/100156695/скрипт.js
|
|||||||||||||
11
IamAlexy
28.02.13
✎
11:27
|
у мисты в ссылках косяк есть:
_http :// www. forum.mista.ru /topic.php?id=653285&page=7#599 эта ссылка находится на странице 7 и ведет на страницу 6, должна вести по крайней мере. то есть переход по ссыке сейчас как они генерятся - ничего не даст ибо сайт будет искать пост 599 на странице 7, а он на странице 6 находится и ничего не найдет. соответственно все эти ваши скриптовые всплывающие подсказки нихера не работать будут.. |
|||||||||||||
12
stonewolf
28.02.13
✎
11:32
|
(6) Тогда понятно. Прикручивать нет смысла. Не обратил внимания на личный скрипт.
(9) ну тады сорри. (10) спс (11) Текст дёргается именно по номеру поста в текущей теме, а не по ссылке. |
|||||||||||||
13
stonewolf
28.02.13
✎
11:35
|
+(11) номер страницы значения не имеет
|
|||||||||||||
14
Jaffar
28.02.13
✎
11:42
|
а что такое "букмарклет"?
|
|||||||||||||
15
Jaffar
28.02.13
✎
11:43
|
сорри, педивикия уже подсказала.
|
|||||||||||||
16
zlnk
28.02.13
✎
11:44
|
(10) а что надо сделать, чтобы скрипт начал свою работу?
неплохо бы в основной код. |
|||||||||||||
17
Jaffar
28.02.13
✎
11:44
|
(16) F5 в карточке или на страничке
|
|||||||||||||
18
zlnk
28.02.13
✎
11:51
|
(17) (17) сделал. фичи вижу, глюки тоже прибавились.
|
|||||||||||||
19
Jaffar
28.02.13
✎
11:52
|
(18) да, в этом скрипте даром добавляется номер поста, на который ты отвечаешь - с недавних пор это сам движок делает.
|
|||||||||||||
20
zlnk
28.02.13
✎
11:55
|
(19) снес скрипт из (10), поставил из (0). вообще не вижу, чтобы он работал... может, встал криво...
|
|||||||||||||
21
zlnk
28.02.13
✎
11:56
|
(20) показывает автора, но не текст.
ТС, чяднт? |
|||||||||||||
22
stonewolf
28.02.13
✎
11:59
|
(21) глюк :/ тестил на больших темах. страниц должно быть больше одной.
|
|||||||||||||
23
Asmody
28.02.13
✎
12:01
|
(1) я пока не понял, что оно делает, но скажу, что на мисте можно смело использовать jQuery, код короче и понятнее выйдет
|
|||||||||||||
24
zlnk
28.02.13
✎
12:02
|
(22) ога! работает! спасибо! (не велосипед)
|
|||||||||||||
25
stonewolf
28.02.13
✎
12:30
|
(21)(22) Поправил. http://rghost.ru/44162998
или заменить «this.topic=(/\d+(?=&)/).exec(document.URL)[0];» на «this.topic=(/\d+(?=&*)/).exec(document.URL)[0]; » |
|||||||||||||
26
Cube
28.02.13
✎
12:38
|
В опере криво работает: показывает текст ссылки в левой части экрана на прозрачном фоне и без рамки))
ща скажу! |
|||||||||||||
27
Скользящий
28.02.13
✎
12:42
|
(19) Мне че-то лень искать версию без глюков, те глюки которые есть не напрягают. Там кстати и защита от котят есть.
|
|||||||||||||
28
badboychik
28.02.13
✎
13:02
|
давно хотел сам такой написать но было лень. Хотя этот ставить тоже лень
ща скажу! |
|||||||||||||
29
IamAlexy
28.02.13
✎
13:03
|
срин уже сделайте, а ?
|
|||||||||||||
30
badboychik
28.02.13
✎
13:06
|
я только написал пока кнопачку для поднятия наверх страницы. Крутить колесо то ведь лень ))
http://i.imgur.com/uEN2AVH.png |
|||||||||||||
31
Cube
28.02.13
✎
13:06
|
||||||||||||||
32
Cube
28.02.13
✎
13:07
|
||||||||||||||
33
badboychik
28.02.13
✎
13:09
|
(32) Оно висит внизу страницы всегда и видно когда дойдешь до низа? А у меня всегда сбоку прилеплена по абсолютным координатам. А вообще надо чтоб как вконтакте было и на хабре - 30 пикселей по всей левой стороне является кнопкой
|
|||||||||||||
34
IamAlexy
28.02.13
✎
13:10
|
сделайте нормальный скрин - нихера не понятно что там где куда всплывает
|
|||||||||||||
35
stonewolf
28.02.13
✎
13:10
|
(34) Должно быть так: http://i.imgur.com/aQv9Qpj.png
|
|||||||||||||
36
Cube
28.02.13
✎
13:12
|
(34) У меня опера, а в опере - (26) :)
|
|||||||||||||
37
stonewolf
28.02.13
✎
13:16
|
(36) Эх, надо было дописать в заголовке "(для хрома)" :) Опера ДОМ структуру походу по-другому строит... Мож гляну потом.
|
|||||||||||||
38
y88
28.02.13
✎
13:18
|
(37) посмотри это http://www.forum.mista.ru/users_js/47478.js
|
|||||||||||||
39
yurec_k
28.02.13
✎
13:31
|
(38) для nightly темочка работает,
(25) не работает |
|||||||||||||
40
Ksandr
28.02.13
✎
13:35
|
Кто-то делился. у меня это вот так выглядит:
https://dl.dropbox.com/u/39913355/Screen%20Shot%202013-02-28%20at%2013.34.28.png Работает при наведении мышки на цифру в посте. |
|||||||||||||
41
acsent
28.02.13
✎
13:40
|
(0) вложенность работает? А так то такой скрипт уже есть давно
|
|||||||||||||
42
stonewolf
28.02.13
✎
13:52
|
(41) Планирую в ближайшее время.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |