JavaScript
æè¿ãæ¯è¼ççé¢ç®ã«JsDocãæ¸ãã¨ããæ©ä¼ããã£ãã®ã§ã (â»ãã®è¨äºã®åæã¯JsDoc 3.2.2ã§ã) JSã§é©å½ã«åå空éçãªãã®ãåã£ã¦ã³ã¼ããæ¸ãã¦ããã¨ã /** * @class /* function Klass() { } Klass.prototype.foo = function () { }; my.name.space.Kâ¦
ã¾ã å ¬éãã¦ãªããã©ãã ãã¹ã¯ãããèªä½ã®ã¢ã¤ãã«ï¼ã¦ã¼ã¶æä½ããªãï¼ç¶æ ãããã¯ç¶æ ã¯chrome.idleã§åãããã¦ã¼ã¶æä½ããªãã¨å¤æããã¾ã§ã®timeoutãèªåã§æ±ºãããããæç15secã Chromeèªä½ãããã©ã¼ã«ã¹ãé¢ãããã©ããã¯chrome.windows使â¦
åç¥ãwindow.printã¨ããé¢æ°ãJavaScriptããå¼ã³åºãã°ããã§ããå°å·ãã¤ã¢ãã°ã表示ããã¦ãä»ç®ã®åã«è¡¨ç¤ºããã¦ããã¦ã§ãããã¼ã¸ãå°å·ãããã¨ãåºæ¥ãããã ã ããã¨ãããããã®æ©è½ããã®ã¾ã¾ä½¿ãã¨ãããããä½ããè²ã ãããããmedia="priâ¦
ãªããããããã¨æã£ã¦ã°ã°ã£ããã¿ããªè²ã ãªãã¨æ¸ãã¦ã¦ä½ãæ£ããã®ãããããããï¼ã ãã¼ï¼ã£ã¦ãªã£ãã®ã§åããããªäººãæãããã«2014å¹´1ææç¹ã§ã®æ¹æ³ãã¡ã¢ããã¾ã大ããå 容ã§ã¯ãªãã manifest.json ç¾æç¹ã§å¿ è¦ãªã®ã¯ "clipboardRead" ã¨ãâ¦
ã¨æã£ããã ãã©ãæ¸ããã¨ãã¦ãããã¨ã¯ä¸ã®è¨äºã«ããããæ¸ãã¦ãã£ãã®ã§ä¿ºãä¸è¨ããå¿ è¦ã¯ãªãã£ãã createObjectURLã¨ã¯ä½ãï¼ - NullPointer's Blog æ°ããã®APIã§URLãæå¾ ããããããªå ´é¢ã§ã¯ãcreateObjectURLã§å¾ãããBlob URLã使ãããã©â¦
ãªãã¹ï¼ãªã©å«æ空ï¼æè¿æµè¡ãã®HTML5ã追ãããã¦ã¢ããç®æãã®ããããã©ãDOM Level 0ãå å®ãªç·æ§ã£ã¦ã¤ã¡ã¼ã¸ã§ç´ æµã ããªï¼ ã¨ããã§ãiframeã«nameãæå®ãã¦DOM Treeã«è¿½å ããä¸ã§ãåãnameã第äºå¼æ°ã«æå®ãã¦window.openããã¨ãã©ã¦ã¶ã¯æ°â¦
Event.prototype.stopImmedidatePropagationããªã => ãªãå ´åã¯ä½¿ããªããã¨ã§åé¿ Hoge.prototype.delete = function() {}; ã¿ãããªè¨è¿°ã§ã¨ã©ã¼ => deleteããã¼ã¯ã¼ãã ããå¼ã£ããã£ã¦ããã®ã ãããããã¯æ¬å½ã¯ä¿ºã®æ¸ãæ¹ãæªãã®ãããããªãã Hâ¦
æµ·å¤ã®blogçã®å 容ãç´¹ä»ãã¦ä½äºããè¿°ã¹ãæ°ã«ãªãã®ã¯å¥½ãã§ã¯ãªãã®ã ããç¾ç¶ãããã以ä¸ã®ãããªæãã§ããã®ã§ã¯ãªããã¨æã£ã¦ãããhttp://www.thomasboyt.com/2013/09/01/maintainable-grunt.htmlã¾ããã£ã¨ä»ã«ããæ¹æ³ã¯ãããããããªãããâ¦
ãªãããããã¡ã¼ã«ã¢ãã¬ã¹ãå ¥åããã¦ãã¡ã¼ã«ã«æ¸ãã¦ãããªã³ã¯ãã¯ãªãã¯ãã¦ã¦ã¼ã¶ç»é²ãã¦ãï¼ã¿ãããªãµã¼ãã¹ããããããªãã§ãããããããã®ãèªååãããæã£ã¦ããã¡ããPOP3ã¨ãã§ã¡ã¼ã«ãåãã«è¡ã£ã¦ããããã ãã©ãGmailãªãGoogle Appâ¦
JavaScriptããåãããªãã§ãï¼ï¼ã¨è¨ã£ã¦ãã人ã¯ã ããã以ä¸ã®è¦ç´ ã®ãã¡èªåãä½ãç解ãã¦ããªãã®ãåãã£ã¦ããªãããããåå¥ã®è¦ç´ ã«ã¤ãã¦ã¡ããã¨åå¼·ããæ°ããªãã®ã§JavaScriptã«translateãããè¨èªãä»å¾ããã«å¢ãããã¨ããã©ã¦ã¶ä¸ã§ã¾ã¨â¦
Gruntã£ã¦ã¢ã¬ã§ãããJSã§ãã²ãã²ã£ã¨è¨å®ãã¡ã¤ã«ãæ¸ãã¦JSã¨ãCSSã®ãã¡ã¤ã«ãminify/unifyã¨ãããã¤ãã§ããæè¿ããèãã®ã§ãæ©ä¼ããã£ãã使ã£ã¦ã¿ããã¨æã£ã¦ããã®ã§ãããæè¿ã¨ããã¦ã§ãããã¼ã¸ãPlay!Frameworkã§ä½ã£ã¦ã¿ãããã¦ããã®â¦
åã®canvasåã¯ãã¾ã ä¸å¦çç·å並ã¿ãªã®ã§ãããããcanvasã®ä¸é¨ã®APIã«Same Origin Policyçãªãã®ãé©ç¨ããããã¨ããä»æ¥ã¾ã§ç¥ããªãã£ãã®ã§ãããã©ãããéãçæå ãsrcã«æå®ããã¦ããimgãputImageData -> ãã®æç»é åãgetImageDataãããã¨â¦
å人çãªã㨠èªæ¸ã¯ããããèªå·±æè³ï¼ã«ããããã®ãªã®ã§ã±ãããããããªãããªããã¨ã¯æãã¤ã¤ãå¯è½ãªãå®ãå¤æ®µã§ãã大ããªãªã¿ã¼ã³ãå¾ããããã¼ãã¨ãããã¨ã§æè¿ã¯Oreillyã®åé¡ã»ã¼ã«ã«ç®ãå ãããããã«ãªãã¾ãããè±èªã¯ãæ¾ãèªã¿ãããâ¦
iOS, Androidã®ãã¼ãããã¼ã¸ã§ã³ã®ããã©ã«ããã©ã¦ã¶ã«ã¤ãã¦ãECMAScript 5 compatibility table ã使ã£ã¦ES5ã®å¯¾å¿åº¦åãã調ã¹ã¾ãããæ¢ã«ããããã ãªã¼ã¨æãã¤ã¤ããã¨è¦å½ãããªãã£ãã®ã§ã ã©ããã¨ãã¥ã¬ã¼ã¿ã§èª¿ã¹ããã®ã§ãããç¹ã«Androidâ¦
ã ããã以ä¸ã®ãããªæãã§ãã¾ãããããããªããã¨æããã©ãã¡ããã¨ããæ¤è¨¼ã¯ãã¦ãªãã®ã§ãWebKitã§ããã¿ã¦ã¾ããããå¼æ°ã®targetã¯windowãdocument, scriptã¯srcãè¨å®ãããscript elementã ã¨æãããã(â»ã¤ãã³ããã³ãã©å ã§evt.targetã¨ããâ¦
ãããã®VPSã«ãå¾®å¦ã«ç½®ããããªããããã¨ãã£ã¦èªå® ã®PCã¨ãè«å¤ãããããå ´åã«ã¯ä¾¿å©ãããããªããç°å¢æ´ããªãã¦ãã¡ã¼ã«é£ã°ãããã以ä¸ã®scriptãHour timerã®triggerï¼cronã¿ãããªãã®ï¼ã§ä¸æéããã«åãã ãã function doCheck() { var urlâ¦
ãããªã®ãã£ããã§ããã¼http://matome.naver.jp/odai/2132892555765887301
http://d.hatena.ne.jp/zentoo/20120501/1335848528âãã®è¨äºã§ãWebView#setJsFlagsã@hideãªã®ã§ãwindow.gcã使ããããã«ã§ããªããã¼ã£ã¦æ¸ãã¦ã¾ãããããèãããã@hideã ããããªãã ãããreflectionã使ãã°åé¡ãªãå¼ã¹ãã®ã§ã以ä¸ã®æ§ãªã³ã¼â¦
https://developers.google.com/apps-script/Google Apps Scriptã£ã¦ããã®ã¯ãJavaScriptã§ã³ã¼ããæ¸ãã¨ãããGoogleå çã®ãµã¼ããµã¤ãã§ä½ãã解éããã¦åãã¦ãGoogleã®åãµã¼ãã¹ã®ãªãã¸ã§ã¯ããç°¡åã«æä½ã§ããããªã¦ã¤ã¨ï¼ã£ã¦ãã¤ã§ããããã¾â¦
JavaScriptã§ã¦ã¼ã¶ããã®ã¤ãã³ããåãåã£ã¦ãã²ãã²ãã¨ããå¦çã¯å¤§ä½æ¬¡ã®ãããªã¹ã¿ã¤ã«ã§æ¸ãããªããjQueryã¨ã使ã£ã¦ãã¦ãæ¦è¦ã¯åãã el.addEventListener("eventName", function(evt) { // do something }, false); iOS appã§ãã®ãããªã¤ãã³â¦
åã®ã¨ã³ããªã¨å 容ã被ã£ã¦ãã¦ã¢ã¬ãªã®ã§ãããAndroidã§WebViewï¼+ addJavascriptInterfaceï¼ã使ã£ãå ´åã«çºçãããèå¼±æ§ãªã©ãªã©ã«ã¤ãã¦ç¤¾å ã®åå¼·ä¼ã§çºè¡¨ããè³æãå ¬éãã¾ããå²ã¨å ·ä½çãªæ»ææ¹æ³ã£ã½ããã¨ãæ¸ãã¦ããã®ã§ãè¯ãåã¯ãããªâ¦
åºç¤ç¥è Androidã¢ããªã±ã¼ã·ã§ã³ã§åãè¾¼ã¿ãã©ã¦ã¶ã®ãããªãã®ãå®ç¾ããããã®Viewã³ã³ãã¼ãã³ãã§ããandroid.webkit.WebViewã«ã¯æ¬¡ã®ãããªã·ã°ããã£ã§addJavascriptIntefaceã¨ããã¡ã½ãããçãã¦ãã¾ããhttp://developer.android.com/referenceâ¦
http://sites.google.com/site/devcollaboration/codesearchAndroidã®ã½ã¼ã¹ãâã§æ¤ç´¢ãã¦ãã¦è¦ã¤ããhttp://tools.oesf.biz/android-2.3_r1.0/xref/frameworks/base/tests/DumpRenderTree/src/com/android/dumprendertree/TestShellActivity.java#136windoâ¦
â»ããã©ããã && ã¢ãã®è¨¼æ ã¨ãã¦æ®ãã¦ãããã æ¶ãã¾ããããããã«æ¸ããæ¹æ³ã ã¨200以å¤ã®404ã¨ãã«å¯¾å¿ã§ããªãã§ããã¤ã¾ããã¡ã§ã http://d.hatena.ne.jp/NeoCat/20110206/1296934235ããã£ã¦çµå±ãæ ¹æ¬çã«ã¯ JSONPã«ããã¦ã¯ã200ã§ãã£ã¦ããJâ¦
https://github.com/zentooo/rc/blob/master/.vimperator/plugin/gmail_switcher.jsã¤ãã£ã
http://blog.monoweb.info/article/2012031523.htmlãã°ããåã«âã®blogã§è¨äºã«ãªã£ããContent Security Policy(以ä¸CSP)ã«ã¤ãã¦ã®ã¡ã¢ãã¡ãªã¿ã«CSPèªä½ã®ä»æ§ã«ã¤ãã¦ã¯ã W3Cã®draft (https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csâ¦
æãåºããã社å ã®æ²ç¤ºæ¿ã«ã¯ã ãã¶æã«æ¸ãããã ãã©ãLimeChat for Macã¯ã¦ã¼ã¶å®ç¾©ã®CSSãJavaScriptã§è¦ãç®ãæ¯ãèããã«ã¹ã¿ãã¤ãºãããã¨ãåºæ¥ã(Preferences -> Theme)ãJavaScriptã®ã³ã¼ãå ã§location.hrefãåãã¨ãfile://ã§åãã¦ãããã¨â¦
åæã¨ãã¦ãä½åº¦ãåãelementãæä½ããã®ã«æ¯å $("#your complicated.selector").css({"...":"..."}); ã¨ãæ¸ãã¦ã奴ã¯ããã°ããããã¯ãåç §ãããã¼ã¿ãåããªã®ã«æ¯åDBã«åãåããã¦ãã®ã¨åãã ãã $ã§å¤æ°åãå§ããã®ã¯ãªãã§ãã¢ãã åãjQâ¦
ã¨ã³ããªã®ã¿ã¤ãã«ãèããã®ãé¢åã«ãªã£ãã®ã§ããããã³ããªã¡ã¼ã«ã¼ã§ä½æãããã¯ãããã³ããªã¡ã¼ã«ã¼ã§ä½æããããã®ãããªã¿ã¤ãã«ãã¤ãããã¨ã«ãã¾ããã getElementHogeHogeãè¿ãã®ã¯liveãªNodeListã§ãquerySelectorHogeHogeãè¿ãã®ã¯statiâ¦
ãã®è¨äºã¯JavaScript Advent Calendar(ãªã¬æ¨æºã³ã¼ã¹)ã®13æ¥ãã®ã¨ã³ããªã¤ã«ãªãã¾ãã ã¡ãªã¿ã«å®¶ã«å¸°ã£ãç¬éããã·ã³ã®æè¨ãããã¦12/14ã«ãªã£ã¦ã¦ã大åä¸äººã§ç¦ãã¾ãããã¦ã¸ãºãããºããºãããã®è¨äºã®é¡æã¯JavaScriptã«ãããã¡ãã»ã¼ã¸ã³ã°ï¼â¦