У меня есть какой-то контейнер на странице с встроенным JavaScript. Есть ли способ снова запустить его выполнение после того, как он был изначально запущен автоматически при загрузке страницы?
<div id="mydiv"> <script type='text/javascript'>alert("trigger me again");</script> </div>
Вы можете попробовать:
eval($('script', $('#mydiv')).text());
Просто мысль
Вам нужно сделать функцию:
<script type='text/javascript'> function doSomething() { alert("trigger me again"); } doSomething(); //Call the function immediately </script>
Затем вы можете вызвать функцию снова где-нибудь еще:
doSomething();
Полагаю, вы можете выбрать свой элемент и затем выполнить eval () код внутри.
Что-то вроде:
$('script').each( function() { eval($(this).text()); } );
Что бы я сделал, это сделал бы этот встроенный вызов javascript функцией. Затем вы можете вызывать эту функцию снова и снова после загрузки страницы.
Вы можете назначить его функции и установить событие таймера ... В javascript есть два типа таймеров (setTimeout и setInterval). Однако есть также несколько библиотек jQuery для таймеров событий .