Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.11.2012, 17:44
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

Создание и удаление скрипта.
Не могу понять в чем проблема.

Есть ссылка на создание/удаление скрипта:

<a href="javascript:
            (function () {
                if (document.getElementById('xxx')) {
                    var scrt = document.getElementById('xxx');
                    scrt.parentNode.removeChild(scrt);
                }
                else {
                    var script = document.createElement('script');
                    script.src = 'http://site/xxx.js';
                    script.id = xxx';
                    document.body.appendChild(script);
                }
            }());">создать/удалить скрипт</a>



Почему то при двойном вызове скрипт дублирует выполнения операций.

Разве с удалением скрипта не удаляется всё его содержимое?
Ответить с цитированием
  #2 (permalink)  
Старый 06.11.2012, 18:04
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

Дзен-трансгуманист,

имел в виду содержимое скрипта (переменные, функции и тп) - они удаляются из памяти?


В песочнице у меня содержимое срабатывает один раз .. А в рабочем скрипте многократно.. Хотел бы уточнить в этом проблема или я не там копаю?

Последний раз редактировалось dmitry111, 06.11.2012 в 18:07.
Ответить с цитированием
  #3 (permalink)  
Старый 06.11.2012, 18:10
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

Сообщение от Дзен-трансгуманист
Ну правильно, это все равно, что ты дважды подключишь один и тот же скрипт с содержанием
var q;
if (q === undefined) { q = 1; }
alert(q++);

Сначала будет 1, потом 2.


в песочнице выдает 1 всегда..
Ответить с цитированием
  #4 (permalink)  
Старый 06.11.2012, 18:12
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

Сообщение от Дзен-трансгуманист
Содержимое скрипта - это текст. Текст удаляется из памяти, да. Результаты же исполнения должны оставаться.
понятно, значит я не там копаю ) Спасибо!
Ответить с цитированием
  #5 (permalink)  
Старый 06.11.2012, 18:19
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

И все таки дублирование пропало, когда перестал удалять/создавать скрипт.


Суть в чем - есть букмарклет. При клике на него он создает/удаляет фрейм и скрипт, которые взаимодействуют со сторонним сайтом.

Сейчас сделал иначе - при повторном клике фрейм и скрипт не удаляются - просто у фрейма ставлю display:none;

И проблема исчезла.


Видимо при создании/удалении скриптов на сторонних сайтах содержимое скриптов заносится в память!

Последний раз редактировалось dmitry111, 06.11.2012 в 22:20.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание скрипта "Итеррационные циклы" по формуле krasopetka Общие вопросы Javascript 0 17.11.2011 12:42
Создание с помощью скрипта html элемента Anastasiya Общие вопросы Javascript 4 25.10.2011 22:28
Нужно создание идентичного скрипта по диетам kuprum Работа 8 14.10.2011 19:03
Создание скрипта суммы Bryant-24 Общие вопросы Javascript 7 10.08.2011 13:29
Создание скрипта! Создание диктанта для учеников! Елизавета Работа 10 30.06.2010 21:00