html में छिपे इनपुट की लंबाई का अधिकतम आकार क्या है?


91

दूसरे शब्दों में:

<input type="hidden" value="Can I put as much as I want in here, or is there a limit?" />

और यदि हां, तो यह क्या है?


6
सबसे अच्छी पूछ विधि मैंने कभी देखी।
एंड्रेस मोरालेस

जवाबों:


58

यह आपके द्वारा फॉर्म भेजने की विधि पर निर्भर करता है।

GET के साथ, ब्राउज़र और सर्वर सीमाओं के आधार पर, लगभग 1-2 किलोबाइट की सीमा पर आमतौर पर सहमति होती है।

POST के साथ, ब्राउज़र में कोई तकनीकी सीमा नहीं है, लेकिन आमतौर पर सर्वर साइड में एक होता है - उदाहरण के लिए Apache's LimitRequestBody, PHP post_max_sizeइत्यादि।


पाठ इनपुट फ़ील्ड के लिए नीचे @naugtur द्वारा इंगित समस्याओं से सावधान रहें - कम से कम उन लोगों के लिए जो विभिन्न ब्राउज़रों द्वारा लगाए गए तकनीकी सीमाएं हैं।
ओलिवर

मैंने अभी कुछ कुछ वर्तमान ब्राउज़रों (IE9, FF 10 ESR, Chrome 24) पर कुछ परीक्षण चलाए और उन्होंने सभी को बिना किसी समस्या के 100KB के छिपे हुए इनपुट मानों को प्रस्तुत किया। तो पाठ इनपुट के साथ समस्याएँ यहाँ लागू नहीं होती हैं।
ओलिवर

कैसे के बारे में textarea?
फ्रांसिस्को कॉर्लेस मोरेल्स

@FranciscoCorralesMorales यह कोई फर्क नहीं पड़ता कि इनपुट फ़ील्ड किस प्रकार की है - क्या मायने रखता है अंतिम परिणाम, आपके द्वारा भेजे जा रहे सभी डेटा का योग
Pekka

मैंने पाया कि सफारी ने छिपे इनपुट को काट दिया। एक textarea के उपयोग से समस्या हल हो गई।
ब्रेंडन मुइर

29

चेतावनी! <input type="text">जब पाठ ६५५३५ से अधिक हो तब मुझे बहुत परेशानी होती है (अधिकतम हस्ताक्षरित अंतर आकार)

पाठ को चस्पा करना सामग्री के कुछ अजीब अतिप्रवाह का कारण बनता है। वेबकिट में देखा गया।

[संपादित करें]

GET अनुरोध का आकार ठीक उसी तरह से सीमित नहीं है जिस तरह से Pekka ने लिखा था। केवल Internet Exploreraddress?params में संपूर्ण GET क्वेरी स्ट्रिंग के लिए 2083 बाइट्स की सीमा है । अन्य ब्राउज़रों में व्यावहारिक रूप से कोई सीमा नहीं है, उदाहरण के लिए FireFox 100KB से अधिक के GET प्रश्न भेज रहा है। जाहिर है सर्वर को उन की अनुमति देनी होगी।

यह प्रलेखन में शामिल नहीं है, इसलिए किसी को अन्य ब्राउज़रों की सीमा जानने के लिए इसका परीक्षण करना होगा। IE: http://support.microsoft.com/kb/208427


8
+1 मैंने इस jsFiddle को यह परीक्षण करने के लिए बनाया है कि क्या होता है जब आप एक इनपुट मूल्य को बहुत लंबे स्ट्रिंग पर सेट करते हैं: jsfiddle.net/3TVPL/6 मैंने एक स्ट्रिंग का उपयोग किया है 65537 चार्ट लंबा। मेरे परीक्षण में विंडोज के लिए क्रोम 24.0.1312 और सफारी 5.1.7 दोनों उस स्ट्रिंग का मान सेट करने के बाद खाली के रूप में इनपुट बॉक्स दिखाते हैं। यदि मैं स्ट्रिंग को घटाकर 65536 वर्ण लंबा करता हूं, तो क्रोम उचित गैर-रिक्त मान दिखाता है। अन्य ब्राउज़रों (फ़ायरफ़ॉक्स 17, IE8, IE9, IE10, ओपेरा 12.12) में बहुत अधिक तार के साथ भी कोई समस्या नहीं थी (मैं लगभग 1.2 एमबी स्ट्रिंग तक चला गया)
बेलुगा

@ सबल महान कार्य। प्रदर्शन पर कोई विचार? मेरी कमजोर मशीन पर यह एक लंबा इंतजार था। मुझे लगता है कि यही कारण है कि वेबकिट प्रस्तुत नहीं करता है।
नौगटूर

अच्छी बात है, हो सकता है। मैंने इस समय कोई प्रदर्शन परीक्षण नहीं किया। मेरे पास काम करने के लिए एक सुंदर बीफ़-अप मशीन है और किसी भी ब्राउज़र में किसी भी देरी को नोटिस नहीं किया है।
बेलुगा

इसने मेरे FF को 5 मिनट के लिए अनुपयोगी बना दिया। इसे एक फॉर्म फील्ड में
रखना बहुत

मोबाइल ब्राउज़र और परदे के पीछे छिपे हुए क्षेत्रों को भी काट सकते हैं
जॉर्ज फिलिप्पोस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.