जब ऑन्कलिक के मूल्य में 'जावास्क्रिप्ट' के स्थान पर किसी अन्य शब्द का उपयोग किया जाता है, तो ब्राउज़र त्रुटि क्यों नहीं करता है?


100

मुझे एक वेबसाइट विरासत में मिली, और बस इस जिज्ञासा के साथ आया:

<a href="/delete"  onClick="jamoscript:return confirm('Do you really want to do that?');">Delete all</a>

मैं इसके साथ वाले पृष्ठ को प्रदर्शित कर सकता हूं और पुष्टिकरण संवाद बॉक्स प्राप्त करने के लिए लिंक पर क्लिक कर सकता हूं, जैसा कि मैं " jamoscript" से " javascript" बदलने पर करता हूं । फायरबग कंसोल में, पेज लोड होने पर या लिंक पर क्लिक करने पर कोई निदान प्रदर्शित नहीं किया जाता है। क्या हे? जैमोसस्क्रिप्ट के लिए Googling कुछ भी दिलचस्प नहीं है।

क्या कोई इस व्यवहार की व्याख्या कर सकता है?

जवाबों:


144

एक "onclick" विशेषता का स्ट्रिंग मान सरल जावास्क्रिप्ट कोड होने के लिए लिया जाता है। जावास्क्रिप्ट में लेबल वाले बयानों के प्रावधान शामिल हैं , ताकि कोड return"जैमोसस्क्रिप्ट" लेबल के साथ एक बयान हो। दूसरे शब्दों में, यह:

jamoscript: return confirm("Do you really want to hurt me?");

पूरी तरह से कानूनी जावास्क्रिप्ट है। लेबल का अधिक उपयोग नहीं किया जाता है, इसलिए वे अपरिचित हैं।

एकमात्र संदर्भ जिसमें "जावास्क्रिप्ट:" उपसर्ग मायने रखता है जब URL अपेक्षित होता है, जैसा कि <a>टैग के "href" विशेषता के साथ होता है ।


53
यह सवाल मुझे वास्तव में इच्छा कर रहा है कि भाषा को "JamoScript" कहा गया था।
नुकीले

5
यह मैं क्या निम्नलिखित करता है के प्रसिद्ध समस्या की याद दिलाता है: function foo(a) { x: 2 }

80
मैंने यहां एक खाता बनाया है, बस आपको यह बताने के लिए कि कोड की यह लाइन (? -मैं एक प्रोग्रामर नहीं हूं) एक ग्रीक द्वारा लिखे गए किसी भी संदेह के बिना थी, या कम से कम "जैमोस्कोपर्ट" एक ग्रीक द्वारा प्रस्तावित किया गया था। "जामो" यह है कि अंग्रेजी भाषा में "एफ --- आईएनजी" शब्द की ध्वनि उत्पन्न करने के लिए अंग्रेजी अक्षरों की ध्वनियों का उपयोग करने का प्रयास कैसे किया जाएगा। इसलिए यदि आप जोर से "जैमोसस्क्रिप्ट" पढ़ने की कोशिश करते हैं, तो एक ग्रीक व्यक्ति जो "स्क्रिप्ट" शब्द जानता है, "f --- आईएनजी स्क्रिप्ट" को समझ जाएगा। यदि "j" अक्षर "g" का उपयोग किया गया था, तो इसका इच्छित प्रभाव अधिक निश्चित होगा, लेकिन मुझे लगता है कि "j-ava" के साथ इच्छित खेल था।
एलेकोस पापाडोपोलोस

6
@AlecosPapadopoulos वाह, यह कमाल है। अगर कुछ भी, यह मुझे और भी अधिक इच्छा करता है कि भाषा को वास्तव में "JamoScript" कहा जाता था :)
Pointy

6
@asawyer मैं जानकारी (+1) की सराहना करता हूं, लेकिन कृपया मुझे अपनी नम्रता पर लाइन पर्सन को बहकाने के लिए लुभाएं नहीं और फिर से अपने वास्तविक रूप में लौट आएं ...
अलेक्स पापाडोपोलोस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.