JS想在click里重新加载页面,该怎么添加?

JavaScript019

JS想在click里重新加载页面,该怎么添加?,第1张

你表达得有点不太清楚,按照我对你的理解,你可能是想做下面的事情:

$("#button_Reboot").click(function () {

    $.get("Reboot.run", function (result) {

        alert(result)

    })

    .done(function() {

        window.location.reload()

    })

})

因为get是异步方法,所以我猜你想做的是等待get方法已经拿到数据以后再进行一次页面的刷新,于是,我们就可以用”done“这个方法了,这个方法做的事情就是等待get方法成功完成以后才刷新页面。

有问题再追问。

传统方法很难检查,但浏览器有本地缓存功能, 如果你的浏览器支持html5,那么使用下面的方法。

if(localStorage.getItem('state') == 1) {

    alert('这是后退后的页面')

    localStorage.setItem('state', 0)

    location.href = location.href

}

window.onbeforeunload = function () {

    localStorage.setItem('state', 1)

}

原理很简单,离开就设置一个状态, 后退发现状态不是初始状态,那么就一定是跳到其他地方过,就刷新页面。

如果你的浏览器不支持html5,那么使用cookies 一样可以做。

加载js文件三种方法,如下:

1、重新加载js文件:

function loadJs(file) {

var head = $("head").remove("script[role='reload']")

$("<scri" + "pt>" + "</scr" + "ipt>").attr({ role: 'reload', src: file, type: 'text/javascript' }).appendTo(head)

}

2、给js定个id,重新加载:

function reloadAbleJSFn(id,newJS)

{

var oldjs = null

var t = null

var oldjs = document.getElementById(id)

if(oldjs) oldjs.parentNode.removeChild(oldjs)

var scriptObj = document.createElement("script")

scriptObj.src = newJS

scriptObj.type = "text/javascript"

scriptObj.id = id

document.getElementsByTagName("head")[0].appendChild(scriptObj)

}

3、jquery的就直接使用getScript就可以:

<script type="text/javascript" src="../jquery.js"></script>

<script type="text/javascript">

$(function()

{

$('#loadButton').click(function(){

$.getScript('new.js',function(){

newFun('"Checking new script"')//这个函数是在new.js里面的,当点击click后运行这个函数

})

})

})

</script>

</head>

<body>

<button type="button" id="loadButton">Load</button>