JavaScript

Amazon Popup Reviewの不具合を修正しました

たろきち 2013/05/28 00:12 いつも便利に使わせていただいており、ありがとうございます。 amazonの仕様変更のためか、最近読み込みがずっと続いたまま、レビューが出てきません。 申し訳ありませんが、ご確認お願いできないでしょうか? http://d.hatena.ne.…

遠い知り合いが「はてダで一日44000文字以上は文字が消える」といっていたので

最大入力可能な文字数は、ブログの本文とコメント欄を合わせて1日分につき約6万5千文字までとなっております。こちらを超えた場合、それ以後のテキストが削除された状態でブログが更新されたり、文字化けが発生することがございますのでお気を付けください。…

知ってて当然?初級者のためのJavaScriptで使う即時関数(function(){...})()の全て

(function(){...})()は、 (function($){ $.hoge = function() { }; })(jQuery) みたいに使われていたりするコード。GreasemonkeyとかjQueryのプラグインとか、あれこれ見かけることがあると思います。この話題はいくつかWebでも取り上げられていますが何がど…

typeof演算子から学ぶJavaScriptのデータ型の概念と関係する考察のまとめ

まずはtypeof演算子について。JavaScript Gardenというウェブページがありまして。こういう一文がありまして。 The typeof operator (together with instanceof) is probably the biggest design flaw of JavaScript, as it is near of being completely bro…

DOMに要素が挿入される度にイベントを起こすDOMNodeInsertedの扱い方

DOMに要素が挿入されたときを検出できるのがDOMNodeInsertedイベント。たとえばajaxで特定の場所が表示されたらDOMに要素が挿入されたときや、ページング系のアドオンやユーザースクリプトでスクロールバーが下にきたら要素が挿入されたときなど、そういった…

便利な便利なamazonのレビューをポップアップ表示させるユーザースクリプト(万国対応)

こんな感じで画面遷移せずポップアップ表示。孤独なグルメの孤独なレビューもこの通り。青いあれと隣り合わせで寂しくない。便利。 インストール リンクをクリック。OperaやSafariはダウンロードになるかも。 http://userscripts.org/scripts/source/97021.u…

Evernoteに素早くコンテンツをクリップするGreasemonkeyスクリプト

最近Evernote使い始めまして。ときどきウェブページをクリップするぐらいで、あとはもっぱらテキストとかメモとかその他いろいろの方が中心。こんな使い方ですからEvernote全自動なんちゃらして情報収集とかやるほどのことはない。が、たまのウェブページの…

Element Traversal API

今更ながらJavaScriptのDOM Core基礎 - 三等兵の付け足し。あの記事長いので重くて開けない。http://www.w3.org/TR/ElementTraversal/ なんぞ? firstChildとかlastChildとかが便利になったやつ。空白ノードとかコメントノードとか無駄なノードをよけて、要…

FirstCanvas作って内省的なこと

そういったことはあまり書かないようにしていたけれど、たまには言葉にしておくのも大事だなと思って。ふと思い返して何を感じたのか真面目につらつらと。FirstCanvas 当初の目的 全部JSで書こうと思った。htmlもcssも。やったことの無い方法でやりたかった…

canvasが手軽にウェブで試せるアプリFirstCanvasを作ったよ

http://sandai310.com/firstcanvas/canvasをウェブで簡単に体験できます。 canvasの素晴らしい日本語リファレンスはありますが、http://www.html5.jp/canvas/ref.html少し難しいのでイメージがわきません。じゃあ触って試せばいいじゃーんてことですが、イヤ…

名前空間を一つだけ用意する方法と引数渡しについて

1. 名前空間を一つだけ用意して、それのみを使うこと 2. 設定はグローバル変数ではなく、引数渡しにすること http://blog.livedoor.jp/dankogai/archives/51554037.html こういったテクニックは入門系の書籍ではあまりみかけなかったと思うので少し落として…

valueOfとtoStringメソッドの水深43cmぐらいの深さの話

だいぶ前に、 var o = { i: 10, valueOf: function() { return this.i; } } のようなコード(もっと使い道のあるコード)を見たことがあった。そのときはvalueOfっていうとオブジェクトのメソッドて印象しかなくて、ほとんど使ったことがなかったからおっぺ…

isSameNodeとisEqualNode

エレメントの比較でisSameNodeとisEqualNodeというのがあった。手元で確認した限りでは、 Firefox3.6.8 Google Chrome5.0/6.0 Opera10.61時点でisEqualNodeは無し IE9pp IE8以下はどちらも無いようです。 isSameNode 同じノードかどうかをbooleanで返す。sam…

removeEventListenerの使い方間違えてた

add時と引数違うとだめなのか。うわーremoveしたことなかったから知らなかった。removeせずに関数内で判定させてイベントおこさないようにしてた。イベント放置プレーバレバレ。 function a(){ console.log('バカですよ'); } document.documentElement.addEv…

JavaScriptのDOM Core基礎

Coreの簡易リファレンス。Coreは要素を参照したり、相対位置から周りのノードを参照したり、要素を生成するといった部分。主に利用するであろうプロパティやメソッドはカバーしているつもりですけど、これも入れとけってのあったら教えてください。このあた…

setTimeoutのメソッドチェーンとループ時の利便性向上について

ppBlog officialこれは私も以前悩みました。もう解決したとは思いますがいろいろやってみます。コードを拝借。 var foo = function(){}; // 関数オブジェクトを作成 foo.prototype = { // プロトタイプを設定 say : function(s){ alert(s); return this; }, …

IE8でinnerHTMLすると元あった要素の子要素が削除される

JS側で生成したエレメントが2あったとして。 var d1 = document.createElement('div'); d1.id = 'd_1'; d1.appendChild(document.createTextNode('d1ですよ')); // <div id='d_1'>d1ですよ</div> var p1 = '<p>p1ですよ</p>'; 一方はエレメント作ってもう一方は横着。これをdocument.bo…

下までスクロールしたかどうか判定する方法

スクロールバーが下まできたかどうかってやつ。 (function() { var self = arguments.callee; var s = document.body.scrollHeight - document.body.clientHeight - document.body.scrollTop; if(!s) alert('底辺\(^o^)/'); setTimeout(self, 100); })(); …

JavaScriptだけで桜な長編ウェブページアニメーションを作ってみました

http://www.sandai310.com/ あらすじ どこかの三等兵が戦場で死に続ける物語。 「廻りまわりいつまでも、私はあなたを天国へいかせたいだけなのにいつまで地獄を選び続けるの? 「キミも天国にくるまでさ どこか国のどこか戦場。人の心に愛があり、人の歴史…

NotePad++はじめていました

玄人でない私には丁度よかった。http://notepad-plusplus-euc-jp.hp.infoseek.co.jp/EUC-JP対応版を配布してくれています。日本語で扱うならこれで問題ないかな。本家でもshift-jisも対応しているようですが文字化けすることがあるらしいので。エディタにつ…

styleタグのCSSや外部CSSの値を取得

当たり前ですが、 element.style.xxx で取得できるのは要素にstyle属性として指定されている値だけなので。たとえば、 // css #box { width: 100px; } //html <div id="box"></div> //js var element = document.getElementById('box'); var style = element.style.width; // emp…

どのブラウザでも等速でアニメーションさせる

よく使われている方法ではだめ。setInterval(func, ms)でカウントの変数を用意した形を取るとそれぞれのブラウザで速さが違う。指定した毎msずつは実行されるけど、そのmsがそれぞれのブラウザで同じとは限らない。正確には処理能力の違いにより遅延がおきる…

マウス座標のこととブックマークレットのことと

clientX/Y、pageX/Y、laerX/Y&offsetX/Y、screenX/Yの座標をなんとなくみれます。今日も元気に気の向くまま何も考えず適当に書いていますから、おかしいとこやまずい部分は目をつむるか直してやってください。 目的 clientX/Yてなんだっけとか、pageX/Yって…

setIntervalとsetTimeoutを調べた結果余分なことになった

なかなかどうして、怠惰な若輩者につき不明な点が多々あるため先人の知恵をお借りしたく候。というわけでいろいろ知恵や知識などいただきます。・・・消化不良でしたorz setTimeoutの中の小難しいお話 自分だけじゃ到底調べられないし分かる術もない。Cなん…

細かいJavaScriptの仕様や習慣やテク集

気づいたことやミスしたことなどメモしていたので確認作業。細かい仕様だったり暗黙のルールだったり、テクニックだったり。JSに慣れていたら当たり前なことばかりかもしらん。追記のところはid:os0xさんより。ありがとうございます! undefined var a; aler…

Ruby/PythonライクにJSが書けるCoffeeScriptでコーヒーブレイク

Python知らないんだけど気分転換に。適当に。 http://jashkenas.github.com/coffee-script/ Jeremy Ashkenas氏がRuby/Pythonライクな文法でJavaScriptを記述する、興味深い試みをおこなっている。同氏が開発した「CoffeeScript」と呼ばれる簡易言語は、"a li…

大量の要素を挿入するときcreateDocumentFragmentメソッド

var frame = document.createDocumentFragment(); for(var i = 0; i <= 255; i++) { var div = document.createElement('div'); div.style.width = '100px'; div.style.height = '1px'; div.style.backgroundColor = 'rgb('+i+','+i+','+i+')'; frame.append…

JavaScriptとActionScriptの連携

メモ。JSからASを制御。 http://www.adamrocker.com/blog/113/javascript_flash_actionscript_internet_explorer.html http://www.adamrocker.com/blog/111/javascript_flash_actionscript_firefox_safari.html

クロージャ入門物語

なんかクロージャを説明している文章をサイ本で読んでモゾモゾしつつクロージャを成すために激動の時代を生き抜いた熱い物語である! 完!sandai先生の次回作にご期待ください! 分岐 まずは生真面目にやってみる! http://dqn.sakusakutto.jp/2009/01/javas…

引数にデフォルト値

結構使う。 function func(val1, val2) { val2 = val2 || val1; return val1 * val2; } func(3); // 9 func(3,2) // 6 返り値も使われやすい。 function func(val1) { return val1 || 'no val'; } func(); // 'no val'; 地味だけど便利。