Обсуждение участника:Alex Smotrov/urldecoder.js
Скрипт переехал на страницу ВП:Гаджеты/Упрощение ссылок.
О стилях
[править код]Итак, у нас сейчас много разных типов кнопок. Достаточно одинаково они выглядят только если картинки включены и шрифт по размеру более-менее стандартный:
- добавляемые addButton — имеют Id, имеют картинки, альты. Попадают в массив mwEditButtons
- добавляемые addCustomButton — не имеют Id, имеют картинки. Попадают в массив mwCustomEditButtons
- добавляемые addFuncButton — не имеют Id, не добавляются ни в какой массив. Поэтому управлять их видимостью и положением ну никак не возможно.
- urldecoder.js — имеет Id, не добавляется в массив, к тому же кнопка создана совершенно другим способом (type='input').
Просьбы к имеющим право редактировать:
- Добавить параметр id и массив mwFuncButtons. Это решительно улучшит удобство организации интерфейса под себя.
- Посмотреть как выглядит интерфейс при выключенных картинках в броусере. Поправить.
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
[править код]Я хотел бы напомнить о том, что скрипт (в части де-кодирования отдельных знаков типа %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)
- Доделал наконец новую версию: MediaWiki:Gadget-urldecoder.js, после тестирования будет гаджетом. Добавить себе:
importScript('MediaWiki:Gadget-urldecoder.js')
. —AlexSm 15:42, 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)
- в Opera 9.60 ссылка не работает - у меня опера 9.64 - всё работает. -- AVBtalk 00:03, 10 апреля 2009 (UTC)
- Ну, поставлю - проверю. —AlexSm 22:27, 15 апреля 2009 (UTC)
Возможные ошибки в связи с отключением wikibits.js
[править код]Поступил запрос на изменение защищённой страницы. За этим шаблоном должно следовать полное и детальное описание запроса, чтобы участник, не знакомый с предметом, мог выполнить его без промедлений. Если автор запроса знает JavaScript, лучше всего сразу приготовить код. Предложенные изменения должны быть либо очевидными, либо поддержаны консенсусом. |
Alex Smotrov, обратите внимание, что код этого скрипта может содержать следующие ошибки, вызванные использованием устаревшего кода, удалённого из движка «Медиавики» (скрипта wikibits.js, см. технические новости):
- Замените
importScriptURI
иimportStylesheetURI
наmw.loader.load
.
- Полный список возможных ошибок и их решений: Legacy Javascript § wikibits.js (на mediawiki.org, англ.).
Если это сообщение пришло по ошибке и в скрипте нет проблемного кода, проигнорируйте его.
Используйте {{ping|Saint Johann}}
, чтобы получить дополнительные пояснения.
St. Johann от лица инженеров русской Википедии
Отправлено NapalmBot 22:19, 4 мая 2017 (UTC)