Чому при копіюванні неанглійської URL-адреси з адресного рядка кодується URL-адреса, а не як текст, який я бачу (декодується)?


2

Коли я копію посилання з адресного рядка, який має звичайні символи, скопійований зв'язок буде містити закодований текст, а не декодований (що візуально видно).

Але якщо я редагую (і повертаю) щось в URL, наприклад, додаючи пробіл і видаляючи його, скопійований текст буде декодований.

Чому це поведінка? Будь-яка причина для цього, або довільна?

Примітка: З того, що я перевірив - це поведінка в Chrome і Firefox, але не Edge (який буде копіювати декодований текст).

Чи є спосіб змінити поведінку і завжди копіювати (красивий) декодований URL?
(Принаймні для Chrome)


Приклад:

Перегляд цю адресу відобразиться https://he.wikipedia.org/wiki/עוגייה в адресному рядку, але при копіюванні буде копіювати https://he.wikipedia.org/wiki/%D7%A2%D7%95%D7%92%D7%99%D7%99%D7%94.
Редагування щось перед копіюванням змінить цю поведінку.

enter image description here

Відповіді:


3

Це цілеспрямовано реалізована і дуже корисна функція веб-браузерів:

  • Після видачі команди копіювання для цілого URL-адреси веб-браузер кодує його у форму, яка формує певну форму. Ви робите це одним клацанням миші на адресному рядку. Пояснюється, що вибрано весь адресний рядок.
  • Якщо ви спочатку вибираєте частину URL (навіть якщо ви в кінцевому підсумку виберете все це), веб-переглядач просто копіює те, що ви бачите. Ви робите це одним клацанням миші, а потім ще одним клацанням миші (або лише подвійним клацанням миші), а потім виберіть, що ви хочете.

Існує також та частина, яку ви не розумієте: при вході https://he.wikipedia.org/wiki/עוגייהвеб-браузер перетворює його на https://he.wikipedia.org/wiki/%D7%A2%D7%95%D7%92%D7%99%D7%99%D7%94 у фоновому режимі, перш ніж передавати його в Інтернеті.

Все це є причиною. Я позбавлю вас деталей і просто надасть вам висновок: закодований URL - це реальна URL-адреса. "Приємна" URL-адреса, як ви сказали, - це щось для спрощення життя для вас. Таким чином, останній може не працювати у всіх веб-додатках, тоді як перший гарантовано працюватиме.

Додаток: Можливо, ви навіть не зможете правильно надіслати "хорошу" URL-адресу електронною поштою, миттєвими повідомленнями або SMS! Це дійсно залежить від того, чи використовується служба, яку ви використовуєте, і ваш одержувач використовує підтримку Unicode. (Gmail, Hotmail, Skype і Telegram - це гаразд. Я не впевнений у службі SMS для Sprint, Verizon або AT & amp; T.)


Дякую за вашу відповідь! Я дійсно знаю, що це саме те, що ми бачимо, і що фактично URL - це кодований - я просто думав про перспективу кінцевого користувача, і не думав про можливість передати URL до додатків, які не підтримують його.
arieljannai

2

Формат, закодований URL, - це форма, яку фактично використовують програми, які спілкуються в Інтернеті. Він копіюється з Firefox / Chrome таким чином, за умовчанням, щоб гарантувати зручність скопійованої URL-адреси.

Причина того, що URL "змінюється" під час редагування, майже напевно, тому що браузер виявив відмінності в рядку URL, який потенційно повинен бути знову закодований.

Чи є спосіб змінити поведінку і завжди копіювати (красивий) декодований URL (принаймні для Chrome)?

Firefox

Це питання суперкористувача має відповідь, що вказує, що ви можете встановити значення browser.urlbar.decodeURLsOnCopy до True під about:config у Firefox 53+ автоматично копіювати URL-адресу, не закодовану URL-адресами. Це працювало для мене, хоча я не перевіряв його на останніх версіях Firefox.

Chrome

Я не знайшов внутрішніх налаштувань для Chrome, але я знайшов рекомендацію Переповнення стеку для розширення Chrome називається URL-адреса копії (останнє оновлення лютого 2018 року під час написання), яке, здавалося, копіює ваш приклад URL без кодування, як це рекламується.

Як невелике застереження щодо цього розширення, а вбудовані в сторінки посилання мали a COPY URL в меню правої кнопки миші, URL-адреси "адресної панелі" потрібно було скопіювати, клацнувши лівою кнопкою миші піктограму розширення URL COPY, розташовану праворуч від універсального вікна пошуку (біля меню налаштувань).


Якщо ви працюєте у Windows, варто також зазначити, що ви можете вставити групу URL-адрес, закодованих URL-адресами Notepad ++ , виберіть Редагувати → Вибрати все ( Ctrl + A ), а потім (якщо у вас є доступні плагіни за замовчуванням), використовуйте Plugins → MIME Tools → URL Decode, щоб декодувати всі URL-адреси одночасно.



Дякую! Я змінив поведінку у Firefox. Про Chrome - розширення здаються мені зовсім марними, тому що я вже звик додати і видалити простір з адреси перед копіюванням - так що натискання на розширення буде повільніше і менш комфортно. Я вже використовую цей метод з notepad ++, коли мені потрібна маса, це здорово :)
arieljannai

1
Lol ласкаво просимо! Ви, схоже, тут випереджають речі. =) Що стосується розширення, так, це, мабуть, не дуже корисно. Це трохи невдалий Chrome вирішив заблокувати себе вниз так тісно.
Anaksunaman
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.