Я работаю над расширением Firefox, которое сохраняет новую версию страницы, используя chrome .downloads.download API в background скрипте расширение. Страница, которую я хочу сохранить, передается фоновому скрипту в виде строки. Прежде чем сохранить его на жесткий диск, я хочу заменить исходные атрибуты <img>
src=''
на относительные пути.
Я могу проанализировать строку страницы, используя DOMParser , но всякий раз, когда Я пытаюсь установить атрибуты src
на относительный путь, используя .setAttribute()
, Firefox добавляет ключ расширения к URI.
Например:
let myParser = new DOMParser();
let myDOM = myParser.parseFromString(originalTextStringOfDOM, "text/html");
const images = myDOM.querySelectorAll('img');
images.forEach(async function(img) {
img.setAttribute('src','test.png');
}
The src
свойство заканчивается чем-то вроде "moz-extension: //aa6127fb-0848-47dc-b883-blahblahblah/test.png". Есть ли способ установить для него просто "test.png"? Я могу выполнить замену строк в originalTextStringOfDOM, но это кажется излишне хрупким, когда у меня уже есть элемент прямо здесь.