我想点击按钮在某个div中重新加载js而不重新加载整个页面。也可以重新加载加载js的div。
我已经尝试了几种解决方案,例如: http://www.philnicholas.com/2009/05/11/reloading-your-javascript-without-reloading-your-page/
或其他帖子的一些想法,如下所示 Refresh/reload the content in Div using jquery/ajax
使用此代码例如:
$("#content").load(location.href + " #content");
只重新加载div而不是脚本,并且不会显示任何内容。
使用ajax请求,它将所有js-code作为文本放入div中。
你还有什么进一步的想法吗?
编辑:加载的脚本显示内容,具体取决于会话的某些值。单击该按钮会更改应该导致运行脚本的div中的其他内容的值。
编辑2: 当前状态正在重新加载整个页面: 这是由脚本添加其他内容(其他div和东西)的div:
<div id="dynamic_content">
<script src="myjs.js"></script>
</div>
以下是更改内容视图的按钮:
<div id="change_view_mode" onclick="change_view()">
<script>
if(window.SESSION.view_mode == "simple"){
document.getElementById("change_view_mode").innerHTML = "complex tree";
}else{
document.getElementById("change_view_mode").innerHTML = "simple tree";
}
</script>
</div>
这里是用于更改我尝试实现内容重新加载的视图的函数:
//toggle view and reload the page
function change_view(){
if(window.SESSION.view_mode == "simple"){
$.ajax({
url:'set_view_mode.php',
async: false,
});
//$("#dynamic_content").load(location.href + " #dynamic_content");
location.reload(true);
}else{
$.ajax({
url:'set_view_mode.php',
async: false,
});
//$("#dynamic_content").load(location.href + " #dynamic_content");
location.reload(true);
}
}
我通过调用一个小的php文件来更改会话中的view_mode。然后我尝试了几个提到的东西(一个在代码中留下作为注释)。这取决于当前视图。所以它只是将视图从一个切换到另一个。
答案 0 :(得分:0)
我已经为你的答案创建了一个git存储库,请你试试这个: https://github.com/RobinHossain/ajax-page-load
现场演示链接: http://ajax-page-load.w3bd.com/