Я копирую богатый текст с div
с contenteditable="true"
и вставляя его в проект Medium. Большая часть форматирования сохраняется в порядке, но по какой-то причине я не понимаю, что все относительные ссылки преобразуются в абсолютные. Я не знаю, на каком этапе это происходит. Я даже подумал, что Medium может слушать «вставку» событий. Это был бы худший сценарий, потому что у меня было бы очень мало контроля над ним. Но если да, то как они имеют доступ к URL-адресу страницы, на которой я был, когда я копировал содержимое? Действительно, после проверки с другими браузерами я пришел к выводу, что это ошибка Chrome, а не Medium. В Safari он работает отлично, на Firefox он вообще не работает (но это тема для другого вопроса ...).Как остановить Chrome от поворота относительных ссылок на абсолютные ссылки на копирование/вставку?
Чтобы сделать вещи более ясными, я пытаюсь имитировать поведение footnotes plugin, которое я использую в своем блоге Wordpress, написав букмарклет, который делает практически то же самое.
Вот демонстрационная страница, где вы можете вставить текст с вики-подобный синтаксис для встроенных ссылок и анализировать их в соответствующие сноски:
https://rawgit.com/arielpontes/footnoter/master/index.html
В обоих режимах использования ([1] копировать/вставить на демонстрационную страницу или [2], используя букмарклет), полученный html имеет соответствующие относительные ссылки. Тем не менее, после вставки обратно в Medium на Chrome они становятся абсолютными, указывая на rawgit.com
и нарушая функциональность.
Если я запустил код с моей локальной машины, а не rawgit.com
, однако ссылки сохраняются в относительной форме после вставки даже в Chrome.
Что может быть? Есть ли способ исправить это?
Можете ли вы сказать, как именно ваш ответ дает любую новую информацию, которая не существует уже по этому вопросу? – Dekel