2015-05-28 2 views
-2

Вот мой код. Я хочу обновить/перезагрузить тег сценария и содержимое div одним кликом.Можно ли обновить/перезагрузить тег сценария нажатием кнопки?

<div id="mydiv"></div> 
<a id="refresh">click</a> 

<script id="mydiv"> 
$("#mydiv").css(//some_css) 
</script> 

<script> 
$(function() { 
    $("#refresh").click(function() { 
    $("#mydiv").load("location.href + " .mydiv") 
    }) 
}) 
</script> 
+0

Создайте функцию и обновите эту функцию при нажатии. – Hushme

+0

и загрузить эту функцию при запуске;) – aorfevre

+0

Id быть уникальным в html div, а скрипт имеет тот же идентификатор –

ответ

2

Вы можете заставить сценарий перезагрузить, добавив случайную переменную после URL.

$("button").click(function(){ 
 
    var src = $(".reloadMe").attr('src'); 
 

 
    // Reload the script 
 
    $(".reloadMe").attr('src', src.split('?')[0] + "?" + Math.floor(Math.random()* 10000000)); 
 
    
 
    // Reload the div 
 
    $("#mydiv").load(location.href + " .mydiv") 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script class="reloadMe" src="js/myScript.js"></script> 
 
<button>Reload script</button>

Это произведет:

src="js/myScript.js?61416981" 

затем

src="js/myScript.js?66541657" 

затем

src="js/myScript.js?14882875" 

и т. Д., Заставляя браузер перезагружать скрипт каждый раз, когда нажимается кнопка.

+1

Можете ли вы сделать это без 'src =" js/myScript.js "? Мне нужно без 'src' – Bunui

+0

Почему вы _need_ встроенный скрипт? Это считается плохой практикой, вы должны сохранить свой сценарий в отдельном файле. Я не думаю, что в любом случае можно перезагрузить встроенный скрипт. –

Смежные вопросы