নিবন্ধ ডিরেক্টরি
তুমি ভেবেছিলে ওয়েবসাইটটি ঠিক আছে এবং JS কোডটি পুরানো কুকুরের মতো স্থিতিশীল, কিন্তু মোবাইল ব্রাউজার সংস্করণ পরিবর্তন করার সাথে সাথেই পৃষ্ঠাটি "স্ট্রাইক" হয়ে গেল?
সবচেয়ে আশ্চর্যের বিষয় হলো, এটি কম্পিউটারে স্বাভাবিকভাবে কাজ করে, কিন্তু অ্যান্ড্রয়েড ফোনে এটিকে পুরোপুরি উপেক্ষা করে।
এটা কোন রসিকতা নয়, এটা একটা ব্রাউজারের সমস্যা যা নীরবে ঘটছে।
সমস্যার মূল: এটা এমন নয় যে তুমি ভুল লিখেছ, বরং সময় তোমাকে পরিত্যাগ করেছে।

আসলে, যখন বেশিরভাগ ডেভেলপার এই ঘটনাটি দেখেন, তখন তাদের প্রথম প্রতিক্রিয়া হয়: JS সিনট্যাক্সে কি কোনও বাগ আছে? DOM কি লোড হয়নি? নাকি অনুমতি ব্লক করা হয়েছে?
ফলাফল? এদের কেউই নয়। আসল অপরাধী হয়ে উঠল সেই প্রাচীন লেখাটি:
<script language="javascript">
এই কোড লাইনটি ২০ বছর আগে অত্যন্ত জনপ্রিয় ছিল ; প্রতিটি টিউটোরিয়ালেই এটি দেখা যেত।
কিন্তু ক্রোমিয়াম সংস্করণ ১১৯এরপর, গুগল এই "প্রাচীন ব্যাকরণ" কে বিদায় জানিয়েছে: যতক্ষণ আপনি দেখতে পাবেন language অ্যাট্রিবিউটের ক্ষেত্রে, ব্রাউজার বেছে বেছে সেগুলো উপেক্ষা করবে এবং ব্যাখ্যা করারও চেষ্টা করবে না।
সামঞ্জস্যের কারণে, ডেস্কটপে ক্রোম এখনও "সাময়িকভাবে এটির যত্ন নিচ্ছে"; কিন্তু মোবাইল অ্যান্ড্রয়েডে ক্রোম "ভ্যানগার্ড" এবং তাৎক্ষণিকভাবে এই পরিষ্কারের কৌশলটি সক্ষম করেছে।
এর ফলে কম্পিউটারটি ঠিকঠাক কাজ করলেও মোবাইল ফোনটিতে সমস্যা দেখা দেয় ।
অ্যান্ড্রয়েড কেন প্রথমে পদক্ষেপ নিল?
কেউ কেউ জিজ্ঞাসা করতে পারেন: অ্যান্ড্রয়েড ক্রোম কেন প্রথমে চালু করা হয়?
এটা খুবই সহজ, কারণ মোবাইল টার্মিনালের আপগ্রেডের গতি দ্রুত, এবং গুগল লাল খাম পাঠানোর মতোই দ্রুত তথ্য সরবরাহ করে।
২০২৩ সালের ৩১ শে অক্টোবর , গুগল প্লে-এর মাধ্যমে অ্যান্ড্রয়েডের জন্য ক্রোম ১১৯ সম্পূর্ণরূপে চালু করা হয়েছিল।
যদিও ডেস্কটপ সংস্করণটি ক্রোমিয়াম কার্নেলও ব্যবহার করে, তবুও হঠাৎ করে বিপুল সংখ্যক অভ্যন্তরীণ কর্পোরেট সিস্টেম বিস্ফোরিত না হওয়ার জন্য "হাত ধরে রাখা" প্রথাগত।
তাহলে, যদি আপনি এখনও "" বাক্যাংশটি ব্যবহার করেনlanguage=javascript", অ্যান্ড্রয়েড ফোনে এটি একটি স্বচ্ছ কোড লেখার সমতুল্য, যা ব্রাউজার সরাসরি উপেক্ষা করে।
সমাধান: তিন সেকেন্ডের মধ্যে এটি সম্পন্ন করুন
সৌভাগ্যবশত, এই সমস্যার সমাধান অবিশ্বাস্যভাবে সহজ। শুধু এই লাইনটি প্রতিস্থাপন করুন:
<script>
অথবা আরও একটু আনুষ্ঠানিকভাবে:
<script type="text/javascript">
এটি পরিবর্তন করতে মাত্র কয়েক সেকেন্ড সময় লাগে এবং অ্যান্ড্রয়েড ক্রোম তাৎক্ষণিকভাবে এটি কার্যকর করবে।
পরিবর্তন করার পর ক্যাশে ফোর্স রিফ্রেশ করতে মনে রাখবেন ; নাহলে, ব্রাউজারটি হয়তো তখনও পুরোনো ফাইলটিই পড়তে থাকবে। পদ্ধতিটি সহজ:
- কম্পিউটার: Ctrl + F5
- ফোন: সেটিংস → গোপনীয়তা → ক্যাশে সাফ করুন
একবার রিফ্রেশ করলে, কোডটি কয়েক সেকেন্ডের মধ্যে পুনরুজ্জীবিত হয় এবং পৃষ্ঠাটি আবার চলতে শুরু করে।
এটি আসলে একটি "লিকুইডেশন"
শেষ পর্যন্ত, এই সমস্যাটি জাভাস্ক্রিপ্টের নিজের ছিল না, বরং এটি ছিল পুরোনো ফ্রন্ট-এন্ড কোডের সাথে একটি বোঝাপড়া ।
ব্রাউজার নির্মাতাদের যা করতে হবে তা খুবই স্পষ্ট: ধীরে ধীরে পুরানো বাক্য গঠন পরিষ্কার করা এবং ডেভেলপারদের আপডেট করতে বাধ্য করা।
এটা অনেকটা মহাসড়কের মতো: আগে ট্রাইসাইকেল এবং ট্রাক্টর পাশাপাশি চলার অনুমতি ছিল, কিন্তু এখন নিরাপত্তার কারণে সেগুলো তাড়িয়ে দিতে হচ্ছে। language="javascript" ওই ট্রাক্টরটি দ্রুতগতির লেনে থাকা উচিত হয়নি।
ডেভেলপারদের কী মনোযোগ দেওয়া উচিত?
এই ঘটনাটি আমাদের কাছে একটি বাস্তবসম্মত অনুস্মারক হিসেবে কাজ করে:
কোড স্টাইল অত্যন্ত গুরুত্বপূর্ণ। যে কোড আপনার কাছে শুধু চলার মতো মনে হয়, তা পরবর্তী কোনো সংস্করণে ভেঙে পড়তে পারে।
পরীক্ষার পরিবেশকেও সময়ের সাথে তাল মিলিয়ে চলতে হবে। শুধু কম্পিউটারে ক্রোমে ক্লিক করেই এটি প্রকাশ করে দিলে চলবে না। মোবাইল ডিভাইস এবং বিভিন্ন সংস্করণের ব্রাউজারেও এটি পরীক্ষা করতে হবে।
ব্রাউজার আপডেট লগগুলোর দিকে মনোযোগ দিন। ক্রোমিয়াম আপডেটের সাথে সবসময় প্রচুর "ডিপ্রিকেশন অ্যান্ড রিমুভাল" মেসেজ আসে। এগুলো শুধু দেখানোর জন্য নয়; এগুলো আসলেই আপনার ব্যবসা ধ্বংস করে দিতে পারে।
উপসংহার: কোডের একটি লাইনের পিছনে রয়েছে প্রযুক্তিগত বিবর্তন
অনেকেই অভিযোগ করেন যে গুগল "অনৈতিক", কিন্তু উচ্চতর দৃষ্টিকোণ থেকে দেখলে, এটি আসলে একটি অনিবার্য প্রক্রিয়া যা সমগ্র ওয়েব ইকোসিস্টেমকে এগিয়ে নিয়ে যায়।
পুরনো বৈশিষ্ট্যগুলি বাদ দেওয়া এবং ডেভেলপারদের মান অনুসরণ করতে বাধ্য করা হল প্রযুক্তিগত সভ্যতার পুনরাবৃত্তি।
যদি আমরা সমস্ত পুরানো বাক্য গঠনের সাথে সামঞ্জস্যপূর্ণ হতে থাকি, তাহলে সামনের অংশটি আজ হোক কাল হোক জীর্ণ হয়ে যাওয়া জিনিসপত্রের পাত্রে পরিণত হবে।
অতএব, যখন আমরা এই ছোট গর্তটি মেরামত করি, তখন আমরা আসলে "প্রযুক্তিগত সভ্যতার পরিষ্কার আন্দোলনে" অংশগ্রহণ করছি।
আগামী বছরগুলোতে এই ধরনের সমস্যা কেবল বাড়তেই থাকবে, এবং এর একমাত্র সমাধান হলো সময়ের সাথে তাল মিলিয়ে চলা ও নিয়মকানুন মেনে চলা ।
চূড়ান্ত সংক্ষিপ্তসার
- কম্পিউটার এটি চালাতে পারে, কিন্তু অ্যান্ড্রয়েড পারে না, কারণ
<script language="javascript">অবচিত। - থেকে ক্রোমিয়াম 119 এড়িয়ে যাওয়ার ক্ষেত্রে অ্যান্ড্রয়েড ক্রোম নেতৃত্ব দেয়
languageবৈশিষ্ট্য<script>টুকরো। - সমাধান হল: ব্যবহার করুন
<script>或<script type="text/javascript">. - পরিবর্তনের পরে, ক্যাশে রিফ্রেশ করুন এবং সমস্যাটি পুনরুদ্ধার করা হবে।
- ডেভেলপারদের সর্বদা ব্রাউজার আপডেটের দিকে মনোযোগ দেওয়া উচিত এবং একটি মানসম্মত পদ্ধতিতে কোড লেখার অভ্যাস গড়ে তোলা উচিত।
তাহলে, পরের বার যখন আপনি এমন একটি অদ্ভুত বাগের মুখোমুখি হবেন যেখানে কম্পিউটার ঠিকঠাক কাজ করে কিন্তু ফোন কাজ করে না, তখন আপনি এটি সম্পর্কে ভাবতে পারেন: আপনার কোডে কি "গত শতাব্দীর কোনও ধ্বংসাবশেষ" লুকিয়ে আছে?
আশা করি, চেন ওয়েইলিয়াং-এর ব্লগে ( https://www.chenweiliang.com/ ) শেয়ার করা "অ্যান্ড্রয়েড ক্রোমে JS কোড কেন ব্যর্থ হয়? কোড কার্যকর না হওয়ার কারণ ও এক-ক্লিক সমাধান!" শীর্ষক নিবন্ধটি আপনার জন্য সহায়ক হবে।
এই নিবন্ধটির লিঙ্কটি নির্দ্বিধায় শেয়ার করুন: https://www.chenweiliang.com/cwl-33236.html
