2017 के लिए अद्यतन: ऐसा लगता है कि केटी के जवाब में खदान से अधिक अद्यतन जानकारी है। भविष्य के पाठक: उसके जवाब के लिए अपना वोट दें ।
यह एक महान प्रश्न है और जिसके लिए प्रलेखन आश्चर्यजनक रूप से कठिन है। दरअसल, कई मामलों में आप पाएंगे कि क्रोम ऑटोफिल कार्यक्षमता "बस काम करता है।" उदाहरण के लिए, HTML का निम्नलिखित स्निपेट एक ऐसा फॉर्म तैयार करता है, जो कम से कम मेरे लिए (Chrome v। 18), पहले फ़ील्ड में क्लिक करने के बाद स्वतः भर जाता है:
<!DOCTYPE html>
<html>
<body>
<form method="post">
First name:<input type="text" name="fname" /><br />
Last name: <input type="text" name="lname" /><br />
E-mail: <input type="text" name="email" /><br />
Phone: <input type="text" name="phone" /><br />
Address: <input type="text" name="address" /><br />
</form>
</body>
</html>
हालांकि, यह उत्तर असंतोषजनक है, क्योंकि यह "जादू" के दायरे में समाधान छोड़ देता है। गहरी खुदाई से मुझे पता चला है कि क्रोम (और अन्य ऑटोफिल-सक्षम ब्राउज़र) मुख्य रूप से डेटा के प्रकार को निर्धारित करने के लिए प्रासंगिक सुराग पर निर्भर करते हैं जिन्हें फॉर्म तत्वों में भरा जाना चाहिए। ऐसे संदर्भीय सुराग के उदाहरणों में name
एक इनपुट तत्व, तत्व के आसपास का पाठ और किसी भी प्लेसहोल्डर पाठ शामिल हैं।
हाल ही में, हालांकि, क्रोम टीम ने स्वीकार किया कि यह एक असंतोषजनक समाधान है, और उन्होंने इस मामले में मानकीकरण के लिए दबाव डालना शुरू कर दिया है। Google वेबमास्टर्स समूह की एक बहुत ही जानकारीपूर्ण पोस्ट ने हाल ही में इस मुद्दे पर चर्चा की, जिसमें बताया गया है:
दुर्भाग्य से, अब तक वेबमास्टरों के लिए यह सुनिश्चित करना मुश्किल हो गया है कि क्रोम और अन्य फॉर्म भरने वाले प्रदाता अपने फॉर्म को सही ढंग से पार्स कर सकते हैं। कुछ मानक मौजूद हैं; लेकिन वे वेबसाइट के कार्यान्वयन पर बहुत बोझ डालते हैं, इसलिए वे व्यवहार में बहुत अधिक उपयोग नहीं किए जाते हैं।
("मानक" वे संदर्भित करते हैं, अवलेन्चिस के उत्तर में उल्लिखित युक्ति का एक और हालिया सत्यापन है )।
Google पोस्ट उनके प्रस्तावित समाधान का वर्णन करता है (जो पोस्ट की टिप्पणियों में महत्वपूर्ण आलोचना से मिलता है)। वे इस उद्देश्य के लिए एक नई विशेषता के उपयोग का प्रस्ताव देते हैं:
बस इनपुट तत्व में एक विशेषता जोड़ें, उदाहरण के लिए एक ईमेल पता फ़ील्ड जैसा दिख सकता है:
<input type=”text” name=”field1” x-autocompletetype=”email” />
... जहां x-
"प्रयोगात्मक" के लिए खड़ा है और अगर यह एक मानक बन जाता है और हटा दिया जाएगा। अधिक विवरण के लिए पोस्ट पढ़ें , या यदि आप गहराई से खुदाई करना चाहते हैं, तो आपको व्हाट्सएप विकी पर प्रस्ताव का पूर्ण विवरण मिलेगा ।
अद्यतन:
जैसा कि इन व्यावहारिक जवाबों में बताया गया है , सामान्य क्षेत्रों को पहचानने / पहचानने के लिए क्रोम द्वारा उपयोग किए जाने वाले सभी नियमित अभिव्यक्ति मिल सकते हैं autofill_regex_constants.cc.utf8
। इसलिए मूल प्रश्न का उत्तर देने के लिए, बस यह सुनिश्चित करें कि आपके html फ़ील्ड्स के नाम इन अभिव्यक्तियों से मेल खाते हों। कुछ उदाहरणों में शामिल हैं:
- पहला नाम:
"first.*name|initials|fname|first$"
- अंतिम नाम:
"last.*name|lname|surname|last$|secondname|family.*name"
- ईमेल:
"e.?mail"
- पता पंक्ति 1):
"address.*line|address1|addr1|street"
- पिन कोड:
"zip|postal|post.*code|pcode|^1z$"