ããã§ã®ãã€ã³ãã¯ãéçºè ãããââã°ã©ã ã§äœæ¥ããŠãããšãã«ããŠãŒã¶ãŒã®è¡åããã€ã§ãæ£ç¢ºã«äºæž¬ã§ããªãããšã§ãã 人ãäœãã«éåžžã«è奮ããŠãããšããŸãããããã®çµæã圌ã¯äœããããŸãã«ãæ©ãããããšããŸãã 圌ããã£ãŒã«ãã«ããŒã¿ãå ¥åãããã¿ã³ãã¯ãªãã¯ããæ¹æ³ã¯ãå·éã§éäžçãªè¡åãšã¯ãŸã£ããç°ãªããŸãã æ®å¿µãªããããœãããŠã§ã¢è£œåãèšèšããã³éçºããå Žåããã®ãããªãå®ç§ãªãªãã·ã§ã³ãã«ãã£ãŠæ£ç¢ºã«å°ãããããšãå€ãããçæ³ãããé ãé¢ããä»ã®ã±ãŒã¹ã§äœãèµ·ãããã«ã€ããŠèããŠããŸããã
éçºè ã¯ããŠãŒã¶ãŒãå éšããžãã¯ãç解ããããšãæåŸ ããŠããœãããŠã§ã¢ã·ã¹ãã ã®äœæã«åªããŠããŸãã 圌ãã¯ããŠãŒã¶ãŒãåççã§ãããšèŠãªããŸããããšãã°ãé»è©±ç»é¢äžã®ãã¹ãŠã«ã©ã³ãã ã«è§Šãããšãéåžžã«äºæž¬äžå¯èœãªäœãã«ã€ãªããå¯èœæ§ãããããšãç¥ã£ãŠããŸãã ã¡ãªã¿ã«ãå¥åŠãªããšã¯ãå®å šã«æ®éã®äººãå¶ç¶ã«ãããããã³ã³ãã¥ãŒã¿ãŒã®ç»é¢ãé»è©±ãèŠãªããŠããäœããã¯ãªãã¯ããããäœãã«è§ŠãããããŠãå¯èœã§ãã ããšãã°ãå€åºäžã«é»è©±ã§è©±ããŠããéããã€ãŒããã¡ãŒã«ã«åæã«çããããšããããšãèªåã§äœåè¡ã£ããæãåºããŸããïŒ
äºæž¬äžå¯èœãªã€ãã³ãã«å¯Ÿããã³ã³ãã¥ãŒã¿ãŒã·ã¹ãã ã®åå¿ã調æ»ã§ããããŒã«ã¯æšæ¥ç»å ŽããŸããã§ããããæŽå²ãæ·±ãæãäžããããšã¯ããŸããã 2012幎ã«Netflixãå éšãµãŒãã¹Chaos Monkeyã®ã³ãŒããéãããšãã®Webéçºè ã«è¿ãäŸãèããŠã¿ãŸãããã ãã®ã·ã¹ãã ã¯ããå®çšŒåç°å¢å ã§å®è¡ãããä»®æ³ãã·ã³ãšã³ã³ãããŒãã·ã£ããããŠã³ããŸããã éåžžã®èšèªã§ã¯ãChaos Monkeyã¯ãµãŒããŒãã©ã³ãã ã«åæããŠããã®ãããªå Žåã®ã·ã¹ãã ã®åäœã調ã¹ãè€æ°ã®ãã·ã³ã®é害ã®çµæãšããŠãµãŒãã¹å šäœãã¯ã©ãã·ã¥ããªãããã«ããŸãã
ã¢ããªã±ãŒã·ã§ã³ãèšèšãããšãããçæ³çãªãªãã·ã§ã³ãã®ããã«ããããæºåããã ãã«å¶éãã¹ãã§ã¯ãªãããšã¯èª°ããç¥ã£ãŠããŸãã ãããããã®åé¡ãWebã€ã³ã¿ãŒãã§ãŒã¹ã®éçºé¢ã«å€æãããšãããªãåççãªçåãçããŸãããããã°ã©ã ã®ä»®æ³ãŠãŒã¶ãŒã®äºæž¬äžå¯èœãªåŒ±ç¹ãšç Žå£çãªäžé£ã®è¡åãèŠã€ããæ¹æ³ã¯ïŒ ãµãŒããŒã§åæ§ã®ããšãè¡ãããå Žåãã€ã³ã¿ãŒãã§ã€ã¹ã§åãããšãè¡ãããšã¯å¯èœã§ããïŒã
ãã®è³ªåã«çããåã«ãç¡éã®ç¿ã«é¢ããå®çãæãåºããŸãããã¿ã€ãã©ã€ã¿ãŒã®ããŒã絶察ã«ã©ã³ãã ã«æŒãããšã«ãããä»®æ³ã®ç¿ã¯é ããæ©ããã·ã§ãŒã¯ã¹ãã¢ã®åã®ãããããå°å·ããŸããã ãããããªãããããäœã§ããããã£ã1å¹ã®ç¿ããŠã§ãã€ã³ã¿ãŒãã§ãŒã¹ã§ãã°ãåé¡ãèŠã€ããããšãã§ããŸãã
ã¹ã¿ãžãªã®ãµã«ïŒ
ãã¢ã³ããŒãã¹ããïŒãµã«ãã¹ãïŒããŸãã¯ãã«ãªã¹ãã¹ãããšãåŒã°ãããã·ã¹ãã ã䜿çšããããã®å®éã®ã·ããªãªãšã¯ãŸã£ããé¢ä¿ã®ãªãã©ã³ãã ãªãŠãŒã¶ãŒã¢ã¯ã·ã§ã³ã®ã·ãã¥ã¬ãŒã·ã§ã³ã«åºã¥ããŠãœãããŠã§ã¢è£œåããã¹ãããæ¹æ³è«ã§ãã
ãŠã§ããµã€ãã®ã¢ãã€ã«ããŒãžã§ã³ã®ãã¹ãã«ã€ããŠè©±ãå Žåããã£ãŒã«ããžã®ãã¿ã³ã®ã©ã³ãã ã¿ãããã¿ããã¹ã¯ãªãŒã³äžã®ããŸããŸãªãžã§ã¹ãã£ãŒããããŸãã ãã®ãããªãã¹ãã®ç®çã¯ãã¢ããªã±ãŒã·ã§ã³ã®åé¡ãèŠã€ããããããã©ãŒãã³ã¹ãå®å šã«ç Žå£ããããšã§ãã ããã¯ãç¹å®ã®ã·ãŒã±ã³ã¹ã§ç¹å®ã®æ¡ä»¶äžã§çºçããäžé£ã®ã¢ã¯ã·ã§ã³ãå«ããã¹ãã¹ã¯ãªãããèšè¿°ããéåžžã®åäœãã¹ããåãå ¥ããã¹ããšã¯ãŸã£ããç°ãªããŸãã ãã®çµæãããšãã°ã€ã³ã¿ãŒãã§ãŒã¹ã®é åã§ã®ãã®ãããªãã¹ãã¯ãéçºè ãæ£ããæäœãã©ã®ããã«èŠãŠãããã«åŒ·ãäŸåããŸãã
ããã°ã©ããŒã¯ãã¢ã³ããŒãã¹ãã®å®è¡æ¹æ³ãããŸãå¶åŸ¡ã§ããŸããããŸããã¢ã³ããŒãã¹ããå®è¡ãããã³ã«ã¢ããªã±ãŒã·ã§ã³ãæ°ããã©ã³ãã ãªãã¹ãã»ããã«å ¬éãããããããã¹ãã¯1ã€ã®ã·ããªãªã«éå®ãããããŠãŒã¶ãŒãšããã°ã©ã ã®çžäºäœçšã®äºæž¬äžå¯èœãªã·ããªãªã®ç¡éã®ã»ãããè¡šããŸãã
ãã®ã¿ã€ãã®ãã¹ãã¯ãããŸããŸãªã¢ããªã±ãŒã·ã§ã³ãå®è¡ããã»ãšãã©ã®ãã©ãããã©ãŒã ã§å©çšã§ããŸãããç¿ã®ãã¹ããWebç°å¢ã§åºãŸã£ããšã¯èšããŸããã ããšãã°ãAndroid SDKã«ã¯çµã¿èŸŒã¿ã®UI Exerciser MonkeyããŒã«ããããã»ãšãã©ã®ã€ã³ã¿ãŒãã§ã€ã¹ã€ãã³ããšã·ã¹ãã ã€ãã³ãã䜿çšããŠã¢ããªã±ãŒã·ã§ã³ããã¹ãã§ããŸãã AndroidãèŠããšããã®ãããªæšæºæ©èœããããšãã°äººæ°ã®ãããã©ãŠã¶ãŒã®ãéçºè ããŒã«ãã»ã¯ã·ã§ã³ã§èŠã€ããããšæãã®ã¯åœç¶ã§ããããŸã ãç¿ãã¯ãããŸããã ãã®ç¶æ³ã¯MarmelabããŒã ã«ãã£ãŠä¿®æ£ãããWebã€ã³ã¿ãŒãã§ã€ã¹Gremlins.jsã®ã©ã³ãã ãã¹ãçšã®JavaScriptã©ã€ãã©ãªãäœæãããŸããã
ã°ã¬ã ãªã³ãæ¥ãŸãïŒ
ãã¹ãŠã¯ã Gremlins.jsãéçºãããšãã«ãã©ã€ãã©ãªã®äœæè ã2ã€ã®ã³ã¡ãã£ãã©ãŒæ ç» Joe Danteã«è§Šçºãããããšã瀺ããŠããŸãã ã©ã€ãã©ãªå ã®ãã°ã¬ã ãªã³ãã¯ãèšèšãäžååãªããŒãžã§å°çã®æ··ä¹±ãåŒãèµ·ããå¯èœæ§ãããé¢æ°ã§ãã å³æžé€šã®ãå¢ãã¯å¹³åçãªååšã§ããããã®äž»ãªä»äºã¯ãäœãèµ·ãã£ãŠããã®ãã芳å¯ããèŠããã®ãå ±åããè©Šéšããã»ã¹ãæ¯æŽããããšã§ãã ã®ãºã¢ããããŸãã ã©ã€ãã©ãªã§ã¯ããã¹ãã»ãã·ã§ã³ãåæ¢ããã¡ã«ããºã ã®åœ¹å²ãæãããŸãã
æšæºã®ã©ã³ãã ãã¹ãæé ãå®è¡ããŠã©ã€ãã©ãªã䜿çšããã«ã¯ãæ°è¡ã®ã³ãŒããŸãã¯ããŠã¹ãæ°åã¯ãªãã¯ããã ãã§ååã§ãã åæã«ãå¿ èŠã«å¿ããŠããã¹ããéåžžã«çŽ°ãã調æŽã§ããŸãã éå§ããã«ã¯ã次ã®3ã€ã®æ¹æ³ã®ãããããéžæã§ããŸããGremlins.jsãã¹ã¿ã³ãã¢ãã³ã©ã€ãã©ãªãšããŠããŒãžã«æ¥ç¶ãããRequire.jsã¢ãžã¥ãŒã«ãšããŠæ¥ç¶ãããããã¯ããŒã¯ã¬ããããéå§ããã ãããã®æ¹æ³ãæ€èšããŠãã ããã
âèªåŸã©ã€ãã©ãª
ãã¹ãç°å¢ãäœæããæãç°¡åãªæ¹æ³ã¯ãäœéšãããWebããŒãžã«ã©ã€ãã©ãªãçŽæ¥å«ããããšã§ãã ãã®ã¢ãããŒãã®ãããã§ã
gremlins
ã¯ã°ããŒãã«åå空éã«
gremlins
ããã©ã€ãã©ãªã¯ã©ãããã§ãåŒã³åºãããšãã§ããŸãã 次ã®ããã«ãªããŸãã
<script src="path/to/gremlins.min.js"></script> <script type="javascript"> // ! gremlins.createHorde().unleash(); </script>
âã¢ãžã¥ãŒã«Require.js
ãããžã§ã¯ãã§Require.jsã䜿çšããŠããå ŽåãGremlins.jsãã°ããŒãã«ãªåå空éã«åœ±é¿ãäžããããšãªãé©åãªå Žæã«ã€ã³ããŒãã§ããŸãã
require.config({ paths: { gremlins: 'scripts/libraries/gremlins.min' } }); require(['gremlins'], function(gremlins) { gremlins.createHorde().unleash(); });
bookmarkããã¯ããŒã¯ã¬ããã®äœ¿çš
ã©ã€ãã©ãªããããžã§ã¯ãã«çµ±åããããªãå Žåã¯ããšãã©ããã¹ãã®ãã¹ãéžæããŸããããã¯ããŒã¯ã¬ããã䜿çšãããšããã©ãŠã¶ãŒã§éããŠããããŒãžãäœéšã§ããŸãã å ¬åŒããã¥ã¡ã³ãããã®ãªã³ã¯ã¯ãããã¯ããŒã¯ã¬ãããããã¯ããŒã¯ããŒã«è¿œå ã§ããå Žæã§ãã
å®éš
ã©ã€ãã©ãªã䜿çšãããªãã·ã§ã³ãéžæããå Žåã¯ãããŒãžã«å«ããããRequire.jsã䜿çšããŠã€ã³ããŒãããããšãã§ããŸããã³ãŒãã§ã°ã¬ã ãªã³ã®å®éšãéå§ã§ããŸãã ãã®äŸã§ã¯ãgremlins.createHordeïŒïŒãUnleashïŒïŒã®åŒã³åºãã瀺ããŠããŸãã äœãèµ·ããããèããŠã¿ãŸãããã
gremlins // , ! .createHorde() // .unleash(); // .
Gremlins.jsã¯ããgremlinsãã®5ã€ã®ãåçš®ãïŒã©ã€ãã©ãªãŒçšèªã®çš®ïŒ-ãŠãŒã¶ãŒãããŒãžãšå¯Ÿè©±ããããã®ããŸããŸãªãªãã·ã§ã³ãå®è£ ããé¢æ°ãæäŸããŸãã ããã©ã«ãèšå®ã®æšæºã矀ããïŒå€§çŸ€ïŒã«ã¯ã5çš®é¡ãã¹ãŠãå«ãŸããŸãã ã€ãŸãããããã¯æ¬¡ã®ãšããã§ãã
formFillerGremlin
-å ¥åãã£ãŒã«ãã«ããŒã¿ãå ¥åãããã©ã°ãšã©ãžãªãã¿ã³ãã¯ãªãã¯ããŠãä»ã®æšæºãã©ãŒã èŠçŽ ãšããåãããŸãã
clickerGremlin
-ããã¥ã¡ã³ãã®è¡šç€ºé åã®ã©ãã§ãããŠã¹ã¯ãªãã¯ãæš¡å£ããŸãã
toucherGremlin
-ã¿ããã¹ã¯ãªãŒã³ã®ã¿ãããã·ãã¥ã¬ãŒãããŸãã
scrollerGremlin
-ããã¥ã¡ã³ããã¹ã¯ããŒã«ããŸãã
typerGremlin
-ä»®æ³ããŒããŒãããã©ã³ãã ã«ããŒã¿ãå ¥åããŸãã
ããŒãžäžã§ããŸããŸãªã¢ã¯ã·ã§ã³ãå®è¡ããã°ââã¬ã ãªã³ãšåŒã°ããç»é¢äžã«ç®ã«èŠããçè·¡ãæ®ããŸãã ããã«ããããã®ã¢ã¯ã·ã§ã³ã¯ãç¹å®ã®çš®é¡ã®ã°ã¬ã ãªã³ã«é¢é£ããè¿œå ããŒã¿ãšãšãã«ããã©ãŠã¶ãŒã®JavaScriptã³ã³ãœãŒã«ã«èšé²ãããŸãã ãããã®ãšã³ããªã¯æ¬¡ã®ããã«ãªããŸãã
gremlin formFiller input 5 in <input type="number" name="age"> gremlin formFiller input pzdoyzshh0k9@o8cpskdb73nmi.r7r in <input type="email" name="email"> gremlin clicker click at 1219 301 gremlin scroller scroll to 100 25
ããã©ã«ãã§ã¯ãã°ã¬ã ãªã³ã¯10ããªç§ã®ééã§1000åã©ã³ãã ã«åŒã³åºãããŸãã
æ¢ã«è¿°ã¹ãããã«ãGremlins.jsã«ã¯ã°ã¬ã ãªã³ã ãã§ãªããã°ã¬ã ãªã³ããããŸããã°ã¬ã ãªã³ã¯ãäžè¯ããŒãžã现ããåŒãè£ãããšãã§ããŸãã å¹³åãªå¢ããããŸãã
alertMogwai
-alertïŒïŒåŒã³åºãã«ãããã¹ãã®ãããã¯ãé²ããŸãã
fpsMogwai
-ãã©ãŠã¶ãçºè¡ãã1ç§ãããã®ãã¬ãŒã æ°ãå ±åããŸãã
gizmoMogwai
-ãã¹ããåæ¢ããŸãã
ããšãã°ãFPSã10ãäžåããšããã¬ãŒã ã¬ãŒããç£èŠããŠããã¢ãŒãã¡ããšã©ãŒãå ±åããå ŽåããããŸãã次ã®ããã«ãªããŸãã
mogwai fps 12.67 mogwai fps 23.56 err > mogwai fps 7.54 < err mogwai fps 15.76
äœãèµ·ãã£ãŠããããèšé²ããã°ã¬ã ãªã³ãèŠèŠåããããšã«ããããã¹ãçµæãåæããå¿ èŠã«å¿ããŠãšã©ãŒãä¿®æ£ããããã®å¯Ÿçãè¬ããããšãã§ããŸãã
å®éãèšå®ããªããŠããGremlins.jsã¯éåžžã«ãŸãšããªäžé£ã®ãã¹ããå®è£ ããŠããŸãã
é«åºŠãªå®éš
æšæºæ§æã§ãã¹ãã䜿çšããåŸãç®çãéæã§ããªãã£ãå Žåããã¹ããæ§æããã®ã«ååãªæ°ã®æ¹æ³ããããŸãã ããšãã°ããããããåãã¹ãã»ãã·ã§ã³ã§ãããŒãžå šäœãåžžã«ãã¹ãããã®ã§ã¯ãªããããŒãžã®ç¹å®ã®ã³ã³ããŒãã³ãã®ã¿ã«åªåãéäžãããããšæãã§ãããã
ãã¹ãŠã®ã¿ã€ãã®ã°ã¬ã ãªã³ãã«ã¹ã¿ãã€ãºããããšã¯ã§ããŸãããã
toucherGremlin
ã
clickerGremlin
ããã³
formFillerGremlin
ããŒãžã®ç¹å®ã®é åã®ã¿ã«å¶éã§ããŸãã ç¹ã«ãèšå®æã«ãã¿ãŒã²ããã«ããèŠçŽ ã®èŠªãèŠãããã®ã°ã¬ã ãªã³ãæäŸããŸãã ãã®èŠçŽ ãé¢å¿ã®ãããªããžã§ã¯ãã®ãªã¹ãã«å«ãŸããŠããå Žåãã°ã¬ã ãªã³ã¯ããžãã¹ãéå§ããŸãã ããã§ãªããã°ã圌ã¯çžäºäœçšããèŠçŽ ãèŠã€ããããšããŸãã
maxXbTries
ãã©ã¡ãŒã¿ãŒãèšå®ããããšã«ãããé©åãªèŠçŽ ãèŠã€ããããã®æ倧詊è¡åæ°ãèšå®ããããšãã§ããŸãã
gremlins.species.clicker().canClick(function(element) { return $(element).parents('.my-component').length; /** , , ? â true . â , false. **/ }).maxNbTries(5); // 5 // toucherGremlin formFillerGremlin gremlins.species.formFiller.canFillElement(/** **/); gremlins.species.toucher.canTouch(/** **/);
ã°ã¬ã ãªã³ã®éžæ
ã©ã€ãã©ãªã®æšæºæ©èœãäžè¶³ããŠããå Žåãç¹ã«æ¢åã®ã°ã¬ã ãªã³ã«æºè¶³ã§ããªãå Žåãããã¯ç°¡åã«ä¿®æ£ã§ããŸãã ç¬èªã®ã°ã¬ã ãªã³ãæã¡åºãããããžã§ã¯ãã®ãŠãŒã¶ãŒã«æåŸ ãããã¹ãŠãå®è¡ããããã«æããããšãã§ããŸãã
ããšãã°ã誰ãããã®èŠçŽ ãæäœããŠãããšãã«ããã€ã§ãã©ã³ãã ã«ãã©ãŒã ãéä¿¡ããããšãããšã©ããªããã確èªããå¿ èŠããããŸãã ãã€ã
clickerGremlin
ãéä¿¡ãã¿ã³ãã¯ãªãã¯ããããšãæåŸ ã§ããŸãããæè¯ã®æ¹æ³ã¯ããã©ãŒã ã®éä¿¡å°çšã®ã°ã¬ã ãªã³ãäœæããããšã§ãã ããã«ããããã®æäœãå®è¡ããå¯èœæ§ãé«ãŸããå®è¡æ¹æ³ãå¶åŸ¡ã§ããŸãã
æ°ããçš®é¡ã®ã°ã¬ã ãªã³ãéçºããã«ã¯ãJavaScriptã§DOMã€ãã³ããäœæããã³æ§æããæ¹æ³ãå°ãç解ããå¿ èŠããããŸãã ããã§ã¯ããã©ãŒã ãéä¿¡ããã°ã¬ã ãªã³ãäœæããããã»ã¹ãèŠãŠã¿ãŸãããã
gremlins.createHorde() // .allGremlins() // .gremlin(function() { // , var targetElement, availableForms; availableForms = document.querySelectorAll('form'); // targetElement = availableForms[Math.floor(Math.random()*availableForms.length)]; // // var evt = document.createEvent('HTMLEvents'); // evt.initEvent('submit'); // targetElement.dispatchEvent(evt); // // , , console.log('gremlin submit ', targetElement); }) .unleash();
ã«ã¹ã¿ã ã€ãã³ãã®äœæã®è©³çŽ°ã«ã€ããŠã¯ãMozillaã®ããã¥ã¡ã³ããã芧ãã ããã ããã«ãã©ã€ãã©ãªå ã§ã€ãã³ããã©ã®ããã«äœæãããããç解ããã«ã¯ãã©ã€ãã©ãªã®ãœãŒã¹ã³ãŒãã調ã¹ã䟡å€ããããŸãã ããšãã°ã clickerGremlinã§éå§ã§ããŸãã
å®éããã®ã©ã€ãã©ãªã¯ãæ°ããã¿ã€ãã®ã°ã¬ã ãªã³ãäœæãããããå€ãã®ã«ã¹ã¿ãã€ãºããã³æ¡åŒµæ¹æ³ããµããŒãããŠããŸãã ããšãã°ãæ°ããå¢ã®è¿œå ããã¹ãã¹ã¯ãªããã®éžæããã¹ãã®ååŸã®ã³ãŒãã®å®è¡ãªã©ã§ãã æåŸã«ãããã«å¿ èŠã«å¿ããŠãGremlins.jsã«åºã¥ããŠç¬èªã®ãããžã§ã¯ããäœæã§ããŸããããã¯ãã€ã³ã¿ãŒãã§ã€ã¹ããã¹ãããããã®JSã©ã€ãã©ãªã衚瀺ããæ¹æ³ãšãŸã£ããåãã§ãã
éã©ã³ãã ãã¹ãã±ãŒã¹ã®éžæ
ã©ã³ãã ã«éžæããããã¹ãã¹ã¯ãªãããåãã¹ãã®å®è¡åŸã«è¡šç€ºãããæ°ããã°ã¬ã ãªã³ã®çŸ€ããããã³ããŒãžãã©ã³ãã ã«ãã¹ãããããšã¯ããã°ãèŠã€ããã®ã«æé©ãªæ¹æ³ã§ãã ãã ãããšã©ãŒãèŠã€ãããããã解決ããããã«äœæ¥ããå Žåãã©ãããã°ãããæ¬åœã«ä¿®æ£ãããããšã確èªã§ããŸããïŒ ãã®ãããªç¶æ³ã§ã¯ããããåŒãèµ·ããããã¹ããç¹°ãè¿ããã·ã¹ãã ã®æ°ããåå¿ãèŠã€ããæ¹æ³ããããšäŸ¿å©ã§ãã ãã®ãããªå Žåã®ããã«ãåããã¹ãã·ããªãªãæ°åç¹°ãè¿ãå¿ èŠãããå Žåãä¹±æ°ãžã§ãã¬ãŒã¿ãŒã®åæåã®ããªãšãŒã·ã§ã³ããããããã«åºã¥ããŠããã¯ã®åäœãã¢ãã«åãããŸãã ããã¯ã
seed()
é¢æ°ã䜿çšããŠè¡ãããŸãã
var horde = gremlins.createHorde(); horde.seed(1234); horde.unleash();
ããã§ãGremlins.jsã䜿çšããŠå®è£ ãããã¢ã³ããŒãã¹ãã®äž»ãªäŸ¡å€ã¯ããã®äºæž¬äžèœæ§ã§ããããšã«æ³šæããããšæããŸãã ãããã£ãŠãåãã·ããªãªãç¹°ãè¿ãããšã¯æçšã§ããããã®ãããªãã¹ãã®ã¿ã䜿çšãããšãæ··chaãšãããã¹ãã®æå³ãçåèŠãããŸãã
çµè«
ãŠãŒã¶ãŒã«ã€ããŠã®ä»®å®ãç«ãŠãããšã¯ãWebãããžã§ã¯ãã®èšèšãšéçºã«åºã¥ããŠãä¿¡ããããªãã»ã©ã®æ°ã®ç¹å¥ãªã±ãŒã¹ãèæ ®ããããšãæåŠããããšãæå³ããŸãã ãŠãŒã¶ãŒã¯ãææ°ã®ããã€ã¹ã§ã¯ãªããäœéã®éä¿¡ãã£ãã«ãæã€ããšãã§ããŸãããç¹å®ã®äººãäœã§ãããã©ã®ããã«ãªãåŸããã¯æ±ºããŠããããŸããã 奜å¥å¿fiveçãª5æ³ãããã®åäŸã芪ã®æºåž¯é»è©±ã«å±ãããã¿ããã¹ã¯ãªãŒã³äžã®ãã¹ãŠãç±å¿ã«çªã£ã€ãããããªãããšãä¿èšŒããããšã¯äžå¯èœã§ãã ãããããããããšã¯å€§ããªçåã§ãã ããŒã±ãã£ã³ã°éšéã®èª°ããæ°ãããµã€ããæåã«èŠããšãã«ããŸãåãã§ããªãããšãäºåã«ç¥ãããšã¯ã§ããŸããã é åºãé床ãåçŸæ§ãäºæž¬ã§ããŸããã éçºè ãšããŠããŠãŒã¶ãŒãæ£ããåäœã®å³å¯ã«å®çŸ©ãããã¢ãã«ãæåŸ ããŠãããšããçç±ã ãã§ãçç±ããªããµãŒãã¹ãã¯ã©ãã·ã¥ããªãããã«ããŠãŒã¶ãŒããããå¯èœã«ãã矩åããããŸãã
ã¯ã©ã€ã¢ã³ãåŽã®ã¢ã³ããŒãã¹ãããŒã«ã¯å°ããã§ãããGremlins.jséçºè ã¯ãã®èŠç¹ãææ¡ããããšãã§ããŸããã ãããŠãç§ãã¡äžäººäžäººããã®ã©ã€ãã©ãªã®æ¹åã«è²¢ç®ã§ããŸãã Gremlins.jsã®äœæè ã®ããŒã ã¯ãã©ããªå©ããåãã§ããŸãã ã°ã¬ã ãªã³ãšã¢ãŒã¯ãä»ã«äœãã§ãããã«ã€ããŠäœãèããããã°æããŠãã ããã