ã¢ãžã¥ãŒã«åŒã€ã³ããŒãã䜿çšããŠãJavaScriptã§ã®åçãªã¢ãžã¥ãŒã«äœæãšé«åºŠãªã€ã³ããŒãæè¡ãæ¢ããŸããã¢ãžã¥ãŒã«ãæ¡ä»¶ä»ãã§ããŒãããäŸåé¢ä¿ã广çã«ç®¡çããæ¹æ³ãåŠã³ãŸãããã
JavaScriptã¢ãžã¥ãŒã«åŒã€ã³ããŒãïŒåçãªã¢ãžã¥ãŒã«äœæãšé«åºŠãªãã¿ãŒã³
JavaScriptã®ã¢ãžã¥ãŒã«ã·ã¹ãã ã¯ãã³ãŒããæŽçãåå©çšããããã®åŒ·åãªæ¹æ³ãæäŸããŸããimportæã䜿çšããéçã€ã³ããŒããæãäžè¬çãªã¢ãããŒãã§ãããåçãªã¢ãžã¥ãŒã«åŒã€ã³ããŒãã¯ããªã³ããã³ãã§ã¢ãžã¥ãŒã«ãäœæãã€ã³ããŒãããããã®æè»ãªä»£æ¿ææ®µãæäŸããŸãããã®ã¢ãããŒãã¯ãimport()åŒãä»ããŠå©çšå¯èœã§ãããæ¡ä»¶ä»ãããŒããé
å»¶åæåãäŸåæ§æ³šå
¥ãªã©ã®é«åºŠãªãã¿ãŒã³ãå¯èœã«ããããå¹ççã§ä¿å®ããããã³ãŒãã«ã€ãªãããŸãããã®èšäºã§ã¯ãã¢ãžã¥ãŒã«åŒã€ã³ããŒãã®è€éããæãäžãããã®èœåãæŽ»çšããããã®å®è·µçãªäŸãšãã¹ããã©ã¯ãã£ã¹ãæäŸããŸãã
ã¢ãžã¥ãŒã«åŒã€ã³ããŒãã®çè§£
ã¢ãžã¥ãŒã«ã®å
é ã§å®£èšãããã³ã³ãã€ã«æã«è§£æ±ºãããéçã€ã³ããŒããšã¯ç°ãªããã¢ãžã¥ãŒã«åŒã€ã³ããŒãïŒimport()ïŒã¯ããããã¹ãè¿ã颿°ã®ãããªåŒã§ãããã®ãããã¹ã¯ãã¢ãžã¥ãŒã«ãããŒãããå®è¡ããããšããã®ã¢ãžã¥ãŒã«ã®ãšã¯ã¹ããŒãã§è§£æ±ºãããŸãããã®åçãªæ§è³ªã«ãããå®è¡æã®æ¡ä»¶ã«åºã¥ããŠããŸãã¯å®éã«å¿
èŠã«ãªã£ããšãã«ã¢ãžã¥ãŒã«ãæ¡ä»¶ä»ãã§ããŒãããããšãã§ããŸãã
æ§æïŒ
ã¢ãžã¥ãŒã«åŒã€ã³ããŒãã®åºæ¬çãªæ§æã¯ç°¡åã§ãïŒ
import('./my-module.js').then(module => {
// ããã§ã¢ãžã¥ãŒã«ã®ãšã¯ã¹ããŒãã䜿çšãã
console.log(module.myFunction());
});
ããã§ã'./my-module.js'ã¯ã¢ãžã¥ãŒã«æå®åãã€ãŸãã€ã³ããŒããããã¢ãžã¥ãŒã«ãžã®ãã¹ã§ããthen()ã¡ãœããã¯ããããã¹ã®è§£æ±ºãåŠçããã¢ãžã¥ãŒã«ã®ãšã¯ã¹ããŒãã«ã¢ã¯ã»ã¹ããããã«äœ¿çšãããŸãã
åçã¢ãžã¥ãŒã«ã€ã³ããŒãã®å©ç¹
åçã¢ãžã¥ãŒã«ã€ã³ããŒãã¯ãéçã€ã³ããŒãã«æ¯ã¹ãŠããã€ãã®éèŠãªå©ç¹ããããŸãïŒ
- æ¡ä»¶ä»ãããŒãïŒ ç¹å®ã®æ¡ä»¶ãæºããããå Žåã«ã®ã¿ã¢ãžã¥ãŒã«ãããŒãã§ããŸããããã«ãããç¹ã«ãªãã·ã§ã³æ©èœãæã€å€§èŠæš¡ãªã¢ããªã±ãŒã·ã§ã³ã«ãããŠãåæããŒãæéãççž®ãããããã©ãŒãã³ã¹ãåäžããŸãã
- é å»¶åæåïŒ ã¢ãžã¥ãŒã«ãæåã«å¿ èŠã«ãªã£ããšãã«ã®ã¿ããŒãã§ããŸããããã«ãããç¹å®ã®ã»ãã·ã§ã³äžã«äœ¿çšãããªãå¯èœæ§ã®ããã¢ãžã¥ãŒã«ã®äžå¿ èŠãªããŒããåé¿ããŸãã
- ãªã³ããã³ãããŒãïŒ ãã¿ã³ã®ã¯ãªãã¯ãç¹å®ã®ã«ãŒããžã®ããã²ãŒã·ã§ã³ãªã©ããŠãŒã¶ãŒã®ã¢ã¯ã·ã§ã³ã«å¿ããŠã¢ãžã¥ãŒã«ãããŒãã§ããŸãã
- ã³ãŒãåå²ïŒ åçã€ã³ããŒãã¯ã³ãŒãåå²ã®åºç€ã§ãããã¢ããªã±ãŒã·ã§ã³ãç¬ç«ããŠããŒãã§ããå°ããªãã³ãã«ã«åå²ããããšãã§ããŸããããã«ãããåæããŒãæéãšã¢ããªã±ãŒã·ã§ã³å šäœã®å¿çæ§ãå€§å¹ ã«åäžããŸãã
- äŸåæ§æ³šå ¥ïŒ åçã€ã³ããŒãã¯äŸåæ§æ³šå ¥ã容æã«ããŸããã¢ãžã¥ãŒã«ã颿°ãã¯ã©ã¹ã®åŒæ°ãšããŠæž¡ãããšãã§ããã³ãŒããããã¢ãžã¥ãŒã«åãããã¹ãããããããŸãã
ã¢ãžã¥ãŒã«åŒã€ã³ããŒãã®å®è·µäŸ
1. æ©èœæ€åºã«åºã¥ãæ¡ä»¶ä»ãããŒã
ç¹å®ã®ãã©ãŠã¶APIã䜿çšããã¢ãžã¥ãŒã«ããããããã®APIããµããŒãããŠããªããã©ãŠã¶ã§ãã¢ããªã±ãŒã·ã§ã³ãåäœãããããšããŸããåçã€ã³ããŒãã䜿çšããŠãAPIãå©çšå¯èœãªå Žåã«ã®ã¿ã¢ãžã¥ãŒã«ãããŒãããããšãã§ããŸãïŒ
if ('IntersectionObserver' in window) {
import('./intersection-observer-module.js').then(module => {
module.init();
}).catch(error => {
console.error('IntersectionObserverã¢ãžã¥ãŒã«ã®èªã¿èŸŒã¿ã«å€±æããŸããïŒ', error);
});
} else {
console.log('IntersectionObserverã¯ãµããŒããããŠããŸããããã©ãŒã«ããã¯ã䜿çšããŸãã');
// å€ããã©ãŠã¶çšã®ãã©ãŒã«ããã¯ã¡ã«ããºã ã䜿çš
}
ãã®äŸã§ã¯ããã©ãŠã¶ã§IntersectionObserver APIãå©çšå¯èœãã©ããã確èªããŸããå©çšå¯èœãªå Žåã¯ãintersection-observer-module.jsãåçã«ããŒããããŸããããã§ãªãå Žåã¯ããã©ãŒã«ããã¯ã¡ã«ããºã ã䜿çšãããŸãã
2. ç»åã®é å»¶èªã¿èŸŒã¿
ç»åã®é å»¶èªã¿èŸŒã¿ã¯ãããŒãžã®èªã¿èŸŒã¿æéãæ¹åããããã®äžè¬çãªæé©åææ³ã§ããåçã€ã³ããŒãã䜿çšããŠãç»åããã¥ãŒããŒãã«è¡šç€ºããããšãã«ã®ã¿ç»åãããŒãããããšãã§ããŸãïŒ
const imageElement = document.querySelector('img[data-src]');
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const img = entry.target;
const src = img.dataset.src;
import('./image-loader.js').then(module => {
module.loadImage(img, src);
observer.unobserve(img);
}).catch(error => {
console.error('ç»åããŒããŒã¢ãžã¥ãŒã«ã®èªã¿èŸŒã¿ã«å€±æããŸããïŒ', error);
});
}
});
});
observer.observe(imageElement);
ãã®äŸã§ã¯ãIntersectionObserverã䜿çšããŠãç»åããã¥ãŒããŒãã«è¡šç€ºãããããšãæ€åºããŸããç»åã衚瀺ãããããã«ãªããšãimage-loader.jsã¢ãžã¥ãŒã«ãåçã«ããŒããããŸãããã®ã¢ãžã¥ãŒã«ã¯ç»åãããŒãããimgèŠçŽ ã®src屿§ãèšå®ããŸãã
image-loader.jsã¢ãžã¥ãŒã«ã¯æ¬¡ã®ããã«ãªããŸãïŒ
// image-loader.js
export function loadImage(img, src) {
return new Promise((resolve, reject) => {
img.onload = () => resolve(img);
img.onerror = reject;
img.src = src;
});
}
3. ãŠãŒã¶ãŒèšå®ã«åºã¥ãã¢ãžã¥ãŒã«ã®ããŒã
ã¢ããªã±ãŒã·ã§ã³ã«ç°ãªãããŒããããããŠãŒã¶ãŒã®å¥œã¿ã«åºã¥ããŠããŒãåºæã®CSSãŸãã¯JavaScriptã¢ãžã¥ãŒã«ãåçã«ããŒãããããšããŸãããŠãŒã¶ãŒã®å¥œã¿ãããŒã«ã«ã¹ãã¬ãŒãžã«ä¿åããé©åãªã¢ãžã¥ãŒã«ãããŒãããããšãã§ããŸãïŒ
const theme = localStorage.getItem('theme') || 'light'; // ããã©ã«ãã¯ã©ã€ãããŒã
import(`./themes/${theme}-theme.js`).then(module => {
module.applyTheme();
}).catch(error => {
console.error(`${theme}ããŒãã®èªã¿èŸŒã¿ã«å€±æããŸããïŒ`, error);
// ããã©ã«ãããŒããããŒããããããšã©ãŒã¡ãã»ãŒãžã衚瀺
});
ãã®äŸã§ã¯ãããŒã«ã«ã¹ãã¬ãŒãžã«ä¿åãããŠãããŠãŒã¶ãŒã®å¥œã¿ã«åºã¥ããŠããŒãåºæã®ã¢ãžã¥ãŒã«ãããŒãããŸããèšå®ããããŠããªãå Žåã¯ãããã©ã«ãã§ãã©ã€ããããŒãã«ãªããŸãã
4. åçã€ã³ããŒãã«ããåœéåïŒi18nïŒ
åçã€ã³ããŒãã¯åœéåã«éåžžã«åœ¹ç«ã¡ãŸãããŠãŒã¶ãŒã®ãã±ãŒã«èšå®ã«åºã¥ããŠãèšèªåºæã®ãªãœãŒã¹ãã³ãã«ïŒç¿»èš³ãã¡ã€ã«ïŒããªã³ããã³ãã§ããŒãã§ããŸããããã«ãããå¿ èŠãªç¿»èš³ã®ã¿ãããŒãããããã©ãŒãã³ã¹ãåäžãããã¢ããªã±ãŒã·ã§ã³ã®åæããŠã³ããŒããµã€ãºãåæžããŸããäŸãã°ãè±èªããã©ã³ã¹èªãã¹ãã€ã³èªã®ç¿»èš³çšã«å¥ã ã®ãã¡ã€ã«ãçšæããããšããããŸãã
const locale = navigator.language || navigator.userLanguage || 'en'; // ãŠãŒã¶ãŒã®ãã±ãŒã«ãæ€åº
import(`./locales/${locale}.js`).then(translations => {
// 翻蚳ã䜿çšããŠUIãã¬ã³ããªã³ã°
document.getElementById('welcome-message').textContent = translations.welcome;
}).catch(error => {
console.error(`${locale}ã®ç¿»èš³ã®èªã¿èŸŒã¿ã«å€±æããŸããïŒ`, error);
// ããã©ã«ãã®ç¿»èš³ãããŒããããããšã©ãŒã¡ãã»ãŒãžã衚瀺
});
ãã®äŸã§ã¯ããŠãŒã¶ãŒã®ãã©ãŠã¶ãã±ãŒã«ã«å¯Ÿå¿ãã翻蚳ãã¡ã€ã«ãããŒãããããšããŸãããã¡ã€ã«ãèŠã€ãããªãå Žåã¯ãããã©ã«ãã®ãã±ãŒã«ã«ãã©ãŒã«ããã¯ãããããšã©ãŒã¡ãã»ãŒãžã衚瀺ããããšããããŸãããã¹ã»ãã©ããŒãµã«ã®è匱æ§ãé²ãããã«ããã±ãŒã«å€æ°ããµãã¿ã€ãºããããšãå¿ããªãã§ãã ããã
é«åºŠãªãã¿ãŒã³ãšèæ ®äºé
1. ãšã©ãŒãã³ããªã³ã°
åçã¢ãžã¥ãŒã«ã®ããŒãäžã«çºçããå¯èœæ§ã®ãããšã©ãŒãåŠçããããšãéèŠã§ããimport()åŒã¯ãããã¹ãè¿ããããcatch()ã¡ãœããã䜿çšããŠãšã©ãŒãåŠçã§ããŸãïŒ
import('./my-module.js').then(module => {
// ããã§ã¢ãžã¥ãŒã«ã®ãšã¯ã¹ããŒãã䜿çšãã
}).catch(error => {
console.error('ã¢ãžã¥ãŒã«ã®èªã¿èŸŒã¿ã«å€±æããŸããïŒ', error);
// ãšã©ãŒãé©åã«åŠçããïŒäŸïŒãŠãŒã¶ãŒã«ãšã©ãŒã¡ãã»ãŒãžã衚瀺ïŒ
});
é©åãªãšã©ãŒãã³ããªã³ã°ã«ãããã¢ãžã¥ãŒã«ã®ããŒãã«å€±æããå Žåã§ãã¢ããªã±ãŒã·ã§ã³ãã¯ã©ãã·ã¥ããªãããã«ããŸãã
2. ã¢ãžã¥ãŒã«æå®å
import()åŒå
ã®ã¢ãžã¥ãŒã«æå®åã¯ãçžå¯Ÿãã¹ïŒäŸïŒ'./my-module.js'ïŒã絶察ãã¹ïŒäŸïŒ'/path/to/my-module.js'ïŒããŸãã¯ãã¢ã¢ãžã¥ãŒã«æå®åïŒäŸïŒ'lodash'ïŒã«ããããšãã§ããŸãããã¢ã¢ãžã¥ãŒã«æå®åãæ£ãã解決ããã«ã¯ãWebpackãParcelãªã©ã®ã¢ãžã¥ãŒã«ãã³ãã©ãå¿
èŠã§ãã
3. ãã¹ã»ãã©ããŒãµã«ã®è匱æ§ã®é²æ¢
ãŠãŒã¶ãŒæäŸã®å ¥åã䜿çšããŠåçã€ã³ããŒãã䜿çšããå Žåã¯ããã¹ã»ãã©ããŒãµã«ã®è匱æ§ãé²ãããã«çްå¿ã®æ³šæãæãå¿ èŠããããŸããæ»æè ã¯å ¥åãæäœããŠãµãŒããŒäžã®ä»»æã®ãã¡ã€ã«ãããŒãããã»ãã¥ãªãã£äŸµå®³ã«ã€ãªããå¯èœæ§ããããŸããã¢ãžã¥ãŒã«æå®åã§äœ¿çšããåã«ãå¿ ããŠãŒã¶ãŒå ¥åããµãã¿ã€ãºããã³æ€èšŒããŠãã ããã
è匱ãªã³ãŒãã®äŸïŒ
const userInput = window.location.hash.substring(1); //ãŠãŒã¶ãŒããã®å
¥åäŸ
import(`./modules/${userInput}.js`).then(...); // å±éºïŒãã¹ã»ãã©ããŒãµã«ã«ã€ãªããå¯èœæ§ãã
å®å šãªã¢ãããŒãïŒ
const userInput = window.location.hash.substring(1);
const allowedModules = ['moduleA', 'moduleB', 'moduleC'];
if (allowedModules.includes(userInput)) {
import(`./modules/${userInput}.js`).then(...);
} else {
console.error('ç¡å¹ãªã¢ãžã¥ãŒã«ããªã¯ãšã¹ããããŸããã');
}
ãã®ã³ãŒãã¯ãäºåã«å®çŸ©ããããã¯ã€ããªã¹ãããã®ã¿ã¢ãžã¥ãŒã«ãããŒãããæ»æè ãä»»æã®ãã¡ã€ã«ãããŒãããã®ãé²ããŸãã
4. async/awaitã®äœ¿çš
ãŸããasync/awaitæ§æã䜿çšããŠãåçã¢ãžã¥ãŒã«ã€ã³ããŒããç°¡çŽ åããããšãã§ããŸãïŒ
async function loadModule() {
try {
const module = await import('./my-module.js');
// ããã§ã¢ãžã¥ãŒã«ã®ãšã¯ã¹ããŒãã䜿çšãã
console.log(module.myFunction());
} catch (error) {
console.error('ã¢ãžã¥ãŒã«ã®èªã¿èŸŒã¿ã«å€±æããŸããïŒ', error);
// ãšã©ãŒãé©åã«åŠçãã
}
}
loadModule();
ããã«ãããã³ãŒããããèªã¿ããããçè§£ãããããªããŸãã
5. ã¢ãžã¥ãŒã«ãã³ãã©ãšã®çµ±å
åçã€ã³ããŒãã¯éåžžãWebpackãParcelãRollupãªã©ã®ã¢ãžã¥ãŒã«ãã³ãã©ãšçµã¿åãããŠäœ¿çšãããŸãããããã®ãã³ãã©ã¯ãã³ãŒãåå²ãšäŸåé¢ä¿ç®¡çãèªåçã«åŠçããã¢ããªã±ãŒã·ã§ã³çšã«æé©åããããã³ãã«ãç°¡åã«äœæã§ããããã«ããŸãã
Webpackã®èšå®ïŒ
ããšãã°ãWebpackã¯åçãªimport()æãèªåçã«èªèããã€ã³ããŒããããã¢ãžã¥ãŒã«çšã«å¥ã
ã®ãã£ã³ã¯ãäœæããŸããã¢ããªã±ãŒã·ã§ã³ã®æ§é ã«åºã¥ããŠã³ãŒãåå²ãæé©åããããã«ãWebpackã®èšå®ã調æŽããå¿
èŠãããå ŽåããããŸãã
6. ããªãã£ã«ãšãã©ãŠã¶ã®äºææ§
åçã€ã³ããŒãã¯ãã¹ãŠã®ã¢ãã³ãã©ãŠã¶ã§ãµããŒããããŠããŸãããã ããå€ããã©ãŠã¶ã§ã¯ããªãã£ã«ãå¿
èŠã«ãªãå ŽåããããŸãães-module-shimsã®ãããªããªãã£ã«ã䜿çšããŠãå€ããã©ãŠã¶ã§åçã€ã³ããŒãããµããŒãããããšãã§ããŸãã
ã¢ãžã¥ãŒã«åŒã€ã³ããŒãã䜿çšããããã®ãã¹ããã©ã¯ãã£ã¹
- åçã€ã³ããŒãã¯æ§ããã«äœ¿çšããïŒ åçã€ã³ããŒãã¯æè»æ§ãæäŸããŸããã䜿ãããããšã³ãŒããè€éã«ãªããããã©ãŒãã³ã¹ã®åé¡ã«ã€ãªããå¯èœæ§ããããŸããæ¡ä»¶ä»ãããŒããé å»¶åæåãªã©ãå¿ èŠãªå Žåã«ã®ã¿äœ¿çšããŠãã ããã
- ãšã©ãŒãé©åã«åŠçããïŒ åçã¢ãžã¥ãŒã«ã®ããŒãäžã«çºçããå¯èœæ§ã®ãããšã©ãŒã¯åžžã«åŠçããŠãã ããã
- ãŠãŒã¶ãŒå ¥åããµãã¿ã€ãºããïŒ ãŠãŒã¶ãŒæäŸã®å ¥åã§åçã€ã³ããŒãã䜿çšããå Žåã¯ããã¹ã»ãã©ããŒãµã«ã®è匱æ§ãé²ãããã«ãåžžã«å ¥åããµãã¿ã€ãºããã³æ€èšŒããŠãã ããã
- ã¢ãžã¥ãŒã«ãã³ãã©ã䜿çšããïŒ WebpackãParcelãªã©ã®ã¢ãžã¥ãŒã«ãã³ãã©ã¯ãã³ãŒãåå²ãšäŸåé¢ä¿ç®¡çãç°¡çŽ åããåçã€ã³ããŒãã广çã«äœ¿çšããããããŸãã
- ã³ãŒãã培åºçã«ãã¹ãããïŒ ããŸããŸãªãã©ãŠã¶ãç°å¢ã§åçã€ã³ããŒããæ£ããæ©èœããããšã確èªããããã«ã³ãŒãããã¹ãããŠãã ããã
äžçäžã®å®äžçã§ã®äŸ
å€ãã®å€§äŒæ¥ããªãŒãã³ãœãŒã¹ãããžã§ã¯ãã¯ãããŸããŸãªç®çã§åçã€ã³ããŒããæŽ»çšããŠããŸãïŒ
- Eã³ããŒã¹ãã©ãããã©ãŒã ïŒ ãŠãŒã¶ãŒã®ã€ã³ã¿ã©ã¯ã·ã§ã³ã«åºã¥ããŠååè©³çŽ°ãæšå¥šãåçã«ããŒãããŸããæ¥æ¬ã®Eã³ããŒã¹ãµã€ãã¯ããã©ãžã«ã®ãµã€ããšã¯ç°ãªããå°åã®èŠä»¶ããŠãŒã¶ãŒã®å¥œã¿ã«åºã¥ããŠååæ å ±ã衚瀺ããããã«ç°ãªãã³ã³ããŒãã³ããããŒãããå ŽåããããŸãã
- ã³ã³ãã³ã管çã·ã¹ãã ïŒCMSïŒïŒ ãŠãŒã¶ãŒã®åœ¹å²ãæš©éã«åºã¥ããŠãããŸããŸãªã³ã³ãã³ããšãã£ã¿ããã©ã°ã€ã³ãåçã«ããŒãããŸãããã€ãã§äœ¿çšãããCMSã¯ãGDPRèŠå¶ã«æºæ ããã¢ãžã¥ãŒã«ãããŒãããå ŽåããããŸãã
- ãœãŒã·ã£ã«ã¡ãã£ã¢ãã©ãããã©ãŒã ïŒ ãŠãŒã¶ãŒã®ã¢ã¯ãã£ããã£ãå Žæã«åºã¥ããŠãããŸããŸãªæ©èœãã¢ãžã¥ãŒã«ãåçã«ããŒãããŸããã€ã³ãã§äœ¿çšããããœãŒã·ã£ã«ã¡ãã£ã¢ãã©ãããã©ãŒã ã¯ããããã¯ãŒã¯åž¯åå¹ ã®å¶éã«ãããç°ãªãããŒã¿å§çž®ã©ã€ãã©ãªãããŒãããå ŽåããããŸãã
- å°å³ã¢ããªã±ãŒã·ã§ã³ïŒ ãŠãŒã¶ãŒã®çŸåšå°ã«åºã¥ããŠãå°å³ã¿ã€ã«ãããŒã¿ãåçã«ããŒãããŸããäžåœã®å°å³ã¢ããªã¯ãå°çããŒã¿ã®å¶éã«ãããç±³åœã®ã¢ããªãšã¯ç°ãªãå°å³ããŒã¿ãœãŒã¹ãããŒãããå ŽåããããŸãã
- ãªã³ã©ã€ã³åŠç¿ãã©ãããã©ãŒã ïŒ åŠçã®é²æãåŠç¿ã¹ã¿ã€ã«ã«åºã¥ããŠãã€ã³ã¿ã©ã¯ãã£ããªæŒç¿ãè©äŸ¡ãåçã«ããŒãããŸããäžçäžã®åŠçã«ãµãŒãã¹ãæäŸãããã©ãããã©ãŒã ã¯ãããŸããŸãªã«ãªãã¥ã©ã ã®ããŒãºã«é©å¿ããå¿ èŠããããŸãã
çµè«
ã¢ãžã¥ãŒã«åŒã€ã³ããŒãã¯ãã¢ãžã¥ãŒã«ãåçã«äœæããã³ããŒãã§ããJavaScriptã®åŒ·åãªæ©èœã§ããæ¡ä»¶ä»ãããŒããé å»¶åæåããªã³ããã³ãããŒããªã©ãéçã€ã³ããŒãã«æ¯ã¹ãŠããã€ãã®å©ç¹ããããŸããã¢ãžã¥ãŒã«åŒã€ã³ããŒãã®è€éããçè§£ãããã¹ããã©ã¯ãã£ã¹ã«åŸãããšã§ããã®èœåãæŽ»çšããŠãããå¹ççã§ä¿å®ãããããã¹ã±ãŒã©ãã«ãªã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸããæŠç¥çã«åçã€ã³ããŒããåãå ¥ããŠãWebã¢ããªã±ãŒã·ã§ã³ã匷åããæé©ãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸããŠãã ããã