首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >location.reload(),Javascript,

location.reload(),Javascript,
EN

Stack Overflow用户
提问于 2016-02-21 16:49:08
回答 2查看 1K关注 0票数 1

当我试图在HTML文件中的一个按钮中使用下面的代码时,总是会出现问题。

代码语言:javascript
复制
onClick=window.location.reload();
mapGenerator();

页面重新加载,但是生成D3JS视图的javascript (D3JS)没有出现。我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-21 16:59:01

location.reload()将立即重新加载页面,并防止执行以下任何代码。

但是,您可以创建一个函数,在页面加载(Re)之后执行您的方法:

代码语言:javascript
复制
window.onload = function() {
    mapGenerator();
};

每当页面完全加载时,此方法都将运行。若要仅在使用location.reload()重新加载页面后运行代码,可以创建一个方法,通过设置cookie然后重新加载页面来处理单击。

代码语言:javascript
复制
function handleClick() {
    document.cookie="reload=true";
    location.reload();
}

这需要您将onClick值更改为onClick="handleClick();"。现在,无论何时加载页面,您都可以检查cookie是否已经设置。您的window.onload函数现在更改为:

代码语言:javascript
复制
window.onload = function() {
    if(document.cookie.indexOf("reload") >= 0) {
        mapGenerator();
    }
}

检查cookie是否存在- https://stackoverflow.com/a/6092282/4289331

重新加载之后,是否要取消cookie取决于您自己--如果没有,页面将在每次加载页面时运行函数mapGenerator,直到cookie过期为止。

如果您在cookies方面需要更多帮助,请查看W3Schools教程

票数 2
EN

Stack Overflow用户

发布于 2016-02-21 17:07:35

根据您上面提到的描述,单击时将采取两个操作。当第一个操作重新加载页面时,第二个操作丢失。如果希望在页面加载时执行任何操作,请在页面的onload事件上提及相同的操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35538898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档