iPhone या iPad पर शॉर्टकट में “वेबपृष्ठ पर JavaScript रन करें” क्रिया का परिचय
तक़रीबन सभी वेबपृष्ठ की स्क्रिप्ट JavaScript का उपयोग करके तैयार होती है, जो एक ऐसी प्रोग्रामिंग भाषा है जो वेब ब्राउज़र के अंदर ऐनिमेशन, इंटरऐक्टिव मेनू, वीडियो प्लेबैक आदि सहित डायनैमिक प्रभाव पैदा करती है। आमतौर पर, जब आप वेबसाइट देखते हैं, तब आपको JavaScript नहीं दिखाई देती है। हालाँकि, “वेबपृष्ठ पर JavaScript चलाएँ” क्रिया वाले शॉर्टकट को बनाने और फिर Safari ऐप से शॉर्टकट रन करने से आप किसी वेबपृष्ठ की JavaScript नियंत्रित कर सकते हैं।
वेबपृष्ठ पर आपकी कस्टम JavaScript रन करने वाले शॉर्टकट के अनगिनत उपयोग हैं। उदाहरण के लिए, आप ऐसे शॉर्टकट बना सकते हैं जो किसी वेबपृष्ठ से ख़ास डेटा निकाल सकते हैं और फिर वह डेटा किसी टास्क में डाल सकते हैं। जैसे, कक्षा शेड्यूल निकालना और फिर उसे कैलेंडर ऐप में जोड़ना या किसी सोशल मीडिया समूह का सदस्य डेटा एक्सपोर्ट करना और फिर वह डेटा स्प्रेडशीट में जोड़ना।
आप ऐसे शॉर्टकट भी बना सकते हैं जो वेबपृष्ठ संशोधित करें, जैसे कि वेबपृष्ठ टेक्स्ट का फ़ॉन्ट बदलना या वीडियो प्लेबैक की गति बदलना। आप शॉर्टकट से JavaScript चला सकें, इससे पहले आपको सेटिंग्ज़ को सक्षम करना चाहिए। iPhone या iPad पर शॉर्टकट में उन्नत गोपनीयता और सुरक्षा सेटिंग्ज़ देखें।
वेबपृष्ठ पर JavaScript रन करने वाले शॉर्टकट उपयोग की जानकारी के लिए, iPhone या iPad पर शॉर्टकट में “वेबपृष्ठ पर JavaScript रन करें” क्रिया का उपयोग करें देखें।
वेबपृष्ठ डेटा निकालने के बारे में
“वेबपृष्ठ पर JavaScript चलाएँ” क्रिया से आप निश्चित मानदंड का पालन करने वाले सभी ऐलिमेंट को मिलाकर किसी वेबपृष्ठ से डेटा निकाल सकते हैं फिर उस डेटा के साथ कार्य पूरा करने के लिए (या ऐलिमेंट के फिर निरीक्षण के लिए) उन ऐलिमेंट को दोहराएँ।
उदाहरण के लिए, वेबपृष्ठ पर हरेक इमेज एलिमेंट की सूची बनाने के लिए, इसे उपयोग करें :
var elements = document.querySelectorAll("img");
दूसरे उदाहरण में, कक्षा “पोस्ट” के साथ हरेक एलिमेंट को निकालने के लिए, इसे उपयोग करें :
var elements = document.querySelectorAll(".post");
एक बार NodeList बन जाने पर, आप (फिर एलिमेंट फ़िल्टर करने या किसी डेटा स्ट्रक्चर में एलिमेंट जोड़ने के लिए) एलिमेंट दोहरा सकते हैं, निम्न जैसों का उपयोग करके :
var elements = ...;
for (let element of elements) {
// ...
}
वेबपृष्ठ परिणामों की पूछताछ की अधिक जानकारी के लिए https://developer.mozilla.org/Selectors और https://developer.mozilla.org/SelectorAll देखें।
“वेबपृष्ठ पर JavaScript चलाएँ” क्रिया इनपुट
“वेबपृष्ठ पर JavaScript चलाएँ” क्रिया का इनपुट सक्रिय Safari वेबपृष्ठ होना चाहिए जिसका मतलब है कि आपके द्वारा शेयर शीट से (विशेष रूप से Safari, SFSafariViewController या ASWebAuthenticationSession से) शॉर्टकट चलाया जाना चाहिए।
जब कोई शॉर्टकट शेयर शीट से रन होता है, तो इनपुट Safari ऐप से आपके शॉर्टकट की पहली क्रिया में पास हो जाता है।
भले ही “वेबपृष्ठ पर JavaScript चलाएँ” क्रिया में इनपुट एक Safari वेबपृष्ठ होना चाहिए लेकिन आप मैजिक वैरिएबल का उपयोग करके क्रिया में अतिरिक्त डेटा डाल सकते हैं। उदाहरण के लिए, वीडियो गति बदलें शॉर्टकट (गैलरी में उपलब्ध) में “वेबपृष्ठ पर JavaScript रन करें” क्रिया शामिल है जो वेबपृष्ठ पर मौजूद वीडियो को संशोधित करती है। वीडियो की प्लेबैक दर गति वेरिएबल द्वारा नियंत्रित होती है।
Safari से शॉर्टकट रन करने के बारे में जानकारी के लिए, iPhone या iPad पर दूसरे ऐप से शॉर्टकट लॉन्च करें देखें।
“वेबपृष्ठ पर JavaScript चलाएँ” क्रिया आउटपुट
डेटा वापस करने के लिए, आपको JavaScript जैसे कि पूर्ण(परिणाम)
में कंप्लिशन हैंडलर को कॉल करना होगा। चूंकि JavaScript आमतौर पर ऐसिंक्रोनस पैटर्न के साथ उपयोग होती है, इसलिए कॉल जानबूझकर सिंक्रोनस नहीं होती है। इस तरह, आप क्रिया को ऐसिंक्रोनस रूप से पूरा कर सकते हैं। उदाहरण के लिए, निम्नलिखित वैध है :
window.setTimeout(function() {
completion(true);
}, 1000);
“वेबपृष्ठ पर JavaScript चलाएँ” क्रिया का आउटपुट कोई भी मान्य JSON डेटा प्रकार होता है जिसमें निम्न शामिल हैं :
स्ट्रिंग
संख्या
बूलियन (सत्य या असत्य)
सारणी (कोई भी अन्य वैध JSON प्रकार शामिल है)
शब्दकोश (कोई भी अन्य वैध JSON प्रकार शामिल है)
Null
अनिर्धारित
दृश्यों के पीछे, शॉर्टकट JavaScript और शॉर्टकट ऐप के बीच संचार करने के लिए आपके वापसी मान को ऑटोमैटिकली एंकोड और डीकोड करते हैं। इसका मतलब आपको कंप्लिशन हैंडलर को कॉल करने से पहले JSON.stringify(result)
को कॉल करने की ज़रूरत नहीं है।
चूंकि वापसी मान JSON है, इसलिए कुछ वापसी मान सही ढंग से काम नहीं करेंगे। उदाहरण के लिए, फ़ंक्शन या नोड के पास उपयोगी JSON-एंकोडेड प्रस्तुति नहीं होगी। इस स्थिति में, यह अनुशंसित किया जाता है कि आप ऐसी सारणी/शब्दकोश बनाएँ जिसमें आपके आवश्यक JSON-संगत मान शामिल हों।
नोट : चूँकि JavaScript में एक ऑब्जेक्ट सिर्फ़ एक शब्दकोश होता है, इसलिए मूल ऑब्जेक्ट JSON में सही ढंग से बदलते हैं।
यदि आप वेबपृष्ठ पर JavaScript चलाएँ क्रिया से कोई डेटा परिणाम में नहीं चाहते हैं, तो आप फ़ंक्शन में बिना आर्ग्युमेंट के पूर्ण()
कॉल कर सकते हैं (क्योंकि अनिर्धारित
मान्य आउटपुट है)। यह पूर्ण(अनिर्धारित)
कॉल करने के समान ही है।
JSON के बारे में अधिक जानकारी के लिए, iPhone और iPad पर शॉर्टकट में JSON का उपयोग करने का परिचय देखें।
नोड पर अधिक जानकारी के लिए https://developer.mozilla.org/Node देखें।
फ़ंक्शन पर अधिक जानकारी के लिए https://developer.mozilla.org/Functions देखें।
“वेबपृष्ठ पर JavaScript चलाएँ” क्रिया की समय सीमा
Safari में सभी JavaScript एक्सटेंशन की तरह ही “वेबपृष्ठ पर JavaScript चलाएँ” क्रिया भी समय सीमा का विषय है और इसे जल्द से जल्द पूरा कर देना चाहिए। सिंक्रोनस फ़ंक्शन का उपयोग करने वाली JavaScript हो सकता है समय पर पूरी न हो, निम्न सहित :
window.alert()
window.prompt()
window.confirm()
कई सेकेंड तक चलने वाली समय समाप्तियाँ—उदाहरण के लिए :
window.setTimeout(function() { completion(); }, 5000);
यदि आपकी JavaScript समयसीमा पार करती है, तो शॉर्टकट पूरा होने में विफल हो जाएगा और आप द्वारा शॉर्टकट चलाने पर “JavaScript समय समाप्ति” त्रुटि संदेश दिखेगा।
सिंटैक्स और रनटाइम त्रुटि हैंडलिंग
आप “वेबपृष्ठ पर JavaScript रन करें” क्रिया में JavaScript लिखने के लिए Safari में समर्थित किसी भी सिंटैक्स का उपयोग कर सकते हैं।
शॉर्टकट ऐप में “वेबपृष्ठ पर JavaScript चलाएँ” क्रिया सामान्य सिंटैक्स जाँच करके आपको Safari एक्सटेंशन से शॉर्टकट चलाने से पहले त्रुटियाँ देखने में मदद करती है।
जैसे ही आप टेक्स्ट फ़ील्ड में अपनी स्क्रिप्ट दर्ज करते हैं, सिंटैक्स हाईलाइटिंग यह सुनिश्चित करने में मदद करती है कि आपकी JavaScript वैध है। उदाहरण के लिए, यदि आप स्ट्रिंग के अंत में कोटेशन चिह्न लगाना भूल जाते हैं, तो उस स्ट्रिंग के बाद का सारा टेक्स्ट हाईलाइट हो जाता है।
यदि आपकी स्क्रिप्ट का सिंटैक्स मान्य है लेकिन इसमें रनटाइम त्रुटि शामिल है, तो “वेबपृष्ठ पर JavaScript चलाएँ” क्रिया अपवादों का पता लगाकर उन्हें प्रदर्शित करती है। उदाहरण के लिए, यदि आपकी स्क्रिप्ट ऐसे वेरिएबल या फ़ंक्शन का संदर्भ लेती है जो मौजूद नहीं है (जैसे कि shortcuts.completion()
), तो रनटाइम पर एक त्रुटि प्रदर्शित होती है।