当我试图在HTML文件中的一个按钮中使用下面的代码时,总是会出现问题。
onClick=window.location.reload();
mapGenerator();页面重新加载,但是生成D3JS视图的javascript (D3JS)没有出现。我做错了什么?
发布于 2016-02-21 16:59:01
location.reload()将立即重新加载页面,并防止执行以下任何代码。
但是,您可以创建一个函数,在页面加载(Re)之后执行您的方法:
window.onload = function() {
mapGenerator();
};每当页面完全加载时,此方法都将运行。若要仅在使用location.reload()重新加载页面后运行代码,可以创建一个方法,通过设置cookie然后重新加载页面来处理单击。
function handleClick() {
document.cookie="reload=true";
location.reload();
}这需要您将onClick值更改为onClick="handleClick();"。现在,无论何时加载页面,您都可以检查cookie是否已经设置。您的window.onload函数现在更改为:
window.onload = function() {
if(document.cookie.indexOf("reload") >= 0) {
mapGenerator();
}
}检查cookie是否存在- https://stackoverflow.com/a/6092282/4289331
重新加载之后,是否要取消cookie取决于您自己--如果没有,页面将在每次加载页面时运行函数mapGenerator,直到cookie过期为止。
如果您在cookies方面需要更多帮助,请查看W3Schools教程。
发布于 2016-02-21 17:07:35
根据您上面提到的描述,单击时将采取两个操作。当第一个操作重新加载页面时,第二个操作丢失。如果希望在页面加载时执行任何操作,请在页面的onload事件上提及相同的操作。
https://stackoverflow.com/questions/35538898
复制相似问题