Skip to content

Instantly share code, notes, and snippets.

@ahomu
ahomu / bookmarklet.js
Created May 25, 2012 12:56
#ablogcms 管理ページ直行ボタンつくるくん
javascript:(function(a,b){function e(a,b){return b?'<input type="hidden" name="'+a+'" value="'+b+'" />':void 0}function f(){var a=b.search.substr(1).split("&"),c=0,d=a.length,e,f=[];if(!b.search){return}for(;c<d;c++){e=a[c].split("=");f.push('<input type="hidden" name="'+e[0]+'" value="'+e[1]+'" />');f.push('<input type="hidden" name="query[]" value="'+e[0]+'" />')}return f.join("\n")}if(!ACMS.Config.admin){alert("%E7%AE%A1%E7%90%86%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%97%E3%81%A6%E3%81%AD");return}var c=a.querySelectorAll("#topicpath li:last-child")[0].innerText.replace("> ",""),d=[];d.push('<form action="" method="post">');d.push(e("admin",ACMS.Config.admin));d.push(e("bid",ACMS.Config.bid));d.push(e("cid",ACMS.Config.cid));d.push(e("eid",ACMS.Config.eid));d.push(f());d.push('<input type="submit" name="ACMS_POST_2GET" value="'+c+'" />');d.push("</form>");alert(d.join("\n").replace(/\n{2,}/,"\n"))})(document,location)
@ahomu
ahomu / gist:2779343
Created May 24, 2012 03:57
コナミコマンド
$(document).bind('keydown', detectKonamiCommand);
var konamiTimer,
konamiLog = [],
keyMap = {
37: '←',
38: '↑',
39: '→',
40: '↓',
65: 'A',
@ahomu
ahomu / gist:2766717
Created May 22, 2012 04:58
#ablogcms 無限に入ってもらっては困る系カスタムフィールドグループはこう書いたりしてる
<h3>サブナビゲーション</h3>
<table class="adminTable">
<tr>
<th></th>
<th>ラベル</th>
<th>リンク先</th>
</tr>
<tr>
<td>
1
@ahomu
ahomu / gist:2412035
Created April 18, 2012 08:23
ヾ('ω'ヾ) ごみ
// blinkメソッドを追加
jQuery.fn.extend({
blink: function (callback) {
var self = this;
self.fadeOut(500, function() {
self.fadeIn(200, function() {
callback && callback();
});
});
}
@ahomu
ahomu / gist:2048971
Created March 16, 2012 07:09
jQuery(Sizzle)のバグ検証コード
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="ja" lang="ja" dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
var results = document.getElementById('results'),
exprCollection = [
':text', ':input', ':password', ':radio', 'checkbox',
@ahomu
ahomu / .gitconfig
Created February 2, 2012 11:17
[alias]
# pretty graph -> http://d.hatena.ne.jp/sugyan/20111103/1320247493
tr = log --graph --pretty='format:%C(yellow)%h%Creset %s %Cgreen(%an)%Creset %Cred%d%Creset'
# back correct
bc = commit --amend -m
# untracked files
ut = git ls-files -o --exclude-from=.gitignore
# stash
s = stash
sa = stash apply
@ahomu
ahomu / gist:1604242
Created January 13, 2012 02:07
iが大事なとき
// hayate.js内の関数から改変
function toArrayCopy(list) {
var rv= new Array(list.length), i = 0, iz = list.length;
for (; i<iz; i++) {
rv[i]= list[i];
}
return rv;
}
@ahomu
ahomu / gist:1520565
Created December 26, 2011 05:24
getElementsByClassNameの代替関数
function AdaptiveGetElementsByClassName(clazz) {
var elems = this.getElementsByTagName('*'),
evClass = ' '+clazz+' ',
i = 0,
e = null,
rv = [];
while ( e = elems[i] ) {
if ( e.nodeType === Node.ELEMENT_NODE && (' '+e.className+' ').indexOf(evClass) !== -1 ) {
rv.push(e);
@ahomu
ahomu / util.form.data.js
Created December 26, 2011 05:19
フォームの入力値をobjectとして取得するよ
/**
* フォーム内の入力値をobjectとして取得する
*
* @param {Node} form
* @return {Object}
*/
function getFormData(form) {
if (form.tagName !== 'FORM') {
throw new TypeError('Argument must be HTMLFormElement.');
}
@ahomu
ahomu / JSONP.php
Created December 6, 2011 09:11
[a-blog cms] すごく適当にJSONPを作成するモジュール草稿
<?php
require_once ACMS_LIB_DIR.'GET.php';
class ACMS_GET_Util_JSONP extends ACMS_GET
{
function get()
{
return $this->Get->get('jsoncallback').'({html: '.json_encode($this->tpl).'});';
}