Просто проверьте наличие div
перед его созданием.
var div = document.getElementById("bookmarklet");
if (!div)
{
div = document.createElement("div");
div.id = "bookmarklet";
div.style.margin = "auto";
div.style.position = "fixed";
}
Кроме того, поскольку у вас уже есть глобальная ссылка на div
, вам не нужно искать ее по идентификатору в toggle_bookmarklet
. Вы можете просто сослаться на div
. Я бы попытался выбрать более уникальное имя, чтобы избежать столкновения с именами.
Редактировать: В этом отношении, если вы собираетесь использовать глобальную переменную, вы можете упростить дальнейшее. Даже не называйте его идентификатором, просто используйте глобальную ссылку:
function toggle_bookmarklet() {
bookmarkletEl.style.display = bookmarkletEl.style.display == "none" ? "" : "none";
}
if (!window.bookmarkletEl) {
var bookmarkletEl = ddocument.createElement("div");
bookmarkletEl.style.margin = "auto";
bookmarkletEl.style.position = "fixed";
}