Помогите разобраться в 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, время: 09:55. |