Skip to content

Instantly share code, notes, and snippets.

@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",
@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>';
});
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 / 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:')"),
@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 / link.js
Created December 10, 2012 10:42
Bookmarklet: LinkToThisPage
@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 / 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 / String.prototype.js
Last active March 30, 2021 01:57
String.prototype の拡張のおまとめ。
(function(SP) {
var _t = "[\x09-\x0D\x20\xA0\x85\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]+",
_l = new RegExp("^" + _t),
_r = new RegExp(_t + "$");
// polyfills
SP.trimLeft = function() { return this.replace(_l, ""); };
SP.trimRight = function() { return this.replace(_r, ""); };
SP.trim = function() { return this.trimLeft().trimRight(); };
(function(SP) {
SP.endsWith || (SP.endsWith = function(str, pos) {
pos = (pos === undefined) ? this.length : Math.floor(+pos);
str = str.toString();
var start = Math.min(Math.max(pos, 0), this.length) - str.length;
if (start < 0) return !1;
var idx = ''.indexOf.call(this, str, start);
return idx === start;
});