pixiv の javascript のコメントが面白い
お絵描きサイト、pixiv!
何気なく、pixiv の javascript のソースを眺めてみると、いろんなコメントがありました。
ニョーン
... 7686: // マウスオーバーでおすすめタグをニョーンと出す 7687: var timer = null; ...
マジ天使
... 452: selectCover: function(c) { 453: // [IE マジ天使] 送れないので遷移させる 454: if ($.browser.msie) { ...
pixiv.group.js
http://source.pixiv.net/source/js/pixiv.group.js
なげえw
... 248: if (handler) { 249: // TODO 引数再考。なげえ 250: handler = handler.call(self, { ...
既に target なのでは
... 272: args.unshift({ 273: element : target, // TODO targetでいいのでは 274: elements: elements, ...
抜け穴
... 353: // ちょっと無理がありそう。抜け穴たくさんあるし、使い勝手が変わりすぎる 354: // data string | jQuery object ...
(´Д`;)
... 436: w.alert(data && data.error + (data.hint ? '\n\n' + data.hint : '') || status + ': ' + (error || 'error')); 437: self.trigger('click.reposition-cover', '.action-reposition-cover'); // 微妙。。 438: }); ...
マジ天使
... 452: selectCover: function(c) { 453: // [IE マジ天使] 送れないので遷移させる 454: if ($.browser.msie) { ...
効果味
... 459: // 同じ画像を再度選択した際にも change イベントが発火するように、一度 value を空にする(この際は change イベントは発生しない) 460: // 現状では選択した瞬間に送信するので特に効果味ない 461: c.element.findBy('input[type="file"]', 'form').val('').click(); ...
難しい
... 564: templates: { 565: // 間違って true になる値を入れてしまうとデバッグが難しい 566: 'enable-invite': null ...
嫌
... 757: .toggleClass('active') 758: .findBy('.filecontainer', 'form') // これを毎回やるのが嫌。コンテキストごとにオブジェクト分けたい 759: .toggle() ...
疑問
... 1252: ['focus', '.ui-auto-select', 'auto-select'], 1253: ['click', '.ui-selectbox li', 'selectbox-select', {cancel: false}] // デフォルトオンはよくないかも 1254: ], ...
pixiv.js
http://source.pixiv.net/source/js/pixiv.js
便利、、
... 2056: // TODO newした方が圧倒的に便利、、 2057: pixiv.modal = { ...
いいんじゃないかな?
... 2191: function uiLoadContextShareButton(e, data) { // TODO replace的なメソッドがあればいい? 2192: $('#template-ui-context-share-button') ...
頑張って
... 2194: .appendTo(this) 2195: .filter('.share-button-twitter').each(pixiv.ui.shareButton.twitter).end() // TODO 最適化出来そう 2196: .filter('.share-button-facebook').each(pixiv.ui.shareButton.facebook); ...
・・・。
... 4124: // - デフォルト: async 4125: // \# 第三引数は( xhr オブジェクト)は模倣しない(出来ない…)。 4126: d.resolve(data, status || 'async'); ...
1px
4481: if (!this.container) return; 4482: // TODO 1px隙間が出来る 4483: item.animate({
開かん
5664: // [IE][Fx] 開かん。 modal.open で一括して非同期化する方がいいかも 5665: w.setTimeout(function() {
実行・・・?
... 6482: //====================================== 6483: // 評価されたら実効 6484: //====================================== ... 6525: //====================================== 6526: // 質の評価されたら実効 6527: //====================================== ...
とりあえず
... 7628: var recent_tags = []; 7629: // TODO: pixiv.storage.localStorage の使い方が分かりにくいのでとりあえず window.localStorage を使う 7630: if (window.localStorage && window.JSON) { ...
ニョーン
... 7686: // マウスオーバーでおすすめタグをニョーンと出す 7687: var timer = null; ...
分かりにくい
... 7711: //====================================== 7712: // TODO 名前が分かりにくい 7713: window.add_form = function(id, id_minor) { ...
pixiv 以外のサイトの js とか css
はてな
http://d.st-hatena.com/statics/js/diary_utils.js
... 3: // 似たようなクラスが既にありそう 4: FormVerifier = new Ten.Class({ ... 85: // 分離したのでこれはいらない、と 86: // TextInputDescriptionOption = new Ten.Class({
ニコニコ
http://res.nimg.jp/js/watch/channel/channel.js
... 14: no_connect : 0,//api叩かないモード ... 55: /***デバッグ用の便利ボタンを挿入***/ ... 92: //入れ物をつっこむ 93: if(typeof ch_prof_inserted=="undefined"){//もう入れてたらやらない ...
Ameba
http://stat100.ameba.jp/blog/js/blog_top/textbox_focus.js
... 45: //アンカー生かし 46: if(_helpOverFlg ==true) return; 47: 48: 49: //消す 50: $(e.target.parentNode).children(".inputDetail").css("display","none"); 51: 52: 53: //色 54: $(e.target).removeClass("textInputFocus"); ...
シンプルなコメントですね。
島根県
緊急事態に備えているようです
http://www.pref.shimane.lg.jp/stylesheets/top.css
... 170: /* 171: * The style for emergency section that replaces 172: * photo when emergency info exsist 173: */ ...
vim
http://www.pref.shimane.lg.jp/javascripts/common.js
...
408: // vim: set sw=4 ts=4 noexpandtab :