Cross-browser local storage Ⅰ

Cross-browser local storage Ⅰ

Original text: http://www.planabc.net/2008/08/05/userdata_behavior/
The most popular local storage nowadays is the application of cookies, but browsers have many restrictions on cookies. The biggest restriction is the total size of cookies, which is only about 4K (including name, value and equal sign).
For more complex applications and requirements, the 4K size is still a bit insignificant. In fact, many browsers (IE, Firefox, Safari) also provide their own local storage functions, which may meet our needs in specific environments.
1. userData behavior
Browser support: IE5.0 or above Basic syntax: XML:
<Prefix: CustomTag id=sID style=”behavior:url('#default#userData')” /> HTML:
<ELEMENT style=”behavior:url('#default#userData')” id=sID>
object.style.behavior = "url('#default#userData')" Script:
object.addBehavior("#default#userData")
Attribute: expires - Sets or gets the expiration date of the data saved by the userData behavior. XMLDocument -- Get a reference to the XML.
Method: getAttribute() - Gets the specified attribute value. load(object) – loads the stored object data from the userData storage area. removeAttribute() – Removes the specified attribute from an object. save(object) – stores the object data into a userData store. setAttribute() – Sets the specified attribute value.
Remark:
    For security reasons, a userData storage area can only be used to store data in the same directory and for the same protocol. Using userData behavior incorrectly may harm your application. Data in the userData storage area is not encrypted and therefore not secure. Any application that can access the UserData disk can access the data, so it is recommended not to save sensitive data, such as credit card numbers. For details: "Security Considerations: DHTML and Default Behaviors" userData behavior stores information in the storage area across sessions, which provides a dynamic data structure and larger capacity than cookies (generally 4KB). The capacity of the userData storage area depends on the security domain of the domain. The following table shows the maximum userData storage capacity, for both individual documents and for all documents in the entire domain, but based on security domains.
    Security Zone Document Limit (KB) Domain Limit (KB)
    Local achine 128 1024 Intranet 512 10240 Trusted Sites 128 1024 Internet 128 1024 Restricted 64 640 If you set the userData behavior to the html, head, title, or style objects, an error will occur when the save and load methods are called. If you must set it in style, you can set it inline or in the document header, for example:
    <style>
    .storeuserData {behavior:url(#default#userData);}
    </style>
    The ID is optional for the userData behavior, but will improve performance if included. userData can save data in XML format on the client computer, usually in the C (WIN system disk):\Documents and Settings\XXX\UserData\ folder. The userData data always exists unless it is manually deleted or the expiration date (expires) of the data is set by a script.

Mostly translated from: 《userData Behavior》

<<:  Docker image loading principle

>>:  Do you know what are the ways to jump routes in Vue?

Recommend

Complete steps to achieve high availability with nginx combined with keepalived

Preface In order to meet the high availability of...

CSS naming conventions (rules) worth collecting Commonly used CSS naming rules

CSS naming conventions (rules) Commonly used CSS ...

How to delete a MySQL table

It is very easy to delete a table in MySQL, but y...

Realization of real-time file synchronization between Linux servers

Usage scenarios For existing servers A and B, if ...

Monitor changes in MySQL table content and enable MySQL binlog

Preface binlog is a binary log file, which record...

Problems encountered by MySQL nested transactions

MySQL supports nested transactions, but not many ...

Implementation example of nginx access control

About Nginx, a high-performance, lightweight web ...

Introduction and use of triggers and cursors in MySQL

Trigger Introduction A trigger is a special store...

Basic knowledge of MySQL learning notes

View Database show databases; Create a database c...

Two ways to connect WeChat mini program to Tencent Maps

I've been writing a WeChat applet recently an...

In-depth analysis of the diff algorithm in React

Understanding of diff algorithm in React diff alg...

Tutorial on installing MySQL under Linux

Table of contents 1. Delete the old version 2. Ch...

A brief analysis of React Native startReactApplication method

In this article, we sorted out the startup proces...