Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.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 如何仅对输入字段进行编码,以便当用户;重新打开已关闭的选项卡";关闭选项卡后,键入的值是否仍然存在?_Javascript_Html_Browser_Session State_Session Storage - Fatal编程技术网

Javascript 如何仅对输入字段进行编码,以便当用户;重新打开已关闭的选项卡";关闭选项卡后,键入的值是否仍然存在?

Javascript 如何仅对输入字段进行编码,以便当用户;重新打开已关闭的选项卡";关闭选项卡后,键入的值是否仍然存在?,javascript,html,browser,session-state,session-storage,Javascript,Html,Browser,Session State,Session Storage,好的,我知道如何使用sessionStorage在页面刷新或向后或向前导航时保持该值,但在用户关闭选项卡后“重新打开已关闭的选项卡”(按ctrl+shift+t)后无法保持该值,因为它创建了一个新的会话。另外,我不想使用本地存储。我不确定,但也许,答案与历史有关。你告诉我。所以现在我的问题是,有没有可能在不使用localStorage或导入任何其他API的情况下,用纯JavaScript和HTML编写这样的代码?如果是,请共享代码。提前感谢。您可以将其放入cookie中,如: function

好的,我知道如何使用sessionStorage在页面刷新或向后或向前导航时保持该值,但在用户关闭选项卡后“重新打开已关闭的选项卡”(按ctrl+shift+t)后无法保持该值,因为它创建了一个新的会话。另外,我不想使用本地存储。我不确定,但也许,答案与历史有关。你告诉我。所以现在我的问题是,有没有可能在不使用localStorage或导入任何其他API的情况下,用纯JavaScript和HTML编写这样的代码?如果是,请共享代码。提前感谢。

您可以将其放入cookie中,如:

function setCookie(name,value,days) {
var expires = "";
if (days) {
    var date = new Date();
    date.setTime(date.getTime() + (days*24*60*60*1000));
    expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + (value || "")  + expires + "; path=/";
}
function getCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}
函数setCookie(名称、值、天数){
var=”;
如果(天){
变量日期=新日期();
date.setTime(date.getTime()+(天*24*60*60*1000));
expires=“;expires=“+date.toutString();
}
document.cookie=name+“=”+(值| |“”)+expires+“path=/”;
}
函数getCookie(名称){
变量nameEQ=name+“=”;
var ca=document.cookie.split(“;”);
对于(变量i=0;i
document.getElementById(“myText”).value=(window.history.state&&window.history.state['pie'])||';
document.getElementById('myText')。addEventListener(“键控”,函数(evt){
window.history.replaceState(
{…window.history.state,“pie”:document.getElementById(“myText”).value},
文件名称
);
},假)

姓名:

“我也不想使用localStorage”-为什么?在手动清除之前,它会一直保留在那里。这类似于,如果用户关闭选项卡并自己从控制台更改本地存储。然后,当页面再次打开时,它会获取用户自己编写的有趣值。它可能会破坏用户界面的含义或安全性。浏览器中的任何内容都不受篡改。加密本地存储如果这是一个问题我得到了答案,请检查谢谢回答,但如果用户禁用该域的cookie,那么解决方案是什么?那么解决方案将是本地存储请检查我的答案