javascript
例えば id:brazil さんが言ってる ヒアドキュメント。 <script src="heredocument.js"> var str = <<"END"; おにいさまおにいさまおにいさまおにいさまキスキス…ネコミミ!おにいさまおにいさま おにいさまや・く・そ・く・よ END alert(str); </script> heredocument.js はこんな感じ eval( (functi…
スクリプト http://miya2000.up.seesaa.net/neko_mimi_fuxx/neko_mimi_fuxx.js デモ http://miya2000.up.seesaa.net/neko_mimi_fuxx/neko_mimi_fuxx.html 参考(見た順) OreScript時代の幕開け - yukobaの日記 http://d.hatena.ne.jp/yukoba/20071108/p1 JS …
知らなかった…。 alert(isNaN(' ')); // false alert(isNaN(' ')); // false alert(Number(' ')); // 0 alert(Number(' ')); // 0 通常、isNaN()関数は、parseFloat()やparseInt()の結果が無効な数値になっていないかどうかを調べるときに使用します。そのほ…
大抵の場合、form 要素がある web ページで以下の bookmarklet を実行すると、 javascript:alert(document.getElementsByTagName('form')[0].submit) 以下のように HTMLFormElement の submit メソッドが表示されます。 が、input 要素の name 属性に「submi…
元ネタ。 実用 - 内容に合わせて伸縮するテキストエリア http://d.hatena.ne.jp/brazil/20071004/1191432582 それ、Opera にも!*1 <script> fittingTextarea(document.getElementById('main')); function fittingTextarea(target){ var MIN = target.clientHeight; …
ブックマークのものはブックマークに。IE6不可。 bookmarklet:javascript:(function main(data) {function save(obj) {prompt('これをブックマークしてください。','javascript:' + encodeURIComponent('(' + main.toString().replace(/\s*\r?\n\s*/g,'') + …
しかし!現状の Opera 9 にはバグがあって shift.apply(arguments) に失敗して、 arguments を壊してしまいます。 ホントだ。知らなかった。 はてなダイアリーで JavaScript eval http://d.hatena.ne.jp/nitoyon/20070820/javascript_eval_on_hatena_diary …
IE不可。とりあえずOpera9&Fxでのみ確認済み。 2007/08/16 追記 IE6でも、まあ動きます。Safari は未確認だけど動いてるようです。Firefox が一番ちゃんと動きました。http://miya2000.up.seesaa.net/tmp/stalker3.xml - 以下のブックマークレットで解除でき…
はてなダイアリーに(対応外の)ブログパーツを貼る http://d.hatena.ne.jp/Hamachiya2/20070814/google_gadgets で、とりあえずいつものやつを書いた。 http://miya2000.opera.googlepages.com/test.xml <Module> <ModulePrefs title="test"> </ModulePrefs> <Content type="html"> alert(document.cookie…</content></module>
bookmarklet (Opera,Fx,IE7?): javascript:(function(){var A='appendChild',C='createElement',d=document,p=d.body[A](d[C]('p')),b=p[A](d[C]('button')),r=p[A](d[C]('pre')),x=new XMLHttpRequest();b.onclick=function(){d.body.removeChild(p)};b.inn…
<script type="text/javascript"> return; // ← return できない (function(){ return; // ← return できる })() </script>
前々から「script要素に permission 属性があるといいなあ」と思ってるのだけどそれは置いといて。 「404 Blog Not Found - スーパpre記法で実行可能なJavaScriptを」のようにページ作成者が任意の JavaScript をページ閲覧者に実行させたいという欲求はある…
(2007/05/07 短くしました) bookmarklet: javascript:(function(L){var d=document,i=0,a,b,A='appendChild',B='#000 solid 1px',C='createElement',D='margin:0;padding:0;background:transparent;font-size:10px;border:0;',U='px';a=d.body[A](d[C]('div'…
Yahoo! UI Library (YUI) を使ってドラッグ&ドロップによるテーブルを並べ替えを実装しました。 ドラッグ&ドロップでテーブルを並べ替え(DDSortTable) http://miya2000.seesaa.net/article/39899726.html デモ http://miya2000.up.seesaa.net/ddsort/demo/…
僕はインスタンスに該当プロパティがなければコンストラクタの prototype プロパティの該当プロパティを参照すると思っていました。正確には"インスタンス化された時の"コンストラクタの prototype プロパティの該当プロパティを参照しているようです。 元ネ…
以前「window オブジェクトを汚さないネタ」で疑問に思ったので検証しました。 parent.html <html><head><title>Window テスト(Parent)</title> <script type="text/javascript"> window.name='parent'; function hello(){ alert('hello:'+window.name); } function openChild(){ var w=open('…</head></html>
普通に考えればこんな感じ。 // 子ウィンドウを作成 var w=window.open('about:blank','hoge','width=800,height=600,location=yes'); var d=w.document; d.write('<html><head><title>'+document.title+' の子ウィンドウ<\/title><\/head>'); d.write('<body>'); /* (略) */ d.write('</body></head></html>…
普通に考えればこんな感じ。 var style=document.createElement('style'); style.setAttribute('type', 'text\/css'); style.innerHTML='…'; document.getElementsByTagName('head')[0].appendChild(style); が、IE6 では style 要素の innerHTML プロパティ…
user.js や bookmarklet を書く時は、元のページのグローバル関数や変数を上書きしないようにグローバルな領域を使わないようにするんですが、JSONP のような外部スクリプトと連携する場合はどうしても必要になります。それをどうにかして元のページの windo…
ライブラリにしました。 dndsupport.jsデモ 前回のプログラムと違うポイントとして、 他のライブラリに依存しない safari も img を被せるようにした(効果があるかは不明) Opera8対応(古いシイラも同じ対策でいけるかも) なるべく軽量に ドラッグする要素と…
先日の「これからドラッグ〜」を家の低スペックマシンの IE6 で動かすと非常に重たかったので調査したところ、ドラッグ&ドロップ部分は全く関係なくて、ログ表示部分に問題があることがわかりました。 log: function(msg,e) { /* コメントアウトすると軽く…
マウスカーソル弄っててハマったとこ。 var onNorth = false; var onSouth = false; var onEast = false; var onWest = false; var direction = onNorth ? 'n' : '' + onSouth ? 's' : '' + onWest ? 'w' : '' + onEast ? 'e' : '' ; alert(direction); // ??…
2012/07/22 追記 久しぶりに確認したところ、IE9 では以下で指摘している IE (このときは IE6 でした) の問題(3, 4, 6)がすべて解消されていました。 また、Firefox での問題(5)も Firefox14 で試したらは解消されていました(ただ、All-in-One Sidebar のパ…
両者は等価だと思ってたんだけど、実際はちょっと違うみたい。 javascript:(function(){ function a(){alert('a')} if(false){ function a(){alert('b')} } a(); })() 改行付き javascript:( function(){ function a(){ alert('a') } if(false){ function a(…
function caller(args){ for (i=0;i<args.length;i++) { callee(args[i]); } } function callee(args){ for (i=args.length;i>=0;i--) { alert(i); } } caller([['hoge']]); 恥ずかしい。でもやりがち。 これに警告出してくれる開発環境なんてないかな?</args.length;i++)>
シェルスクリプトのネタがあってちょっと動作確認したいなーと思ったんだけど、手近に環境が無くて cygwin 入れるのもめんどくさい。そこで「JavaScriptで擬似端末書いちゃったら俺ってクールじゃね?」なんて妄想がはじまって「擬似ファイルシステムを作っ…
前に短縮URLの話をしたんだけども、どうしても短縮URLを開く前にそのリダイレクト先のURLを知りたいという方がいらっしゃるようなので、user.js を書きました。TinyURL のリダイレクト先をツールチップ表示 Opera、FFで動作。IEは面倒なので対応してません*1…
ホームページな方がマーキーを使ってキャッキャと騒いでいると、どこからともなくアレな人がやってきて「そんなのは JavaScript でやりなさい」*1というのをよく見かけたような気がするんですが、簡単に組み込めるサンプルなりライブラリなりが見つけられな…
結果だけみればあたりまえ過ぎて恥ずかしいんだけど、今日 Opera の user.js(FireFoxでいうグリモン)書いててハマったのでメモ。以下のブックマークレットで確認できます。*1 javascript:(function(){var a=['a','b','c'];for(var i in a){alert(i+':'+a[i])…
Java プログラマが理解しにくい JavaScript のポイント Java プログラマが JavaScript を理解する上で重要だと思っているポイントが2点ある。 this の理解 と クロージャの理解 だ。 ちょうど id:amachang さんのとこでその両方にかかるエントリーがあった…