有没有办法访问某些浏览器中HTML输入字段下显示的自动填充建议(代表以前提交的数据)?这只适用于浏览器吗?
我问我想在javascript中创建自己的自动完成实现,但我想将自己的建议与用户之前的搜索混合在一起。有点像youtube(但youtube显然存储了所有数据,并且它与登录相关联,我的网站上没有帐户,也永远不会)。
我想知道是否有办法用存储在用户浏览器中的数据来做,而不是将所有数据存储在我的服务器上。是否有办法获取浏览器用于向用户显示先前输入的数据?
答案 0 :(得分:3)
表示以前提交的数据的html输入字段中显示的数据是否只对浏览器可用?
是 - 直到它出现在DOM中。
是否有办法获取浏览器用于向用户显示先前输入的数据?
这是特定于浏览器的功能,您无法直接访问数据[历史记录](Where do browsers save/store auto fill data)。你只能disable storing anything。
我问我想在javascript中创建自己的自动完成实现,但我想将自己的建议与用户之前的搜索混合在一起。我想知道是否有办法用存储在用户浏览器中的数据来做,而不是将所有数据存储在我的服务器上。
特别是如果您想利用之前的所有搜索,浏览器的自动填充功能无论如何都无法帮助您。但是,您可以手动将它们存储在浏览器中(在客户端):使用DOM Storage,例如localStorage
。虽然我只推荐sessionStorage
,但如果使用浏览器的每个人都能看到以前用户的搜索字词,则可能会遇到隐私问题...
答案 1 :(得分:0)
您可以使用jstorage。 Jstorage允许您在客户端存储多达5Mb的数据。
<script src="//cdnjs.cloudflare.com/ajax/libs/json2/20110223/json2.js"></script>
<script src="https://raw.github.com/andris9/jStorage/master/jstorage.js"></script>
<script>
/* $.jStorage is now available */
// store some data
$.jStorage.set('yourkey', 'whatever value');
// get the data back
value = $.jStorage.get('yourkey');
</script>
答案 2 :(得分:0)
我看到这个工作的唯一方法是在localStorage
(html5)问题的帮助下,它不起作用,即&lt; 8
以下是一个示例:http://jsfiddle.net/8NZY7/