वेबसाइटों को अपनी इच्छानुसार थोड़ा और कार्यशील बनाएं।
User Script कोड का एक छोटा टुकड़ा है जो मेल खाने वाले वेब पेजों के अंदर चलता है। कुछ पंक्तियों से प्रारंभ करें, एक उपयोगी परिवर्तन करें, फिर JavaScript केवल तभी सीखें जब आपको इसकी आवश्यकता हो।
इंटरनेट से कोड चलाने से पहले: इसे पढ़ें, समझें कि यह किन पेजों से मेल खाता है, स्टोरेज/नेटवर्क व्यवहार की जांच करें और नियंत्रित Profile में इसका परीक्षण करें। ये उदाहरण जानबूझकर पासवर्ड, कुकीज़ और सत्र डेटा से बचते हैं।
जीएम API उदाहरण पुस्तकालय
उपयोगी जीएम रेसिपी जिन्हें आप कॉपी कर सकते हैं, पढ़ सकते हैं और अपना सकते हैं।
प्रत्येक उदाहरण जानबूझकर छोटा है. एक समस्या से प्रारंभ करें, स्क्रिप्ट की प्रतिलिपि बनाएँ, प्रत्येक पंक्ति पढ़ें, फिर केवल चयनकर्ता, URLs या आपके द्वारा समझे जाने वाले लेबल बदलें।
// @grant GM_notificationfunction notifyReady(label) { GM_notification({ title: 'Social Browser User Script', text: `${label} is ready to review`, timeout: 5000 });}// Call this only after your script detects the result.notifyReady('The report');
कॉपी किया गया कोड चलाने से पहलेइसे पढ़ें, इसे संक्षिप्त करें @match नियम, प्रत्येक की समीक्षा करें @grant and @connect, और पहले इसे सुरक्षित Profile में परीक्षण करें।
User Scripts कोर्सपाठ्यक्रम सिंहावलोकन
एक पाठ चुनें या निर्देशित पाठ्यक्रम शुरू करें।
स्टार्टर · पाठ 1
User Script वास्तव में क्या है?
समय 5 मिनटलक्ष्य समझें कि User Scripts क्या बदल सकते हैं
एक User Script JavaScript है जो ब्राउज़र आपके लिए उन पृष्ठों पर चलता है जो आपके द्वारा चुने गए नियमों से मेल खाते हैं। पेज खुलने के बाद यह किसी वेबसाइट में छोटे-छोटे बदलाव कर सकता है: जानकारी को हाइलाइट करना, शॉर्टकट जोड़ना, अव्यवस्था छिपाना, बार-बार आने वाले फॉर्म की सहायता करना, या पेज की घटनाओं पर प्रतिक्रिया देना।
बिना स्क्रिप्ट के
पेज खोलें.
वही छोटा सा समायोजन करें.
अगली मुलाकात पर इसे दोहराएँ।
User Script के साथ
एक बार नियम बनाएं.
इसे सही पृष्ठों तक सीमित रखें।
उन पेजों के खुलने पर इसे स्वचालित रूप से चलने दें।
Social Browser के अंदर User Scripts उपयोगी क्यों हैं?
Social Browser लगातार ब्राउज़र Profiles के साथ User Scripts को जोड़ता है। एक Profile अपना स्वयं का सत्र, भंडारण, सेटिंग्स और स्क्रिप्ट रख सकता है, इसलिए एक छोटा अनुकूलन ब्राउज़र संदर्भ के करीब रह सकता है जहां आप वास्तव में इसका उपयोग करते हैं।
महत्वपूर्ण: एक User Script वेब पेजों के अंदर कोड चलाता है। केवल उन्हीं स्रोतों से स्क्रिप्ट इंस्टॉल करें जिन्हें आप समझते हैं और जिन पर आपको भरोसा है। एक उपयोगी स्क्रिप्ट पढ़ने में आसान, आवश्यक पृष्ठों तक सीमित और अक्षम करने में आसान होनी चाहिए।
स्टार्टर · पाठ 2
अपना पहला User Script बनाएं
समय 5-10 मिनटलक्ष्य एक छोटी स्क्रिप्ट चलाएँ और एक पृष्ठ परिवर्तन देखें
किसी हानिरहित और दृश्यमान चीज़ से शुरुआत करें। लक्ष्य संपूर्ण प्रवाह को सिद्ध करना है: बनाएं → सहेजें → सक्षम करें → एक मिलान पृष्ठ खोलें → परिणाम देखें।
1
User Scripts खोलें
Social Browser में अंतर्निहित User Script प्रबंधक खोलें और एक नई स्क्रिप्ट बनाएं।
2
इसे स्पष्ट नाम दें
ऐसे नाम का उपयोग करें जो बताता हो कि स्क्रिप्ट क्या करती है, जैसे Highlight Test Heading.
3
एक सुरक्षित परीक्षण पृष्ठ चुनें
उस पृष्ठ का उपयोग करें जिसे आप नियंत्रित करते हैं या एक हानिरहित पृष्ठ का उपयोग करें जहां प्रदर्शन बदलने से डेटा सबमिट नहीं होगा या कोई खाता नहीं बदलेगा।
मिलान पृष्ठ पुनः लोड करें. यदि शीर्षक को एक रूपरेखा मिलती है, तो आपकी पहली स्क्रिप्ट काम कर रही है।
शुरुआती नियम: एक स्क्रिप्ट, एक दृश्यमान परिणाम। 500-पंक्ति वाली स्क्रिप्ट की प्रतिलिपि बनाकर शुरुआत न करें जिसे आप समझा नहीं सकते।
स्टार्टर · पाठ 3
स्क्रिप्ट को केवल वहीं चलाएं जहां वह है
समय 5 मिनटलक्ष्य अनुमत और बहिष्कृत URL नियमों का सुरक्षित रूप से उपयोग करें
पृष्ठ मिलान सबसे महत्वपूर्ण User Script कौशलों में से एक है। एक स्क्रिप्ट जिसे एक डैशबोर्ड को अनुकूलित करना चाहिए, उसे आपके द्वारा देखी जाने वाली प्रत्येक वेबसाइट पर चलने के लिए अनुमति की आवश्यकता नहीं है।
1
URLs की अनुमति है
उन पृष्ठों का वर्णन करें जहां स्क्रिप्ट उपयोगी है।
2
URLs को बाहर रखा गया
उस क्षेत्र के अंदर पृष्ठों को ब्लॉक करें जहां स्क्रिप्ट निष्क्रिय रहनी चाहिए।
3
दोनों पक्षों का परीक्षण करें
नियम पर भरोसा करने से पहले एक मेल खाने वाला पृष्ठ और एक गैर-मिलान वाला पृष्ठ खोलें।
चरण 1 पूर्णयदि आपकी स्क्रिप्ट केवल आपके इच्छित पृष्ठ पर चलती है, तो आप कुछ उपयोगी बनाने के लिए तैयार हैं।
बिल्डर · पाठ 4
JavaScript जिसकी आपको वास्तव में सबसे पहले आवश्यकता है
समय 10 मिनटलक्ष्य सरल पृष्ठ तत्वों को पढ़ें और बदलें
उपयोगी User Scripts बनाने के लिए आपको संपूर्ण JavaScript भाषा की आवश्यकता नहीं है। चार विचारों से प्रारंभ करें: एक तत्व ढूंढें, एक मान पढ़ें, कुछ बदलें, और किसी घटना पर प्रतिक्रिया दें।
जरुरत
सरल JavaScript
एक तत्व खोजें
document.querySelector('.price')
इसका पाठ पढ़ें
element.textContent
पाठ बदलें
element.textContent = 'Done'
एक शैली बदलें
element.style.fontWeight = '700'
एक क्लिक पर प्रतिक्रिया दें
button.addEventListener('click', handler)
उपयोग करने से पहले हमेशा जांच लें कि कोई तत्व मौजूद है या नहीं। वेबसाइटें बदल जाती हैं, और एक गायब तत्व से पूरी स्क्रिप्ट क्रैश नहीं होनी चाहिए।
बिल्डर · पाठ 5
विभिन्न कार्यों के लिए JavaScript, CSS और HTML का उपयोग करें
समय 8 मिलक्ष्य पृष्ठ परिवर्तन के लिए सबसे सरल उपकरण चुनें
JS
JavaScript
इसका उपयोग तर्क, घटनाओं, मूल्यों को पढ़ने और व्यवहार में बदलाव के लिए करें।
CSS
CSS
दिखावे के लिए इसका उपयोग करें: दृश्य तत्वों को छुपाएं, आकार बदलें, हाइलाइट करें या पुनर्व्यवस्थित करें।
HTML
HTML
इसका उपयोग तब करें जब स्क्रिप्ट को एक छोटे सहायक पैनल, लेबल या नियंत्रण की आवश्यकता हो।
पृष्ठ परिवर्तन छोटे रखें: किसी स्क्रिप्ट के अंदर वेबसाइट इंटरफ़ेस को फिर से बनाने की तुलना में एक हेल्पर बॉक्स को जोड़ना आसान है।
बिल्डर · पाठ 6
अंतर्निहित स्क्रिप्ट प्रबंधक का उपयोग करें
समय 7 मिनटलक्ष्य आत्मविश्वास से स्क्रिप्ट बनाएं, ढूंढें, सक्षम करें और संपादित करें
स्क्रिप्ट मैनेजर वह जगह है जहां पुन: प्रयोज्य स्क्रिप्ट व्यवस्थित रहनी चाहिए। स्पष्ट नामों का उपयोग करें, अक्षम प्रयोगों को कार्यशील स्क्रिप्ट से अलग रखें, और जब आप किसी पृष्ठ को डीबग कर रहे हों तो स्क्रिप्ट को बंद करना आसान बनाएं।
एक स्क्रिप्ट बनाएं और संपादित करें.
इसे खोजें या स्पष्ट नाम से पहचानें।
इसे हटाए बिना इसे सक्षम या अक्षम करें।
JavaScript, CSS, HTML और URL नियमों की एक साथ समीक्षा करें।
प्रयोगात्मक स्क्रिप्ट को स्पष्ट रूप से परीक्षण के नाम से रखें।
बिल्डर · पाठ 7
इंटरनेट को विश्वसनीय कोड माने बिना स्क्रिप्ट आयात करें
समय 8 मिलक्ष्य किसी फ़ाइल या URL से आयात करें और सक्षम करने से पहले समीक्षा करें
Social Browser मैन्युअल रूप से स्क्रिप्ट बना सकता है या उन्हें फ़ाइल से आयात कर सकता है या URL को निर्देशित कर सकता है। यह सामान्य User Script इंस्टॉलेशन प्रवाह को भी पहचान सकता है। आयात करना सुविधाजनक है, लेकिन सुविधा भरोसे के समान नहीं है।
1
स्रोत जानिए
आपके द्वारा लिखे गए कोड, आपकी टीम के स्वामित्व वाले कोड या ऐसे स्रोत को प्राथमिकता दें जिसे आप सत्यापित कर सकें।
2
मेटाडेटा पढ़ें
नाम, मिलान URLs और निष्पादन व्यवहार की जाँच करें।
3
कोड की समीक्षा करें
अनपेक्षित नेटवर्क अनुरोधों, छिपी हुई फ़ॉर्म कार्रवाइयों, भंडारण पहुंच या व्यापक पृष्ठ मिलान की तलाश करें।
4
सुरक्षित Profile में परीक्षण करें
किसी महत्वपूर्ण ब्राउज़र सत्र में इसका उपयोग करने से पहले इसे नियंत्रित पृष्ठ पर सक्षम करें।
बिल्डर · पाठ 8
मेटाडेटा ब्राउज़र को बताता है कि स्क्रिप्ट कैसे चलनी चाहिए
समय 8 मिलक्ष्य कोड के आसपास की सेटिंग्स को समझें
एक उपयोगी User Script, JavaScript से अधिक है। Social Browser स्क्रिप्ट जानकारी जैसे शीर्षक/नाम, अनुमत और बहिष्कृत URLs, मेनू दृश्यता, विंडो/फ़्रेम स्कोप, स्वचालित निष्पादन और प्रीलोड-स्टेज निष्पादन का उपयोग कर सकता है।
सेटिंग
प्रश्न यह उत्तर देता है
नाम/शीर्षक
यह स्क्रिप्ट क्या करती है?
URLs की अनुमति है
यह कहाँ चल सकता है?
URLs को बाहर रखा गया
इसे कहाँ नहीं चलना चाहिए?
विंडो/फ़्रेम दायरा
किस दस्तावेज़ संदर्भ को इसे प्राप्त करना चाहिए?
स्वचालित निष्पादन
क्या इसे मैन्युअल मेनू क्रिया के बिना चलना चाहिए?
प्रीलोड चरण
क्या इसे पेज लोडिंग पहले शुरू करने की आवश्यकता है?
मेनू दृश्यता
क्या उपयोगकर्ता को इसे स्क्रिप्ट मेनू से ट्रिगर करने में सक्षम होना चाहिए?
प्रतिक्रिया · पाठ 9
पेज को लगातार जांचने के बजाय उस पर प्रतिक्रिया दें
समय 8 मिलक्ष्य सरल इंटरैक्शन के लिए DOM इवेंट्स का उपयोग करें
पेज पहले से ही ईवेंट उत्पन्न करते हैं: क्लिक, इनपुट परिवर्तन, फ़ोकस, नेविगेशन और बहुत कुछ। आपके लिए आवश्यक ईवेंट को सुनना आम तौर पर तेज़ लूप चलाने की तुलना में अधिक साफ़ होता है जो पूरे पृष्ठ की बार-बार जाँच करता है।
प्रदर्शन नियम: स्थायी उच्च-आवृत्ति टाइमर के स्थान पर किसी घटना या बाध्य पर्यवेक्षक को प्राथमिकता दें।
प्रतिक्रिया · पाठ 10
लोड होने के बाद बदलने वाले पेजों को संभालें
समय 10 मिनटलक्ष्य विलंबित और पुनः प्रस्तुत किए गए तत्वों के साथ कार्य करें
आधुनिक वेबसाइटें अक्सर प्रथम पृष्ठ लोड होने के बाद सामग्री प्रस्तुत करती हैं। यदि आपका लक्ष्य तत्व अभी तक मौजूद नहीं है, तो स्क्रिप्ट इसके लिए प्रतीक्षा कर सकती है या परिवर्तनों के लिए पृष्ठ के एक विशिष्ट भाग का निरीक्षण कर सकती है।
मनमाने ढंग से लंबी देरी से बचें. हर जगह पांच सेकंड प्रतीक्षा करने से समस्या छिप सकती है लेकिन स्क्रिप्ट धीमी और अविश्वसनीय हो जाती है। उस चीज़ की प्रतीक्षा करें जिसकी आपको वास्तव में आवश्यकता है, और एक उचित सीमा के बाद प्रतीक्षा करना बंद कर दें।
प्रतिक्रिया · पाठ 11
छोटी प्राथमिकताएँ सहेजें, रहस्य नहीं
समय 7 मिनटलक्ष्य हानिरहित स्क्रिप्ट सेटिंग्स याद रखें
एक स्क्रिप्ट को हानिरहित प्राथमिकता को याद रखने की आवश्यकता हो सकती है जैसे कि क्या सहायक पैनल ढह गया है या आपने कौन सा डिस्प्ले मोड चुना है। ब्राउज़र संग्रहण मदद कर सकता है, लेकिन संवेदनशील खाता जानकारी, पासवर्ड, 2FA रहस्य और सत्र सामग्री को स्क्रिप्ट के अंदर यूं ही संग्रहीत नहीं किया जाना चाहिए।
अच्छा प्राथमिकता डेटा
पैनल खुला/बंद.
प्रति पृष्ठ पंक्तियाँ.
प्रदर्शन विकल्प.
संवेदनशील बनकर व्यवहार करें
पासवर्ड.
2एफए रहस्य.
सत्र/कुकी सामग्री.
प्रतिक्रिया · पाठ 12
पहले पृष्ठ डेटा पढ़ें; आवश्यकता पड़ने पर ही अन्य डेटा का अनुरोध करें
समय 8 मिलक्ष्य डेटा पहुंच को सरल और समझने योग्य रखें
यदि जानकारी पहले से ही पृष्ठ में है, तो इसे DOM से पढ़ें। यदि आपकी स्क्रिप्ट को वास्तव में किसी अन्य वेब संसाधन की आवश्यकता है, तो सामान्य ब्राउज़र नेटवर्किंग नियम अभी भी मायने रखते हैं। अपने कोड में अनुरोधों को दृश्यमान रखें और पेज/खाता डेटा को ऐसी जगह भेजने से बचें जिसकी उपयोगकर्ता को उम्मीद नहीं थी।
सरल नियम: यदि स्क्रिप्ट पेज से बाहर डेटा भेजती है, तो समीक्षक को स्पष्ट रूप से दिखना चाहिए कि क्या भेजा जा रहा है और क्यों।
एकीकृत करें · पाठ 13
User Scripts लगातार Profiles के साथ अधिक उपयोगी हो जाता है
समय 8 मिलक्ष्य अलग-अलग ब्राउज़र संदर्भों में स्क्रिप्ट व्यवहार को समझें
एक Social Browser Profile अपना स्वयं का ब्राउज़र संदर्भ रखता है। इसका मतलब है कि आप जहां उपयुक्त हो, उसी स्क्रिप्टिंग विचार का पुन: उपयोग करते हुए खाता सत्र और पृष्ठ स्थिति को अलग रख सकते हैं। विशिष्ट Profile संदर्भ में एक स्क्रिप्ट का परीक्षण करें जहां यह वास्तव में चलेगी।
प्रोफ़ाइल→मिलान पृष्ठ→User Script→छोटे पृष्ठ में सुधार
यह न मानें कि एक स्क्रिप्ट जो एक वेबसाइट स्थिति में काम करती है वह स्वचालित रूप से प्रत्येक Profile में काम करेगी। अलग-अलग सत्र अलग-अलग लेआउट, अनुमतियाँ या सामग्री दिखा सकते हैं।
एकीकृत करें · पाठ 14
फ़्रेम और समय: सही समय पर सही दस्तावेज़ में चलाएँ
समय 10 मिनटलक्ष्य दायरा और निष्पादन समय सोच-समझकर चुनें
एक पृष्ठ में मुख्य दस्तावेज़ के अलावा एक या अधिक फ़्रेम हो सकते हैं। एक स्क्रिप्ट को सामान्य स्वचालित निष्पादन या पहले प्रीलोड चरण की भी आवश्यकता हो सकती है। ये विकल्प अलग-अलग समस्याओं का समाधान करते हैं, इसलिए एक तत्व गायब होने पर उन सभी को न बदलें।
दायरा
मुख्य पृष्ठ या फ़्रेम?
पहचानें कि वास्तव में किस दस्तावेज़ में तत्व शामिल है।
समय
सामान्य या प्रीलोड?
केवल तभी जल्दी शुरू करें जब स्क्रिप्ट को वास्तव में आरंभीकरण को प्रभावित करने की आवश्यकता हो।
गतिशील
बाद में प्रस्तुत किया गया?
यदि पृष्ठ बाद में तत्व बनाता है, तो आँख मूंदकर दायरा बदलने के बजाय गतिशील सामग्री को संभालें।
एकीकृत करें · पाठ 15
बिना अनुमान लगाए User Script को डीबग करें
समय 10 मिनटलक्ष्य पता लगाएं कि समस्या मिलान, समय, कोड या वेबसाइट की है या नहीं
1
पुष्टि करें कि स्क्रिप्ट सक्षम है
उस कोड को डीबग न करें जो वर्तमान में अक्षम है।
2
URL मिलान की पुष्टि करें
अनुमत और बहिष्कृत नियमों की जाँच करें।
3
स्पष्ट कंसोल संदेश जोड़ें
स्क्रिप्ट शुरू होने पर और जिस ऑपरेशन का आप परीक्षण कर रहे हैं उससे पहले लॉग इन करें।
4
लक्ष्य तत्व की जाँच करें
देखें कि क्या यह अभी तक मौजूद है और क्या पेज ने इसे दोबारा प्रस्तुत किया है।
5
स्क्रिप्ट अक्षम करें और तुलना करें
यदि पृष्ठ समस्या अक्षम करने के बाद भी बनी रहती है, तो स्क्रिप्ट इसका कारण नहीं हो सकती है।
चरण 4 पूर्णअब आप Social Browser के अंदर सामान्य User Scripts बना सकते हैं, स्कोप कर सकते हैं और डीबग कर सकते हैं।
उन्नत · पाठ 16
ऐसी स्क्रिप्ट लिखें जिन पर भरोसा करना और बनाए रखना आसान हो
समय 10 मिनटलक्ष्य अनावश्यक पहुंच और छिपे हुए व्यवहार को कम करें
केवल उन्हीं पृष्ठों का मिलान करें जिनकी स्क्रिप्ट को आवश्यकता है।
गैर-स्पष्ट व्यवहार के लिए स्पष्ट नामों और टिप्पणियों का उपयोग करें।
कोड में नेटवर्क गंतव्यों को दृश्यमान रखें।
संवेदनशील खाता जानकारी संग्रहीत करने से बचें.
जब पर्यवेक्षकों और टाइमर की आवश्यकता न रह जाए तो उन्हें रोक दें।
अस्पष्ट सहायक कार्यों के पीछे महत्वपूर्ण दुष्प्रभावों को न छिपाएं।
महत्वपूर्ण सत्रों से पहले सुरक्षित Profile में परिवर्तनों का परीक्षण करें।
स्क्रिप्ट को अक्षम करने का एक त्वरित तरीका रखें.
उन्नत · पाठ 17
व्यावहारिक User Script रेसिपी
समय 15 मिलक्ष्य छोटे पुन: प्रयोज्य पैटर्न से शुरुआत करें
नुस्खा 1 · महत्वपूर्ण मूल्यों पर प्रकाश डालेंशुरुआती
एक विशिष्ट पृष्ठ का मिलान करें.
मूल्य तत्व खोजें.
एक CSS वर्ग या शैली जोड़ें।
यदि तत्व गायब हैं तो कुछ न करें।
रेसिपी 2 · एक पेज शॉर्टकट जोड़ेंशुरुआती
एक छोटा सहायक बटन बनाएं.
इसे संबंधित क्षेत्र के पास डालें।
इसके क्लिक को सुनें.
एक स्थानीय पृष्ठ क्रिया निष्पादित करें.
नुस्खा 3 · डैशबोर्ड साफ़ करेंइंटरमीडिएट
केवल स्पष्ट रूप से पहचाने गए दृश्य अव्यवस्था को छिपाएँ।
मुख्य पृष्ठ नियंत्रणों को अछूता रखें.
यदि उपयोगी हो तो एक हानिरहित प्रदर्शन प्राथमिकता सहेजें।
पकाने की विधि 4 · बार-बार फॉर्म की सहायता करेंइंटरमीडिएट
फॉर्म का पता लगाएं.
केवल गैर-संवेदनशील दोहराए गए मान भरें जिनकी उपयोगकर्ता अपेक्षा करता है।
जब तक वर्कफ़्लो को स्पष्ट रूप से स्वचालन की आवश्यकता न हो, अंतिम सबमिट निर्णय को उपयोगकर्ता के लिए दृश्यमान छोड़ दें।
पकाने की विधि 5 · गतिशील सामग्री की प्रतीक्षा करेंइंटरमीडिएट
तत्व के लिए एक बार देखो.
यदि गायब है, तो एक संकीर्ण मूल क्षेत्र का निरीक्षण करें।
तत्व प्रकट होने के बाद या समय समाप्त होने के बाद अवलोकन करना बंद कर दें।
उन्नत · पाठ 18
User Script, Automation Studio, या दोनों?
समय 8 मिलक्ष्य कार्य के लिए सबसे सरल उपकरण चुनें
मैं चाहता हूँ...
से शुरू करें…
जब भी मैं कोई मेल खाता पृष्ठ खोलूं तो उसका स्वरूप या व्यवहार बदल दें
User Script
एक छोटा पृष्ठ सहायक या शॉर्टकट जोड़ें
User Script
एक आदेशित बहु-चरणीय ब्राउज़र प्रक्रिया चलाएँ
Automation Studio Workflow
Profiles पर या एक शेड्यूल पर समान प्रक्रिया चलाएँ
Automation Studio
ऑटोमेशन Workflow चलते समय सहायक पृष्ठ अनुकूलन रखें
User Script + Automation Studio
बड़े वर्कफ़्लो के अंदर कस्टम पेज लॉजिक की आवश्यकता है
सबसे सरल समर्थित संयोजन का उपयोग करें और जिम्मेदारियों को स्पष्ट रखें
अच्छी वास्तुकला उबाऊ है: User Script में लगातार पेज अनुकूलन और Automation Studio में वर्कफ़्लो ऑर्केस्ट्रेशन रखें। यदि स्टूडियो पहले से ही वर्कफ़्लो सुविधा प्रदान करता है तो एक विशाल स्क्रिप्ट को संपूर्ण स्वचालन प्रणाली में न बदलें।
जीएम API संदर्भ
Social Browser में GM APIs - पहले उपयोग से लेकर उन्नत स्क्रिप्ट तक
इसका प्रयोग कब करें सादा पृष्ठ JavaScript पर्याप्त नहीं हैलक्ष्य ब्राउज़र-स्तरीय स्क्रिप्ट क्षमताओं का सुरक्षित रूप से उपयोग करें
GM APIs एक User Script क्षमताएं देते हैं जो सामान्य पृष्ठ JavaScript में हमेशा नहीं होती हैं, जैसे स्क्रिप्ट-स्कोप्ड स्टोरेज, क्रॉस-ऑरिजिन अनुरोध, नोटिफिकेशन, डाउनलोड, क्लिपबोर्ड एक्सेस, संसाधन और स्क्रिप्ट मेनू कमांड। Social Browser में, एक स्पष्ट @grant स्क्रिप्ट को केवल वही क्षमताएँ प्राप्त होती हैं जो वह माँगती है।
श्रेणी के आधार पर ब्राउज़ करें या API नाम से खोजें।
छोटी शुरुआत करें: प्रत्येक को न जोड़ें @grant पंक्ति "बस मामले में।" केवल उन्हीं APIs के लिए पूछें जिनका स्क्रिप्ट वास्तव में उपयोग करती है। इससे स्क्रिप्ट को समझना, समीक्षा करना और भरोसा करना आसान हो जाता है।
नई स्क्रिप्ट के लिए, आपके द्वारा उपयोग किए जाने वाले प्रत्येक विशेषाधिकार प्राप्त API की घोषणा करें। Social Browser एक अलग User Script दुनिया में स्पष्ट अनुदान के साथ स्क्रिप्ट चलाता है और केवल अनुरोधित क्षमताओं को पूरा करता है। के साथ एक स्क्रिप्ट @grant none जीएम क्षमताओं के बिना चलता है।
Social Browser परिचित क्लासिक नामों और उनके आधुनिक नामों का समर्थन करता है GM.* मुख्य GM capability set के लिए फ़ॉर्म। आधुनिक फ़ॉर्म Promise-अनुकूल है, इसलिए इसका उपयोग करें await. प्रति स्क्रिप्ट एक शैली चुनें और सुसंगत रहें।
जब आपको वर्तमान स्क्रिप्ट, संस्करण, अनुदान, मिलान या Social Browser रनटाइम जानकारी का निरीक्षण करने की आवश्यकता हो तो स्क्रिप्ट जानकारी का उपयोग करें। जब तक आपको वास्तव में संगतता तर्क की आवश्यकता न हो, संस्करण स्ट्रिंग्स के आसपास हार्ड-कोड व्यवहार न करें।
जीएम स्टोरेज को सामान्य पेज स्टोरेज के बजाय User Script तक सीमित कर दिया गया है। यह हानिरहित प्राथमिकताओं, काउंटरों और स्क्रिप्ट स्थिति के लिए आदर्श है। इसे पासवर्ड, 2एफए रहस्य, कुकीज़ या सत्र सामग्री के लिए आकस्मिक वॉल्ट के रूप में उपयोग न करें।
API
यह क्या करता है
विशिष्ट परिणाम
GM_getValue(key, defaultValue)
एक सहेजा गया मान पढ़ें.
सहेजा गया मान या आपका डिफ़ॉल्ट.
GM_setValue(key, value)
एक मान सहेजें.
Updates script-scoped storage.
GM_deleteValue(key)
एक मान हटाएँ.
कुंजी गायब हो जाती है.
GM_listValues()
सहेजी गई कुंजियों की सूची बनाएं.
प्रमुख नामों की एक श्रृंखला.
GM_getValues(...)
कई मूल्यों को एक साथ पढ़ें.
मूल्यों की एक वस्तु.
GM_setValues(object)
कई मान एक साथ सहेजें.
Updates each supplied key.
GM_deleteValues(keys)
अनेक कुंजियाँ हटाएँ.
सूचीबद्ध मान हटा देता है.
JavaScript · उपयोगकर्ता प्राथमिकताएँ सहेजें
// @grant GM_getValue// @grant GM_setValue// @grant GM_deleteValueconst settings = GM_getValue('settings', { compact: true, rowsPerPage: 25});settings.rowsPerPage = 50;GM_setValue('settings', settings);// Reset later if the user asks for defaults.// GM_deleteValue('settings');
मूल्य परिवर्तन देखें
GM_addValueChangeListener तब उपयोगी होता है जब एक ही स्क्रिप्ट एक से अधिक फ्रेम या टैब में खुली हो। कॉलबैक प्राप्त होता है (name, oldValue, newValue, remote). Social Browser में, मूल्य-परिवर्तन ईवेंट एक ही Profile/सत्र में फ़्रेम/टैब पर सिंक्रनाइज़ हो सकते हैं।
JavaScript · भंडारण श्रोता
// @grant GM_addValueChangeListener// @grant GM_removeValueChangeListenerconst listenerId = GM_addValueChangeListener( 'displayMode', (name, oldValue, newValue, remote) => { console.log({ name, oldValue, newValue, remote }); });// Remove it when you no longer need it.// GM_removeValueChangeListener(listenerId);
पेज सहायक
शैलियाँ या छोटे तत्व जोड़ें
GM_addStyle(css) / GM.addStyle(css)
इसका उपयोग तब करें जब पृष्ठ अनुकूलन अधिकतर दृश्यमान हो। यह कई व्यक्तियों को स्थापित करने की तुलना में अधिक स्वच्छ है element.style गुण.
के साथ विशेषाधिकार प्राप्त अनुरोध करें GM_xmlhttpRequest
सामान्य पृष्ठ fetch() पृष्ठ के सामान्य ब्राउज़र/सीओआरएस नियमों द्वारा नियंत्रित किया जाता है। Social Browser का GM अनुरोध API एक समर्पित ब्राउज़र-प्रक्रिया अनुरोध चैनल का उपयोग करता है। अनुरोध भेजने से पहले, उसके गंतव्य को स्क्रिप्ट के विरुद्ध जांचा जाता है @connect नियम.
नेटवर्क पहुंच समीक्षा की पात्र है. गंतव्यों को संकीर्ण और दृश्यमान रखें। खाता/पेज डेटा कभी भी ऐसी सेवा पर न भेजें जिसकी उपयोगकर्ता को अपेक्षा न हो।
अनुरोध API सामान्य अनुरोध कॉलबैक का समर्थन करता है और एक हैंडल लौटाता है जिसे निरस्त किया जा सकता है। तब भी टाइमआउट का उपयोग करें जब आप गर्भपात का भी समर्थन करते हों।
JavaScript · कॉलबैक + निरस्त करें
// @connect api.example.com// @grant GM_xmlhttpRequestconst request = GM_xmlhttpRequest({ url: 'https://api.example.com/slow-report', timeout: 15000, onload(response) { console.log('Loaded:', response.status); }, onerror(error) { console.error('Request failed:', error); }, ontimeout() { console.warn('Request timed out'); }, onabort() { console.log('Request aborted'); }});// Cancel only if your script no longer needs the result.// request.abort();
आधुनिक रूप:GM.xmlHttpRequest(...) and GM.xmlhttpRequest(...) समान अनुरोध क्षमता पर मैप करें।
संसाधन
पुन: प्रयोज्य पाठ, CSS या अन्य संपत्तियों को बंडल करें
के साथ संपत्ति की घोषणा करें @resource, फिर इसे नाम से पढ़ें। GM_getResourceText returns decoded text. GM_getResourceURL ऐसा data URL लौटाता है जो response MIME type को सुरक्षित रखता है।
ये APIs टैब से जुड़ी छोटी User Script स्थिति को संग्रहीत करते हैं। वे तब उपयोगी होते हैं जब किसी स्क्रिप्ट को यह याद रखने की आवश्यकता होती है कि कौन सा चरण या दृश्य वैश्विक स्क्रिप्ट प्राथमिकताओं के साथ मिश्रण किए बिना किसी विशेष टैब से संबंधित है।
उपयोगकर्ता को वास्तव में जिस चीज़ पर ध्यान देना चाहिए उसके लिए एक ब्राउज़र अधिसूचना दिखाएं। नियमित स्क्रिप्ट गतिविधि के लिए अधिसूचना स्पैम से बचें।
JavaScript · अधिसूचना
// @grant GM_notificationawait GM_notification({ title: 'Report ready', text: 'The page data is ready to review.'});
GM_setClipboard(data, type)
टेक्स्ट को क्लिपबोर्ड पर कॉपी करें (या अनुरोध किए जाने पर HTML)। जब संभव हो तो स्पष्ट उपयोगकर्ता कार्रवाई के बाद इसका उपयोग करें, ताकि उपयोगकर्ता समझ सके कि उनका क्लिपबोर्ड क्यों बदला गया।
User Script मेनू में एक कमांड पंजीकृत करें। यह कार्यों के लिए एक अच्छा पैटर्न है जो केवल तभी होना चाहिए जब उपयोगकर्ता स्पष्ट रूप से उनके लिए पूछे।
JavaScript · मेनू कमांड
// @grant GM_registerMenuCommand// @grant GM_unregisterMenuCommandconst commandId = GM_registerMenuCommand( 'Highlight overdue rows', () => { document.querySelectorAll('.row.overdue').forEach((row) => { row.style.fontWeight = '700'; }); });// Remove the menu item later if the script no longer needs it.// GM_unregisterMenuCommand(commandId);
GM_download
Social Browser के माध्यम से डाउनलोड प्रारंभ करें। फ़ाइल को एक स्पष्ट नाम दें और इसका उपयोग केवल तभी करें जब डाउनलोड करना स्क्रिप्ट के दृश्य उद्देश्य का हिस्सा हो।
unsafeWindow: आवश्यक होने पर ही पेज ग्लोबल्स पर ब्रिज करें
स्पष्ट-अनुदान User Scripts आम तौर पर एक अलग दुनिया में चलता है। unsafeWindow पेज की मुख्य दुनिया में ग्लोबल्स के लिए एक ऑप्ट-इन ब्रिज है। इसका उपयोग केवल तभी करें जब वेबसाइट एक पेज वेरिएबल या फ़ंक्शन को उजागर करती है जिस तक सामान्य पृथक स्क्रिप्ट पहुंच नहीं हो सकती है।
संकीर्ण रूप से उपयोग करें: पेज ग्लोबल्स वेबसाइट से संबंधित हैं और बिना किसी सूचना के बदल सकते हैं। जब वे समस्या का समाधान करें तो सामान्य DOM APIs को प्राथमिकता दें।
बिना किसी जीएम क्षमता इंजेक्शन के सटीक लक्ष्य फ्रेम की मुख्य दुनिया में चलता है।
एक या अधिक स्पष्ट @grants
एक नियतात्मक पृथक User Script दुनिया में चलता है; केवल अनुरोधित क्षमताओं को पूरा किया जाता है।
No @grant मेटाडेटा
लीगेसी MAIN-विश्व संगतता मोड मौजूदा Social Browser स्क्रिप्ट के लिए बरकरार रखा गया है।
पूरा उदाहरण
एक छोटी स्क्रिप्ट जो स्टोरेज, स्टाइल, मेनू कमांड और क्लिपबोर्ड को जोड़ती है
यह उदाहरण जानबूझकर छोटा रहता है. यह याद रखता है कि हाइलाइटिंग सक्षम है या नहीं, एक शैली नियम जोड़ता है, उपयोगकर्ता को इसे User Script मेनू से टॉगल करने देता है, और केवल पूछे जाने पर दृश्यमान पृष्ठ मान की प्रतिलिपि बनाता है।
यह मार्गदर्शिका उन क्षमताओं पर केंद्रित है जो Social Browser की वर्तमान स्पष्टता का हिस्सा हैं @grant ब्रिज: भंडारण, मूल्य-परिवर्तन श्रोता, शैलियाँ/तत्व, विशेषाधिकार प्राप्त अनुरोध, संसाधन, टैब, सूचनाएं, क्लिपबोर्ड, डाउनलोड, मेनू कमांड, GM_info and unsafeWindow.
कुछ विरासत/आंतरिक नाम पिछड़ी संगतता के लिए मौजूद हो सकते हैं, लेकिन उन्हें जानबूझकर यहां अनुशंसित सार्वजनिक APIs के रूप में प्रस्तुत नहीं किया जाता है जब तक कि वे स्पष्ट क्षमता अनुबंध का हिस्सा न हों। यह आकस्मिक कार्यान्वयन विवरण सिखाने के बजाय नई स्क्रिप्ट को स्थिर पथ पर रखता है।
User Scripts त्वरित संदर्भ खोलेंजरूरत पड़ने पर खोलें
Social Browser में स्क्रिप्ट क्षमताएं
Capability
प्रयोजन
नाम/शीर्षक
स्क्रिप्ट को स्पष्ट रूप से पहचानें.
URLs की अनुमति है
चुनें कि यह कहाँ चल सकता है।
URLs को बाहर रखा गया
विशिष्ट पृष्ठों को निष्पादन से रोकें।
JavaScript
तर्क और पृष्ठ व्यवहार जोड़ें.
CSS
पृष्ठ का स्वरूप बदलें.
HTML
छोटे पृष्ठ इंटरफ़ेस तत्व जोड़ें.
मेनू दृश्यता
नियंत्रित करें कि क्या यह उपयोगकर्ता-ट्रिगर स्क्रिप्ट क्रिया के रूप में प्रकट होता है।
विंडो/फ़्रेम दायरा
चुनें कि कौन सा दस्तावेज़ संदर्भ स्क्रिप्ट प्राप्त करता है।
स्वचालित निष्पादन
मेल खाने वाले पृष्ठों पर स्वचालित रूप से चलाएँ.
प्रीलोड-स्टेज निष्पादन
जब स्क्रिप्ट को इसकी आवश्यकता हो तो पहले शुरू करें।
फ़ाइल / URL से आयात करें
मौजूदा स्क्रिप्ट्स को मैनेजर में लाएँ।
सामान्य User Script मेटाडेटा
जहां समर्थित हो वहां परिचित मेटाडेटा सम्मेलनों का उपयोग करें।
शब्दावली
User Script
JavaScript, वैकल्पिक रूप से CSS/HTML के साथ, जो चयनित ब्राउज़र पृष्ठों में चलता है।
मिलान नियम
एक नियम जो URLs को स्क्रिप्ट प्राप्त करने को सीमित करता है।
DOM
ब्राउज़र का पृष्ठ का ऑब्जेक्ट प्रतिनिधित्व जिसे JavaScript पढ़ और बदल सकता है।
घटना
एक पृष्ठ संकेत जैसे कि एक क्लिक या इनपुट परिवर्तन।
फ़्रेम
एक दस्तावेज़ दूसरे पृष्ठ के अंदर एम्बेडेड है।
प्रीलोड
एक पूर्व निष्पादन चरण का उपयोग तब किया जाता है जब सामान्य पृष्ठ समय किसी विशिष्ट आवश्यकता के लिए बहुत देर हो चुकी होती है।
प्रोफ़ाइल
अपनी स्वयं की ब्राउज़र स्थिति के साथ एक सतत पृथक Social Browser वातावरण।
शुरुआती चेकलिस्ट
मैं समझा सकता हूँ कि User Script क्या है।
मैंने एक परीक्षण स्क्रिप्ट बनाई और अक्षम कर दी।
मैं किसी स्क्रिप्ट को सही URLs तक सीमित कर सकता हूं।
मैं एक साधारण पृष्ठ तत्व ढूंढ और बदल सकता हूं।
मुझे पता है कि CSS कब पर्याप्त है।
मैं इसे सक्षम करने से पहले आयातित कोड की समीक्षा करता हूं।
मैं किसी स्क्रिप्ट को डीबग करने के लिए कंसोल का उपयोग कर सकता हूं।
उन्नत चेकलिस्ट
मैं मैच के नियमों को संकीर्ण रखता हूं।
मैं गतिशील पृष्ठों और बंधे हुए पर्यवेक्षकों को समझता हूं।
मैं भंडारण और नेटवर्क पहुंच को जानबूझकर मानता हूं।
मैं किसी कारण से फ़्रेम स्कोप और टाइमिंग चुनता हूं।
मैं इच्छित Profile संदर्भ में स्क्रिप्ट का परीक्षण करता हूं।
मुझे पता है कि Automation Studio कब एक बेहतर उपकरण है।
सामान्य User Script प्रश्न खोलेंजरूरत पड़ने पर खोलें
क्या मुझे JavaScript डेवलपर बनने की आवश्यकता है?
नहीं, छोटी उपयोगी स्क्रिप्टों को अक्सर केवल बुनियादी DOM चयन, घटनाओं और सरल स्थितियों की आवश्यकता होती है। अधिक जानें JavaScript जब वास्तविक उपयोग के मामले में इसकी आवश्यकता होती है।
क्या User Script में CSS और HTML शामिल हो सकते हैं?
हाँ. Social Browser के User Script सिस्टम में JavaScript और स्क्रिप्ट के आधार पर CSS और HTML अनुकूलन शामिल हो सकते हैं।
क्या मैं मौजूदा User Scripts आयात कर सकता हूँ?
स्क्रिप्ट को मैन्युअल रूप से बनाया जा सकता है या फ़ाइल से आयात किया जा सकता है या सीधे URL किया जा सकता है, और जहां लागू हो वहां सामान्य User Script इंस्टॉलेशन/मेटाडेटा कन्वेंशन समर्थित हैं। इसे सक्षम करने से पहले आयातित कोड की समीक्षा करें।
क्या User Scripts Automation Studio के समान है?
नहीं, User Scripts ऐसे कोड के लिए सर्वोत्तम हैं जो मेल खाते पृष्ठों के साथ रहते हैं। Automation Studio को ऑर्डर किए गए वर्कफ़्लो, Profile लक्ष्यीकरण, निष्पादन नीति, शेड्यूलिंग, सत्यापन और पुनर्प्राप्ति के लिए डिज़ाइन किया गया है। वे एक दूसरे के पूरक हो सकते हैं.
क्या स्क्रिप्ट अलग-अलग Profiles में चल सकती हैं?
User Scripts ब्राउज़र पेज संदर्भों में काम करता है। इच्छित Social Browser Profile में उनका परीक्षण और प्रबंधन करें क्योंकि प्रोफाइल में अलग-अलग सत्र, सामग्री और ब्राउज़र स्थिति हो सकती है।
इंटरनेट से स्क्रिप्ट इंस्टॉल करने का सबसे सुरक्षित तरीका क्या है?
स्रोत को जानें, मेटाडेटा पढ़ें, कोड का निरीक्षण करें, URL स्कोप और नेटवर्क/स्टोरेज व्यवहार की जांच करें, फिर महत्वपूर्ण उपयोग से पहले नियंत्रित Profile में परीक्षण करें।
इसे आज़माने के लिए तैयार हैं?
एक छोटी सी स्क्रिप्ट से एक पेज को बेहतर बनाएं।
Social Browser डाउनलोड करें, एक परीक्षण Profile बनाएं, एक छोटा User Script जोड़ें, और इसे इतना सरल रखें कि आप हर पंक्ति को समझा सकें।