Skip to content

Instantly share code, notes, and snippets.

@ethertank
ethertank / Array.prototype.js
Last active March 30, 2021 01:56
前に書いた ruby やらなんやらのメソッドを js に移植したコードのおまとめ。多分色々問題があるので来世でチェックする。
(function(AP) {
AP.fill || (AP.fill = function() {
if (arguments.length === 0) return this;
for (var r = this.slice(), i = arguments[1] || 0, l = (arguments[2] + arguments[1] || this.length - arguments[1] + 1) || this.length; i < l; ++i) {
r[i] = arguments[0];
}
return r;
});
@ethertank
ethertank / CanvasRenderingContext2D.prototype.js
Last active December 10, 2015 03:28
CanvasRenderingContext2D.prototype を拡張
// var 0.1.6
(function() {
"use strict";
if(!HTMLCanvasElement) return;
var CRC2DP = CanvasRenderingContext2D.prototype,
PI_PER_180 = Math.PI / 180;
// コンテキストの内容を全消去
@ethertank
ethertank / link.js
Created December 10, 2012 10:42
Bookmarklet: LinkToThisPage
@ethertank
ethertank / navigator.js
Last active October 12, 2015 20:29
navigator
(function() {
var bdd = document.createElement("div");
bdd.innerHTML = '<!--[if IE]><q /><![endif]--><!--[if IE 6]><i /><![endif]--><!--[if IE 7]><b /><![endif]--><!--[if IE 8]><s /><![endif]--><!--[if IE 9]><p /><![endif]-->';
navigator.isMSIE = (bdd.getElementsByTagName('q').length) ? true : false;
navigator.isMSIE6 = (bdd.getElementsByTagName('i').length) ? true : false;
navigator.isMSIE7 = (bdd.getElementsByTagName('b').length) ? true : false;
navigator.isMSIE8 = (bdd.getElementsByTagName('s').length) ? true : false;
navigator.isMSIE9 = (bdd.getElementsByTagName('p').length) ? true : false;
@ethertank
ethertank / MDN_AllArticlesListCleaner.js
Created October 22, 2012 23:12
MDN All Articles List Cleaner
var a = [
$("#document-list a:contains('(spam)')").parent(),
$("#document-list a:contains('blablablabla')").parent(),
$("#document-list a:contains('MyTestPage')").parent(),
$("#document-list a:contains('Redirect 1')").parent(),
$("#document-list a:contains('slugslug')").parent(),
$("#document-list a:contains('img src=')").parent(),
$("#document-list li:contains('(external)')"),
$("#document-list li:contains('[Error]')"),
$("#document-list li:contains('/docs/Talk:')"),
var a = [
$("#wikiArticle a:contains('(spam)')").parent(),
$("#wikiArticle a:contains('blablablabla')").parent(),
$("#wikiArticle a:contains('MyTestPage')").parent(),
$("#wikiArticle a:contains('Redirect 1')").parent(),
$("#wikiArticle a:contains('slugslug')").parent(),
$("#wikiArticle a:contains('img src=')").parent(),
$("#wikiArticle li:contains('(external)')"),
$("#wikiArticle li:contains('[Error]')"),
$("#wikiArticle li:contains('ja/docs/Talk:')"),
@ethertank
ethertank / String.obsoletedMethods.js
Last active October 11, 2015 07:48
String.obsoletedMethods
(function(SP) {
'use strict';
SP.tag = function(tagname) {
return '<' + tagname + '>' + this + '</' + tagname + '>';
};
SP.anchor || (SP.anchor = function(anchor) {
return '<a id="' + anchor + '" name="' + anchor + '">' + this + '</a>';
});
@ethertank
ethertank / MDN_Languages.js
Created August 17, 2012 20:59
MDN_Languages
var MDN_Languages_AlphabetOrder = {
"ar" : "عربي",
"ca" : "català",
"cs" : "Čeština",
"de" : "Deutsch",
"el" : "Ελληνικά",
"en-us" : "English (US)",
"es" : "Español",
"fa" : "فارسی",
"fi" : "suomi",
(function(AP, isF) {
'use strict';
// isArray : https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/isArray
Array.isArray || (Array.isArray = function (a) {
return Object.prototype.toString.call(a) == "[object Array]";
});
// toSource(Non-standard)
AP.toSource || (AP.toSource = function() {
@ethertank
ethertank / Object.prototype.extend.js
Last active October 3, 2015 06:18
extend() : オブジェクトに別オブジェクトのプロパティを追加(上書き)して返す関数
Object.prototype.extend || (Object.prototype.extend = function(e) {
if (!e && (this !== null) && e instanceof Object !== "object") throw new Error("引数はオブジェクトで!一個だけな!(・∀・)");
for (var p in e) e.hasOwnProperty(p) && (this[p] = e[p]);
return this;
});