从浏览器中获取保存的价值
Posted
技术标签:
【中文标题】从浏览器中获取保存的价值【英文标题】:Get saved value from browsers 【发布时间】:2019-10-23 12:29:22 【问题描述】:如何在 jquery 中从浏览器中获取保存的值,我正在使用这个脚本。
require(['jquery', 'jquery/jquery.cookie', 'jquery/ui'], function($)
setTimeout(function()
console.log($('input#email').val());
var subjectLength = $('#email').val().length;
if(subjectLength > 0)
console.log('Value Available');
else
console.log('Value not Available');
, 3000);
);
【问题讨论】:
您希望多久检索一次<input id="email">
的值?您可以使用keyup()
、change()
等。您当前的脚本在等待 3 秒后记录该值。
如果用户在浏览器中保存了值,我想在输入框中添加一个类。我正在尝试上面的代码,它在控制台中运行良好,但在代码中没有。
@MAHESHKUMAR 我看不到您将此值写入 localStorage 或 Cookie 的位置。什么事件应该触发值的保存/更新? change
, keyup
, blur
?
@MAHESHKUMAR 你得到这个地址了吗?
【参考方案1】:
您似乎正试图通过 Magento 中的 javascript 写入或更新 cookie。您也可以使用 Session 或 Cookies 使用 php 来执行此操作。既然你说“来自浏览器”,我假设你想要一个 JavaScript 解决方案。
基本上,您将有一个 Setter 和 Getter 函数来设置 cookie 的名称、值和过期时间,然后还有一个函数从特定命名的 cookie 中获取值。有时您可能也有一个清除或删除功能,基本上将他的 cookie 设置为过去过期。
我发现以下内容对您有帮助:https://magento.stackexchange.com/questions/163345/magento-2-how-to-use-cookie
require(['jquery', 'jquery/jquery.cookie', 'jquery/ui'], function($)
setTimeout(function()
console.log($('input#email').val());
var subject = $('#email').val();
var date = new Date();
var minutes = 60;
date.setTime(date.getTime() + (minutes * 60 * 1000));
if($.cookie('subject').length)
console.log('Updating Cookie Value: "subject", "' + subject + '"');
$.cookie('subject', subject, path: '/', expires: date);
else
console.log('Setting Cookie Value: "subject", "' + subject + '"');
$.cookie('subject', subject, path: '/', expires: date);
, 3000);
);
如果你打算做很多,你可以用你自己的函数来扩展它。
function setCookie(k, v, e)
var check_cookie = $.cookie(k); // Get Cookie Value
var date = new Date();
var minutes = e || 60;
date.setTime(date.getTime() + (minutes * 60 * 1000));
if(check_cookie.length)
$.cookie(k, '', path: '/', expires: -1);
$.cookie(k, v, path: '/', expires: date);
function getCookie(k)
return $.cookie(k);
function deleteCookie(k)
$.cookie(k, '', path: '/', expires: -1);
希望对您有所帮助。
【讨论】:
以上是关于从浏览器中获取保存的价值的主要内容,如果未能解决你的问题,请参考以下文章