SQLの窓 イラストAC フリー素材

2011年01月24日

Safari for windows の alert

手書きブログ用のハートエディタで対応してから、いろいろな場面で Safari の動作確認を
行って来ましたが、いやあ、ほんとに特殊なブラウザです。

アプリを作る側から言いだすと、技術的には非常に困ったブラウザなのですが、
よくよく考えてみると、インターネットを見たいだけのエンドユーザーから見ると、
とてもやさしい気配りの凄いブラウザのような気もしてきます。

全ての情報を知ってるわけでは無いし、そもそもアップルを使わないのでその世界観
を知らないですけれど、アップルからしたらブラウザでシェアを取りあう意味はあま
り意味無いようにも感じますし。

それより、本筋のビジネスにとって邪魔にならないようこっそり「リスク」を取り外し
ているような気さえします。

ま、詳細はたくさんありますが、これはとてもアプリ側からした重要なので。
もちろん環境によって違う可能性もあるし、単なるバグなのかもしれませんが、
二つの alert は、後者のみが Safari では正しく動作するのであります



<input type="button" value="action" onclick='alert("I can&#39;t fly.")'>

<input type="button" value="action" onclick='

	setTimeout(function(){
		alert("I can&#39;t fly.")
	},10);

'>

 
posted by at 2011-01-24 15:11 | JavaScript | このブログの読者になる | 更新情報をチェックする

2010年07月09日

【WEB+JS】ブラウザ毎にかなり違うJavaScriptによる入力制限(キーに反応しないようにする)


JavaScript による入力制限( 0〜9 と BackSpace と左右矢印キーしか入力できないフィールド )

業務アプリケーションでは、入力制限は必ず必要です。

それは、プログラマが実装するものでは無く、プロジェクトの管理者が指示してそのプロジェクト固有の開発環境に組み込むものです。 

実際問題としては、一般の人からみればイントラネットを使った業務アプリケーションというのは想像の範囲外でしょうが、だとしても「末端の操作する人がミスオペレーションをしてしまう事がある」という事実には納得できると思います。

こうした場合、そのミスオペーレーションが原因で想定外の処理が実行されてしまわないようにする、入力時点での防波堤です。また、これは、「トラブルの責任の所在がシステム側にあってはいけない」という事でもあります。


タグ:JavaScrpt
posted by at 2010-07-09 00:00 | JavaScript | このブログの読者になる | 更新情報をチェックする

2010年07月07日

WEBページのonLoadイベントのまとめ


WEB ページの onLoad イベントのまとめ
多くの場合、onLoad で処理する必要が無い場合も多いです。そのページが自分の 管理下にある場合は、個別のコンテンツの位置の直後に挿入するほうが、素早い効 果を得る事ができます。 onLoad ですと、全てのコンテンツがロードされるまで、実行されない為、場合に よっては見栄えの悪い状態でエンドユーザーが待つ事も考えられるので注意が必要 です。 onLoad は、既存のページに対して新しい効果を無条件に追加したい場合に有効な 手段です。Google のライブラリの説明の多くは、onLoad で説明されており、これ はたいたいにおいて Google のライブラリの機能がそのようなものだからです。 また、onLoad で実装すれば、条件の違いや記述の違いによって起こる処理のトラ ブルを回避できる可能性が高いという事実もあります。いずれにしても、意味が 解っていれば、必ずしも onLoad を使う必要はありません
posted by at 2010-07-07 00:00 | JavaScript | このブログの読者になる | 更新情報をチェックする

2010年02月03日

VBScriptまたはJavaScriptで、定ピッチのフォントを使った印刷用文字列等を作成する場合に必要な全角/半角の判断


VBScript と Javascript の表示文字列用バイト計算
実際問題、イントラネットで印刷処理を最も簡単に行う方法を実現する為の基本的な処理です。ブラウザに印刷イメージを作成してそのままプリンタに印刷します。 HTML でフォーマットする方法もありますが、テキストのみで表現したい場所にも転用できますし、結構バカにできない処理です。 VBScript は基本的に SHIFT_JIS として日本語を考えれば良いので昔ながらの判断方法です( 根拠は、Microsoft の API でのテスト結果より ) JavaScript は、今時の Unicode ベースでのコード値で判断しています。いずれにしても、コードの範囲で判断するのが高速で、JavaScript ではせっかくですから、String オブジェクトに実装します
posted by at 2010-02-03 13:14 | JavaScript | このブログの読者になる | 更新情報をチェックする

2009年12月26日

クライアント(JavaScript)からのクッキーの利用

Cookie( クッキー ) と言えば、サーバーサイドのアプリケーションが、ブラウザに対してデータの保存要求を行うのが本来の姿で、データ量もたいして使え無いと思っていたのですが、実際やってみると結構使えるものだと実感しました。



JavaScript でクッキーにデータを保存して利用する


利用したのは、:手書きブログ専用・カスタムパレットツール からパレットを毎回転送してたのをクッキーに覚えさせて、次回より自動的にパレットを利用可能にしようというもので、ブックマークレットからの実装です。

このブックマークレットの実体は、私のサイトにある .js ファイルで、お気に入りに登録するコードはその呼び出しだけです。ですから、以下のような複雑なプラグインを実装する事ができます。( 右側のパレットです / jQuery を使用しています )


Pliginv2  


 クッキーに保存という発想は以前からあったのですが、JavaScript からの処理は面倒だと思っていましたし、苦労しても制限( 想像だけで調べていませんでしたが )の壁とかがあるんじゃ無いとか思っていました。( 実際数年前まではクッキーの数が今より少なかったようです)

しかし、時代の変化に従って、いろいろ便利になって行くのでいつしか道が開けたり、しらぬまに勝手に開いていたり。今回はそもそも、以前から見つけていたサイトのコードをお借りしています。( このサイトのコードは以前 SHA256 を調査した時にみつけたもので、まだま使えそうなコードがたくさんあります。)


で、結果的に問題が出たのは Firefox のクッキーに SHIFT_JIS の文字列を書き込む時で、まあだいたい想定内ですが、encodeURIComponent と decodeURIComponentを使う事で難なく解決。ただ、IE のほうは普通にうまくいったので、逆に将来的に何かのMicrosoft のよくある「都合」で問題が発覚するかもしれませんね。




posted by at 2009-12-26 16:25 | JavaScript | このブログの読者になる | 更新情報をチェックする

2009年10月27日

手書きブログ用ハート(ドット)エディタのJavaScript的考察


JS : ドットエディタのクロスブラウジング


WEB にあるMozilla のマニュアルは込入った内容を調べようとすると、無駄に時間がかかるので、
既に実装されているサンプルを探したほうが早い場合もあります。これは、一応マニュアルを見ながら
やりましたが、Firebug が無いと3倍くらい時間かかってたかもしれません。
それがあったので、つい後回しにしてしまっていたのですが・・・

あらためてまとめて見直してみると、要するに全く二通りのアプローチとなります。
困ったもんですが、まあ・・・仕方ないでしょう。





posted by at 2009-10-27 23:00 | JavaScript | このブログの読者になる | 更新情報をチェックする

2009年10月14日

JS : GoogleVisualization : Table:Googleドキュメント (オンラインスプレッドシート) を使ったテーブルの作成


JS : Google Visualization : Table : Googleドキュメントを使ったテーブルの作成

導入はしやすいのですが、細かい処理はあまりできないようになっています。
しかし、中に HTML を埋め込めますし、まだ検証していませんが、ページ処理
とかもできるみたいなので、すこしずつなんとかして行こうと思っています。

場合によっては、イベント制御して強引にコントロールできるかもしれませんし・・・・

とにかく、Google ドキュメントの利用方法としては一番大きいと思うのですが、
いかんせん情報が英語ばかりです。Query もどの程度できるのかはこれから検証していきます。
Google ドキュメントのオンラインでの使い方ヘルプ
 
ただ、Google ドキュメントを使うと UTF-8 になってしまいます。






 

posted by at 2009-10-14 14:41 | JavaScript | このブログの読者になる | 更新情報をチェックする

2009年10月11日

JS:GoogleVisualization:Table:オブジェクトデータやJSONを使ったテーブルの作成で、JSONではprototype.jsは必須



JS : Google Visualization : Table : 固定データ(オブジェクト、JSON)を使ったテーブルの作成


最初、var myData = {.....}; という JavaScript のオブジェクトを使った固定データ
のサンプルの動作確認をして、CSS 関係のオプション設定の記述方法を確かめて、
さて、JSON ・・・・ という事になりましたが、結局 prototype.js が優秀で、殆ど何も考えずに
使えています。 Google の テーブルからも toJSON() というメソッドで取り出せますが、
日本語が Unicode のエスケープ表現になっていて使いにくいです。

どうしても使いたい場合は、prototype.js のメソッドを通し直せば日本語が元に戻るような気がします。



Vt_css






posted by at 2009-10-11 12:26 | JavaScript | このブログの読者になる | 更新情報をチェックする

Googleの力を借りて、JavaScriptでDataGrid作成


JS : Google Visualization : Table : 最も基本的なテーブルの作成


DataGrid という呼び名ではありませんが、他のプラットホームで言うところの

Microsoft Framework : DataGridView
Flex3 : DataGrid
Java : JTable


ですが、基本メソッドは結構使いやすい直感的なもので作成されています。
もともと、HTML+JavasScript はユーザーコントロールとかは無いので、
上記三つのように面倒くさいものにはなっていません。

上の三つでユーザーコントロール化した時に実装したメソッドと似たような
形態のものが実装されています。私のは昔々使っていた Centura の
SAL 言語の仕様をだいたいにおいて使っています。当時とても解りやすく
使いやすかったですから。

この DataGrid もどきは、Google Visualization API の一部で、
データはいろいろなグラフになったり、Google ドキュメントと連携したり、
ガジェットで使われたりとかなり幅広いのですが・・・

マニュアルが例によって英文のみの場合がほとんどです。

なんとか、日本語版のチュートリアルくらいにはなるようにと、今回カテゴリを作成しました。


▼ Firefox で表示してみた場合は、こんなふうです。
Vt_firefox






posted by at 2009-10-11 00:42 | JavaScript | このブログの読者になる | 更新情報をチェックする

2009年09月07日

Lightbox.jsのギャラリー指定を範囲指定で行う拡張関数





Lightbox.js の使用方法と、範囲指定を可能にするアドオン関数と、
ボタンで呼び出せるようにするアドオン関数


いろいろ派生したライブラリをいくつか使ってみましたが、Lightbox.js が一番
シンプルで、そのせいか問題が起きにくいです。ですからもっと楽できるように
拡張してみました。

もともと、prototype.js が使われているので、一括指定はわりと簡単なのです。



posted by at 2009-09-07 15:43 | JavaScript | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します