Единственный способ узнать, участвуете ли вы в ifrmae, это window
, а не top
.
if (window == top) {
// Not in iframe
}
else {
// In an iframe
}
Это можно сделать только для сценариев содержимого, но не для таблиц стилей.Обычно я выполняю сценарий содержимого, проверяю, не находится ли он в верхнем окне, и затем продолжаю сценарий, в противном случае просто заканчиваю его.
Повтор
- Добавление сценария содержимого для этого URL
- В сценарии содержимого проверьте, если свойство окна,
if (window != top) { loadContentScript() }
- Создайте CSS в JavaScript, если вы слишком обеспокоеныоб этом влияет.Вы не должны, хотя, если вы используете уникальные идентификаторы.
Надеюсь, это помогло, я сделаю это для нескольких моих расширений.