Теперь ясно, что это для плагина Firefox:
document.getElementById
будет искать этот элемент в пользовательском интерфейсе браузера, а не на веб-странице. Но позже вы добавляете элемент на страницу. Поэтому вы должны искать на странице этот элемент:
var div = content.document.getElementById('windowx');
Кроме того, вы делаете ненужные вызовы методов. Вот более чистая версия вашего кода:
var doc = content.document,
div = doc.getElementById('windowx'),
btn;
if (div) {
div.innerHTML = "something new"
}
else {
div = doc.body.appendChild(doc.createElement("div"))
div.setAttribute("id", "windowx")
div.setAttribute("style",
"position: fixed; top: 100px; left: 100px; width: 20em;"
+ "border: 2px outset orange; background-color: cornsilk;"
)
btn = div.appendChild(doc.createElement("button"))
btn.setAttribute("style", "position: absolute; bottom: 1ex; right: 1ex;")
btn.setAttribute("onclick", "document.body.removeChild(this.parentNode)")
btn.appendChild(doc.createTextNode("Zamknij"))
}