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