javascript

読み込み失敗した画像を再度取りに行くグリモン

AutoPagerizeなどを利用して、Ajaxでノードを追加したときに追加したノード中の画像読み込みに失敗することがあります。 まぁ、何が言いたいかというとニコニコのサムネが表示されなくてしょんぼりと さて、どうしよう。 画像の読み込みイベント監視?とは言…

iframe内の要素をxpath4jquery使って取得

xpathでドキュメントをまたいだ検索ができないということで、contextのドキュメントでcreateExpression切り替えられないか?と考えました。 で、できたのが // xpath4jqueryの57行目辺り context = context || document; doc = (context.nodeName == '#docum…

iframe内の要素をXPath使って取得

前提条件として、ドメインは一緒。 昨日の失敗は、iframeのdocumentをcontextに指定したところで、document.createExpressionで評価するからdocument違いが起こっていたためです。そこで、importNodeメソッドですよ。 外部ドキュメントからノードのコピーを…

iGoogleの表示領域をちょっとだけ広げるグリモン

// ==UserScript== // @name bowdlerize-igoogle // @namespace http://d.hatena.ne.jp/TakiTake // @include http://www.google.co.jp/ig* // ==/UserScript== document.getElementById('nhdrwrapsizer').style.height = '100px'; テーマの部分が46px縮んで…

Firefox3で「はてブ」のページ自動ロードを無効にしたい人向けJavascript

これをアドレスバーに貼り付けて、エンター押せば無効にできます。 javascript: (function(){Hatena.Bookmark.AutoPagerize.instance.inactive()})()

JSで論理演算

1, 0 ver function and(i, j) { return i & j; } function or(i, j) { return i | j; } function nand(i, j) { return !and(i, j) ? 1 : 0; } function nor(i, j) { return !or(i, j) ? 1: 0; } function xor(i, j) { return i^j; } function not(i) { retur…

JSで画像に落書きする

画像が一つ飛ばしになるの修正 canvas要素で遊ぼうってことで、画像に落書きできるスクリプト書いてみました。 使い方 windowのロードイベント後に以下のコード読み込んで下さい。 firebug入っているなら、コンソールに貼り付けて、実行でおk。 pixiv辺りが…

画像の読み込み制御

メモ DOMContentLoadedイベント時に、styleのdisplayをnoneにしても、画像は読み込まれてしまう。 DOMContentLoadedイベント時に、img要素をremoveChildしても、画像は読み込まれてしまう。 DOMContentLoadedイベント時に、src属性の値を無しにすると、画像…

ダブルクリックでtrac編集するJS

tracのwiki編集権限持っている場合、編集したいページでダブルクリックすると編集画面に遷移します。ブックマークレット版 javascript:(function(){document.body.addEventListener("dblclick",function(){var f=document.forms;if((f.length>1)&&(f[1].getE…

javascriptによる攻撃の被害者・加害者にならないために注意すべきこと

はじめに 自分用のメモがてら書いてきます。 僕もまだまだ素人なんで、つっこみ大歓迎です。 目に見えることが真実とは限らない リンクを使った引っ掛けの例です。 初級:リンク先と表示されている文字が違う <a href="http://bbb.com">aaa</a> エロサイトでよく見かけますねw これは、ス…

CharacterDataってあるんだね

TextとCommentノードの共通機能らしい。 こっち使えば、nodeValue取ってきてStringとして操作せずに、ノードとして操作できるね。 appendData, deleteData, insertData, replaceData, substringDataと一通りのメソッドが存在するみたい。 今まで // firebug…

jQuery UIのresizableで、文字が範囲選択できなくなる?続き

まだ、完全な原因は不明ですが、 マウスダウンイベント時にイベント伝播を停止すると、同様の現象が起こるので、これが関係しているかも。 余談ですが、ドラッグ&ドロップや要素のリサイズするときに、マウスダウンイベントの伝播停止しないと 無関係な文字…

jQuery UIのresizableで、文字が範囲選択できなくなる?

Webページをjavascript面で使いやすくしてくれるjQuery UIですが、 デモページで不思議な状況に陥りました。 resizableのデモページで、4つのブロックの内 左から3つで、文字の範囲選択ができなくなっていることです。 一番右のブロックでは、できるのに。…

appendCirno関数作った

ブックマークレット版 javascript:(function(){var d=document.createElement('div');var s=d.style;s.position='absolute';s.top=(Math.random()*100)+'%';s.left=(Math.random()*100)+'%';s.zIndex='9999';s.color='#07F';s.fontSize='14em';d.innerHTML=u…

のサイズを動的に変える時の注意事項

真っ白になります ちょっとでも、canvasのサイズを変えると真っ白になってしまうので、 画像を再読み込みしましょう。 windowのリサイズイベントでcanvasのサイズを変える例 <html> <head> <meta http-equiv='Content-type' content='text/html; charset=utf-8'> <title>canvas</title> <script type='text/javascript' language='javascript' charset='utf-8'> // イベントハンドラを追加 // 引用元 IT戦記:http://…</meta></head></html>

でお絵かき->DBに保存->PHPで表示->(゚Д゚)ウマー

きっかけ canvasタグ上に描いた絵を保存しようとしたら、 意外に情報が見つからず苦労したんで、載せときます。 canvas? まず、canvasやHTML5についての仕様は、以下のサイトを見てください http://www.html5.jp/ 流れ 今回は、フリーハンドで描いた絵を保存…

onclickで盛り上がってるみたい

javascriptのイベントをどう書くか? onclickは推奨?非推奨? タグにonclickを埋め込む方法自体なら、アリだと思う。 初心者向けなら、ナシだと思う。 前者は、作業効率面から 直感的だし、コード短くなるしね。 つまり、意味を知ってて使うならアリ 後者は…

Firecookieにdecodeしたcookieも見られる機能追加してみた

Firecookieを入れるまでは console.log(document.cookie)で、いちいちcookieを表示していたけれど、 これはFirebugを拡張してcookieタブを追加してくれるから、 簡単に確認できてとても便利。 その上、ドメイン、パス、有効期限など詳しい情報を見やすく出し…

全てのチェックボックスをチェックするJS

firebug無いとだめですが、consoleに var elements = $x('//input[@type="checkbox"]'); for(var key in elements) {elements[key].checked = true;} と入れると、爽快です。 trueの代わりにfalseだと全解除。 ふぅ論文書くか

jQuery UI 1.5が素敵

jQuery UI 1.5のデモ見たら、あまりに素敵過ぎてprototypeから浮気しそうw ユーザインターフェース強化中なんで、こういうのは有り難い。 もうちっとキレイなコード書きたいなぁって事で、PHPのフレームワークである symfonyにも手出してます。 ドキュメント…

選択範囲の文字列取得

getSelection = function() { var s = document.selection ? document.selection.createRange() : window.getSelection(); s.str = function() { return document.selection ? this.text : this.toString(); }; getSelection = function() { return s; }; re…

javascript書いてると

ブラウザのキャッシュを頻繁に消す alert(unescape(document.cookie)); ブラウザの挙動の違いに発狂 「たぶん動かないだろうな」->実行->「やっぱり」 改行だけのテキストノードに殺意

個人情報ネタ

javascript:(function(){var b="";b=prompt(unescape("%u751F%u5E74%u6708%u65E5%u3092%u5165%u529B%u3057%u3066%u304F%u3060%u3055%u3044"));if(b) alert(unescape("%u3053%u3093%u306A%u30B5%u30A4%u30C8%u3067%u6C17%u8EFD%u306B%u6559%u3048%u3061%u3083…

任意の文字列を含むURLを探す

javascript:(function(){str=prompt('検索する文字列');a=document.getElementsByTagName('a');for(var i=0,len=a.length;i

子ノードから必要な要素のみの配列を作る

firefoxでchildNodesを取得すると、どうにも余計な改行とタブだけの要素が取れてしまうので、 うまい事取り除けないかやってみた。 実行はfirebugのコンソールで行いました。 var children = $(elem).childNodes; // 子ノード var len = children.length; //…

プログラムは自分で書かなきゃ理解しにくい

今までは、要素の取得にgetElementByIdやgetElementsByTagName関数を使っていたけれども、 XPath, E4Xなど気になる構文を知り解説サイトを回ってみた。 コピペでサンプルを実行させ、ひとしきり感動した後に、いざ応用しようとするとつまずく。 段階を踏んで…

javascriptで選択範囲の文字列を取得

やりたい事は ・選択範囲の文字列を取得 ・選択範囲の文字の色を変更 以上2点。 // IEの場合 var txt = document.selection.createRange().text; // Mozilla系ブラウザ var txt = window.getSelection().getRangeAt(0).toString(); 現在は、このように取得…