JavaScript

ニコニコ動画の動画再生ページのレイアウトが変わった

ニコニコ動画の動画再生ページのレイアウトが変わったので いつも通りスタイルシートを更新。 ニコニコ動画(9) 動画説明文を動画の横に ただ更新したのはいい物のこのスタイルシートは16:9に対応していないのが 気に入っていなかったのでGreasemonkey辺りで…

Chrome版のAutoPagerizeはユーザースクリプトからAutoPagerizeのAPIを操作できない

Chromeの拡張の仕組みを知らないがwindow.AutoPagerizeを取得できなさそう。 GM_AutoPagerizeLoadedイベントを監視しても、ページ読み込み後に setTimeoutでいくら粘ろうが取得できなかった (GM_AutoPagerizeLoadedイベント自体起きていない)。 少し前から…

jQuery UIのdialogを使い捨てで使う場合

$('<div />').dialog({ close: function(event) { $(this).dialog('destroy'); $(event.target).remove(); });今日初めて使った。 ダイアログ表示させる時、その要素がDOMツリーに入ってないとちゃんと bodyの最後に追加してからdialogとして表示してくれる。 だが</div>…

Twitterの新しいツイートを読ませるGreasemonkeyスクリプト

Twitterで新しいツイートがあるとそれを自動で読み込ませ、 それをボイス・ソムリエで読ませるスクリプト。 ボイス・ソムリエのページのiframeを追加してpostMessageを使って操作する。 音声の長さは1文字0.25秒と推定して音声を流す。 場合によっては短すぎ…

Twitterの新しいツイートを読ませるGreasemonkeyスクリプトを作ってみたかったがうまくいかった

JavaScriptで音楽の再生が終了したか確認する方法が分からない。 →新しいツイートが複数ある場合に対応できなかった。 embedで埋め込まれているwaveの再生終了を検知する方法が分からない。 Audioオブジェクトを作ってdurationで長さを取得できるかと思った…

メールアドレスの正規表現

あくまでも簡易。 ローカル部のquoted-stringやドメイン部が「[ ]」に囲まれたIPアドレスの 場合には対応していない。 日本の携帯電話の使用に沿ってない(ローカル部にドットが続く)表現には対応。 あとなんとなくドメイン部には一回はドットが無くては駄…

Form関連の要素の値を初期化

// textarea, inpu[type="text"], input[type="checkbox"], input[type="radio"], optionの値を初期化 var initializeState = function() { $(':text').each(function() { $(this).val($(this).attr('defaultValue')); }); $(':checkbox, :radio').each(func…

カンマ演算子

カンマも演算子であることを知った。 演算子は計算に使う「+」とかの記号とかだとくらいにしか考えてなかった。 さて次の結果はどうなるでしょう。 (1, 2, 3) * (2, 3, 4);形だけ見たら内積かなんかの計算みたい。 例えば var a, b, c; a = (b = 1, c = 2); …

今開いてるページのGoogleキャッシュ、Internet Archiveでの検索結果を表示するブックマークレット

自分が使っているブックマークレット。 このページのGoogleキャッシュを表示 javascript:location.href='http://webcache.googleusercontent.com/search?q=cache:'+document.URL; 検索結果には出るけどもう存在しないページに遭遇したときに便利。 このペー…

ニコニコ動画のプレーヤーをJavaScriptから操作するAPI一覧

調べてみたのでメモ。 ちなみにいかのplayerは var player = document.getElementById('flvplayer');で取得できるようなプレーヤーの要素。 player.ext_play(boolean) -> void引数がtrueの場合実行、falseなら停止。 player.ext_setPlayheadTime(number) -> …

AutoPagerizeを使ってもmixiの日記で絵文字が使えるようにする

また調べたらもうあったけど // ==UserScript== // @name AutoPagerize mixi Diary Emoji Filter // @namespace http://d.hatena.ne.jp/kiyo_hoge/ // @include http://mixi.jp/view_diary.pl?* // ==/UserScript==(function() { var linkCount = 0; var rep…

OperaのgetBoundingClientRectとgetClientRectsは変わった条件だと他のブラウザと違う値を返すことがある

追記:コメントでご指摘を頂きタイトル、内容を修正しました。 以前書いた記事でOperaの10.60でgetBoundingClientRectがうまく動作しないと 書いたがどうやら9.60からのようだ。 ただし以下の参考に載っているバグは10.0で解決しています。 参考:http://d.h…

prototype.jsの本を読み始める

jQueryよりかなりややこしい。

pixivのスタックフィードのAutoPagerizeみたいなのを作ってみた - その3 - OperaのgetBoundingClientRectのバグにぶち当たる

昨日に続きアップデートしてuserscripts.orgに投稿。 主な改良点はリアクションのページで次ページ読み込み後に 新しいコメントを書くと正常に表示されない問題の修正。 あとAutoPagerizeみたいにアイコンにマウスを載せると メニューが出るようにしたこと。…

pixivのスタックフィードのAutoPagerizeみたいなのを作ってみた - その2

AutoPagerizeみたいにアイコンを出すようにしてみた。 あとボタンをクリックすると読み込みをストップできるようにした (本家みたいな丁寧なメニューは出て来ません)。 userscripts.orgが落ちてるみたいなのでここに公開。 userscripts.org復活次第そちら…

pixivのスタックフィードのAutoPagerizeみたいなのを作ってみた

pixivのスタックフィードのAutoPagerizeみたいなのを作ってみた http://userscripts.org/scripts/show/82435 とりあえずページ下までスクロールしたら次のページをロードさせるだけ。 これからどう機能追加されるかも分からないからとりあえず動くくらいので…

PHPとjQueryを勉強し始める

PHPは関数が多すぎてまだよく分からない。 たまに変数名の前の「$」記号を忘れる。 JavaScriptと併記するのに微妙に違うからめんどくさい。 SQL文とかややこしい。jQueryは何となく分かってきた。 何となくだけど。

addRequestFilterを使ってリンクがJavaScriptなサイトでもAutoPagerizeを有効にする

具体例としてキッコーマンのレシピ検索のサイトを使って説明 // ==UserScript== // @name AutoPagerize Kikkoman Homecook Filter // @namespace http://d.hatena.ne.jp/kiyo_hoge/ // @include http://www.kikkoman.co.jp/homecook/search/select_search.ph…

postMessageを使ってIframeの高さを内容の高さに合わせる

前のブログにあった物の改良版 ここのスクリプトではニコニコ大百科にあるニコニコ動画のIframeの高さが 内容の高さより低い場合、内容の高さに合わせるようにしています。 (FORCE_FIT_CONTENTをtrueにすれば元々の高さにかかわらずIframeの高さを 内容に合…