प्रस्तावना

यह पोस्ट "
लाइन कोड के बिना स्रोत कोड की प्रतिलिपि बनाएँ " लेख पर आधारित है। साथ ही, इस पोस्ट में वेब-डेवलपमेंट और वेब-डिज़ाइन पेशेवरों के लिए कोई नई जानकारी नहीं है। और अगर आप खुद को ऐसा मानते हैं, तो आप शांत आत्मा के साथ बिल्ली के नीचे नहीं देख सकते।
क्रैब्रैचैटेल के नीचे देखने पर, उपरोक्त लेख के आधार पर, डेल्फी भाषा के वाक्य विन्यास का एक सुंदर हाइलाइटिंग, पीड़ा का वर्णन और उभरते बग के खिलाफ लड़ाई के लिए शौकिया तौर पर प्रयास करने का प्रयास मिलेगा। खैर, पांच आम ब्राउज़रों की एक व्यक्तिपरक छाप।
जोखिम
मेरे व्यवसाय की प्रकृति से, मैं
वर्तमान में एक डेल्फी-डेवलपर हूं, जो मुझे काफी अच्छी तरह से सूट करता है - बहुत सारे काम और प्रोजेक्ट हैं, ईमानदारी से, बिना किसी छूट और विडंबना के। लेकिन जैसा कि आप जानते हैं, काम करने की परियोजनाओं पर थोड़ी देर के बाद ही काम शुरू होता है, जैसा कि यह था, इसे हल्के ढंग से, ऊब करने के लिए। क्रिएटिव नस को किसी और चीज़ में आत्म-साक्षात्कार की आवश्यकता होती है। और यह वही नस अपने स्वयं के वेब सर्वर का निर्माण करना चाहता था, जो विभिन्न प्रकार के कार्यों, सुविधाओं और हैक का उपयोग करने के छोटे उदाहरण वाले कोड के टुकड़ों के साथ निर्देशिका को एक्सेस देगा।
बेशक, कई आईटी कर्मचारी कहेंगे कि यह एक और बाइक है, जिसे आप अपाचे, नग्नेक्स या यहां तक कि ड्रॉपबॉक्स / सुगरसंक्यू के साथ प्राप्त कर सकते हैं, और सामान्य रूप से डेल्फीवर्ल्ड है। लेकिन एक बहाने के रूप में, मैं कह सकता हूं कि यह सब मुख्य रूप से "HTTP प्रोटोकॉल", "वेब सर्वर डिवाइस", "गज़िप का उपयोग", और निश्चित रूप से, साइकिल निर्माण में नए अनुभव प्राप्त करने के कौशल को बेहतर बनाने के लिए लिखा गया है।
चूंकि मेरा काम वेब विकास के साथ किसी भी तरह से जुड़ा नहीं है, इसलिए दुर्घटना से दो साल पहले फ़ायरफ़ॉक्स मेरा मुख्य ब्राउज़र बन गया। मैं बाकी लोगों को भी नहीं जानता। खैर, IE के अलावा, जो इसके अंतर्निहित ओएस के कारण, आवश्यक होने पर और आवश्यक नहीं होने पर क्रॉल करता है।
टाई
जब लेख "
लाइन नंबरिंग के बिना स्रोत कोड कॉपी करना " दिखाई दिया, तो यह आपकी परियोजना में निर्दिष्ट विकास का उपयोग करने का निर्णय लिया गया था। पहले ही प्रयास में एक समस्या सामने आई: इस लेख में IE7 / IE8 में हाइफ़नेशन ठीक से काम नहीं किया। लेखक ने तुरंत जवाब दिया - यह पता चला कि रिफैक्टिंग के दौरान आवश्यक लाइन हटा दी गई थी।
इसलिए, कोड IE और फ़ायरफ़ॉक्स में ठीक काम करता है। लेकिन वहाँ यह था।
कार्रवाई का विकास
दोनों IE और फ़ायरफ़ॉक्स, हालांकि वे पाठ को प्रदर्शित करते थे जैसा वे चाहते थे, जब कॉपी और पेस्ट करते हैं, तो दोनों ने सुरक्षित रूप से रिक्त स्थान खा लिया, इस तथ्य के बावजूद कि दोनों
पूर्व और
कोड टैग निर्दिष्ट किए गए थे। और उन्होंने उन्हें अलग-अलग तरीकों से खाया: पहले ने एक को कई रिक्त स्थान दिए, दूसरे ने अग्रणी स्थान फेंक दिए। बेशक, पहला विचार अंतरिक्ष को
nbsp से बदलना है, जैसा कि उपरोक्त लेख के लेखक ने अपने डेमो में किया था। लेकिन इस फैसले के लिए मेरी आत्मा ने कुछ नहीं किया।
मानसिक रूप से एक शर्मनाक झुनझुनी उठाया, मैं तीन शाम के लिए जंगली नृत्यों में गहरे चला गया। भगवान, तब मैंने महसूस किया कि मैं मामूली उपेक्षा के साथ टाइपसेटर्स का इलाज कर रहा था। लेकिन ये केवल दो ब्राउजर हैं।
उत्कर्ष
मशीन पर "नृत्य" के दौरान ओपेरा दिखाई दिया। हैरानी की बात है कि उसने स्पेस नहीं खाया। ऑनलाइन निर्देशिकाओं, तीन ब्राउज़रों, दो संपादकों - फिक्स, स्विच, अपडेट, हाइलाइट, कॉपी, स्विच, पेस्ट, एक दूसरे ब्राउज़र में स्विच, अपडेट, स्वाइप, और विभिन्न संयोजनों में एक सर्कल के बीच फेंकना शुरू हुआ।
या तो लेआउट फ्लोट किया गया, अतिरिक्त लाइन फीड्स सम्मिलित की गईं, पृष्ठभूमि रंग गायब हो गया, और बहुत कुछ, बहुत अधिक। धीरे-धीरे, "मूल रूप से इसके बिना काम करता है" मापदंड के तहत आने वाली सब कुछ मूल कोड से मिटा दिया गया था।
परिणाम
वास्तव में, यहाँ वह है:
<!doctype html> <html> <head> <title>Copy source code with no line number</title> <meta http-equiv="content-type" content="text/html; charset=win-1251" /> <style type="text/css"> .over { display: block; position: absolute; left: 0; width: 7ex; height: 1.4em; z-index: 1; background: url(#); } .evn { display: block; background: #F8F8F8; } .odd { display: block; background: #F0F0F0; } .lineNumber { position: absolute; left: 0; padding: 0 .5ex; margin: 0; width: 6ex; line-height: 1.4em; background: none; border: none; font-family: monospace; font-size: 100%; text-align: right; color: #666; -moz-user-select: none; -webkit-user-select: none; user-select: none; pointer-events: none; } .lineContent { display: block; margin-left: 7ex; padding-left: 2ex; border-left: 2px solid #33BB66; white-space: pre-wrap; } .token-strings { color: #000088; } .token-comment { color: navy; font-style: italic; } .token-keyword { font-weight: bold; } .header { display: block; margin-top: 1ex; padding-top: 1ex; margin-left: 1ex; padding-left: 2ex; font-family: times; font-size: 120%; font-weight: none; white-space: pre-wrap; } </style> </head> <body> <span class="header"> "Hello, World!" Delphi</span> <pre class="lineContent"> <span class="odd"><input class="lineNumber" tabIndex="-1" readOnly="readonly" value="1" unselectable="on"><span class="over"></span><span class="token-keyword">program</span> Hello; </span><span class="evn"><input class="lineNumber" tabIndex="-1" readOnly="readonly" value="2" unselectable="on"><span class="over"></span><span class="token-comment">{$APPTYPE CONSOLE}</span> </span><span class="odd"><input class="lineNumber" tabIndex="-1" readOnly="readonly" value="3" unselectable="on"><span class="over"></span><span class="token-keyword">begin</span> </span><span class="evn"><input class="lineNumber" tabIndex="-1" readOnly="readonly" value="4" unselectable="on"><span class="over"></span> Writeln('<span class="token-strings">Hello, World!</span>'); </span><span class="odd"><input class="lineNumber" tabIndex="-1" readOnly="readonly" value="5" unselectable="on"><span class="over"></span> Readln; </span><span class="evn"><input class="lineNumber" tabIndex="-1" readOnly="readonly" value="6" unselectable="on"><span class="over"></span><span class="token-keyword">end.</span> </span></pre> </body> </html>
उपसंहार
इस समाधान के विपक्ष:
- नंबरिंग की पृष्ठभूमि पृष्ठभूमि कोड से मेल नहीं खाती;
- ओपेरा में, यदि आप फ़ील्ड से नंबरिंग और चयन करना शुरू करते हैं, तो बफर में कुछ भी कॉपी नहीं किया जाएगा;
- कॉपी किए गए टेक्स्ट के अंत में अलग-अलग ब्राउज़रों में अलग-अलग संख्या में लाइन ब्रेक होंगे।
सब कुछ पसंद है। यह अंतिम दो ब्राउज़रों को स्थापित करने और "उनके काम" की जांच करने के लिए बनी हुई है। यहाँ एक साधारण उपयोगकर्ता के रूप में मेरे लिए उनके क्षण असंगत थे।
क्रोम:
- एक आधा बाइट बूटलोडर डाउनलोड किया गया था जो मुख्य इंस्टॉलर को डाउनलोड किया, चुपचाप इसे इंस्टॉलेशन पर लॉन्च किया, जिसने अंत में चुपचाप "इंस्टॉल" क्रोम भी लॉन्च किया। पहले प्रयास में इसने काम नहीं किया - एक छोटा खाली विंडो शीर्षक "वेलकम ..." के साथ दिखाई दिया - यह देखने के लिए कि कुछ हिस्सा "बैट" निकला। दूसरा प्रयास सफल रहा - यह पता चला कि छोटी खिड़की डिफ़ॉल्ट खोज इंजन विकल्प है। पसंद की पेशकश Google, Yandex, Mail.Ru;
- यह एकमात्र ऐसा ब्राउज़र था जिसने अभी भी अपने शॉर्टकट को मेरे साफ डेस्कटॉप पर चिपका दिया था;
- स्थापना के बाद, "* .html" के साथ फ़ाइल संघों और जैसे दिखाई नहीं दिए, हालांकि, सफारी की तरह;
- जब इस तरह के एक संघ बनाने की कोशिश कर रहा था, तो लंबे समय (एक मिनट और डेढ़) के लिए मैंने खोज किया कि कहां स्थापित किया जाए - यह स्पष्ट हो गया कि डेस्कटॉप पर शॉर्टकट क्यों है, लेकिन यह स्पष्ट नहीं था कि मैं वहां क्यों गया - स्थापना व्यवस्थापक के तहत शुरू हुई थी।
सफारी:
- इंस्टॉलर का सबसे बड़ा आकार;
- एक लंबे समय के लिए स्टार्टअप पर एक पूर्वावलोकन का गठन किया;
- IMHO, आपको इसके थंबनेल के लिए अभ्यस्त होने की आवश्यकता है - द्विघात-व्यावहारिक-जुड के बाद यह बहुत परिचित नहीं है;
- स्थापना के बाद, "* .html", आदि के साथ फ़ाइल संघों, ओपेरा और फ़ायरफ़ॉक्स के विपरीत, प्रकट नहीं हुए;
- केवल वही जो स्वचालित रूप से समझ में नहीं आया, एन्कोडिंग "charset = win-1251" फ़ाइल में निर्दिष्ट है।
और तुलना के लिए भी, अन्य ब्राउज़रों के नुकसान मेरे लिए महत्वपूर्ण हैं (और निम्न और उच्चतर - सभी IMHO):
ओपेरा:
- जब आप पृष्ठ खोलते हैं, तो यह संकेत नहीं करता है कि डाउनलोड प्रगति पर है - न तो संकेतक के साथ, न ही पृष्ठ के प्रारंभिक प्रतिपादन के साथ - एक जमे हुए आवेदन की भावना है।
फ़ायरफ़ॉक्स:
- वे लंबे समय से देख रहे थे - फरवरी में वादा किया गया 4 वां संस्करण अभी भी जारी नहीं किया गया है - कल यह 3.6.15 जारी किया गया था जो जावा स्क्रिप्ट के साथ एक बग तय करता था जो 3.6.14 संस्करण में दिखाई दिया था।
आयरलैंड के लिए:
- WinXP के लिए कोई नया संस्करण नहीं होगा।
लगभग सभी ब्राउज़रों का एक सामान्य ऋण: वे खुद को केवल
दूसरी शुरुआत में डिफ़ॉल्ट ब्राउज़र के रूप में सेट करने के लिए कहते हैं।
पुनश्च
Lahmatiy उपयोगकर्ता
हब के लिए बहुत धन्यवाद (उसके लिए सभी प्लस :), साथ ही साथ सभी वेब डेवलपर्स जो हमारे इंटरनेट को और अधिक सुंदर, सुविधाजनक और मानवीय बनाते हैं - आपके कठिन कार्य में धैर्य।
और मैं अपनी बाइक खत्म करूँगा - यह मेरा व्यवसाय "वेब पृष्ठों को टाइप करने" के लिए नहीं है!