Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 记住select element的选中选项';它是使用ajax填充的_Javascript_Google Chrome_Safari_Bfcache - Fatal编程技术网

Javascript 记住select element的选中选项';它是使用ajax填充的

Javascript 记住select element的选中选项';它是使用ajax填充的,javascript,google-chrome,safari,bfcache,Javascript,Google Chrome,Safari,Bfcache,在页面加载时,我调用ajax来填充-元素。-元素的选项存储在数据库中 这很好,但是我在不同的浏览器中得到了不同的行为,这是因为使用“后退”按钮返回页面时,bfcache: 在safari中,它按预期工作:单击“上一步”按钮后,我选择的选项仍处于选中状态。这是因为safari记住了我的状态,没有再次调用ajax 然而,在chrome中,我选择的这个选项没有被选中。这是因为Chrome再次调用ajax。虽然它可以在表单中记住所选的选项,但在我的例子中它不能这样做,因为ajax调用会再次执行 有人有可

在页面加载时,我调用ajax来填充
-元素。
-元素的选项存储在数据库中

这很好,但是我在不同的浏览器中得到了不同的行为,这是因为使用“后退”按钮返回页面时,
bfcache

在safari中,它按预期工作:单击“上一步”按钮后,我选择的选项仍处于选中状态。这是因为safari记住了我的状态,没有再次调用ajax

然而,在chrome中,我选择的这个选项没有被选中。这是因为Chrome再次调用ajax。虽然它可以在表单中记住所选的选项,但在我的例子中它不能这样做,因为ajax调用会再次执行


有人有可能解决这个问题吗?有没有办法让Chrome表现得像safari,这样它就不会再次执行所有javascript?

可以将状态存储在localStorageTrue中,但ajax调用仍将执行。这意味着我必须等待ajax调用完成,然后使用localStorage选择正确的选项。这是我的计划B,因为我不喜欢在某些浏览器中不执行ajax调用,而在其他浏览器中则是这样。