Chrome Extension එකක් තුළ තෙවන පාර්ශ්ව වෙබ් අඩවිවලින් තොරතුරු ගබඩා කිරීමේ අරමුණක් ඇතැම් වෙලාවේ අර්බුදයක් බවට පත්වේ. Manifest V3 (MV3) නවීකරණය කර ඇති නිසා පසුබැසි (background) පිටුව ඉවත් කර, Service Worker මගින් කාර්යයන් සිදු කරයි. මේ වෙනස්කම් නිසා සංවර්ධකයන්ට නව ආකාරයේ සැලසුම්, අවසර හා දෝෂ හසුරුවීම් අවශ්ය වේ.
MV3 සමඟ ඇති ප්රධාන වෙනස්කම්
MV3 හි පසුබැසි පිටුව නැතිවීමෙන් Service Worker ක්රියාකාරීත්වය සීමා කරයි. කිසිදු ක්රියාකාරකමක් නොමැතිව 30 තත්පර පසු Worker එක නවතී, එහි මතකයේ ඇති දත්ත නස්ත වේ. එබැවින් chrome.storage භාවිතයෙන් දත්ත සුරැකිය යුතුය. උදාහරණයක් ලෙස, let cache = {} ලෙස මතකයේ තබා ගත් විට Worker නවතන විට ඒ දත්ත නැතිවෙයි; එයට await chrome.storage.local.set({cache}) භාවිතා කළොත් දීර්ඝ කාලීනව සුරැකේ.
Content Script සහ DOM සෙවීමේ ගැටළු
Content Script එක අයිසොලේටඩ් වර්ල්ඩ් (isolated world) තුළ ක්රියා කරයි. එය වෙබ් පිටුවේ DOM දැකිය හැකි නමුත් පිටුවේ JavaScript විචල්ය (variables) කියවීමට නොහැක. එම නිසා, ඔබට අවශ්ය දත්ත framework state එකක සුරැකි නම්, එය DOM එකෙන් scraping කිරීමක් හෝ main world එකට inject කිරීමක් කරගත යුතුය. අපි සාමාන්යයෙන් DOM scraping භාවිතා කරමු, එය අඩු අවදානමක් ඇති නමුත් selector එකක් විකෘති වීමේ අවදානමක් ඇත.
Selector ගැලපුම් හා fallback ක්රම
තෙවන පාර්ශ්ව අඩවිවල markup එක අහඹු ලෙස වෙනස් වේ. අද ක්රියාත්මක selector එක හෙට දිනයේ බිඳී යා හැක. ඒ සඳහා semantic markup (article, itemprop, OpenGraph) පළමුව භාවිතා කර, site‑specific selector එක අවසානයේ යෙදීම සුදුසුය. තොරතුරු ලබා ගැනීමට අසමත් වූ විට පරිශීලකයාට පණිවුඩයක් පෙන්වා, හිස් රෙකෝඩ් එකක් සුරැකීම වැළැක්විය යුතුය.
අවසර හා Review ප්රතිකාර
ඉන්ස්ටෝල් කිරීමේදී all_urls අවසරය ඉල්ලීම පරිශීලකයාට බරපතළ ලෙස පෙනේ. ඒ වෙනුවට activeTab සහ optional_host_permissions පළමු භාවිතයේදී ඉල්ලා, අවශ්ය විට පමණක් ලබා දීම වඩා හොඳය. Google Review කාලය අධික වන අතර, අවසර එක් එක් විට අමතරව ඉල්ලා ඇත්තේ පූර්ණ re‑review එකකට හේතුවක් වේ. ඒ නිසා අවසර වෙනස්කම් එකට එකතු කර ඉදිරිපත් කිරීම වේගවත් වේ.
ශ්රී ලංකාවට ඇති වැදගත්කම
මෙම තාක්ෂණික දැනුම ශ්රී ලංකාවේ පරිඝණක ඉංජිනේරු, වෙබ් සංවර්ධක, හා ව්යාපාරිකයන්ට විශාල වාසියක් ලබා දෙයි. පළමු වරට MV3 අනුකූල Extension එකක් නිර්මාණය කළහොත්, chrome.storage භාවිතයෙන් දත්ත ආරක්ෂා කර, අඩු අවසර මත පදනම් වූ නිෂ්පාදන පළ කළ හැක. එමඟින් පරිශීලක විශ්වාසය වැඩි වේ, පලාත් මට්ටමේ ආරක්ෂණ නීති රීති අනුගමනය කර, දේශීය startups කට අන්තර්ජාලයෙහි තරඟකාරීත්වය ලබා දේ. එසේම, විශ්ව විද්යාල සිසුන්ට MV3 ආදර්ශය මත පදනම් වූ පරික්ෂණ පදනම් කරගැනීමට, අනාගත AI‑driven web tools සංවර්ධනයේ පදනමක් සපයයි.
සාරාංශය වශයෙන්, MV3 සමඟ Chrome Extension සංවර්ධනය කළ යුතු නව පියවර, Service Worker, storage, content script isolation, selector fallback, සහ අවසර කළමනාකරණය යන කරුණු සලකා බැලීම අත්යවශ්ය වේ. මේ පියවර අනුගමනය කළහොත්, ඔබේ Extension එක බහු‑වෙබ් අඩවිවල අඩු දෝෂයකින් ක්රියාත්මක වනු ඇත.