ആർട്ടിക്കിൾ ഡയറക്ടറി
വെബ്സൈറ്റ് കുഴപ്പമില്ലെന്നും JS കോഡ് പഴയ നായയെപ്പോലെ സ്ഥിരതയുള്ളതാണെന്നും നിങ്ങൾ കരുതിയോ, പക്ഷേ മൊബൈൽ ബ്രൗസർ പതിപ്പ് മാറ്റിയ ഉടനെ പേജ് "സ്ട്രൈക്ക് ചെയ്തു"?
ഏറ്റവും അരോചകമായ കാര്യം, ഇത് ഒരു കമ്പ്യൂട്ടറിൽ സാധാരണയായി പ്രവർത്തിക്കുന്നു, പക്ഷേ ഒരു Android ഫോണിൽ നിങ്ങളെ പൂർണ്ണമായും അവഗണിക്കുന്നു എന്നതാണ്.
ഇത് തമാശയല്ല, രഹസ്യമായി സംഭവിച്ചുകൊണ്ടിരിക്കുന്ന ഒരു ബ്രൗസർ പ്രശ്നമാണിത്.
പ്രശ്നത്തിന്റെ മൂലം: നിങ്ങൾ അത് തെറ്റായി എഴുതി എന്നല്ല, കാലം നിങ്ങളെ കൈവിട്ടു എന്നതാണ്.

വാസ്തവത്തിൽ, മിക്ക ഡെവലപ്പർമാരും ഈ പ്രതിഭാസം കാണുമ്പോൾ, അവരുടെ ആദ്യ പ്രതികരണം ഇതായിരിക്കും: JS വാക്യഘടനയിൽ ഒരു ബഗ് ഉണ്ടോ? DOM ലോഡ് ചെയ്തിട്ടില്ലേ? അതോ അനുമതി തടഞ്ഞിട്ടുണ്ടോ?
ഫലമോ? അവരിൽ ആരുമില്ല. യഥാർത്ഥ കുറ്റവാളി ആ പുരാതന എഴുത്താണെന്ന് തെളിഞ്ഞു:
<script language="javascript">
20 വർഷങ്ങൾക്ക് മുമ്പ് ഈ കോഡ് ലൈൻ അവിശ്വസനീയമാംവിധം ജനപ്രിയമായിരുന്നു ; എല്ലാ ട്യൂട്ടോറിയലിലും നിങ്ങൾക്ക് ഇത് കാണാൻ കഴിയും.
എന്നാൽ അകത്ത് ക്രോമിയം പതിപ്പ് 119അതിനുശേഷം, ഗൂഗിൾ ഈ "പുരാതന വ്യാകരണത്തോട്" വിട പറഞ്ഞു: നിങ്ങൾ കാണുന്നിടത്തോളം language ആട്രിബ്യൂട്ടുകൾ, ബ്രൗസർ അവയെ തിരഞ്ഞെടുത്ത് അവഗണിക്കും, അവ വിശദീകരിക്കാൻ പോലും മെനക്കെടുകയുമില്ല.
അനുയോജ്യത കാരണങ്ങളാൽ, ഡെസ്ക്ടോപ്പിലെ Chrome ഇപ്പോഴും "താൽക്കാലികമായി അത് പരിപാലിക്കുന്നു"; എന്നാൽ മൊബൈലിലെ Chrome Android "വാൻഗാർഡ്" ആണ്, ഉടൻ തന്നെ ഈ ക്ലീനിംഗ് തന്ത്രം പ്രവർത്തനക്ഷമമാക്കി.
ഇത് കമ്പ്യൂട്ടർ നന്നായി പ്രവർത്തിക്കുന്നതിൽ പ്രശ്നമുണ്ടാക്കി, പക്ഷേ മൊബൈൽ ഫോൺ തകരാറിലായി.
എന്തുകൊണ്ടാണ് ആൻഡ്രോയിഡ് ആദ്യം നടപടിയെടുത്തത്?
ചിലർ ചോദിച്ചേക്കാം: എന്തുകൊണ്ടാണ് ആൻഡ്രോയിഡ് ക്രോം ആദ്യം ലോഞ്ച് ചെയ്യുന്നത്?
ഇത് വളരെ ലളിതമാണ്, കാരണം മൊബൈൽ ടെർമിനലിന്റെ അപ്ഗ്രേഡ് വേഗത കൂടുതലാണ്, കൂടാതെ ചുവന്ന എൻവലപ്പുകൾ അയയ്ക്കുന്നതുപോലെ വേഗത്തിൽ Google വിവരങ്ങൾ മുന്നോട്ട് കൊണ്ടുപോകുന്നു.
2023 ഒക്ടോബർ 31- ന് , ആൻഡ്രോയിഡിനുള്ള Chrome 119 ഗൂഗിൾ പ്ലേ വഴി പൂർണ്ണമായും പുറത്തിറക്കി.
ഡെസ്ക്ടോപ്പ് പതിപ്പിലും ക്രോമിയം കേർണൽ ഉപയോഗിക്കുന്നുണ്ടെങ്കിലും, വലിയ തോതിലുള്ള ആന്തരിക കോർപ്പറേറ്റ് സിസ്റ്റങ്ങൾ പെട്ടെന്ന് പൊട്ടിത്തെറിക്കുന്നത് ഒഴിവാക്കാൻ "ഒരു കൈ സൂക്ഷിക്കുക" എന്നത് പതിവാണ്.
അപ്പോൾ, നിങ്ങൾ ഇപ്പോഴും "" എന്ന വാചകം ഉപയോഗിക്കുന്നുണ്ടെങ്കിൽlanguage=javascript", ആൻഡ്രോയിഡ് ഫോണുകളിൽ ഇത് ഒരു സുതാര്യമായ കോഡ് എഴുതുന്നതിന് തുല്യമാണ്, അത് ബ്രൗസർ നേരിട്ട് അവഗണിക്കും.
പരിഹാരം: മൂന്ന് സെക്കൻഡിനുള്ളിൽ അത് പൂർത്തിയാക്കുക
ഭാഗ്യവശാൽ, ഈ പ്രശ്നത്തിനുള്ള പരിഹാരം അവിശ്വസനീയമാംവിധം ലളിതമാണ്. ഈ വരി മാറ്റിസ്ഥാപിക്കുക:
<script>
അല്ലെങ്കിൽ കുറച്ചുകൂടി ഔപചാരികമായി:
<script type="text/javascript">
ഇത് പരിഷ്കരിക്കാൻ കുറച്ച് നിമിഷങ്ങൾ മാത്രമേ എടുക്കൂ, Android Chrome അത് ഉടൻ തന്നെ നടപ്പിലാക്കും.
മാറ്റങ്ങൾ വരുത്തിയതിനുശേഷവും കാഷെ നിർബന്ധിച്ച് പുതുക്കാൻ ഓർമ്മിക്കുക ; അല്ലെങ്കിൽ, ബ്രൗസർ ഇപ്പോഴും പഴയ ഫയൽ വായിക്കുന്നുണ്ടാകാം. രീതി ലളിതമാണ്:
- കമ്പ്യൂട്ടർ: Ctrl + F5
- ഫോൺ: ക്രമീകരണങ്ങൾ → സ്വകാര്യത → കാഷെ മായ്ക്കുക
ഒരിക്കൽ പുതുക്കിയാൽ, കോഡ് നിമിഷങ്ങൾക്കുള്ളിൽ പുനരുജ്ജീവിപ്പിക്കുകയും പേജ് വീണ്ടും പ്രവർത്തിക്കാൻ തുടങ്ങുകയും ചെയ്യും.
ഇത് യഥാർത്ഥത്തിൽ ഒരു "ലിക്വിഡേഷൻ" ആണ്.
ആത്യന്തികമായി, ഈ പ്രശ്നം ജാവാസ്ക്രിപ്റ്റിൽ തന്നെ ആയിരുന്നില്ല, മറിച്ച് ലെഗസി ഫ്രണ്ട്-എൻഡ് കോഡുമായുള്ള ഒരു കണക്കുകൂട്ടലായിരുന്നു.
ബ്രൗസർ നിർമ്മാതാക്കൾ ചെയ്യേണ്ടത് വളരെ വ്യക്തമാണ്: കാലഹരണപ്പെട്ട വാക്യഘടന ക്രമേണ വൃത്തിയാക്കി ഡവലപ്പർമാരെ അപ്ഡേറ്റ് ചെയ്യാൻ നിർബന്ധിക്കുക.
അതൊരു ഹൈവേ പോലെയാണ്: മുമ്പ് ട്രൈസൈക്കിളുകളും ട്രാക്ടറുകളും അടുത്തടുത്തായി ഓടാൻ അനുവദിച്ചിരുന്നു, എന്നാൽ ഇപ്പോൾ സുരക്ഷാ കാരണങ്ങളാൽ അവ ഓടിച്ചുകളയേണ്ടി വരുന്നു. language="javascript" ആ ട്രാക്ടർ അതിവേഗ പാതയിൽ വരാൻ പാടില്ലായിരുന്നു.
ഡെവലപ്പർമാർ എന്താണ് ശ്രദ്ധിക്കേണ്ടത്?
ഈ സംഭവം നമുക്ക് വളരെ യാഥാർത്ഥ്യബോധമുള്ള ഒരു ഓർമ്മപ്പെടുത്തലാണ്:
കോഡ് ശൈലി വളരെ പ്രധാനമാണ്. "പ്രവർത്തിപ്പിക്കേണ്ട ആവശ്യമുണ്ട്" എന്ന് നിങ്ങൾ കരുതുന്ന കോഡ് പിന്നീടുള്ള പതിപ്പിൽ തകരാറിലായേക്കാം.
പരീക്ഷണ പരിതസ്ഥിതി വേഗതയ്ക്കൊപ്പം തുടരേണ്ടതുണ്ട്. നിങ്ങളുടെ കമ്പ്യൂട്ടറിലെ Chrome-ൽ വെറുതെ ക്ലിക്ക് ചെയ്ത് അത് റിലീസ് ചെയ്യരുത്. മൊബൈൽ ഉപകരണങ്ങളിലും ബ്രൗസറുകളുടെ വ്യത്യസ്ത പതിപ്പുകളിലും നിങ്ങൾ ഇത് പരീക്ഷിക്കേണ്ടതുണ്ട്.
ബ്രൗസർ അപ്ഡേറ്റ് ലോഗുകൾ ശ്രദ്ധിക്കുക. Chromium അപ്ഡേറ്റുകൾ എപ്പോഴും "ഒഴിവാക്കലും നീക്കംചെയ്യലും" എന്ന സന്ദേശങ്ങളുടെ ഒരു കൂട്ടത്തോടൊപ്പമാണ് വരുന്നത്. ഇവ വെറും പ്രദർശനത്തിനുള്ളതല്ല; അവയ്ക്ക് നിങ്ങളുടെ ബിസിനസ്സിനെ ഇല്ലാതാക്കാൻ കഴിയും.
ഉപസംഹാരം: ഒരു കോഡിന്റെ പിന്നിലുള്ളത് സാങ്കേതിക പരിണാമമാണ്.
ഗൂഗിൾ "അധാർമ്മികത" പുലർത്തുന്നുവെന്ന് പലരും പരാതിപ്പെടുന്നു, എന്നാൽ ഉയർന്ന കാഴ്ചപ്പാടിൽ നിന്ന് നോക്കുമ്പോൾ, ഇത് യഥാർത്ഥത്തിൽ മുഴുവൻ വെബ് ആവാസവ്യവസ്ഥയെയും മുന്നോട്ട് നയിക്കുന്ന ഒരു അനിവാര്യമായ പ്രക്രിയയാണ്.
പഴയ ഗുണങ്ങൾ ഇല്ലാതാക്കുകയും ഡെവലപ്പർമാരെ മാനദണ്ഡങ്ങൾ പാലിക്കാൻ നിർബന്ധിക്കുകയും ചെയ്യുന്നത് സാങ്കേതിക നാഗരികതയുടെ ആവർത്തനമാണ്.
കാലഹരണപ്പെട്ട എല്ലാ വാക്യഘടനകളുമായും നമ്മൾ പൊരുത്തപ്പെടുന്നത് തുടർന്നാൽ, മുൻഭാഗം എത്രയും വേഗം അല്ലെങ്കിൽ പിന്നീട് ജീർണിച്ച ഒരു ഹോഡ്ജ്പോഡ്ജിന്റെ കലമായി മാറും.
അതുകൊണ്ട്, ഈ ചെറിയ കുഴി നന്നാക്കുമ്പോൾ, നമ്മൾ യഥാർത്ഥത്തിൽ "സാങ്കേതിക നാഗരികതയുടെ ശുചീകരണ പ്രസ്ഥാനത്തിൽ" പങ്കെടുക്കുകയാണ്.
വരും വർഷങ്ങളിൽ സമാനമായ അപകടങ്ങൾ വർദ്ധിക്കുകയേ ഉള്ളൂ, അതിനുള്ള ഏക പരിഹാരം സമയത്തിനനുസരിച്ച് പ്രവർത്തിക്കുകയും നിയന്ത്രണങ്ങൾ സ്വീകരിക്കുകയും ചെയ്യുക എന്നതാണ്.
അന്തിമ സംഗ്രഹം
- കമ്പ്യൂട്ടറുകൾക്ക് ഇത് പ്രവർത്തിപ്പിക്കാൻ കഴിയും, പക്ഷേ ആൻഡ്രോയിഡിന് കഴിയില്ല, കാരണം
<script language="javascript">ഒഴിവാക്കി. - വഴി Chromium 119 ഒഴിവാക്കലിൽ ആൻഡ്രോയിഡ് ക്രോം മുന്നിലാണ്
languageആട്രിബ്യൂട്ട്<script>കഷണം. - പരിഹാരം ഇതാണ്: ഉപയോഗിക്കുക
<script>അല്ലെങ്കിൽ<script type="text/javascript">. - പരിഷ്ക്കരണത്തിന് ശേഷം, കാഷെ പുതുക്കുക, പ്രശ്നം പുനഃസ്ഥാപിക്കപ്പെടും.
- ഡെവലപ്പർമാർ എപ്പോഴും ബ്രൗസർ അപ്ഡേറ്റുകളിൽ ശ്രദ്ധ ചെലുത്തുകയും സ്റ്റാൻഡേർഡ് രീതിയിൽ കോഡ് എഴുതുന്ന ശീലം വികസിപ്പിക്കുകയും വേണം.
അപ്പോൾ, അടുത്ത തവണ കമ്പ്യൂട്ടർ നന്നായി പ്രവർത്തിക്കുന്നുണ്ടെങ്കിലും ഫോൺ പ്രവർത്തിക്കാത്ത ഒരു വിചിത്രമായ ബഗ് നേരിടുമ്പോൾ, നിങ്ങൾ ഇതിനെക്കുറിച്ച് ചിന്തിക്കുന്നത് നന്നായിരിക്കും: നിങ്ങളുടെ കോഡിൽ "കഴിഞ്ഞ നൂറ്റാണ്ടിലെ ഒരു അവശിഷ്ടം" ഒളിഞ്ഞിരിക്കുന്നുണ്ടോ?
ചെൻ വെയ്ലിയാങ്ങിന്റെ ബ്ലോഗിൽ ( https://www.chenweiliang.com/ ) പങ്കിട്ട "ആൻഡ്രോയിഡ് ക്രോമിൽ JS കോഡ് പരാജയപ്പെടുന്നത് എന്തുകൊണ്ട്? നടപ്പിലാക്കാത്തതിന്റെ കാരണങ്ങൾ വെളിപ്പെടുത്തി, ഒറ്റ ക്ലിക്ക് പരിഹാരം!" എന്ന ലേഖനം നിങ്ങൾക്ക് സഹായകരമാകുമെന്ന് പ്രതീക്ഷിക്കുന്നു.
ഈ ലേഖനത്തിന്റെ ലിങ്ക് പങ്കിടാൻ മടിക്കേണ്ടതില്ല: https://www.chenweiliang.com/cwl-33236.html
