2016-11-12 6 views
0

Я пытаюсь написать скрипт Tampermonkey, добавляет HTML в тело, но по какой-то причине в объявлениях появляется диалоговое окно HTML. инспектировать элемент Google Chrome показывает это:Usercript in inner #document elements

#document 
<!doctype html> 
<html> 
<body> <!-- Another Body Tag --> 
... 
</body> 
</html> 

Как вы можете видеть, есть другой тег тела, поэтому диалоговое окно, в нем тоже. Есть ли способ использовать только теги <body>, а не теги в теге #document?

ответ

0

Что, вероятно, происходит потому, что ваш @match довольно жадный, он работает со всеми документами HTML на странице. Если вы хотите только запустить его на корневой странице, вы можете проверить, является ли окно «верхним».

if (window !== window.top) { // not the root, return early 
    return; 
} 

Это может представлять собой проблему при запуске на страницах, фреймов, но это не очень распространенная практика больше, так что я был бы удивлен, если вы обнаружите, что быть проблемой.

+0

Работал отлично! Спасибо! – Orion31