Может, уже начать использовать document.seleсtion?
|
profiT 05/09/05 09:20 AM |
|
А то неудобно бывает ссылки приделывать. Уже же можно, начиная с восьмой Оперы, окантовывать выделение bbCode-тэгами в javascript'е.
Или надо подождать пока пользователи 7-й версии сойдут на нет?
|
Re: Может, уже начать использовать document.seleсtion?
|
Stinger 05/10/05 08:53 PM |
|
Начинать использовать document.seleсtion надо. Кстати, какие еще полезные функции по управлению контентом может дать JS? Наверняка можно придумать по-настоящему полезные применения этой фиче.
В ответ на: Уже же можно, начиная с восьмой Оперы, окантовывать выделение bbCode-тэгами в javascript'е.
Способ окантовки текста тэгами при помощи java-скрипта на порядок лучше, чем нынешнее расширение меню путем вставки в INI, т.к. не использует операций с буфером обмена.
В ответ на: Или надо подождать пока пользователи 7-й версии сойдут на нет?
Зачем ждать? Надо пользоваться новыми возможностями новой Оперы на полную катушку. А седьмая Опера потихоньку будет уходить в прошлое.
|
Re: Может, уже начать использовать document.seleсtion?
|
van_grieg 05/12/05 06:22 AM |
|
В ответ на: Начинать использовать document.seleсtion надо.
Для этого надо переделать код форума, насколько я понимаю, ubbthreads document.selection не использует. Лично я с этой фичей никогда не работал, и толком не знаю, как ей пользоваться, если честно. Вся проблема в отсутствии времени. Если заниматься сайтом и форумом, то есть более важные задачи, которые ждут своей очереди уже давно... Так что если кто-нибудь предложит, как это сделать, сделаем.
В ответ на: Способ окантовки текста тэгами при помощи java-скрипта на порядок лучше, чем нынешнее расширение меню путем вставки в INI, т.к. не использует операций с буфером обмена.
Зато работает везде, я уже и забыл, когда форумными кнопками пользовался где-либо.
|
Re: Может, уже начать использовать document.seleсtion?
|
Dennis_HAWKS 05/14/05 03:52 PM |
|
Дайте мне кнопочку на панельку!!! но без use existing page!
|
Re: Может, уже начать использовать document.seleсtion?
|
van_grieg 05/14/05 10:22 PM |
|
В ответ на: Дайте мне кнопочку на панельку!!! но без use existing page!
Бери кнопочку на панельку, что бы это не значило.
|
Re: Может, уже начать использовать document.seleсtion?
|
Dennis_HAWKS 05/15/05 10:14 AM |
|
Приколист )) Видимо я не точно выразился  Я хочу кнопочку quote selection&insertintotextarea - типа вот такой. Я знаю, что был такой bookmarklet, но без [V] Reuse existing page, он есессно не работал. Я же не хочу реюзать имеющуюся страницу, так как это неудобно для других дел.
|
Re: Может, уже начать использовать document.seleсtion?
|
Kildor 05/15/05 02:20 PM |
|
В ответ на: Приколист )) Видимо я не точно выразился Я хочу кнопочку quote selection&insertintotextarea - типа вот такой. Я знаю, что был такой bookmarklet, но без [V] Reuse existing page, он есессно не работал. Я же не хочу реюзать имеющуюся страницу, так как это неудобно для других дел.
Деннис, User JS тебе поможет. А если точнее, то вот этот вот скрипт. Code:
document.addEventListener("load",chan,false) // changing handler`s events. function chan() { if(window.location.href.indexOf('forum.myopera.net')>-1){ if (document.getElementsByName('body')&&document.getElementsByTagName('form')) { form_ = document.getElementsByTagName('textarea'); q = d.createElement('input'); q.type = 'button'; q.value = 'quote'; q.className = ''; q.style='display:inline; position:fixed; left:0; bottom:0; z-index:99999'; q.addEventListener('click', function(){ try{ _ver = rrrr(selection); }catch(e){} }, false); q.addEventListener('mouseover', function(){ try{ _ver = get_selection(); }catch(e){} }, false); fmo = document.getElementsByTagName('form')[0]; fmo.insertBefore(q, fmo.firstChild); document.getElementsByTagName('form')[0].Subject.className = 'fixed'; document.getElementsByTagName('form')[0].textcont.className = 'fixed1'; document.getElementsByTagName('form')[0].Body.className = 'fixed2'; form_[0].onclick = UJS_true; form_[0].onkeyup= UJS_true; } }} function rrrr(text) { if (text!="") { document.getElementsByTagName('form')[0].Body.focus(); document.getElementsByTagName('form')[0].Body.document.selection.createRange().text = '[q]'+text+'[/q]'; }} function get_selection() { selection = document.selection.createRange().text; while (selection.indexOf(" ") !=-1) {selection = selection.replace(/ /gi, "");} } function UJS_true () { return true; }
Работает вместе с idtoAll скриптом, заодно убирает кучи алертов во время написания ответов, а заодно, позволяет сделать форму плавающей. для плавания надо подключить user CSS Code:
.fixed, .fixed1, .fixed2 { position:fixed !important; bottom:0 !important; width:100% !important; margin:0 !important; font-size:.8em !important; z-index:50; } .fixed { bottom:15em !important; z-index:100; } .fixed2{ bottom:1.5em !important; }
Ария для ввода текста, тема и сабмит — посередине снизу. А кнопка для цитаты — в левом нижнем углу…
|
Re: Может, уже начать использовать document.seleсtion?
|
Dennis_HAWKS 05/15/05 02:32 PM |
|
Спасибо, ты не мог бы сделать это аттачем - оба js + css а то форум добавляет переносы строки и я боюсь, что могу как то не так убрать их. Заранее спасибо P.S. Кстати а зачем ты у себя разделяешь скрипты от GM и обычные по папкам?
|
Re: Может, уже начать использовать document.seleсtion?
|
Kildor 05/15/05 02:47 PM |
|
В ответ на: P.S. Кстати а зачем ты у себя разделяешь скрипты от GM и обычные по папкам?
ну, они немного разные, и опера по разному их обрабатывает… К примеру, скриптам GM недоступно windows.opera.* и так далее… В официальном мануале было сказано про это, уже не помню точно что именно, но что-то было…
В ответ на: Спасибо, ты не мог бы сделать это аттачем - оба js + css а то форум добавляет переносы строки и я боюсь, что могу как то не так убрать их.
Лови.
|
Re: Может, уже начать использовать document.seleсtion?
|
Dennis_HAWKS 05/15/05 02:56 PM |
|
Сорри, а где ловить?
|
Re: Может, уже начать использовать document.seleсtion?
|
Kildor 05/15/05 03:36 PM |
|
брр… Я же прикреплял файл… ;-)
|
Re: Может, уже начать использовать document.seleсtion?
|
Dennis_HAWKS 05/15/05 03:46 PM |
|
Ага,.. вот теперь спасибо
А если я хочу для других форумов,
что нужно изменить в скрипте?
Вот эту строку?
if(window.location.href.indexOf('forum.myopera.net')>-1){
А может их быть несколько, например:
if(window.location.href.indexOf('forum.ru-board.com')>-1){
if(window.location.href.indexOf('forum.mozilla.ru')>-1){
if(window.location.href.indexOf('my.opera.com\/forums')>-1){
и дальше продолжение скрипта?
|
Re: Может, уже начать использовать document.seleсtion?
|
Kildor 05/15/05 04:41 PM |
|
В ответ на: что нужно изменить в скрипте? Вот эту строку?
не только… нужно найти текстарию, в которую будеи вставлять текст. плюс, по разному может текст обрамляться… q, quote, может и просто i ---
В ответ на: function chan() {
if(window.location.href.indexOf('forum.myopera.net')>-1){
if (document.getElementsByName('body')&&document.getElementsByTagName('form')) {
вот этот вот кусок нужен в том числе для того, чтоб форма стала плавающая. соответственно.
В ответ на: form_ = document.getElementsByTagName('textarea');
вот этот кусок стоит делать через if, и чтоб в зависимости от сайта, по разному его определять.
Пожалуй можно через ифы определять текстарию, подключать к ней кнопку для цитирования, и его же отдавать в
В ответ на: function rrrr(text) { if (text!="") { document.getElementsByTagName('form')[0].Body.focus(); document.getElementsByTagName('form')[0].Body.document.selection.createRange().text = 'В ответ на: '+text+'
'; }}
document.getElementsByTagName('form')[0].Body.focus(); — вот вместо этого.
PS: надеюсь что хоть немного понятно, что я тут нагородил… ;-)
|
Re: Может, уже начать использовать document.seleсtion?
|
Dennis_HAWKS 05/15/05 05:19 PM |
|
Спасибо за объяснение, а нельзя ли попросить тебя сделать этот скрипт для меня применительно для нескольких форумов?
|
Re: Может, уже начать использовать document.seleсtion?
|
Kildor 05/16/05 01:52 AM |
|
Можно, если кинешь ссылки на форумы, на которых тебе это надо сделать будет…
|
Re: Может, уже начать использовать document.seleсtion?
|
Dennis_HAWKS 05/16/05 06:08 AM |
|
Ок. my.opera.com/forums forum.ixbt.com - хотя там плавающая панелька быстрого ответа и так есть. forum.ru-board.com forum.mozilla.ru Кстати, а нельзя ли дополнить скрипт еще парочкой тэгов? типа <b></b>, <i></i>?
|
Re: Может, уже начать использовать document.seleсtion?
|
Kildor 05/16/05 06:17 AM |
|
можно, всё можно… ;-) Я посмотрю эти форумы, как будет время свободное — сделаю…
|
Re: Может, уже начать использовать document.seleсtion?
|
Dennis_HAWKS 05/16/05 06:19 AM |
|
Что ж.. с меня пиво )) Заранее благодарен!
|
Re: Может, уже начать использовать document.seleсtion?
|
alexx 05/16/05 01:39 PM |
|
Объясните, плиз, как этой красотой пользоваться? Прописал файл forum_myopera.js в "Мои файлы JavaScript" в настройках. Этого достаточно? Что должно произойти?
|
Re: Может, уже начать использовать document.seleсtion?
|
Kildor 05/16/05 01:51 PM |
|
должна появиться кнопка с надписью „quote“ в левом нижнем углу. При нажатии на неё, выделенный текст вставится в арию быстрого ответа…
Правда она глючна — появляется всегда, а не только тогда, когда есть форма… надо будет это исправить мне…
|
Re: Может, уже начать использовать document.seleсtion?
|
alexx 05/16/05 03:16 PM |
|
У меня ничего не появляется... JS автозаполнения от VVSITE работает нормально.
|
Re: Может, уже начать использовать document.seleсtion?
|
Dennis_HAWKS 05/16/05 03:20 PM |
|
а ты ксс прикрутил?
|
Re: Может, уже начать использовать document.seleсtion?
|
alexx 05/16/05 03:41 PM |
|
А этот JS работает только в паре с CSS? Вчера вроде пробовал прикрутить, но не уверен, что всё сделал правильно. Прописал forum_myopera.css в "моя таблица стилей". Какой режим должен стоять "по умолчанию" и какие галочки? Если не трудно, сделай скриншот окна "режимы отображения" (Presentation modes) и приаттачь сюда, попробую разобраться.
|
Re: Может, уже начать использовать document.seleсtion?
|
Kildor 05/16/05 03:52 PM |
|
css не обязателен, он нужен только для всплывания формы быстрого ответа. по умолчанию — user mode и все галки на нём. проверь js консоль. нет ли эрроров каких-нить…
|
Re: Может, уже начать использовать document.seleсtion?
|
alexx 05/16/05 04:12 PM |
|
Всё, разобрался. Оказалось конфликт с Proxomitron. Классно работает, спасибо. Но шрифт уж больно мелкий
|
Re: Может, уже начать использовать document.seleсtion?
|
Kildor 05/17/05 01:52 AM |
|
Исправь… Я то вообще на шрифты внимания не обращаю, у меня в опере выставлен минимальный шрифт, и всё, этого достаточно…
|