Тема закрыта
Из адресной строки всё копируется нормально: https://ru.wikipedia.org/wiki/Браузер. А вот если на самой страничке кликнуть на любую ссылку правой кнопкой и выбрать "Копировать ссылку", то получается сплошное безобразие: https://ru.wikipedia.org/wiki/%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_(%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F)
Параметр network.standard-url.escape-utf8 давно уже переведён в значение false и он влияет именно на копирование ссылок из адресной строки. На копирование ссылок из текста по правой кнопке он влияния не оказывает. Пробовал заодно и network.standard-url.encode-utf8 тоже перевести в false, но это ни на что не повлияло. Есть еще какие идеи?
Версия браузера последняя (45.0.1).
Отредактировано Avatar-Lion (07-04-2016 22:03:43)
Отсутствует
Custom Buttons и в инициализацию
document.getElementById('context-copylink').setAttribute('oncommand', 'gClipboard.write(decodeURIComponent(gContextMenu.getLinkURL()));');
Отсутствует
turbot
И куда я должен вставить этот код? Custom Buttons поставил, но по правой кнопке нет никаких новых пунктов - только обычное "Копировать ссылку".
P.S. Попахивает каким-то розыгрышем от разработчиков. Браузер 2016 года, не умеющий нормально копировать ссылки - это как-то... Ну не знаю даже...
Отсутствует
Avatar-Lion
Зайдите в about:addons, на вкаладку CB, жмякните там "добавить кнопку", в открывшемся редакторе перейдите на вкладку "инициализация", вставьте туда код. Опционально - назовите кнопку и задайте иконку. Сохраните. Зайдите в режим кастомизации и вытащите созданную кнопку на панель. Обратите внимание, что кнопки расположенные в меню "гамбургера" не инициализируются после рестарта/открытия нового окна до первого открытия этого меню. Поэтому, сли хотите, чтоб кнопка не мозолила глаза, то скройте ее стилем в userChrome.css/Stylish'е:
toolbarbutton[label='тут название, которое вы дали кнопке, с соблюдением РеГиСтРа']{display:none!important}
Либо вытащите на панель меню, ту что по нажатию alt появляется.
Либо код можно положить в другую кнопку, имеющую полезные функции по нажатию. Посетите раздел Сustom Buttons, там много полезных.
Добавлено 08-04-2016 20:28:52
P.S. Попахивает каким-то розыгрышем от разработчиков. Браузер 2016 года, не умеющий нормально копировать ссылки - это как-то... Ну не знаю даже...
Это делается в угоду безопасности, перед удобством. С помощью юникода в ссылках можно забавные вещи проворачивать. Фишинг, все дела.
Отредактировано turbot (08-04-2016 20:29:28)
Отсутствует
turbot
А, вот оно как... Да, сделал. Теперь все копируется нормально. Кнопку отправил в бутерброд - ссылки с кириллицей редко копирую, в случае чего открыть \ закрыть меню с новой кнопкой несложно.
P.S. А нельзя все-таки на уровне браузера отключить эту "угоду безопасности"? Я готов пожертвовать своей безопасностью, если что, в угоду комфортности.
Отсутствует
А нельзя все-таки на уровне браузера отключить
Если только самому в исходниках ковыряться.
Отредактировано turbot (08-04-2016 20:44:40)
Отсутствует
С помощью юникода в ссылках можно забавные вещи проворачивать. Фишинг, все дела.
Т.е. была бы оптимальной возможность задавать адреса для определенных сайтов.., но с помощью например скрипта это не реализовать, если правильно понимаю?
Отсутствует
http://is.gd/85V3cW = https://ru.wikipedia.org/wiki/%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_(%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F) https://addons.mozilla.org/en-US/firefox/addon/copy-shorturl/?src=userprofile
Отредактировано oleg953 (08-04-2016 21:33:04)
Отсутствует
voqabuhe
Дык, в первом же посте: network.standard-url.escape-utf8;false
Добавлено 08-04-2016 23:35:27
Ну или
addEventListener('popupshowing', function(e) { var mitem = e.originalTarget.getElementsByAttribute('accesskey', 'c')[0]; mitem.removeAttribute('cmd'); mitem.setAttribute('oncommand', 'gClipboard.write(decodeURIComponent(gURLBar.value));'); }, false, document.getElementById("urlbar"));
(Для комильфо. Так как, если открыть ссылку вида https://ru.wikipedia.org/wiki/%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_(%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F), а не https://ru.wikipedia.org/wiki/Браузер_(значения),то та и скопируется.Не зависимо от параметра.)
Добавлено 08-04-2016 23:44:49
Ух, так ведь вся ссылка скопируется, не выйдет скопировать часть. Буду подумать.
Отредактировано turbot (08-04-2016 23:44:49)
Отсутствует
turbot
Да у меня давно установлено network.standard-url.escape-utf8;false, но что-то по-моему она перестала работать. Вот например в адресной строке https://ru.wikipedia.org/wiki/Заглавная_страница, раньше так и копировалась, что выделил, то и копировало, а сейчас всю эту фигню тянет.
Отсутствует
Да у меня давно установлено network.standard-url.escape-utf8;false, но что-то по-моему она перестала работать. Вот например в адресной строке https://ru.wikipedia.org/wiki/Заглавная_страница, раньше так и копировалась, что выделил, то и копировало, а сейчас всю эту фигню тянет.
если открыть ссылку вида https://ru.wikipedia.org/wiki/%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80_(%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F), а не https://ru.wikipedia.org/wiki/Браузер_(значения),то та и скопируется.Не зависимо от параметра.
Ух, так ведь вся ссылка скопируется, не выйдет скопировать часть. Буду подумать.
addEventListener('popupshowing', function(e) { var mitem = e.originalTarget.getElementsByAttribute('accesskey', 'c')[0]; mitem.addEventListener('click', (e)=> { setTimeout(()=> gClipboard.write(decodeURIComponent(readFromClipboard())),50) }); }, false, document.getElementById("urlbar"));
Хмм...
Добавлено 09-04-2016 00:04:50
В смысле, работает, просто некрасиво как-то.
Добавлено 09-04-2016 00:10:20
А, и только по клику мышкой (ну и ctrl+c, как надо, и так копирует). При копировании через горячую клавишу (accesskey) "c", выйдет по прежнему - не знаю как перехватить.
Отредактировано turbot (09-04-2016 00:10:59)
Отсутствует
turbot
Проверил спецом в Developer, открыл из буфера https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0 , в адресной показывает https://ru.wikipedia.org/wiki/Заглавная_страница, так и копирует через ПКМ с настройкой network.standard-url.escape-utf8;false
Добавлено 09-04-2016 00:40:34
Не что-то в опять начудили.
Отредактировано voqabuhe (09-04-2016 01:35:37)
Отсутствует
не знаю как перехватить
Как насчёт поискать глюков в таком коде?
(hbox => { var copy = () => gClipboard.write(decodeURIComponent(gURLBar._getSelectedValueForClipboard())); addEventListener("command", e => e.originalTarget.getAttribute("cmd") == "cmd_copy" && !e.stopPropagation() && copy(), true, hbox); //addEventListener("keypress", e => e.ctrlKey && e.code == "KeyC" && !e.shiftKey && !e.altKey && !e.preventDefault() && copy(), true, hbox); })(gURLBar.inputField.parentNode);
Отсутствует
Как насчёт поискать глюков в таком коде?
В смысле, тыкательным методом? Тогда пожалуйста: у меня не работает. Если выделена вся адресная строка. Только с частью адреса работает.
Отредактировано turbot (09-04-2016 18:49:56)
Отсутствует
В смысле, тыкательным методом? Тогда пожалуйста: у меня не работает. Если выделена вся адресная строка. Только с частью адреса работает.
Да-да, именно им. Спасибо за тестирование.
Загрузил свежую Nightly, запилил чистый профиль,
поставил CB 0.0.5.8.9, но всё равно как-то так.
Отсутствует
Dumby
Ага, прошу прощения. Причина в Advanced Locationbar была.
Отсутствует
Причина в Advanced Locationbar была.
Аналогично. Блин, к Advanced Locationbar вроде уже привык, чем его теперь заменить? А подружить их никак нельзя?
Отсутствует
Я написал VEG'у, может он поправит.
Спасибо, будем ждать.
Добавлено 10-04-2016 00:35:12
Dumby
А в твоей кнопке Копировать информацию о вкладках можно сделать такое же копирование ссылок?
Отредактировано voqabuhe (10-04-2016 00:35:12)
Отсутствует
Ребят, извините, сижу на бетах, и исправляю проблемы только для бет и релизов. Сам всегда пользуюсь фишкой с копированием адресов «как есть», без escape кириллицы, так что будет точно исправлено, но позднее.
Pure URL в ночнушках уже много раз «ломали», а потом «чинили». Может и тут те изменения, что привели к несовместимости, вскоре откатят
Когда в бетах запретят использовать неподписанные расширения (я ещё кое что для себя писал и всё ленюсь опубликовать), то возможно перейду на Developer Edition и буду уже на неё равняться.
С наилучшими пожеланиями, Евгений
Отсутствует
Причина в Advanced Locationbar была.
Да, есть такое. Может так прокатит.
((input, func, menuitem = func(input.parentNode) || func(input)) => { var copy = () => gClipboard.write(decodeURIComponent(gURLBar._getSelectedValueForClipboard())); menuitem && addEventListener("command", e => e.stopPropagation() || copy(), true, menuitem); //addEventListener("keypress", e => e.ctrlKey && e.code == "KeyC" && !e.shiftKey && !e.altKey && !e.preventDefault() && copy(), true, input); })(gURLBar.inputField, node => node && document.getAnonymousElementByAttribute(node.parentNode, "cmd", "cmd_copy"));
Отсутствует
Тема закрыта