Я создаю аддон Firefox Jetpack, который извлекает данные для открытого URL-адреса в закладке API. API возвращает данные в формате JSON. Затем я использую эти данные для создания тегов HTML с целью их хорошего отображения. Затем я вставляю этот HTML-файл из файла сценария в тело открытого сайта. Это работает отлично, но когда я отправил приложение в магазин Firefox для просмотра, он был отклонен из-за неанализированных данных.Как очистить скрипт перед инъекцией в тело
Если я дезинфицирую его, он отображает простой HTML в инъекции. В созданном документе у меня нет меток < script, но я использую функцию onclick для нескольких ссылок внутри введенного скрипта. Вот пример кода, чтобы получить представление о том, чего я пытаюсь достичь.
Main.js
// It gets data in JSON format
// I share this data with content script in an object
tab = tab.attach({
contentScriptFile: [require("sdk/self").data.url("jquery.min.js"),
require("sdk/self").data.url("contentscript.js")]
});
tab.port.emit('data', JSON.parse(JSON_STRING));
contentscript.js
// I get data from main.js and then make an html
// then I inject it to the opened document
self.port.on('data', function(obj) {
content = '<div id="test"><a href="http://www.example.com/'+obj.page+'" onclick="javascript: document.getElementById(\'test\').style.display="none">Visit</a></div>';
$('body').append(content);
});
Я также использовать стили CSS в расширении.
Любое решение для дезинфекции, не нарушая функциональность? Спасибо