createElement только в основном документе, а не в iFrames внутри документа - PullRequest
2 голосов
/ 01 ноября 2011

Если я создаю элемент с ...

var elm = document.createElement("p");  
document.body.insertBefore( elm, document.body.firstChild );  

Я получил этот p-элемент внутри каждого элемента тела - cooool!
но также в каждом теле iframe внутри основного документа.

Как я могу определить творение только в maindocument? что-то вроде?

document.body.firstChild.ownerDocument

(скрипт должен выполнять работу из injected.js с помощью расширений safari)

Ответы [ 3 ]

0 голосов
/ 01 ноября 2011

Если я правильно понимаю ваш вопрос, вы можете использовать jQuery:

$('body').prepend("<p>im new here...</p>")

проверить это - http://jsfiddle.net/HLQ8W/

0 голосов
/ 01 ноября 2011

я получил этот p-элемент внутри каждого элемента тела - cooool!

Вы должны получить его только в одном, единственном теле, которое есть в документе.

но также в каждом теле iframe внутри основного документа.

Это отдельные документы, и этот код не должен касаться их, если вы не включите этот код во встроенные документы.

Если вы включаете этот код в эти документы, то вы можете проверить, не находитесь ли вы в кадре:

if (top === window) {
0 голосов
/ 01 ноября 2011

Вставьте в первую часть тела:

var elm = document.createElement("p");  
var body = document.body;
body.insertBefore(elm, body.firstChild);

Отредактировано: http://jsfiddle.net/vgbsf/1/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...