Открытие html-контента в новой вкладке из букмарклета (Firefox) - PullRequest
0 голосов
/ 26 августа 2018

У меня было несколько букмарклетов, в которых использовалась такая техника:

javascript:(function(){open('data:text/html,'+encodeURIComponent('<!DOCTYPE html><html><head><title>Title</title></head><body><h1>Title</h1>Content</body></html>'))})()

Это в основном открывает некоторый текст / html контент в новой вкладке / окне с помощью URL-адреса данных.

Этот метод, по-видимому, больше не работает в Firefox 61.0.1 (другие версии не тестировались). Это ошибка или по замыслу?

Определенная реализация, использующая URL-адрес JavaScript, также не работает.

Если это умышленно, то есть ли какая-нибудь простая альтернатива, кроме открытия новой вкладки и последующего написания контента?

Примечание. Я полагаю, что это ограничение не применяется к текстовому контенту (возможно, к другим).

1 Ответ

0 голосов
/ 26 августа 2018

Частичный ответ:

javascript:(function(){open('javascript:"'+encodeURIComponent('<!DOCTYPE html><html><head><title>Title</title></head><body><h1>Title</h1>Content</body></html>')+'"')})()

Выше приведен обходной путь.encodeURIComponent полезен, если необходимо экранировать двойные кавычки или одинарные кавычки (но не оба одновременно)

...