テキスト広告:Amazon Primeday

金曜日, 7月 31, 2009

[HTML]htmlタグのxmlns属性って何?

▼質問
htmlタグのxmlns属性って何?

▼回答
1999年にW3Cから勧告されたXML名前空間(以降「XMLNS」とする)。

XMLNSは、語彙(要素タイプ名、属性名)をURI(Uniform Resource Identifier)と

組み合わせる(修飾する)ことで、複数の語彙を混在させるメカニズムです。

例えば、全体の構成をXHTMLで記述しつつ、数式部分にはMathMLの語彙を、

グラフにはSVGの語彙を利用するという方法が考えられる。

■参考サイト
XML名前空間の簡単な説明
XHTMLのDTDと名前空間/XHTML基礎講座/Index/Web for senior 作成支援
URI

木曜日, 7月 09, 2009

[JavaScript]ブラウザに表示した内容を編集する方法

適当なホームページを表示させた後、ブラウザのアドレスバーに以下の内容を入力すると

表示している内容がブラウザ上で直接編集できるようになるらしい。

javascript:document.body.contentEditable='true'; document.designMode='on'; void 0

やってみるとなかなか凄くて面白いが・・・。

自分が使うことを想像すると、どんな時に使えるのか

直ぐには想像できないなぁ~。

いつからサーポートしていたのか調べてみた。

contentEditableは、IE5.5以降からサポートしているみたいだ。

Firefox3でもサポートされているみたいだ。

次のサイトにあるサンプルを動かしてみて、

どんな時に使うのかわかった気がする。

SCRAPBLOG : contenteditable 属性

かっこいい入力エリア(テキストエリアの代わり)の

WEBデザインにする時に使うのがベストだと感じた。

■参考サイト
WEBブラウザーに表示されている画面を直接編集する方法: sanonosa システム管理コラム集

土曜日, 6月 27, 2009

[JavaScript]パラメータの無いメソッド

▼質問
canvasの幅と高さを次の様に取得しようとしたんだがうまくいかないんだ。

exGraph.getCanvas = function( id ) {
/* canvas要素のノードオブジェクト */
var el = document.getElementById( id );
this.canvas = el;
/* 2Dコンテキスト */
this.context_ = this.canvas.getContext( '2d' );
/* canvas要素の幅・高さ */
this.getWidth = function() { return this.canvas.width; };
this.getHeight = function() { return this.canvas.height; };
};

var obj = new exGraph.getCanvas( "sample" );
/* canvasエリアの幅・高さを取得する */
var width = obj.getWidth;

どうしてか教えてくれ!

▼回答
取得する時のコードが間違っているよ。

括弧が足りないんだ!

var width = obj.getWidth();

メソッドの括弧は省略できないんだ。

VBみたいに・・・。

火曜日, 6月 23, 2009

[JavaScript]excanvas.jsのサンプル(矩形・円・破線・点線)

▼質問
excanvas.jsのサンプルないかな?

▼回答
次のコードを参考にしてくれ!!



<html>
<head>
<title></title>
<!--[if IE]><script type="text/javascript" src="excanvas.js"></script><![endif]-->
<script type="text/javascript">
if ( typeof( exGraph ) == 'undefined' ) {
exGraph = new Object();
}
exGraph.getCanvas = function( id ) {
/* canvas要素のノードオブジェクト */
var el = document.getElementById( id );
this.canvas = el;
/* 2Dコンテキスト */
this.context_ = this.canvas.getContext( '2d' );
};
exGraph.getCanvas.prototype.draw = function() {
/* 全てをクリアする */
this.context_.clearRect();
/* 矩形を描く */
this.context_.strokeRect( 20, 15, 100, 100 );
/* 塗りつぶした矩形を描く */
this.context_.fillRect( 150, 15, 100, 100 );
/* 塗りつぶした円を描く */
this.context_.fillStyle = "rgba( 255, 0, 0, 0.1 )";
this.context_.strokeStyle = "rgba( 255, 0, 0, 1 )";
this.context_.beginPath();
this.context_.arc( 320, 60, 50, 0, Math.PI*2, 1 );
this.context_.fill();
this.context_.stroke();
};
exGraph.getCanvas.prototype.drawLine = function( x1, y1, x2, y2, width, type, color ) {
this.context_.strokeStyle = color;
this.context_.lineWidth = width;
this.context_.lineCap = "butt"; /* butt、round、square */
if ( type == "solid" ) {
this.context_.beginPath();
this.context_.moveTo( x1, y1 );
this.context_.lineTo( x2, y2 );
this.context_.stroke();
}
else if ( type == "dashed" ) {
var x = x1;
var y = y1;
while ( 1 ) {
this.context_.beginPath();
this.context_.moveTo( x, y );
if ( y1 == y2 ) { x = x + width*4; }
if ( x1 == x2 ) { y = y + width*4; }
if ( x > x2 ) { x = x2; }
if ( y > y2 ) { y = y2; }
this.context_.lineTo( x, y );
this.context_.stroke();
if ( y1 == y2 ) { x = x + width*2; }
if ( x1 == x2 ) { y = y + width*2; }
if ( x > x2 ) { break; }
if ( y > y2 ) { break; }
}
}
else if ( type == "dotted" ) {
this.context_.fillStyle = color;
var x = x1;
var y = y1;
while ( 1 ) {
this.context_.beginPath();
this.context_.arc( x, y, width/2, 0, Math.PI*2, 0 );
this.context_.fill();
this.context_.stroke();
if ( y1 == y2 ) { x = x + width*3; }
if ( x1 == x2 ) { y = y + width*4; }
if ( x > x2 ) { break; }
if ( y > y2 ) { break; }
}
}
};
exGraph.getCanvas.prototype.drawText = function( x, y, text, font_size, font_family, color ) {
var div = document.createElement( 'DIV' );
div.appendChild( document.createTextNode( text ) );
div.style.fontSize = font_size;
div.style.fontFamily = font_family;
div.style.color = color;
div.style.margin = "0";
div.style.padding = "0";
div.style.position = "absolute";
div.style.left = x.toString() + "px";
div.style.top = y.toString() + "px";
this.canvas.parentNode.appendChild( div );
};
window.onload = function() {
var obj = new exGraph.getCanvas( "sample" );
if( !obj ) { return; }
obj.draw();
/* 実線を描く */
obj.drawLine( 20, 150, 350, 150, 1, "solid", "rgba( 255, 0, 0, 1 )" );
obj.drawLine( 20, 210, 20, 280, 1, "solid", "rgba( 255, 0, 0, 1 )" );
/* 破線を描く */
obj.drawLine( 20, 170, 350, 170, 2, "dashed", "rgba( 255, 0, 0, 1 )" );
obj.drawLine( 50, 210, 50, 280, 2, "dashed", "rgba( 255, 0, 0, 1 )" );
/* 点線を描く */
obj.drawLine( 20, 190, 350, 190, 2, "dotted", "rgba( 255, 0, 0, 1 )" );
obj.drawLine( 80, 210, 80, 280, 2, "dotted", "rgba( 255, 0, 0, 1 )" );
/* 文字列を描く */
obj.drawText( 150, 230, "文字列", 10, "Arial,sans-serif", "#ff0000" );
obj.drawText( 150, 250, "文字列", 20, "Arial,sans-serif", "#0000ff" );
};
</script>
</head>
<body>
<div><canvas width="400" height="300" id="sample" style="border:1px solid #4c4c4c;"></canvas></div>
</body>
</html>

[JavaScript]clearRectメソッド(excanvas.js)

▼質問
次の様に、透明にしたい領域を指定してもうまくその領域が透明にならずに

描画した全ての図形が消えるんだ!?

コンテキスト.clearRect( x座標, y座標, width(幅), height(高さ) );

どうしてか教えてくれ!!

▼回答
IE(Internet Explorer)では、全てクリアされるのが正しいようだ。

そうやって使うらしいよ?!

・・・。

excanvas.jsの中身を見ても、そんなパラーメタを定義したメソッド

見つからないしね・・・。

日曜日, 6月 21, 2009

[JavaScript]prototypeプロパティって何?

▼質問
prototypeプロパティって何?

▼回答
prototypeプロパティは、クラスにメソッドを追加する時に使うんだよ!

クラス名.prototype.メソッド名 = 関数名;

function クラス名() {
this.変数名1 = "";
function 関数名1( パラメータ1 )
{
this.変数名1 = パラメータ1;
}
クラス名.prototype.メソッド名 = 関数名1;
return this;
}

var obj = new クラス名();
obj.メソッド名( パラメータ2 );
var 変数1 = obj.変数名1;

変数1が、パラメータ2となる。

・オブジェクトへのプロパティの追加
オブジェクト名.任意のプロパティ名 = 値;
var obj = new クラス名();
obj.新規プロパティ名 = "";
obj.["新規プロパティ名"] = "";

・オブジェクトへのメソッドの追加
オブジェクト名.任意のメソッド名 = 関数名;

function 関数名1( パラメータ1 )
{
this.変数名1 = パラメータ1;
}
var obj = new クラス名();
obj.新規メソッド名 = 関数名1;

■参考サイト
プロパティとメソッドについて

金曜日, 6月 12, 2009

[HTML]font-sizeの単位はpt(ポイント)?px(ピクセル)?

▼質問
font-sizeの単位は、pt(ポイント)?

それとも、px(ピクセル)?

素朴な疑問

どっちなんだ?

教えてくれ!!

▼回答
どちらでも指定できるよ!

■参考サイト
font-sizeにはptではなくpxを使おう - みずぴー日記

[HTML]textareaタグのフォント指定

▼質問
textareaタグのフォントを指定したいんだ。

どうやったら指定できるか教えてくれ!!

▼回答
style属性を使うんだ。

次の様に指定すればよい!

style="font-size:サイズpx;"

木曜日, 6月 11, 2009

[JavaScript]警告: getElementById() に空文字列が渡されました。

▼質問
IE(Internet Explorer)でうまく動いていたホームページを

試しにFirefoxで表示したら

次のエラーが出るんだ。

「警告: getElementById() に空文字列が渡されました。」

どうしてか教えてくれ!

▼回答
getElementById(名前)で指定している名前の属性が

name属性じゃないか確認してみてくれ!!

IEでは、getElementByIdとname属性の

あいまいな組合せでも動くんだ。

name属性の時は、getElementsByNameを使うんだ。
←getElementByNameじゃなくてgetElementsByName
Elementにsが付くことに注意してくれ!

getElementByIdの時は、id属性を定義するんだ。

Firefoxでも動くようにするにはid属性とname属性を

定義しておいた方がいいぞ!!

金曜日, 5月 29, 2009

[VB2005]My.Application.UnhandledExceptionイベント

▼質問
My.Application.UnhandledExceptionイベントって!

どんなことができるの?

▼回答
Windowsアプリケーションやコンソール・アプリケーションで

処理できなかった例外を、1カ所で処理することができるんだ。

■参考サイト
捕捉されなかった例外がスローされたことを知る: .NET Tips: C#, VB.NET, Visual Studio
@IT:.NET TIPS 適切に処理されなかった例外をキャッチするには? - C# VB.NET Windowsフォーム

日曜日, 5月 17, 2009

[JavaScript]replaceの全置換

▼質問
replaceの全置換ができないんだ。

どうしてなんだ?!

教えてくれ~!!

▼回答
replaceメソッドは、最初に見つかったものしか置換されないだ。

だから、次の様な関数を作成しておくと便利なんだ。

function replaceAll( s, sep1, sep2 ) {
return s.split(sep1).join(sep2);
}

使い方
出力文字列 = replaceAll( 入力文字列, 置換文字列, 置換後文字列 );

■参考サイト
JavaScript 文字列の置き換え - replace/replaceAll - JavaScript入門

水曜日, 5月 13, 2009

[JavaScript]文字コードから文字変換

▼質問
文字コードから文字に変換したいんだ。

どうやったらできるか教えてくれ。

▼回答
StringオブジェクトのfromCharCodeメソッドを使えばできるよ。

使い方は、こんな感じだ。

String.fromCharCode(文字コード)

カンマで区切れば、複数の文字コードも

指定することができる。

String.fromCharCode(文字コード,文字コード)

ひらがなの文字コードを文字列にした

サンプルだ。

参考にしてみてくれ!!

var str = "";
var scode = "あ".charCodeAt(0);
var ecode = "ん".charCodeAt(0);

for ( i = scode ; i <= ecode ; i++ ) {
var c = String.fromCharCode(i);
str += c;
}
alert(str);

木曜日, 4月 30, 2009

[JavaScript]入力ダイアログ(window.prompt)

▼質問
JavaScriptで入力ダイアログを使いたいんだ。

どうしたらできるか教えてくれ!

▼回答
windowオブジェクトにpromptというメソッドがあるよ。

使い方は次の様になるから、参考にしてくれ!!

var str = window.prompt( ダイアログに表示されるメッセージ, 初期値 );

土曜日, 3月 21, 2009

[SQL]テーブル名とフィールド名の取得

▼質問
Oracleのテーブル名を取得したいんだ。

どうしたらできるか教えてくれ!

▼回答
次のSQL文を参考にしてくれ!

select * from tab

TNAME | TABTYPE | CLUSTERID

select * from all_tables

OWNER | TABLE_NAME | TABLESPACE_NAME | CLUSTER_NAME | IOT_NAME | STATUS |
PCT_FREE | PCT_USED | INI_TRANS | MAX_TRANS | INITIAL_EXTENT | NEXT_EXTENT |
MIN_EXTENTS | MAX_EXTENTS | PCT_INCREASE | FREELISTS | FREELIST_GROUPS |
LOGGING | BACKED_UP | NUM_ROWS | BLOCKS | EMPTY_BLOCKS | AVG_SPACE |
CHAIN_CNT | AVG_ROW_LEN | AVG_SPACE_FREELIST_BLOCKS | NUM_FREELIST_BLOCKS |
DEGREE | INSTANCES | CACHE | TABLE_LOCK | SAMPLE_SIZE | LAST_ANALYZED |
PARTITIONED | IOT_TYPE | TEMPORARY | SECONDARY | NESTED | BUFFER_POOL |
ROW_MOVEMENT | GLOBAL_STATS | USER_STATS | DURATION | SKIP_CORRUPT |
MONITORING | CLUSTER_OWNER | DEPENDENCIES | COMPRESSION | DROPPED

select * from user_tables

TABLE_NAME | TABLESPACE_NAME | CLUSTER_NAME | IOT_NAME | STATUS | PCT_FREE |
PCT_USED | INI_TRANS | MAX_TRANS | INITIAL_EXTENT | NEXT_EXTENT | MIN_EXTENTS |
MAX_EXTENTS | PCT_INCREASE | FREELISTS | FREELIST_GROUPS | LOGGING | BACKED_UP |
NUM_ROWS | BLOCKS | EMPTY_BLOCKS | AVG_SPACE | CHAIN_CNT | AVG_ROW_LEN |
AVG_SPACE_FREELIST_BLOCKS | NUM_FREELIST_BLOCKS | DEGREE | INSTANCES | CACHE |
TABLE_LOCK | SAMPLE_SIZE | LAST_ANALYZED | PARTITIONED | IOT_TYPE | TEMPORARY |
SECONDARY | NESTED | BUFFER_POOL | ROW_MOVEMENT | GLOBAL_STATS | USER_STATS |
DURATION | SKIP_CORRUPT | MONITORING | CLUSTER_OWNER | DEPENDENCIES |
COMPRESSION | DROPPED

▼質問
Oracleのフィールド名を取得したいんだ。

どうしたらできるか教えてくれ!


▼回答
次のSQL文を参考にしてくれ!

SELECT * FROM ALL_TAB_COLUMNS WHERE UPPER(TABLE_NAME) = 'テーブル名'
ORDER BY COLUMN_ID ASC

土曜日, 3月 14, 2009

[JavaScript]タイトル(title)を変更したい

▼質問
タイトル(title)を変更したいんだ。

どうしたらできるか教えてくれ!

▼回答
タイトル(title)を変更するには次の2つ方法がある。

top.document.title = "タイトル";
window.document.title = "タイトル";

フレームのタイトルを使いたい場合は、

フレームのHTMLファイル内に次のコードを書けばいい。

top.document.title = top.自フレーム名.document.title;

金曜日, 3月 13, 2009

[JavaScript]クエリのパラメータ(QueryString)取得

▼質問
クエリ文字列(QueryString)のパラメータを取得したいんだ。

どうしたらできるか教えてくれ!

▼回答
次のコード参考にしてくれ!



<script language="JavaScript" for="window" event="onload">
<!--
var QueryString = location.search.split("?");
if ( QueryString.length > 0 ) {
alert( QueryString[1] );
}
// -->
</script>



■参考サイト
JavaScript:URLからパラメータ取得したい - Insider.NET
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7297&forum=7&2

金曜日, 3月 06, 2009

HTML文字コード表

&#32; &#64;@&#96;`&#128;&#160; &#192;À&#224;à
&#33;!&#65;A&#97;a&#129;&#161;¡&#193;Á&#225;á
&#34;"&#66;B&#98;b&#130;&#162;¢&#194;Â&#226;â
&#35;#&#67;C&#99;c&#131;ƒ&#163;£&#195;Ã&#227;ã
&#36;$&#68;D&#100;d&#132;&#164;¤&#196;Ä&#228;ä
&#37;%&#69;E&#101;e&#133;&#165;¥&#197;Å&#229;å
&#38;&&#70;F&#102;f&#134;&#166;¦&#198;Æ&#230;æ
&#39;'&#71;G&#103;g&#135;&#167;§&#199;Ç&#231;ç
&#40;(&#72;H&#104;h&#136;ˆ&#168;¨&#200;È&#232;è
&#41;)&#73;I&#105;i&#137;&#169;©&#201;É&#233;é
&#42;*&#74;J&#106;j&#138;Š&#170;ª&#202;Ê&#234;ê
&#43;+&#75;K&#107;k&#139;&#171;«&#203;Ë&#235;ë
&#44;,&#76;L&#108;l&#140;Œ&#172;¬&#204;Ì&#236;ì
&#45;-&#77;M&#109;m&#141;&#173;­&#205;Í&#237;í
&#46;.&#78;N&#110;n&#142;Ž&#174;®&#206;Î&#238;î
&#47;/&#79;O&#111;o&#143;&#175;¯&#207;Ï&#239;ï
&#48;0&#80;P&#112;p&#144;&#176;°&#208;Ð&#240;ð
&#49;1&#81;Q&#113;q&#145;&#177;±&#209;Ñ&#241;ñ
&#50;2&#82;R&#114;r&#146;&#178;²&#210;Ò&#242;ò
&#51;3&#83;S&#115;s&#147;&#179;³&#211;Ó&#243;ó
&#52;4&#84;T&#116;t&#148;&#180;´&#212;Ô&#244;ô
&#53;5&#85;U&#117;u&#149;&#181;µ&#213;Õ&#245;õ
&#54;6&#86;V&#118;v&#150;&#182;&#214;Ö&#246;ö
&#55;7&#87;W&#119;w&#151;&#183;·&#215;×&#247;÷
&#56;8&#88;X&#120;x&#152;˜&#184;¸&#216;Ø&#248;ø
&#57;9&#89;Y&#121;y&#153;&#185;¹&#217;Ù&#249;ù
&#58;:&#90;Z&#122;z&#154;š&#186;º&#218;Ú&#250;ú
&#59;;&#91;[&#123;{&#155;&#187;»&#219;Û&#251;û
&#60;<&#92;\&#124;|&#156;œ&#188;¼&#220;Ü&#252;ü
&#61;=&#93;]&#125;}&#157;&#189;½&#221;Ý&#253;ý
&#62;>&#94;^&#126;~&#158;ž&#190;¾&#222;Þ&#254;þ
&#63;?&#95;_&#127;&#159;Ÿ&#191;¿&#223;ß&#255;ÿ

[JavaScript]インラインフレーム(iframe)の動的操作

▼質問
iframe(インラインフレーム)の内容を動的に操作したいんだ。

どうしたらできるか教えてくれ!!

▼回答
次のコードを参考にしてくれ!


var iframe = document.getElementById(インラインフレームのID);
if ( document.all ) {
iframedoc = iframe.contentWindow.document;
} else {
iframedoc = iframe.contentDocument;
}
iframedoc.writeln("<body></body>");
iframedoc.body.innerHTML = "テスト";

[JavaScript]JSON(JavaScript Object Notation)って何?

▼質問
JSON(JavaScript Object Notation)って何?

▼回答
テキストベースのデータフォーマット(軽量のデータ交換フォーマット)。

XMLとJSONで同じデータを双方独自の

フォーマット形式で記述できる。

●XMLの例
<ルート>
<要素1>要素①
<要素2>要素②


●JSONの例
{
"要素1":"要素①",
"要素2":"要素②"
}

■参考サイト
[Think IT] 第1回:JSONってなにもの? (1/3)
http://www.thinkit.co.jp/article/70/1/
JSON入門 - RapidShare
http://d.hatena.ne.jp/brazil/20050915/1126709945