在页面刷新或后退/前进浏览器导航时重置下拉列表

时间:2015-06-07 12:38:00

标签: javascript jquery

是否有一个简单的命令来重启所有或一些包含的javascripts?我遇到的问题是,通过刷新页面或在浏览器中按后退/前进键,一些javascripts看起来像缓存。

也许像codepen一样吗?

更新 我发现,这对我的“下拉”只是一个问题。所以我必须重置它们,如果我刷新浏览器和/或按后退/前进。有什么简单的方法吗?

更新 好的,这对我有用:

$(':input').not(":button").val('');
  });

2 个答案:

答案 0 :(得分:3)

  

不,我发现这是一个"下拉"问题 - 所以,我想   通过浏览器刷新和/或前进/后退重置它们。

要将下拉菜单重置为默认值,您可以使用:

$(window).on("pageshow", function() {
    $('select').prop('selectedIndex', function () {
        var selected = $(this).children('[selected]').index();
        return selected != -1 ? selected : 0;
    });
});

答案 1 :(得分:0)

这是因为浏览器在您单击后退按钮时使用了页面的缓存版本,称为bfcache

您可以尝试添加一个空的卸载处理程序,如$(window).unload(function(){});来禁用缓存。

此处有更多信息:http://madhatted.com/2013/6/16/you-do-not-understand-browser-history