ãŠãŒã¶ãŒãã€ã¹ã§æãèŠæ±ãããŠãã5ã€ã®æ°ãããšããžãã©ãããã©ãŒã æ©èœïŒã·ã£ããŠDOMããã³ãã¬ãŒããã«ã¹ã¿ã èŠçŽ ãHTMLã€ã³ããŒãïŒã®ãã¡4ã€ã¯ãWebã³ã³ããŒãã³ããšåŒã°ããAPIãã¡ããªã«å±ããŸãã ãã®èšäºã§ã¯ãWebã³ã³ããŒãã³ããšãããã®ãã¥ãŒãããã€ãã®å éšãããã³ã«ã€ããŠããããã«æ £ããŠããªã人ã®ããã«è©±ãããããšæããŸãããŸãããããå°æ¥ã©ã®ããã«é²åããããæšæž¬ããŸãã ããã¯ããªãé·ã話ãªã®ã§ã座ã£ãŠã³ãŒããŒïŒãŸãã¯ã«ãã§ã€ã³ãå«ãŸãªã飲ã¿ç©ïŒãã€ããã§èªã¿å§ããŠãã ããã
å 容ïŒ
- ã³ã³ããŒãã³ãã®å±éïŒWebã«æ°ããå€ãèšèšãã©ã¯ãã£ã¹
- ã³ã³ããŒãã³ãã«äŸµå ¥ããæ¹æ³
- ããã¯åããŠã§ã¯ãããŸããïŒã³ã³ããŒãã³ãå®è£ ãžã®ä»¥åã®ã¢ãããŒã
- ææ°ã®Webã³ã³ããŒãã³ã
- Webã³ã³ããŒãã³ãïŒæ¬¡äžä»£
ã³ã³ããŒãã³ãã®å±éïŒWebã«æ°ããå€ãèšèšãã©ã¯ãã£ã¹
ææ°ã®Webã¢ããªã±ãŒã·ã§ã³ã¯ãä»ã®ãœãããŠã§ã¢ã¢ããªã±ãŒã·ã§ã³ãšåããããè€éã§ãæçµè£œåãäœæããããã«åãåãããŠäœäººããäœæããããšããããããŸãã ãã®ãããªç¶æ³ã§ã¯ãå¹çãåäžãããããã«ã人ãšãµãã·ã¹ãã éã®äº€å·®ãæå°éã®ã»ã¯ã·ã§ã³ã«äœæ¥ãåå²ããé©åãªæ¹æ³ãæ¢ãã®ãèªç¶ã§ãã ã³ã³ããŒãã³ãã¢ãããŒãïŒäžè¬çã«ïŒã®å®è£ ã¯ããã®ãããªã¿ã¹ã¯ãéåžžã©ã®ããã«è§£æ±ºããããã§ãã ã³ã³ããŒãã³ãã·ã¹ãã ã¯ã åé¢ ããŸãã¯äžéšã®ã·ã¹ãã ã®è€éããä»ã®ã·ã¹ãã ããé ãèªç¶ã®éå£ãæäŸããããšã«ãããå šäœçãªè€éãã軜æžããå¿ èŠããããŸãã ãŸããé©åãªåé¢ã«ããããµãŒãã¹ãã©ãã€ã ã®åå©çšãšå®è£ ã容æã«ãªããŸãã
åœåãWebã¢ããªã±ãŒã·ã§ã³ã®è€éãã¯ãã¢ããªã±ãŒã·ã§ã³ãåå¥ã®ããŒãžã«åå²ããããšã«ããããµãŒããŒåŽã§äž»ã«èŠå¶ãããŠããŸããããã®ããããŠãŒã¶ãŒã¯ãã©ãŠã¶ãŒã§ããŒãžãåãæ¿ããå¿ èŠããããŸããã AJAXãšé¢é£æè¡ã®å°å ¥ã«ãããéçºè ã¯Webã¢ããªã±ãŒã·ã§ã³ã®ç°ãªãããŒãžéã§ãé·ç§»ããè¡ãå¿ èŠæ§ãæŸæ£ããããšãã§ããŸããã ã¡ãŒã«ããã¥ãŒã¹ãèªããªã©ã®å žåçãªã·ããªãªã§ã¯ããŠãŒã¶ãŒã®æåŸ ãå€ãããŸããã ããšãã°ãã¡ãŒã«ã«ãã°ã€ã³ããåŸãåãã¢ãã¬ã¹ïŒURLïŒãããã¡ãŒã«ã¢ããªã±ãŒã·ã§ã³ã䜿çšããããã®ããŒãžã«1æ¥äžæ»åšããããšãã§ããŸãïŒããããã·ã³ã°ã«ããŒãžã¢ããªã±ãŒã·ã§ã³ ãSPAïŒã ãã®ãããªç¶æ³ã§ã®ã¯ã©ã€ã¢ã³ãWebã¢ããªã±ãŒã·ã§ã³ã®ããžãã¯ã¯éåžžã«è€éã§ããããµãŒããŒåŽãããè€éã«ãªãå ŽåããããŸãã ãã®è€éãã«å¯Ÿããå¯èœãªè§£æ±ºçã¯ãã³ã³ããŒãã³ããžã®ãããªãåé¢ãšãåäžã®ããŒãžãŸãã¯ããã¥ã¡ã³ãå ã®ããžãã¯ã®åé¢ã§ãã
Webã³ã³ããŒãã³ãã®ç®æšã¯ãHTMLãCSSãããã³JavaScriptã³ãŒãã®é¢é£ã°ã«ãŒããåé¢ããŠãåäžããŒãžã®ã³ã³ããã¹ãå ã§å ±éã®æ©èœãå®è¡ããããšã«ãããè€éãã軜æžããããšã§ãã
ã³ã³ããŒãã³ãã«äŸµå ¥ããæ¹æ³ã¯ïŒ
Webã³ã³ããŒãã³ãã¯HTMLãCSSãããã³JavaScriptãçµåããå¿ èŠããããããWebã³ã³ããŒãã³ãã®ã¹ã¯ãªããããã³æŽåæ§ã«åœ±é¿ãããããåãã¯ãããžãŒã«åºæã®æ¢åã®åé¢ã¢ãã«ãèæ ®ããå¿ èŠããããŸãã ãããã®ç¬ç«ããæç±ã¢ãã«ã«ã¯ä»¥äžãå«ãŸããŸãã
- CSSã¹ã¿ã€ã«ã®åé¢
- JavaScriptãšã¹ã³ãŒãïŒã¯ããŒãžã£ãŒïŒ
- ã°ããŒãã«ãªããžã§ã¯ãåé¢
- èŠçŽ ã®ã«ãã»ã«åïŒiframeïŒ
CSSã¹ã¿ã€ã«ã®åé¢
ä»æ¥ã®ãã©ãããã©ãŒã å ã§CSSãã³ã³ããŒãã³ãã«å解ããå®ç§ã§èªç¶ãªæ¹æ³ã¯ãããŸããïŒãã ãã Sassã®ãããªããŒã«ã¯å€§ãã«åœ¹ç«ã¡ãŸãïŒã ã³ã³ããŒãã³ãã¢ãã«ã¯ãã«ãŒã«ãçžäºã«åœ±é¿ããªãããã«ãCSSã®ãµãã»ãããå¥ã®ãµãã»ããããåé¢ããã¡ã«ããºã ãæäŸããå¿ èŠããããŸãã ããã«ãã³ã³ããŒãã³ãã®ã¹ã¿ã€ã«ã¯ãã³ã³ããŒãã³ãã®çŽæ¥ã®éšåã«ã®ã¿é©çšããããã以å€ã«ã¯é©çšãããŸããã èšãããç°¡åã ïŒ
ã¹ã¿ã€ã«ã·ãŒãå ã§ã¯ãã»ã¬ã¯ã¿ã䜿çšããŠCSSã«ãŒã«ãããã¥ã¡ã³ãã«é©çšãããŸãã ã»ã¬ã¯ã¿ãŒã¯åžžã«ããã¥ã¡ã³ãå šäœã«é©çšãããå¯èœæ§ããããšåžžã«èããããŠããããããã®ç¯å²ã¯æ¬è³ªçã«ã°ããŒãã«ã§ãã ãããžã§ã¯ãã«åãçµãã§ããè€æ°ã®äººãCSSãã¡ã€ã«ãäžç·ã«æ··ãããšãã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ãå®éã®ç«¶åã«ã€ãªãããŸãã ã»ã¬ã¯ã¿ãŒã®äº€å·®ç¹ãšç¹°ãè¿ããæ確ãªé åºïŒã«ã¹ã±ãŒããç¹ç°æ§ããœãŒã¹é åºãªã©ïŒã§åŠçããŠç«¶åã解決ããããšã¯å¯èœã§ããããã®ãããªã¢ã¯ã·ã§ã³ã¯éçºè ãæãã§ãããã®ã§ã¯ãªãå¯èœæ§ãé«ãã§ãã ãã®åé¡ã«ã¯å€ãã®è§£æ±ºçããããŸãã ç°¡åãªè§£æ±ºçã¯ãã³ã³ããŒãã³ãã®åœ¢æã«é¢ä¿ããèŠçŽ ãšé¢é£ã¹ã¿ã€ã«ãã¡ã€ã³ããã¥ã¡ã³ãããå¥ã®ããã¥ã¡ã³ãïŒã·ã£ããŠããã¥ã¡ã³ãïŒã«è»¢éããŠãããããä»ã®ã»ã¬ã¯ã¿ã«ãå¿çãããªãããã«ããããšã§ãã ããã¯ã2çªç®ã®åé¡ã«ã€ãªãããŸãïŒããããåºåã£ãã®ã§ãïŒã³ã³ããŒãã³ãã®å€åŽãå¶åŸ¡ããããã«ïŒäœããã®ã¹ã¿ã€ã«ãå¢çãè¶ããããšãã§ããŸããïŒ æããã«å¯èœãªè§£æ±ºçã¯æ瀺çã«JavaScriptã䜿çšããããšã§ãããããã¯ã¡ãã£ãšã²ã©ãããã«èŠããŸããJavaScriptã䜿çšããŠå¢çç·ãè¶ããŠã¹ã¿ã€ã«ãæž¡ãããšã§ãã
ã³ã³ããŒãã³ãã®å¢çãè¶ããŠã¹ã¿ã€ã«ãå¹æçã«è»¢éããåæã«ã³ã³ããŒãã³ãã®æ§é ãä¿è·ããããã«ïŒããšãã°ãã¹ã¿ã€ã«ã®åœ±é¿ãåããã«æ§é ãèªç±ã«å€æŽã§ããããã«ããããïŒãå€ãã®åŸåããã2ã€ã®äžè¬çãªã¢ãããŒãããããŸãïŒæ¬äŒŒèŠçŽ ãšã«ã¹ã¿ã ãããã㣠ïŒä»¥åã¯CSSãå€æ°ããšããŠç¥ãããŠããŸãïŒã ãã°ããã®éãè¶ åŒ·åãªåœå¢ãè¶ããã»ã¬ã¯ã¿ãŒ '>>>'ïŒ CSS Scopingã§å®çŸ©ïŒãæ€èšãããŠããŸããããä»æ¥ã§ã¯ãã³ã³ããŒãã³ãã®åé¢ãç°¡åã«ç Žã£ãŠããŸããããä»æ¥ã§ã¯æãæåããã¢ã€ãã¢ã§ã¯ãªããšäžè¬ã«èªèãããŠããŸãã
éšåçãªã¹ã¿ã€ã«èšå®ã«ãããã³ã³ããŒãã³ãã®äœæè ã¯ã¹ã¿ã€ã«èšå®ã®ããã®ç¬èªã®ç䌌èŠçŽ ãäœæã§ãããããå éšæ§é ã®äžéšã®ã¿ãå€éšã®äžçã«å ¬éãããŸãã ããã¯ããã©ãŠã¶ããã€ãã£ãã³ã³ãããŒã«ã®ãéšåããå ¬ââéããããã«äœ¿çšããã¢ãã«ã«äŒŒãŠããŸã ã ãã®ã·ããªãªã®æŽåæ§ã®ããã«ãäœæè ã¯ãç䌌èŠçŽ ã«é©çšã§ããäžé£ã®ã¹ã¿ã€ã«ãå¶éããæ¹æ³ãå¿ èŠã«ãªããŸãã æ¬äŒŒèŠçŽ ã«åºã¥ããã®ãéšåã¢ãã«ãã®è¿œå ã®ç 究ã¯ã䟿å©ãªæäœããªããã£ãã®åºçŸã«ã€ãªããå¯èœæ§ããããŸããã詳现ã®ç²Ÿç·»åã«ã¯äŸç¶ãšããŠåªåãå¿ èŠã§ãã éšåã¢ãã«ã®ãããªãäœæ¥ã¯ããã©ãŠã¶ãŒ ïŒ ãã€ãã£ãã®ã³ã³ãããŒã«ãæ確ã«æ³šæãå¿ èŠãªé åïŒ ã®ãã€ãã£ãã³ã³ãããŒã«ã®ã¹ã¿ã€ã«èšå®ãåçåããå¿ èŠããããŸãã
ã«ã¹ã¿ã ããããã£ã䜿çšãããšãäœæè ã¯ã¹ã¿ã€ã«ã·ãŒãã§åå©çšããã¹ã¿ã€ã«ã®å€ãèšè¿°ã§ããŸãïŒãã¬ãã£ãã¯ã¹ãšããŠäºéããã·ã¥ã䜿çšããŠããããã£ã®é©åãªååãšããŠå®çŸ©ãããŸãïŒã ã«ã¹ã¿ã ããããã£ã¯ããã¥ã¡ã³ããµãããªãŒãéããŠç¶æ¿ããããããã»ã¬ã¯ã¿ã¯ãä»ã®ãµãããªãŒã«åœ±é¿ãäžããããšãªããç¹å®ã®ãµãããªãŒã®ã«ã¹ã¿ã ããããã£ã®å€ããªãŒããŒã©ã€ãã§ããŸãã ã«ã¹ã¿ã ããããã£ã¯ãã³ã³ããŒãã³ãã®å¢çãè¶ããŠç¶æ¿ããããšãã§ããã³ã³ããŒãã³ãã®å éšæ§é ã®æ§è³ªãæããã«ããããšãåé¿ãããšã¬ã¬ã³ããªã³ã³ããŒãã³ãã¹ã¿ã€ãªã³ã°ã¡ã«ããºã ãæäŸããŸãã ã«ã¹ã¿ã ããããã£ã¯ãGoogleã®ããŸããŸãªã³ã³ããŒãã³ããã¬ãŒã ã¯ãŒã¯ã®éçºäžã«è©äŸ¡ãããã¬ããŒãã«ãããšãã¹ã¿ã€ãªã³ã°ã®ããŒãºã®ã»ãšãã©ãã«ããŒã§ããŸãã
çŸåšæ€èšãããŠãããã¹ãŠã®æ§åŒåææ³ã®ãã¡ãå°æ¥ã®ãéšåçãªãã¢ãã«ãšã«ã¹ã¿ã ããããã£ã®çŸåšã®ä»æ§ã¯ãå®è£ ã®å¯èœæ§ãæãé«ãããã§ãã Webã³ã³ããŒãã³ãä»æ§ãã¡ããªã®æ°ããäž»èŠã¡ã³ããŒãšããŠãã«ã¹ã¿ã ããããã£ãæ€èšããŠããŸãã
ä»ã®CSSã¹ã¿ã€ã«åé¢ã¢ãããŒã
å®å šãæãããã«ãCSSã®å¯èŠæ§ãšåé¢ã¯ãèŠãç®ã»ã©çœé»ã§ã¯ãããŸããã å®éãéå»ããã³çŸåšã®ããã€ãã®ã¢ãããŒãã§ã¯ãWebã³ã³ããŒãã³ããžã®é©çšæ§ãå€ããªãããç¯å²ãšåé¢ãå¶éãããªãã·ã§ã³ãæäŸããŠããŸãã
CSSã¯ãç¹å®ã®ã·ããªãªã§ã»ã¬ã¯ã¿ãŒãåé¢ããããã€ãã®å¶éããã圢åŒãæäŸããŸãã ããšãã°ã@ âã¡ãã£ã¢ã«ãŒã«ã¯ãäžé£ã®ã»ã¬ã¯ã¿ãŒãã°ã«ãŒãåããã¡ãã£ã¢ã³ã³ããã¹ãã«é©ããæ¡ä»¶ïŒããšãã°ããã¥ãŒããŒãã®ãµã€ãºã解å床ãã¡ãã£ã¢ã¿ã€ããå°å·ãªã©ïŒã«é©çšããŸãã @ããŒãžèŠåã¯ãå°å·ã³ã³ããã¹ãã«ã®ã¿é©çšãããç¹å®ã®ã¹ã¿ã€ã«ãå®çŸ©ããŸãã @ âsupportsã«ãŒã«ã¯ãç¹å®ã®CSSæ©èœã®ãµããŒããå®è£ ãããŠããå Žåã«ã®ã¿äœ¿çšããããã«ã»ã¬ã¯ã¿ãŒãçµã¿åãããŸã-æ©èœãCSSã§å©çšå¯èœãã©ãããå€æããæ°ãã圢åŒã ææ¡ããã@ âããã¥ã¡ã³ãã«ãŒã«ã¯ãã¹ã¿ã€ã«ãããŒããããŠããããã¥ã¡ã³ããæ¡ä»¶ãæºããå Žåã«ã®ã¿äœ¿çšããã»ã¬ã¯ã¿ãã°ã«ãŒãåããŸãã
CSSå¯èŠæ§é å ïŒå ã ã¯Webã³ã³ããŒãã³ãã®äœæ¥ã®äžéšãšããŠäœæãããïŒã¯ãåäžã®HTMLããã¥ã¡ã³ãå ã®CSSã»ã¬ã¯ã¿ãŒã®é©çšå¯èœæ§ãå¶éããæ¹æ³ãæäŸããŸãã ãã®ä»æ§ã§ã¯ãæ°ãã@ âscopeã«ãŒã«ãå°å ¥ãããŠããŸããããã«ãããã»ã¬ã¯ã¿ãŒãã¹ã³ãŒãã®ã«ãŒãã決å®ã§ããããã«@ âscopeã«ãŒã«å ã®ãã¹ãŠã®ã»ã¬ã¯ã¿ãŒã®é©çšã¯ããã®ã«ãŒãã®ãµãããªãŒã§ã®ã¿æ©èœããŸãïŒããã¥ã¡ã³ãå šäœã§ã¯æ©èœããŸããïŒã ãã®ä»æ§ã§ã¯ãHTMLã§ãªãŒãžã§ã³ã®ã«ãŒãã宣èšçã«æå®ã§ããŸãïŒããšãã°ã<style scoped>å±æ§ã¯ãFirefoxã§ã®ã¿å®è£ ãããŠããŸãããææ¡ãããŸããããã®æ©èœã¯ã以åã¯Chromeã§å®éšçã§ãããããã®åŸå®å šã«åé€ãããŸããïŒã ãã®æ©èœã®ããã€ãã®åŽé¢ïŒããšãã°ã ã»ã¬ã¯ã¿ãŒL4ã§å®çŸ©ãããã¹ã³ãŒãïŒã¯ãDOMä»æ§ã®æ°ããã¯ãšãªAPIã§ã»ã¬ã¯ã¿ãŒãçžå¯Ÿçã«è©äŸ¡ããããã«ã䜿çšã§ããŸã ã
@ âscopeã¯äžæ¹åã®å¢çåé¢ã®ã¿ã確ç«ããããšã«æ³šæããããšãéèŠã§ãïŒ@ âscopeå ã«å«ãŸããã»ã¬ã¯ã¿ãŒã¯ãã®é åã«å¶éãããŸãããä»ã®ã»ã¬ã¯ã¿ãŒïŒ@ âscope以å€ïŒã¯@ âscopeå ã«éãã«æµžéã§ããŸãïŒãã ãã -ã¹ã¿ã€ã«ã®ç°ãªãé åºã«ã¹ã±ãŒãã§ïŒã @ âscopeãµãã»ããã«ãªãã¹ã¿ã€ã«ããç¯å²ãšåé¢ãæäŸããªããããããã¯ãã倱æãããã¶ã€ã³ã§ããä»ã®èª°ãã®@ âscopeã«ãŒã«å ã®ã¹ã¿ã€ãªã³ã°ãé¿ããããã«ããã¹ãŠã®CSSãäŸç¶ãšããŠãé©åãããå¿ èŠããããŸãã Tab @ âin-shafow-ofãåç §ããŠãã ãããããã¯ãã³ã³ããŒãã³ãåé¢ä¿è·ã¢ãã«ãšã®æŽåæ§ãåäžããŠããŸãã
å¯èŠæ§ãå¶éããããã®ãã1ã€ã®ææ¡ã¯ãCSSã®å¶éã§ãã ã¹ã³ãŒãã®æå¶ã¯ãã¹ã¿ã€ã«ãšã»ã¬ã¯ã¿ãŒã®åé¢ã«ã€ããŠã¯ããã»ã©ã§ã¯ãªãããæ§æãã®åé¢ã«ã€ããŠã¯ããå€ãã§ãã ãcontainãããããã£å ã§ã¯ãèªç¶ãªç¶æ¿ãæã€ããã€ãã®CSSæ©èœã®åäœïŒããã¥ã¡ã³ãå ã®èŠªããåãžã®é©çšå¯èœæ§ã®æå³ãããšãã°ã«ãŠã³ã¿ãŒïŒã¯ãããã¯ãããŸãã éçºè åãã®äž»ãªçšéã¯ãäžéšã®èŠçŽ ãå³å¯ãªãå å«ããæ瀺ããŠããããããã®èŠçŽ ãšãã®ãµãããªãŒã«é©çšå¯èœãªæ§æãããã¥ã¡ã³ãã®ä»ã®èŠçŽ ã®æ§æã«åœ±é¿ãäžããªãããšã§ãã ãããã®å å«ã®çŽæïŒãcontainãããããã£ã®äœ¿çšã«ãã£ãŠç€ºãããïŒã«ããããã©ãŠã¶ãŒã¯æ§æãšã¬ã³ããªã³ã°ãæé©åã§ãããããä¿æããããµãããªãŒã®ãæ°ãããæ§æã¯ãããã¥ã¡ã³ãå šäœã§ã¯ãªãããã®ãµãããªãŒã®æŽæ°ã®ã¿ãå¿ èŠãšããŸãã
Webã³ã³ããŒãã³ãã®ãã¯ãããžãŒå®è£ ããã©ãŠã¶ãŒéã§æçãããŸããŸãäžè¬çã«äœ¿çšãããããã«ãªãã«ã€ããŠãè¿œå ã®ã¹ã¿ã€ãªã³ã°ãã¿ãŒã³ãšåé¡ãçºçããå¯èœæ§ããããŸãã Webã³ã³ããŒãã³ãã®ã¹ã¿ã€ãªã³ã°ãæ¹åããããã®ããŸããŸãªCSSææ¡ãžã®ãããªãæè³ãšãããªãé²æ©ãæåŸ ããŠããŸãã
JavaScriptãšã¹ã³ãŒã
ããŒãžã«å«ãŸãããã¹ãŠã®JavaScriptã³ãŒãã¯ãåãã°ããŒãã«ãªããžã§ã¯ãã«ã¢ã¯ã»ã¹ã§ããŸãã JavaScriptã«ã¯ãä»ã®ããã°ã©ãã³ã°èšèªãšåæ§ã«ãé¢æ°ã³ãŒãã«ããçšåºŠã®ããã©ã€ãã·ãŒããæäŸããã¹ã³ãŒãããããŸãã ãããã®åå¥ã¹ã³ãŒãã¯ãã°ããŒãã«ç°å¢ã®æ®ãã®éšåããå€æ°ãšé¢æ°ãåé¢ããããã«äœ¿çšãããŸãã çŸåšäººæ°ã®ããJavaScriptã®ãã¢ãžã¥ã©ãŒãã³ãã¬ãŒããïŒã¬ãã·ã«ã«ã¹ã³ãŒãã䜿çšïŒã¯ãè€æ°ã®JavaScriptãã¬ãŒã ã¯ãŒã¯ãåäžã®ã°ããŒãã«ç°å¢ã§ãå ±åãããå¿ èŠæ§ããé²åããŸããïŒããŒãã®é åºã«å¿ããŠïŒã
JavaScriptã®åå¥ã¹ã³ãŒãã¯äžæ¹åã®å¢çã®åé¢ã§ãïŒãšãªã¢å ã®ã³ãŒãã¯å éšã³ã³ãã³ããšã°ããŒãã«ãŸã§ã®èŠªãšãªã¢ã®ã³ã³ãã³ãã®äž¡æ¹ã«ã¢ã¯ã»ã¹ã§ããŸããããšãªã¢å€ã®ã³ãŒãã¯ãã®ã³ã³ãã³ãã«ã¢ã¯ã»ã¹ã§ããŸããã éèŠãªååã¯ãåæ¹åã®åé¢æ¹æ³ãé åå ã®ã³ãŒããåªå ãããã€ãŸãä¿è·ããããšã§ãã åå¥ãã¡ã€ã³å ã®ã³ãŒãã«ã¯ãç°å¢ã®ä»ã®éšåããããèªäœãä¿è·/é衚瀺ã«ããæ©èœããããŸãïŒãŸãã¯ãããè¡ããªãïŒã
JavaScriptã®ã¬ãã·ã«ã«ã¹ã³ãŒããWebã³ã³ããŒãã³ãã®å®è£ ã«äžããè²¢ç®ã¯ããã®ã³ã³ãã³ããåççã«ãã©ã€ããŒãã«ãªãããã«ã³ã³ããŒãã³ãããéãããæ¹æ³ãæã€ãšããèŠä»¶ãæºãããŠããŸãã
ã°ããŒãã«ãªããžã§ã¯ãåé¢
äžèšã®ããã«ãäžéšã®ã³ãŒããã°ããŒãã«ç°å¢ãå ±æããããšã¯æãŸãããªãå ŽåããããŸãã ããšãã°ãã¢ããªã±ãŒã·ã§ã³éçºè ã¯ãéèŠãªäŸ¡å€ãæäŸãããã®ã®ãäžéšã®JavaScriptã³ãŒããä¿¡é Œããªãå ŽåããããŸãã å žåçãªã±ãŒã¹ã¯ãåºåãšåºåãã¬ãŒã ã¯ãŒã¯ã§ãã ã»ãã¥ãªãã£äžã®çç±ãããä¿¡é ŒãããŠããªãã³ãŒãã¯ãç¬èªã®ã°ããŒãã«ãªããžã§ã¯ãã䜿çšããŠãç¬ç«ããã¯ãªãŒã³ãªã¹ã¯ãªããç°å¢ã§å®è¡ããå¿ èŠããããŸãã çŸåšããã®åäœãïŒã²ãŒã ã«iframeèŠçŽ ãå«ããã«ïŒéæããããã«ãéçºè ã¯workerã䜿çšã§ããŸãã ãã ãããã®ãœãªã¥ãŒã·ã§ã³ã®æ¬ ç¹ã¯ãã¯ãŒã«ãŒãèŠçŽ ãã€ãŸãUIã«ã¢ã¯ã»ã¹ã§ããªãããšã§ãã
ã°ããŒãã«ãªããžã§ã¯ãã®åé¢ããµããŒãããã³ã³ããŒãã³ããèšèšããéã«èæ ®ãã¹ãèæ ®äºé ãããã€ããããŸã-ç¹ã«åé¢ã«å®å šãªå¢çãå«ãŸããå ŽåïŒããã«ã€ããŠã¯ä»¥äžã§è©³ãã説æããŸãïŒã çŸåšãåé¢ãããã³ã³ããŒãã³ãã¯ãWebã³ã³ããŒãã³ãä»æ§ã®åºæ¬ã»ãããä¿®æ£ããããŸã§ïŒã€ãŸããã次ã®ããŒãžã§ã³ãŸã§é 延ãããããŸã§ïŒå®å šã«ã¢ã¯ã»ã¹ã§ããªããšäºæ³ãããŸãã ãã ããæç±ã³ã³ããŒãã³ããã©ã®ããã«èŠãããã調æ»ããããã«æéãè²»ãããšãçŸåšã®äœæ¥ãæ£ããæ¹åã«é²ãå¯èœæ§ããããŸãã ããã€ãã®ææ¡ã¯æ¬åœã«æ³šæãæã䟡å€ããããŸãã
ã°ããŒãã«ãªããžã§ã¯ãã®åé¢ã¯ãWebã³ã³ããŒãã³ãã®éèŠãªæªå®çŸã·ããªãªã§ãã ãããŸã§ã¯ãå®è£ ã«åãââçµãã§ããŸããããšãã°ãä»æ¥ã®Webã«ã³ã³ããŒãã³ãæ§ãããããæãæåããäžè¬çãªæ¹æ³ã§ããiframeèŠçŽ ã«é Œãããšãã§ããŸãã
èŠçŽ ã®ã«ãã»ã«åïŒiframeïŒ
IframeèŠçŽ ãšãã®è¿çžïŒãªããžã§ã¯ãããã¬ãŒã ã»ããèŠçŽ ãããã³åœä»€åwindows.openïŒïŒAPI-ãã§ã«åé¢ãããèŠçŽ ãµãããªãŒã§æ©èœããæ©èœãæäŸããŸãã ãã ããã³ã³ããŒãã³ããåäžã®ããã¥ã¡ã³ãå ã§ã®äœæ¥ã䌎ãå Žåãiframeã«ã¯HTMLããã¥ã¡ã³ãå šäœãå«ãŸããŸãã 2ã€ã®å¥åã®Webã¢ããªã±ãŒã·ã§ã³ãäžç·ã«ãã¹ããããŠããããã«ãäžæ¹ã¯ä»æ¹ã®å éšã«ãããŸãã ããããã«äžæã®ããã¥ã¡ã³ãã¢ãã¬ã¹ãã°ããŒãã«ã¹ã¯ãªããç°å¢ãããã³CSSã¹ã³ãŒãããããŸãã åããã¥ã¡ã³ãã¯å®å šã«å¥ã®ãã®ã§ãã
iframeã¯ããããŸã§ã§æãæåããïŒãããŠå¯äžã®åºãå®è£ ãããïŒWebã³ã³ããŒãã³ãåã®åœ¢åŒã§ãã Iframeã¯ãããŸããŸãªWebã¢ããªã±ãŒã·ã§ã³ã®çžäºäœçšãå¯èœã«ããŸãã ããšãã°ãå€ãã®ãµã€ãã§ã¯ãåºåãããŠãŒã¶ãŒã®ãã°ã€ã³ãŸã§ãããããçš®é¡ã®ã·ããªãªã®ã³ã³ããŒãã³ãã®åœ¢åŒãšããŠiframeã䜿çšããŠããŸãã ãã ããiframeã«ã¯å€ãã®èª²é¡ãããããããã®èª²é¡ã«å¯ŸåŠããæ¹æ³ãããã€ãç»å ŽããŸããã
- 1ã€ã®HTMLããã¥ã¡ã³ãå ã®JavaScriptã³ãŒãã¯ãå¥ã®ããã¥ã¡ã³ãã®åé¢å¢çã«äŸµå ¥ããå¯èœæ§ããããŸãïŒããšãã°ãiframeèŠçŽ ã®contentWindowsããããã£ãéããŠïŒã ãã®å¢çç·ãç Žãå¯èœæ§ã¯å¿ èŠãªå ŽåããããŸãããiframeã®ã³ã³ãã³ãã«ç§ãå ±æããããªãæ©å¯æ å ±ãå«ãŸããŠããå Žåãã»ãã¥ãªãã£äžã®ãªã¹ã¯ããããããŸãã çŸåšãäžèŠãªéåã¯å ±éã®ãœãŒã¹ã®ããªã·ãŒã«ãã£ãŠèŠå¶ãããŠããŸãã1ã€ã®ãœãŒã¹ããã®URLãæã€ããã¥ã¡ã³ãã¯ããã©ã«ãã§å¢çã«éåããå¯èœæ§ããããŸãããç°ãªããœãŒã¹ããã®ããã¥ã¡ã³ãã¯çžäºäœçšããå¯èœæ§ãéãããŠããŸãã
- ã»ãã¥ãªãã£ãªã¹ã¯ã¯åœå¢ãè¶ããããšã ãã§ã¯ãããŸããã <iframe sandbox>å±æ§ã䜿çšãããšãiframeã§äœ¿çšå¯èœãªäžèŠãªã¹ã¯ãªããããããã¢ãããããã²ãŒã·ã§ã³ã®å€æŽãããã³ãã®ä»ã®æ©èœãããã¹ãç°å¢ãä¿è·ããããã«ãä»ã®ãœãŒã¹ããã®iframeã«ããã«å¶éã課ããããŸãã
- å€éšããã¥ã¡ã³ãã®CSSã¹ã¿ã€ã«ã¯ãå éšããã¥ã¡ã³ãã«é©çšã§ããŸããã ãã®ã¢ãŒããã¯ãã£ãœãªã¥ãŒã·ã§ã³ã¯ãåé¢ã®ååã«åŸããŸãã ãã ããã¹ã¿ã€ã«ã®åé¢ã«ãããã³ã³ããŒãã³ããšããŠã®iframeã®çµ±åã«å€§ããªã®ã£ãããçããŸãïŒå ±éã®ãœãŒã¹å ïŒã HTMLã¯ãå ±éã®ãœãŒã¹ãæã€iframeã«å¯ŸããŠææ¡ããã<iframe seamless>å±æ§ã§ãã®åé¡ã«å¯ŸåŠããŸãã ãã®ãã·ãŒã ã¬ã¹ãå±æ§ã«ããããã¬ãŒã ã³ã³ãã³ãã¹ã¿ã€ã«ã®åé¢ããªããªããŸãã ã·ãŒã ã¬ã¹ã«å«ãŸããããã¥ã¡ã³ãã¯ããã¹ãããã¥ã¡ã³ãã®ã¹ã¿ã€ã«ã®ã³ããŒãåããããããå«ãŸããiframeèŠçŽ ã«å¶éããªããã®ããã«è¡šç€ºãããŸãã
åªããã»ãã¥ãªãã£ããªã·ãŒãšãã¬ãŒã ãã·ãŒã ã¬ã¹ã«åã蟌ãæ©èœã«ãããiframeãã³ã³ããŒãã³ãã®ã¢ãã«ãšããŠäœ¿çšããããšã¯éåžžã«é åçãªãœãªã¥ãŒã·ã§ã³ã®ããã§ãã ãã ããWebã³ã³ããŒãã³ãã¢ãã«ã§æãŸããããã€ãã®ããããã£ããŸã ãããŸããã
- æ·±ãçµ±åã iframeã¯ããã¹ããšãã¬ãŒã ããã¥ã¡ã³ãéã®ã¢ãã«ã®çµ±åãšçžäºäœçšãå¶éããŸãïŒåºæ¬çã«å®å šã«ç¡å¹ã«ããŸãïŒã ããšãã°ããã¹ãã«é¢ããŠããã©ãŒã«ã¹ãšå²ãåœãŠã®ã¢ãã«ã¯ç¬ç«ããŠãããã€ãã³ãã®éä¿¡ã¯1ã€ãŸãã¯å¥ã®ããã¥ã¡ã³ãã«ãã£ãŠåé¢ãããŸãã ããç·å¯ãªçµ±åãå¿ èŠãªã³ã³ããŒãã³ãã®å Žåããã¹ãããã¥ã¡ã³ãã«ããšãŒãžã§ã³ãããå°å ¥ããªãéãããã®åäœããµããŒãããããšã¯ã§ããŸãããããã«ãããåœå¢ãè¶ããŠæ å ±ã転éãããŸãã
- ã°ããŒãã«ãªããžã§ã¯ãã®è€è£œã ããŒãžã§äœæãããåiframeãšã³ãã£ãã£ã«ã¯ãäžæã®ã°ããŒãã«ãªããžã§ã¯ãããããŸãã ã°ããŒãã«ãªããžã§ã¯ããšããã«é¢é£ããå®å šãªåã·ã¹ãã ã¯ãäœæããã®ã«å®äŸ¡ã§ã¯ãªãã倧éã®ã¡ã¢ãªæ¶è²»ãšé床ã®ãã©ãŠã¶è² è·ã«ã€ãªããå¯èœæ§ããããŸãã åãããŒãžã§äœ¿çšãããåãã³ã³ããŒãã³ãã®è€æ°ã®ã³ããŒãäºãã«åé¢ããå¿ èŠã¯ãããŸãããå®éã«ã¯ãäžè¬çãªç¶æ ãç¶æããå¿ èŠãããå Žåã¯ç¹ã«ãå ±éã®ã°ããŒãã«ãªããžã§ã¯ãã®ååšãæãŸããå ŽåããããŸãã
- ãã¹ãã³ã³ãã³ãã䜿çšããããã®ã¢ãã«ã Iframeã§ã¯ããã¬ãŒã ããã¥ã¡ã³ãå ã§ãã¹ãèŠçŽ ã³ã³ãã³ãã¢ãã«ãåå©çšã§ããŸããã ïŒç°¡åã«ããããã«ãèŠçŽ ã®ã³ã³ãã³ãã¢ãã«ã¯ããµããŒããããŠããèŠçŽ ãšããã¹ãã®ãµãããªãŒã§ããïŒããšãã°ãéžæèŠçŽ ã«ã¯ããªãã·ã§ã³èŠçŽ ãå«ãã³ã³ãã³ãã¢ãã«ããããŸãã ã³ã³ããŒãã³ããšããŠå®è£ ãããSelectèŠçŽ ã¯ãäœããã®æ¹æ³ã§åèŠçŽ ãšå¯Ÿè©±ããå¿ èŠããããŸãã
- éžæçãªã¹ã¿ã€ãªã³ã°ã ã·ãŒã ã¬ã¹iframeã¯ãããŸããŸãªãœãŒã¹ã®ããã¥ã¡ã³ãã§ã¯æ©èœããŸããã ãããèš±å¯ãããå Žåãæ確ãªã»ãã¥ãªãã£ãªã¹ã¯ããããŸãã äž»ãªåé¡ã¯ããã·ãŒã ã¬ã¹ãããã¬ãŒã ããã¥ã¡ã³ãã§ã¯ãªããã¹ãã«ãã£ãŠå¶åŸ¡ãããããšã§ãïŒåããã¬ãŒã ããã¥ã¡ã³ãã¯æ»æã®ç ç²è ã§ãïŒã ã³ã³ããŒãã³ãã®å Žåããã·ãŒã ã¬ã¹ããæå¹ã«ãã2æ¡ã®æ©èœïŒé«äŸ¡ãã©ããïŒã¯é«ãããå¯èœæ§ããããŸãã ãããããã¹ãŠã®ã¹ã¿ã€ã«ãèªåçã«ç¶æ¿ããã®ã§ã¯ãªãããã¹ãã®ã©ã®ã¹ã¿ã€ã«ãã³ã³ãã³ãã«é©çšããããã³ã³ããŒãã³ããéžæçã«æ±ºå®ãããã®ã§ããã€ãŸãããããã·ãŒã ã¬ã¹æ§ã®ä»çµã¿ã§ãã äžè¬ã«ãäœãã¹ã¿ã€ã«ããããšããåé¡ã¯ãã³ã³ããŒãã³ãèªäœã§è§£æ±ºããå¿ èŠããããŸã ã
- APIãèšå®ããŸãã Webã³ã³ããŒãã³ãã®å€ãã®ã·ããªãªã«ã¯ãç¬èªã®APIã»ããã衚瀺ã»ãã³ãã£ã¯ã¹ãããã³ã©ã€ããµã€ã¯ã«ç®¡çãåããæ¬æ Œçãªã«ã¹ã¿ã èŠçŽ ã®äœæãå«ãŸããŸãã iframeã䜿çšãããšãéçºè ã¯ãã¹ãŠã®æ©èœãåããiframe APIã®ãã¬ãŒã ã¯ãŒã¯å ã§ã®äœæ¥ã«å¶éãããŸãã ããšãã°ãiframeèªäœã®ãã©ã¡ãŒã¿ãŒãšãã®ã©ã€ããµã€ã¯ã«ã«åœ±é¿ãäžããããšã¯ã§ããŸããã
ããã¯åããŠã§ã¯ãããŸããã
éå»ã«ãHTMLããã³é¢é£ããã«ãã»ã«åæ©èœã®iframeäœæ¥ãæ¹åããè©Šã¿ã§ãããã€ãã®æè¡ããã§ã«ææ¡ãããå°å ¥ãããŠããããšã«ã泚æããŠãã ããã ãã ããçŸä»£ã®Webã§ãããã®ã©ãã倧éšåãæ ¹ä»ããŠããªãïŒ
- HTML Components ïŒ1998ïŒã¯ãIE5.5ïŒIE10ã§éæšå¥šïŒä»¥éãMicrosoftã«ãã£ãŠææ¡ããã³å®è£ ãããŸããã ãã¹ãèŠçŽ ã«ã€ãã³ããšAPIãè¿œå ãïŒåé¢ãèæ ®ïŒãããã¥ãŒãªã³ã¯ãïŒãã·ã£ããŠDOMããªã©ïŒã®ã³ã³ããŒãã³ãã解æããããã«å®£èšåã¢ãã«ã䜿çšããããšã«ãªã£ãŠããŸãã 2ã€ã®ã¿ã€ãã®ã³ã³ããŒãã³ãåäœãå©çšå¯èœã§ãã1ã€ã¯äžæçã«èŠçŽ ã«ã¢ã¿ããããããã1ã€ã¯CSSã®ãåäœãããããã£ãä»ããŠåçã«ãã€ã³ããããŸããã
- XBL ïŒ2001ïŒãšãã®åŸç¶ã®XBL2 ïŒ2007ïŒã¯ãã€ã³ã¿ãŒãã§ãŒã¹ãèšè¿°ããããã®XULèšèªãè£å®ãããã®ãšããŠMozillaã«ãã£ãŠææ¡ãããŸããã ããã¯2ã€ã®ãã€ã³ãã£ã³ã°ãªãã·ã§ã³ïŒMicrosoftã®HTMLã³ã³ããŒãã³ãã«é¡äŒŒïŒãåãã宣èšåèšèªã§ãããXBLã¯ãã¹ãã³ã³ãã³ãã¢ãã«ã«ã¢ã¯ã»ã¹ããŠã³ã³ãã³ããçæããããã®è¿œå æ©èœããµããŒãããŠããŸããã
ææ°ã®Webã³ã³ããŒãã³ã
æåã®2åã®è©Šè¡ã倱æããåŸãã³ã³ããŒãã³ãã§åã³ã²ãŒã ãéå§ããããšããæãæ¥ãŸãããä»åã¯Googleãããžãã¹ã«åãããããŸããã XBLã§èª¬æãããŠããæŠå¿µãåºçºç¹ãšããŠäœ¿çšããŠãã¢ããªã·ãã¯ã³ã³ããŒãã³ãã·ã¹ãã ã¯ã³ã³ããŒãã³ãã®ãã«ãã£ã³ã°ãããã¯ã®ã³ã¬ã¯ã·ã§ã³ã«åå²ãããŸããã ãããã®ãã«ãã£ã³ã°ãããã¯ã«ãããWebéçºè ã¯ãWebã³ã³ããŒãã³ãã®å šäœçãªããžã§ã³ãå®å šã«å®çŸ©ãããåã«ãåã ã®æçšãªæ©èœãè©Šãããšãã§ããŸããã ã¢ãããŒãèªäœã®ã³ã³ããŒãã³ããšåã ã®æçšãªæ©èœã®éçºã«ãããæåã«è¿ã¥ãããšãã§ããŸããã ã»ãšãã©ãã¹ãŠã®äººããã¢ããªã±ãŒã·ã§ã³ã®Webã³ã³ããŒãã³ãã§äœã圹ç«ã€ãã®ãèŠã€ããããšãã§ããŸãïŒ
Webã³ã³ããŒãã³ãã®ãã®æ°ããæ³¢ã¯ãæ¢åã®åã蟌ã¿èŠçŽ ãä»æ¥ã®Webãã©ãããã©ãŒã å ã§ã©ã®ããã«æ©èœãããã説æããäžé£ã®ã±ãŒã¹ã¹ã¿ãã£ã«ã€ãªãããŸããã çè«çã«ã¯ãWebã³ã³ããŒãã³ãã䜿çšãããšãéçºè ã¯ãã€ãã£ãèŠçŽ ãšåã粟床ãšæ©èœã§æ°ããã¿ã€ãã®HTMLèŠçŽ ã®ãããã¿ã€ããäœæã§ããŸãïŒå®éãHTMLã§ã¢ã¯ã»ã·ããªãã£ãå®çŸããããšã¯ä»æ¥ç¹ã«å°é£ã§ãïŒã
Webã³ã³ããŒãã³ãã䜿çšããããã®ãã¹ãŠã®ã·ããªãªãã«ããŒããããã«å¿ èŠãªãã¹ãŠã®ãã¯ãããžãŒã®å®å šãªã»ãããããã©ãŠã¶ãŒã«ããã«ã¯å®è£ ãããªãããšã¯æããã§ãã ãã©ãŠã¶éçºè ã¯ååããŠãè¿œå ã®ã·ããªãªã«é²ãåã«äžè²«ããŠå®è£ ã§ããåºæ¬çãªãã¯ãããžã»ããã«ã€ããŠåæããŸãã
Webã³ã³ããŒãã³ãã®ç¬¬1äžä»£ã«ã¯ä»¥äžãå«ãŸããŸãã
- ã«ã¹ã¿ã èŠçŽ ã ã«ã¹ã¿ã èŠçŽ ã¯HTMLããŒãµãŒã®æ¡åŒµãã€ã³ããå®çŸ©ããŠãæ°ãããã«ã¹ã¿ã èŠçŽ ãã®ååãèªèããèªåçã«å¿ èŠãªJavaScriptãªããžã§ã¯ãã¢ãã«ãæäŸã§ããããã«ããŸãã ã«ã¹ã¿ã èŠçŽ ã¯ã³ã³ããŒãã³ãã®å¢çãäœæããŸãããããã©ãŠã¶ãŒãAPIããã³ããã€ãã¢ãŒãäœæè èŠçŽ ã«æ·»ä»ããæ¹æ³ãæäŸããŸãã ã«ã¹ã¿ã èŠçŽ ããµããŒãããŠããªããã©ãŠã¶ã¯ãã€ãã³ãã䜿çšããŠãªãã¶ãŒããŒãå€æŽãããããã¿ã€ãã調æŽããŠãããçšåºŠã®ç²ŸåºŠã§ïŒèŠªåãä»ããŠïŒããããã·ãã¥ã¬ãŒãã§ããŸãã çµæã®é©åãªèšç»ãšç解ã¯ãä»åŸã®äŒè°ã®éèŠãªèŠçŽ ã§ãã
- å±æ§ãisã ã ã«ã¹ã¿ã èŠçŽ ã®ä»æ§å ã«é ãããŠããŸãããéèŠãªæ©èœãæäŸããŸã-ã€ã³ã©ã€ã³èŠçŽ ãã«ã¹ã¿ã èŠçŽ ã®ååãšæ°ããAPIãåãåãå¿ èŠãããããšã瀺ãæ©èœã éåžžãã«ã¹ã¿ã èŠçŽ ã¯äžè¬çãªèŠçŽ ã«åºã¥ããŠããŸãã ãisãã䜿çšãããšããã€ãã£ãèŠçŽ ãåºç€ãšããŠäœ¿çšã§ããŸãïŒããšãã°ã<input is =â custom-inputâ>ïŒã ãã®æ©èœã¯ãçµã¿èŸŒã¿ã®ã¬ã³ããªã³ã°ãã¢ã¯ã»ã·ããªãã£ã解æãªã©ã®å©ç¹ãç¶æ¿ããã®ã«æé©ãªæ¹æ³ã§ããããã®æ©èœã®æ§æã¯ããã¯ã§ããå¯èœæ§ãé«ãããã€ãã£ãèŠçŽ ã®ã¢ã¯ã»ã·ããªãã£ãšã¹ã¿ã€ã«èšå®ã®ããªããã£ããé·æçã«ã¯ããé©åã§ãããšããæèŠããããŸãæšæºåã®æ¹æ³ãèšç»ããŸãã
- ã·ã£ããŠDOM ïŒã·ã£ããŠDOMïŒã ãã¹ãèŠçŽ ã«ïŒäžåºŠã ãïŒæ¥ç¶ã§ããåå¥ã®èŠçŽ ããªãŒãäœæããããã®åœä»€åAPIãæäŸããŸãã ãã®ãããªã圱ãã®åå«ã¯ãããã¥ã¡ã³ãã衚瀺ãããšãã«ãå®éã®ãåå«ã眮ãæããŸãã ãŸããã·ã£ããŠDOMã¯ãæ°ããã¹ãããèŠçŽ ïŒæè¿ææ¡ãããïŒã䜿çšããŠãã¹ãèŠçŽ ã³ã³ãã³ãã¢ãã«ã䜿çšããã¡ã«ããºã ãæäŸããã€ãã³ãã®ã¿ãŒã²ããèŠçŽ ã§ã¿ã¹ã¯ã解決ãããªãŒãã³/ã¯ããŒãºæäœã¢ãŒããè¿œå ããŸãïŒæè¿è¿œå ãããŸããïŒã ãã®æ¯èŒçäºçŽ°ãªã¢ã€ãã¢ã«ã¯ããã©ãŒã«ã¹ãšéžæã¢ãã«ããæ§æãšé åžïŒã·ã£ããŠDOMå ã®ã·ã£ããŠDOMïŒã«è³ããŸã§ãé©ãã»ã©å€æ°ã®å¯äœçšããããŸãã
- CSS ã¹ã³ãŒãã¯ããã¹ãã::ã³ã³ãã³ãïŒéããªãããããã::ã¹ãããã«ãªãïŒãããã³å ¬åŒã«åŠèªããã以åã®ã>>>ãïŒãã¢ã¹ã·ã£ããŠDOMã³ã³ãããŒã¿ãŒïŒãå«ããã·ã£ããŠDOMã®é¢é£ã¹ã¿ã€ãªã³ã°ãããŸããŸãªæ¬äŒŒèŠçŽ ãå®çŸ©ããŸãã
- ãã³ãã¬ãŒãèŠçŽ ã å³ãå®æãããããã«å«ãŸããŠããŸãããã®æ©èœã¯ä»¥åã¯Webã³ã³ããŒãã³ãã®äžéšã§ããããçŸåšã¯HTML5å§åã®äžéšã§ãã ãã³ãã¬ãŒãèŠçŽ ã¯æ £æ§ã®æŠå¿µãå°å ¥ããŸãïŒãã³ãã¬ãŒãã®åèŠçŽ ã¯ãªãœãŒã¹ãããŒãããªãããŠãŒã¶ãŒå ¥åã«å¿çããªããªã©ïŒã ããã¯ãHTMLã§ç¡é¢ä¿ãªèŠçŽ ãµãããªãŒã宣èšçã«äœæããæ¹æ³ã§ãã ãã³ãã¬ãŒãã¯ãå®éã®ãµã³ãã«ãã³ãã¬ãŒããããŒã¿ãã€ã³ãã£ã³ã°ããã·ã£ããŠDOMã®ã³ã³ãã³ãã®æäŸãŸã§ãããŸããŸãªã¿ã¹ã¯ã«äœ¿çšã§ããŸãã
- HTMLã€ã³ããŒã HTMLãããã¥ã¡ã³ãã«ãã€ã³ããŒããïŒèŠæ±ãããŒãããŸãã¯è§£æïŒããããã®å®£èšæ§æãå®çŸ©ããŸãã ã€ã³ããŒããªã¯ãšã¹ãïŒrel =â importâã§linkèŠçŽ ã䜿çšïŒã¯ããã¹ãããŒãžã®ã³ã³ããã¹ãã§ã€ã³ããŒããããããã¥ã¡ã³ãã®ã¹ã¯ãªãããå®è¡ããŸãïŒãããã£ãŠãåãã°ããŒãã«ãªããžã§ã¯ããšç¶æ ã«ã¢ã¯ã»ã¹ã§ããŸãïŒã Webã³ã³ããŒãã³ãã®HTMLãJavaScriptãããã³CSSããŒãã¯ããããã1åã®ã€ã³ããŒãã§ããŒãã§ããŸãã
- ã«ã¹ã¿ã ãããã㣠ã äžèšã§è©³çŽ°ã«èª¬æããããã«ãã³ã³ããŒãã³ãã®å€éšã§èª¬æãããã³ã³ããŒãã³ãå ã§äœ¿çšå¯èœãªã«ã¹ã¿ã ããããã£ã¯ãä»æ¥ã®ã³ã³ããŒãã³ãã®ã¹ã¿ã€ã«èšå®ã®ããã®ã·ã³ãã«ã§äŸ¿å©ãªã¢ãã«ã§ãã ããã念é ã«çœ®ããŠãWebã³ã³ããŒãã³ãã®ç¬¬1äžä»£ã®ãã¯ãããžãŒã«ã«ã¹ã¿ã æ©èœãå«ããŸããã
Webã³ã³ããŒãã³ãïŒæ¬¡äžä»£
ãã®èšäºã®åé ã§è¿°ã¹ãããã«ããã«æ©èœã®Webã³ã³ããŒãã³ããæ§ç¯ããã®ã¯çŽ æŽãããåéºã§ãã çŸåšã®äžä»£ã®æ©äŒã®ã®ã£ãããéçºããŠåããããã®ããã€ãã®ã¢ã€ãã¢ã¯ããã§ã«éçºè ã®éã§åºãŸãå§ããŠããŸãïŒããã¯å®å šãªãªã¹ãã§ã¯ãããŸããïŒïŒã
- 宣èšåã·ã£ããŠDOM ã³ã³ããŒãã³ããã·ãªã¢ã«åœ¢åŒã§è»¢éããæ¹æ³ãèãããšéèŠã«ãªããŸãã 宣èšçãªãã©ãŒã ããªããšãinnerHTMLãXMLSerializerãªã©ã®ææ³ã§ã¯ãã·ã£ããŠã³ã³ãã³ããå«ãDOMã®æååè¡šçŸãæ§ç¯ã§ããŸããã èšãæãããšãçŸåšã®ã·ã£ããŠDOMã¯ãã¹ã¯ãªããã®å©ããªãã§ã¯æååã«å€æã§ããããã®éãã§ããŸããã Mozillaã®ã¢ã³ã¯ ãè°è«ã®ããã®ãããã¯ãšããŠ<shadowdom>èŠçŽ ãææ¡ããŸãã ã åæ§ã«ããã³ãã¬ãŒãèŠçŽ ã¯ãã§ã«ãã·ã£ããŠãããŒã¯ã¢ãããæ§ç¯ãã宣èšçãªæ¹æ³ã§ããããã©ãŠã¶ã®ã·ãªã¢ã«åã¡ãœããã¯ãã®å¯èœæ§ãèæ ®ããŠé©åã«ãã³ãã¬ãŒãã®ãã·ã£ããŠãã³ã³ãã³ããã·ãªã¢ã«åããããã«æ¢ã«èª¿æŽãããŠããŸãã
- å®å šã«åé¢ãããã³ã³ããŒãã³ã ã ãã®åéã§ã¯ã3 ã€ã®ãã©ãŠã¶ã¡ãŒã«ãŒã3ã€ã®ç°ãªããªãã¡ãŒãæäŸããŸããã ãããã®ææ¡ã¯ãã§ã«ååã«åæãããŠãããã³ã³ã»ã³ãµã¹ã®èŠ³ç¹ããã¯æå ±ã§ãã åè¿°ããããã«ãåé¢ãããã³ã³ããŒãã³ãã¯æ°ããã°ããŒãã«ãªããžã§ã¯ãã䜿çšããä»ã®ãœãŒã¹ããã€ã³ããŒãã§ããŸãã ãŸããAPIãšé¢é£ããåäœãåé¢å¢çãè¶ããŠå ¬éããããã®åççãªã¢ãã«ãçšæãããŠããŸãã
- ã¢ã¯ã»ã·ããªãã£ããªããã£ã ã å€ãã®ã¢ã¯ã»ã·ããªãã£ã³ãã¥ããã£ã¯ãJavaScriptéçºè ãåžžã«å©çšã§ããããã§ã¯ãªãã¢ã¯ã»ã·ããªãã£ã¡ã«ããºã ãæ¢ã«å«ãã§ãããããæ¢åã®ãã€ãã£ãèŠçŽ ãæ¡åŒµããæ¹æ³ãšããŠãã«ã¹ã¿ã èŠçŽ ããã®ããšããèãã«å ±æããŸãã çæ³çã«ã¯ãåŸæ¥ã®Webã³ã³ããŒãã³ãïŒãisãã䜿çšããªãïŒã«ã¯ããã©ãŒã ã®éä¿¡ããã©ãŒã«ã¹æ©èœãªã©ããã€ãã£ãèŠçŽ ãšã»ãŒåãæ¹æ³ã§ã¢ã¯ã»ã·ããªãã£ã®åŽé¢ãå«ããããšãã§ããŸãã ãã®ãããªæ¡åŒµãã€ã³ãã¯ä»æ¥ã§ã¯äžå¯èœã§ããã解決ããŠå®çŸ©ããå¿ èŠããããŸãã
- ãã€ãã£ãã³ã³ãããŒã«ã®çµ±äžãããã¹ã¿ã€ã« ã ãã©ãŠã¶ãŒéã®ã³ã³ãããŒã«ã®äžè²«ããã¹ã¿ã€ãªã³ã°ã¢ãã«ã®å¯çšæ§ã®ã®ã£ããã¯çžäºéçšæ§ã®åé¡ã§ãããããšãã°ããããŒããå€æŽãããããã®åçŽãªæ¡åŒµæ©èœã®æ®åã劚ããŸãã ããã«ãããéçºè ã¯å€ãã®å Žåãã·ã£ããŠDOMã代æ¿ãœãªã¥ãŒã·ã§ã³ãšèŠãªããŸãïŒãã ããã·ã£ããŠDOMã§ãã€ãã£ãèŠçŽ ã®åäœãšåæ§ã®åäœã§ããŒã¯ã¢ãããäœæããã®ã¯ç°¡åã§ã¯ãããŸããïŒãã³ã³ãããŒã«ã®ã¹ã¿ã€ãªã³ã°ã«é¢ããããã€ãã®ã¢ã€ãã¢ã¯ãCSSã³ãã¥ããã£ãæ©ãåã£ãŠããŸãããå€ãã®èŠæ±ããªããã°ãé©åãªé床ã§äœæ¥ããããšã¯ã§ããŸããã
- éšåçãªCSSã¹ã¿ã€ã«ãã«ã¹ã¿ã CSSããããã£ã¯Webã³ã³ããŒãã³ãã®ã¹ã¿ã€ã«èšå®ã«å¹ åºããªãã·ã§ã³ãæäŸã§ããŸãããã³ã³ããŒãã³ãå ã«é ç·ãããäžéšã®ãããã¯ãã¹ã¿ã€ã«èšå®ããèšå®ãããçŽæ¥çã§é©åã§ããè¿œå ã·ããªãªããããŸããããã¯ãæ¢åã®ãã©ãŠã¶ããã€ãã£ãã³ã³ãããŒã«ã®éšåçãªã¹ã¿ã€ã«èšå®ãå ¬éããããã«äœ¿çšããã¢ãããŒããåçåããå Žåã«ãç¹ã«äŸ¿å©ã§ãã
- . , . -.
, -, iframe . , iframe â -, , . «» iframe. , <iframe seamless> .
- â . . @msedgedev .