Помогите разобраться в Chrome Extension инжекция кода в страницу
Здравствуйте,
Решил написать расширение для хрома, чтобы управлять плеером в ютубе. Взял уже готовые решения и стал разбираться) И возник такой вопрос по инжекции кода на страницу (пример отсюдаhttp://stackoverflow.com/questions/9...content-script ) дан код:
var actualCode = ['/* Code here. Example: */alert(0);',
' // Beware! This array have to be joined',
' // using a newline. Otherwise, missing semicolons',
' // or single-line comments (//) will mess up your',
' // code ----->'].join('\n');
var script = document.createElement('script');
script.textContent = actualCode;
(document.head||document.documentElement).appendChild(script);
script.parentNode.removeChild(script);
А теперь вопросы?) 1. что это за конструкция переданная в переменную actualCode и как она работает. 2. (document.head||document.documentElement) это я так понимаю добавление элементов для разных браузеров, или нет 3. script.parentNode.removeChild почему мы сначала добавляем элемент и сразу его удаляем?) Спасибо. |
На первый и второй вопросы я нашел ответы, а вот третий я бы хотел чтобы кто-нибудь мне обьяснил механизм действия.
Получается, что скрипт передается в страницу, получает доступ к переменным или dom, передает данные в фоновую страницу и удаляется. А если на странице еще не прогрузилось ничего? Тогда было бы разумно после загрузки удалять скрипт.
var onload = function() {
script.parentNode.removeChild(script);
};
|
| Часовой пояс GMT +3, время: 18:41. |