Дублируется селектор в Frame. Как исправить?

Есть код, который подключается через браузер(Пользовательский скрипт, Tampermonkey):
document.body.appendChild(linkBox);
Проблема: на странице присутствуют фреймы, в каждом из которых есть свой тег body. Соответственно, скрипт добавляет элементы во все фреймы на странице.
Вопрос: как сделать, чтоб скрипт срабатывал только на главном элементе ?
  • Вопрос задан
  • 184 просмотра
Пригласить эксперта
Ответы на вопрос 1
lazalu68
@lazalu68
Salmon
1. Не вижу в тексте вопроса ни одного селектора. К тому же ваш кусок кода не может добавлять элемент ко всем body дочерних фреймов текущего документа если он выполнен в контексте этого документа. Такое может произойти только если он выполнен по отдельности в контексте каждого фрейма,
2. Скорее всего проблема в том что у вас адрес целевых страниц задаётся с помощью wildcard, типа так: *site.com/*, таким образом вы выполняете скрипт не только на исходной странице, но и на дочерних фреймах. Если это так, то решить проблему можно просто не выполняя скрипт для фреймов:

if (window.top != window.self)  {
    return;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы