Обсуждение участника:Alex Smotrov/urldecoder.js

Материал из Википедии — свободной энциклопедии
Документация

Скрипт переехал на страницу ВП:Гаджеты/Упрощение ссылок.


Здесь находятся завершившиеся обсуждения. Просьба не вносить изменений.

О стилях

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

  1. добавляемые addButton — имеют Id, имеют картинки, альты. Попадают в массив mwEditButtons
  2. добавляемые addCustomButton — не имеют Id, имеют картинки. Попадают в массив mwCustomEditButtons
  3. добавляемые addFuncButton — не имеют Id, не добавляются ни в какой массив. Поэтому управлять их видимостью и положением ну никак не возможно.
  4. urldecoder.js — имеет Id, не добавляется в массив, к тому же кнопка создана совершенно другим способом (type='input').

Просьбы к имеющим право редактировать:

  1. Добавить параметр id и массив mwFuncButtons. Это решительно улучшит удобство организации интерфейса под себя.
  2. Посмотреть как выглядит интерфейс при выключенных картинках в броусере. Поправить.

Sergej Qkowlew 21:57, 4 января 2009 (UTC)[ответить]

Это интересный момент, я чуть позже попробую ответить. —AlexSm 15:51, 21 марта 2009 (UTC)[ответить]
Я добавил id к кнопке urlDecoder (теперь это Википедия:Гаджеты/Упрощение ссылок). Кнопка действительно текстовая, и по-моему она выглядит достаточно похоже на графические кнопки. Если нет - скажите в каком браузере проблемы. При отключении картинок текстовая кнопка действительно остаётся в одиночестве, но тут уж ничего не поделаешь. —AlexSm 22:27, 15 апреля 2009 (UTC)[ответить]
С предложением о возможных изменениях в MediaWiki:Editpage.js лучше писать на MediaWiki_talk:Common.js. Однако для mwEditButtons и т.п. уже написан код в системных файлах MediaWiki, писать то же самое для одной кнопки Викификатора по-моему не стоит. —AlexSm 22:27, 15 апреля 2009 (UTC)[ответить]
Вижу, сообщение было продублировано на MediaWiki talk:Editpage.js#О стилях и пры. —AlexSm 17:23, 21 апреля 2009 (UTC)[ответить]

urldecoder

Перенесено со страницы Обсуждение участника:Alex Smotrov#urldecoder.

Я хотел бы напомнить о том, что скрипт (в части де-кодирования отдельных знаков типа %22) нужно доработать. А также, нашёл ещё одну проблемку:

(http://translate.google.com/translate?u=http%3A%2F%2Fwww.innercitypress.com%2Fus1sossetia081108.html&sl=en&tl=ru)<br>Во-первых

Если этот фрагмент выделить и обработать, то скпипт подёт дальше правой скобки и обработает тег <br>:

(http://translate.google.com/translate?u=http://www.innercitypress.com/us1sossetia081108.html&sl=en&tl=ru)%3Cbr%3EВо-первых

-- AVBtalk 09:05, 10 марта 2009 (UTC)[ответить]

Заменил urldecoder на новый скрипт - в новом также отсутствует возможность декодирования тогда, когда курсор стоит после правой скобки ] (так получается, что мне как правило удобнее сначала сразу сформировать ссылку полностью, с текстом-описанием, а потом уже исправлять ссылку; к тому же, внешняя ссылка может преобразоваться во внутреннюю). -- AVBtalk 20:48, 10 марта 2009 (UTC)[ответить]

Обновил версию, теперь при обработке ссылки сразу перед курсором (при отсутствии выделенного текста) также обрабатывается и название ссылки. То есть можно вставить ссылку, пробел, напечатать название ссылки и нажать кнопку декодирования. Скобки в начале и в конце при этом необязательны. —AlexSm 15:14, 11 марта 2009 (UTC)[ответить]
  • Здорово!
  • Ещё два момента. Во-первых, всё ещё не обрабатываются закодированные ссылки на разделы (пример с сокращённой ссылкой на раздел: [[Обсуждение_участника:Alex_Smotrov#.D0.A0-.D0.98.D0.9A.D0.A1_1]]. Во-вторых, есть такой интересный фрагмент:
== aaa http://en.wikipedia.org bbb ==
sss http://en.wikipedia.org sss
если нажать кнопку скрипта, когда курсор стоит после второго .org, то скрипт ставит первую скобку перед первым http. Причём в промежутке могут быть и другие такие же строки. -- AVBtalk 18:47, 20 марта 2009 (UTC)[ответить]
Проблема с двумя рядом идущими URL вроде бы разрешена. —AlexSm 15:51, 21 марта 2009 (UTC)[ответить]
Улучшение уже имеющихся внутренних ссылок никогда не планировалось. В принципе это можно добавить, однако по-моему это встречается достаточно редко, насколько я понимаю, только если участник сам скопировал часть ссылки из адресной строки браузера. Я не уверен, что эти редкие случаи стоят увеличения времени обработки страницы (в дополнение ко всем http ещё найти все [[). Вероятно можно добавить эту обработку как дополнительный переключатель у пользователя скрипта. —AlexSm 15:51, 21 марта 2009 (UTC)[ответить]
  • В принципе это можно добавить - было бы очень желательно. Раскодировать такое вручную нереально, и не дай бог, если раздел переименован/перенесён на другую страницу - тогда переходом по ссылке узнать, что же там написано, тоже не удастся. Да, конечно, встречается такое не часто, но встречается - буквально вчера такое случилось на форуме, оттуда я и взял первый пример, который потом заменил. увеличения времени обработки страницы - во-первых, не так уже часто и не в автоматическом режиме этот скрипт запускается, чтобы жалеть на это время. Во-вторых, я лично не декодирую целиком всю страницу, я (пока что) всегда делаю это индивидуально, поставив курсор после ссылки или выделив фрагмент, который проглядел. Говорить в этом случае об увеличении времени тем более странно. -- AVBtalk 16:06, 21 марта 2009 (UTC)[ответить]
Код я дописал, однако выход новой версии откладывается в связи с обнаруженной проблемой однозначного декодирования ссылок на разделы. —AlexSm 17:12, 23 марта 2009 (UTC)[ответить]

Для раскодирования имеющихся внутренних ссылок добавьте себе urlDecoderIntLinks = true. —AlexSm 22:27, 15 апреля 2009 (UTC)[ответить]

Дальнейшее обсуждение перенесено на Обсуждение Википедии:Гаджеты/Упрощение ссылок#Упрощение внутренних ссылок

Декодирование ссылок на разделы

Выяснилось неприятное обстоятельство: в общем случае невозможно однозначно декодировать ссылки на разделы страницы, например #2$ и #2.24 порождают одинаковые ссылки. Как известно, недопустимые в URL символы кодируются в %XX; при этом ссылки на разделы (якорь/фрагмент URL) кодируются так же, но потом знак процента заменяется на точку, которая, к сожалению, и сама по себе является допустимым символом. Наибольшую проблему представляют из себя символы  !"#$%'()@`, из которых получаются шестнадцатеричные числа, состоящие из десятичных цифр. —AlexSm 17:12, 23 марта 2009 (UTC)[ответить]

Новая версия, которая более осторожно декодирует якоря, почти готова. Тем не менее указанный выше пример всё равно представляет из себя неубираемый подводный камень. —AlexSm 21:26, 9 апреля 2009 (UTC)[ответить]
Новая версия опубликована. —AlexSm 22:27, 15 апреля 2009 (UTC)[ответить]

бага?

Вот была такая ссылка (кстати, в тему о добавлении декодирования названий разделов):

  • [[Википедия:К_переименованию/1_марта_2009#.D0.AE.D0.BB.D0.B8.D0.B9_.D0.A6.D0.B5.D0.B7.D0.B0.D1.80.D1.8C_.E2.86.92_.D0.93.D0.B0.D0.B9_.D0.AE.D0.BB.D0.B8.D0.B9_.D0.A6.D0.B5.D0.B7.D0.B0.D1.80.D1.8C.2C_.D0.9F.D0.BE.D0.BC.D0.BF.D0.B5.D0.B9_.D0.92.D0.B5.D0.BB.D0.B8.D0.BA.D0.B8.D0.B9_.E2.86.92_.D0.93.D0.BD.D0.B5.D0.B9_.D0.9F.D0.BE.D0.BC.D0.BF.D0.B5.D0.B9_.D0.92.D0.B5.D0.BB.D0.B8.D0.BA.D0.B8.D0.B9.2C_.D0.A6.D0.B8.D1.86.D0.B5.D1.80.D0.BE.D0.BD_.E2.86.92_.D0.9C.D0.B0.D1.80.D0.BA_.D0.A2.D1.83.D0.BB.D0.BB.D0.B8.D0.B9_.D0.A6.D0.B8.D1.86.D0.B5.D1.80.D0.BE.D0.BD|В этом обсуждении]].

Я перешёл по этой ссылке, скопировал url, вставляю в текст (убрав скобки и трубу), ставлю курсор после "обсуждениее", вызываю скрипт... И ничего не происходит. Если же предварительно выделить ссылку с текстом, то после декодирования текст окажется ВНЕ скобок:

  • [[Википедия:К переименованию/1 марта 2009#Юлий Цезарь → Гай Юлий Цезарь, Помпей Великий → Гней Помпей Великий, Цицерон → Марк Туллий Цицерон]] В этом обсуждении.

Какая-то странная бага. -- AVBtalk 05:03, 5 апреля 2009 (UTC)[ответить]

Указанная ссылка слишком длинная для скрипта (726 символов); я уже несколько раз отодвигал верхнюю границу, сейчас это 500 символов, в следующей версии сделаю 1000. Что интересно, в Opera 9.60 эта ссылка («url» чуть выше) в принципе не работает: видя русские буквы в URL, Opera кодирует и следующий за ними знак #. —AlexSm 21:26, 9 апреля 2009 (UTC)[ответить]
Выделение ссылки и просто текста рядом и не должно работать, потому что при выделенном тексте скрипт работает в режиме «обработаю все ссылки, которые найду», и не может прикреплять к ссылкам соседствующий с ними текст. —AlexSm 21:26, 9 апреля 2009 (UTC)[ответить]
Ну, поставлю - проверю. —AlexSm 22:27, 15 апреля 2009 (UTC)[ответить]

Возможные ошибки в связи с отключением wikibits.js

Alex Smotrov, обратите внимание, что код этого скрипта может содержать следующие ошибки, вызванные использованием устаревшего кода, удалённого из движка «Медиавики» (скрипта wikibits.js, см. технические новости):

  • Замените importScriptURI и importStylesheetURI на mw.loader.load.
Полный список возможных ошибок и их решений: Legacy Javascript § wikibits.js (на mediawiki.org, англ.).

Если это сообщение пришло по ошибке и в скрипте нет проблемного кода, проигнорируйте его.
Используйте {{

ping
|Saint Johann}}, чтобы получить дополнительные пояснения.


Отправлено
NapalmBot 22:19, 4 мая 2017 (UTC)[ответить]