Est-il une limite à la longueur des attributs HTML?
Combien de temps est trop long pour une valeur d'attribut dans le HTML?
Je suis en utilisant HTML5 style attributs de données (data-foo="bar"
) dans une nouvelle application, et dans un endroit, il serait vraiment pratique pour stocker un juste whack de données (plus de 100 caractères). Bien que je soupçonne que ce montant est très bien, il soulève la question de combien est trop?
Pour plus d'informations, un autre attribut devrait être très longue est
iframe@srcdoc
(MDN https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe) [en HTML5.2 qui contient l'ensemble d'un document (j'ai entendu que vous avez aimé les documents (...))OriginalL'auteur nickf | 2009-09-30
Vous devez vous connecter pour publier un commentaire.
HTML 4
De HTML 4 point de vue, les attributs sont un document SGML construire. Leurs limites sont définies dans la Déclaration SGML HTML 4:
La valeur en question ici est "ATTSPLEN" qui serait à la limite sur un élément de la spécification d'attribut de la liste (qui devrait être la taille totale de tous les attributs de l'élément). La note ci-dessus mentionne que fixe des limites doit être évité, cependant, il est donc probable qu'il n'y a pas de limite autre que la mémoire disponible dans la plupart des implémentations.
HTML 5
HTML 5 semble être différent, comme le spec dit, "Cette version de HTML revient donc à un non-SGML."
Plus tard, lors de la description de comment analyser le HTML 5, le passage suivant s'affiche (accent ajouté):
Donc je suppose que c'est votre réponse.
OriginalL'auteur bobbymcr
Je viens de écrit un essai qui met une chaîne de caractères de longueur 10 millions de dans un attribut, puis récupère à nouveau, et il fonctionne très bien (Firefox 3.5.2 & Internet Explorer 7)
50 millions le navigateur de raccrocher avec le "Ce script est de prendre beaucoup de temps pour compléter le message".
ouais - j'étais juste montrer qu'il est pratiquement illimité.
J'ai juste modifié le script pour définir la taille à 50 millions de dollars et il a travaillé, mais un réglage à 100 millions de tués l'onglet dans google Chrome, avant j'ai même eu la chance de le tester. 😛
Il est pratiquement limitée(par exemple. en mémoire), mais théoriquement illimité 😉
OriginalL'auteur nickf
Je ne pense vraiment pas qu'il n'y a aucune limite. Je sais que maintenant vous pouvez le faire
et il fonctionne très bien. Bien qu'un peu illisible.
OriginalL'auteur priestc
De HTML5 syntaxe doc
Ici, il n'a pas mentionné une limite sur la taille de la valeur de l'attribut. Donc, je pense qu'il devrait y en avoir aucun.
Vous pouvez également valider votre document contre la
Validateur HTML5(Très Expérimental)
OriginalL'auteur rahul
Je n'ai jamais entendu de toute limite à la longueur des attributs.
Dans le code HTML 4.01 cahier des charges, la section sur les Attributs il n'y a rien qui mentionnent aucune limitation sur ce.
Même dans le DTD HTML 4.01 -- en fait, autant que je sache, les DTD ne vous permet pas de spécifier une longueur d'attributs.
Si il n'y a rien à ce sujet dans le HTML 4, je ne peux pas imaginer quelque chose comme ça semble pour le HTML 5 -- et en fait je ne vois pas de limitation de longueur dans le 9.1.2.3 Attributs section HTML 5.
OriginalL'auteur Pascal MARTIN
De http://dev.w3.org/html5/spec/Overview.html#embedding-custom-non-visible-data:
Ce qui est utilisé pour analyser/traitement de ces données, -* les valeurs d'attribut aura
les limites.
Il s'avère que les données d'attributs et de valeurs sont placées dans un DOMStringMap objet.
Cela n'a pas de limites inhérentes.
De http://dev.w3.org/html5/spec/Overview.html#domstringmap:
DOMStringMap est une interface avec un getter, setter, greator et de la deleter.
Le setter a deux paramètres de type DOMString, le nom et la valeur.
La valeur est de type DOMString qui est directement mappée à un JavaScript Chaîne.
De
http://bytes.com/topic/javascript/answers/92088-max-allowed-length-javascript-string:
[ note: le chrome est de reporting bytes.com en tant que source de logiciels malveillants alors, méfiez-vous ]
OriginalL'auteur
Le SGML Définit les attributs avec une limite de 65k charecters, vu ici:
http://www.highdots.com/forums/html/length-html-attribute-175546.html
Bien que pour ce que vous faites, vous devriez être bien.
Comme pour les limites supérieures, j'ai vu jQuery utiliser des attributs de données de tenir quelques k de données de vive voix.
OriginalL'auteur SuperRoach