htsign's blog

ノンジャンルで書くつもりだけど技術系が多いんじゃないかと思います

JavaScript

ゾンビウィンドウ

誰でも一度は作ったことがある <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> </head></html>

久しぶりにJavaScript書いてた

IE10、Googleトップページで試したんだけど、 document.removeChild(document.doctype); で一旦本来の DocumentType を削除して、 var doctype = document.implementation.createDocumentType( "html", "-//W3C//DTD HTML 4.01 Transitional//EN", null); do…

jQueryのような $ を使えるようにするスニペット作ってみた

jQueryの $() 関数はすごく便利です。 prototype.js にも似たようなのがありますが、使ったことがないので割愛。ともあれ、jQueryのアレを使うような感じで $ を使えるようにするスニペットを書いてみました。 var $ = function(str, target){ if (typeof st…

insertRuleメソッドについて

HTMLStyleElement の sheet プロパティは常に存在するわけではないらしい。 var s = document.createElement("style"); // この時点ではまだ存在していない console.log(s.sheet); // ==> null s.sheet.insertRule("#hoge{box-shadow:1px 1px #333;}", 0); /…

Rangeオブジェクトの速度に対するちょっとしたテスト

同じ個所に複数のノードを追加する場合でも、 なぜかRangeオブジェクトで範囲とって一気に追加するよりもinsertBeforeメソッドの方が全体的に速かったみたいです。 内部的な処理は少ないと思うんだけどなぁ…。なんか悲しい。 var doc = document; var hoge =…

window.open で生成した DOMWindowオブジェクトのDOCTYPEを指定する

完全に趣味の範囲ですが…。下記コードで使われることになる document.implementation ですが、主要ブラウザはほぼ対応しています。 ただしIE8のみDOMImplementationは存在しているのに、メソッドがないという謎な状況になっています。 // wnd に DOMWindowを…

キャレット位置を指定するメソッドを作った

正直今更感がすごいけど、自分用メモとして。 HTMLTextAreaElement.prototype.setCaret = HTMLInputElement.prototype.setCaret = function(pos){ if (this.tagName.toLowerCase()==="input") { if (this.type!=="text" || this.type) return this; } var le…

iOS端末でデバッグするためのブックマークレット

iOSに限らず、モバイルOSのWebブラウザってものすごくデバッグに不向きですよね。 一応iOSのMobile Safariには「デバッグコンソール」というモノがありますが、 アレは主にJavascriptのエラーを検出するのが目的のもので、デザインがうんたらには役に立ちま…

スニペット的な

備忘録として。 頭に0を付けて指定の文字数にするっての、結構手間取ったのでいろんな情報を元に自分なりのメソッド作ってみた。 これ見て助かる人がいれば幸い。 // p 桁のゼロパディングを行うメソッドを追加 Number.prototype.zPad = function(p) { // 与…

ビット演算による小数の整数化

http://d.hatena.ne.jp/babydaemons/20110629/JavaScript_without_Math_floor_function を読んでなんとなくやりたくなったのでやります。ご存知の通り、Javascriptでもビット演算はできます。 一般にビット演算は通常の四則演算よりも高速だと思われますので…

またもやブックマークレット作った

初めてコンストラクタ・クロージャに手を出した習作ですが、割と本格的なコードになってきたのではないかなと思ってます。 javascript:(function(){var d=document,s=d.createElement("script");s.type="text/javascript";s.charset="UTF-8";s.src="http://d…

文字数カウンタを改造してみた

先日地味に公開してたアレ(d:id:htsign:20111116)をちょっと弄って外部CSSで読み込んでたスタイルをJS内で毎度指定するようにした。 処理的にはちょっと手間増えたけど、見た目全然変わらないレベル。 むしろCSSを別途読み込まないことで若干呼び出しが早く…

今日もブックマークレット作った。

作った自分で言うのもなんだけど、これ結構便利。 javascript:(function(){var%20d=document,s=d.createElement("script");s.type="text/javascript";s.charset="UTF-8";s.src="http://dl.dropbox.com/u/414379/script/addStrLengthCheckDiv.js";(d.getEleme…

キタコレURL短縮うんたらを使うブックマークレットを改造してみた

実は生まれて初めてjQuery(というかライブラリの類)を使った。 javascript:(function(){var i=0,d=document,e=["http://code.jquery.com/jquery-latest.min.js","http://dl.dropbox.com/u/414379/script/shortenwktkjQ.js"];for(;ijavascript";s.charset="…

wk.tk で閲覧しているページのURLを短縮するブックマークレット作ったよー (^o^)ノ

2ちゃんねるのスラングに由来した短縮 URL「wk.tk」が登場 - インターネットコム を見て。 javascript:(function(){var elm=document.createElement("script");elm.type="text/javascript";elm.charset="UTF-8";elm.src="http://dl.dropbox.com/u/414379/scr…