素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: twitter: @javascripter にどうぞ。

2008-03-01から1ヶ月間の記事一覧

ハイクの画像を原寸大表示

javascript:var images=document.evaluate('//div[@class="body"]//img',document,null,7,null);for(var i=0;i

3n+1問題

任意の数nを与えたときに ・nが偶数ならば2で割る ・nが奇数ならば3倍して1を足す を繰り返すと、1になる、という有名な予想。 面白そうだからやってみた。 function f(num){ for(var step=0;num!=1;step++){ if(num%2==0){ num/=2; }else{ num=num*3+1; } }…

Javascriptからスタイルを一括指定

function styles(d,obj){ for(var st in obj){ document.body.style[st]=obj[st]; } } styles(document.body,{backgroundColor:"gray",color:"white"}); もっといい方法とかはないものか。CSS指定するだけでたくさん行使うのはやだぞ↓ もっとぜんぜんいい方…

XPathにマッチする部分を強調するJavaScript

var xpath=prompt(); var hitXPath=document.evaluate(xpath,document,null,7,null); for(var i=0;i

ライブ実体参照

すごい勢いでを&gt;とか&lt;とかにするやつ。今回はHTMLもつくった。 <html> <head> <title>ライブ実体参照</title> <script> function setup(){ var textareas=document.getElementsByTagName('textarea'); textareas[0].addEventListener('keyup',conv,false); function conv(){ var val=texta</head></html>…

はてブにアクセスしたら同時に元のページも開くGreasemonkey

はてブのエントリにアクセスしたら、ブックマークされたページ自体も開くGreasemonkey。 // ==UserScript== // @name autoOpen // @namespace http://d.hatena.ne.jp/javascripter/ // @include http://b.hatena.ne.jp/entry/* window.open(location.href.re…

フィボナッチ数列

var data=new Array; data[0]=1,data[1]=1; for(var i=2;i<20;i++){ data[i]=data[i-2]+data[i-1]; } document.write(data); もっと短く。 var data=new Array(1,1) for(var i=2;i<20;i++){ data[i]=data[i-2]+data[i-1]; } document.write(data);

文字列からRegExpオブジェクトを作る

String.prototype.toRegexp=function(){ return eval(this.toString()); } var re="/Java/".toRegexp(); var str="Javaは最高の言語です"; alert(str.replace(re,"JavaScript")); よーし、わかってきたぞー。

今後やりたいことメモ

・オライリーの「JavaScript」を読んでより理解を深める ・Greasemonkeyスクリプトを書く ・Firefoxの拡張を書く ・JavaScriptなんてマジ糞、俺はBrainFuckしか使わない、と言えるように勉強する。 ・Ajaxやりたい。自宅サーバーは玄箱PROでつくったから、Ru…

リファラを残さずにページを移動する

function replaceUrl(url){ document.write('<meta http-equiv="refresh" content="0;url='+url+'">'); document.close(); } replaceUrl('http://www.ugtop.com/spill.shtml'); こんな感じにすればいい。</meta>

自分のハイクにスターをつけられなくするJavaScript

XPath?とかいうのの勉強をかねてつくりました。 Greasemonkeyのスクリプトとブックマークレットにしました。 ブックマークレット版: ↓var idの部分を自分のidに変えてお気にいりに入れてください。 javascript:var id='javascripter';var addButtons= docu…

1から500までのうち、完全数を出力するプログラム

for(var i=1;i<500;i++){ var x=i; var y=0; for (var j=1;j

13.7 練習問題

練習 13-1 XMLHttpRequest.open('POST','http://google.com',false); 練習 13-2 XMLHttpRequest.onReadyStateChange=func(); 練習 13-3 XMLHttpRequest.readyStateが4。ステータスが200。 練習 13-4 HTML、XML、JSON HTMLはそのまま出力できる。XMLはサーバ…

12.6 練習問題

練習 12.1 JavaScriptから指定しないと、.styleほげほげには値が入らないから。 window.getComputedStyleとかcurrentStyleを使う。 stylesheetsの配列とかからも取れるみたい。 練習 12.2 var div=document.getElementsByTagName('div');//divを指定 div.sty…

11.8 練習問題

練習11-1 Number.prototype.triple=function(x){ return (x*3); } これじゃ動かなかった。 Number.prototype.triple=function(){ return this.valueOf()*3; } でいいらしい。 練習11-2 varを使う。外のスクリプトの影響をうけなくなる。 練習11-3 try{ num="…

Firebugみたいな一行のJavaScriptを実行するバーをWebページの下のほうにくっつけるブックマークレット

var inputjs=document.createElement('input'); inputjs.id="inputcode"; document.body.appendChild(inputjs); inputjs.style.width="100%"; inputjs.style.border="solid 1px gray"; inputjs.style.position="fixed"; inputjs.style.bottom="0px"; inputjs…

サイト内のリンクを列挙するブックマークレット

195ページまで読んだ成果。 var linksWindow=window.open("about:blank"); for (var i = 0; i < document.links.length; i ++) { linksWindow.document.writeln(document.links[i]+"<br>"); } ブックマークレットなら javascript:(function(){var linksWindow=wi…

ページ内の画像がちょっとずつ透明になってくJavaScript

初めてのjavaScriptの240ページあたりを見て思いついた。 けっこうきれいにできたから載せとく。 setInterval("decrementOpacity()",100); var opacity=1.0; function decrementOpacity(){ opacity-=0.1; var images=document.getElementsByTagName("img"); …

()でちょっとハマった。

()つけると、関数として呼ばれるけど、()つけないと期待したように動かないんだね。だいぶこれで時間つぶした。

238ページまで読んでprototype理解した。

String.prototype.unko=function(){ alert(this); } var test="うんちうんち!"; test.unko(); こういうことか。ブラウザの差異埋めるのに使えそう。

10.8 練習問題

練習 10.1 id,title, lang, dir, className 練習 10.2 DOM HTML APIのtagNameプロパティを使う 練習 10.3 子要素を辿る関数を定義し、再帰呼び出しをする 練習 10.4 var divs=document.getElementsByTagName('div'); for(var i=0;i

bodyの背景色と文字色を固定

var body=document.getElementsByTagName('body')[0]; body.style.color="white"; body.style.backgroundColor="black"; こんな感じだろうか。 ↓ bodyはもっと簡単に取れるのか。 var body=document.body; body.style.color="white"; body.style.backgroundC…

9.7練習問題

恒例?の一人JavaScript勉強会。今日もはじまりました。 202ページまで読んだ。 練習9-1 prompt() 練習9-2 setInterval("CallFunction(paramA,paramB)",3000); 練習9-3 locatioon.href 練習9-4 navigator,screen 練習9-5 window.open('help.html',null,"widt…

練習問題8.5

練習8-1 CookieやFlashのSueprCookie 練習8-2 名前と値、有効期限、クッキーのパス 練習8-3 有効期限を指定しない 練習8-4 HTMLタグ、javascriptコード、その他脆弱性となりうるものすべて 練習8-5 訪問日、ログイン情報、フォームの内容の一時保存、文字色…

練習7.6

練習7-1 preventDefaultを使う 練習7-2 keydownblur 練習7-3 new Optionを使う 練習7-4 正規表現で、/.*[^0-9].*/gみたいなのをexecする 練習7-5 var radiobutton=コード; radiobutton.addEventListener('click',radioCheck,false); function radioCheck(evn…

Googleのフォームにyahooと入力したらyahooに移動するユーザースクリプトでけた!

やった!要素にアクセスする方法がだいたい分かったから、ちょっとしたユーザースクリプトつくった!Firebugではっつけて実行してね!(Greasemonkeyというのだと、毎回はっつけなくてもできるみたいだけど、あんま実用的じゃないものだからその必要はない)…

HTMLの要素にアクセスするところのコツがつかめない

ただいま145ページあたり。 フォームのJiT検証とかそういう部分なんだけど、肝心のselectにアクセスする方法とかがよく分からん。 ↓ 195ページ以降に載ってる ↓ 227ページあたりのElementオブジェクト使えば細かく制御できるみたい

6.2練習問題

139ページまで読んだ。練習 6-1 インラインモデルや、従来型モデル、addEventListenerを使う 練習 6-2 var dScreenX=document.screenX; var dScreenY=document.screnY; 練習 6-3 stopPropagationやcancelBubbleを呼び出す 練習 6-4 var dBody=document.body;…

5.6 練習問題

練習5-1 静的関数宣言的関数、無名関数、関数リテラル。 練習5-2 グローバル変数を使う 練習5-3 function doC(objA,functionB){ functionB(objA); } var x=3; doC(x,function(){alert(x)}); 118ページまで終わった。もう疲れたからいったんおしまいにする。

練習問題4.8

練習4-1 var str="The fun of functions is that they are functional."; str=str.replace(/fun/g,"power"); 練習4-2 わからなかった var dtNow = new Date(); var date = dtNow.getDate(); date += 7; dtNow.setDate(date); document.writeln(dtNow.toStrin…