06 | 2008/07 |  08

  1. 無料サーバー

User forum-FC2BLOG-Info-Edit Template-Post-Edit-Upload-LogOut

CSSやJavascript自習の苦闘史を綴っていきたい。恐縮ですがJavascriptを有効にしてご覧ください。
2005年12月から社会問題も掲載!


MyPCのビデオカードは何故壊れたのか?

原因究明こそ今後のために不可欠である

上の関連エントリイをご覧いただければ分かりますが、苦心惨憺の経過を経て、現在は無事 4 年半前に購入した MyPC( DELL Dimension 8300 )が作動しています。

オークションで購入したビデオカードが見事に問題を解決してくれたのですから、オークション様々です。

さて、問題が解決した今だからこそ、再発防止のためにも原因究明が欠かせません。どうして MyPC のビデオカードは壊れたのか?、どうすれば今回セッティングした新たなカードは壊れないのか?、今後も同一の事態が起こらない保証はないのですから、いざというときのためにどうすべきなのか?( 全く Net にアクセス出来ない環境に落ち込んでしまうことが、いかに大きなダメージとなるのか、今回身に滲みて痛感しました。 )───課題は現実的でありかつ切実なのです。

故障の考えられる原因は?

ビデオカードが破損した原因として考えられることは以下の 2 通りしかありません。

  1. PC 本体内部の埃の蓄積による温度上昇
  2. 製品の寿命(何らかの欠陥による寿命の短命化を含む)

2番目が主たる原因だとすればどうしようもありません。今後も再発しうることになります。

しかしそれは証明できませんし、故に賠償云々を論じることさえ出来ません。

一方、1番目の埃問題は私個人だけではなく、PCを使う上で誰にでも大いにあり得ることだと思います。

実際カバーを開けて PC 内を見た時には、その余りの埃の多さに愕然としました。Radeon 9800 Pro はファン内蔵のビデオカードですが、そのファンの羽根や周囲のラジエータに黒い埃がびっしりとへばりついていたからです。

勿論、その他の部分にもまるで「寄り添うように」沢山の埃がへばりついていたことは言うまでもありません。

思い返せば、閉じられた部屋で煙草を燻らせ、土日はほぼ全日、籠もって PC を使っているのですから、4 年半の間に一回もPC内部の清掃をしなかったことが、本質的かつ根本的に問題視されるべきでしょう。

かくして結論は、今後は「 PC 内部を定期的に良く清掃すべし !」

これが最大にして唯一の再発防止策であり、反省であり、今後の課題です。

▲ToTop

それにしてもこんなに壊れやすいとは!

PC は精密機械です。

にもかかわらず、そのように扱われない典型的な商品です。つまり、精密機械であることをつい忘れやすい「 家電 」です。

裏返せば、家電でありながら余りに壊れやすい商品です。

一般の家電製品との対比で言えば、その余りの脆さ、壊れやすさは「 未完成商品 」とさえ言えるかもしれません。

今後のために

何はさておき、カバーを開けること、清掃を小まめに行うこと、これを徹底すべきでしょう。

つまり、自宅であれ職場であれ、PCをクリーンに保つ努力を惜しまないこと───これが不意打ちを避ける最善の方策と言えるのではないでしょうか?!

ビデオカード(ATI Radeon 9800 Pro)壊れる!

ビデオカード壊れる!PCは粗大ゴミ化か?!

壊れたビデオカード: Radeon 9800 Pro

<壊れたビデオカード>

それは7月27日、日曜日の深夜のことでした。

用事を終え、さあ PC に向かおうとディスプレイと HD の省エネモードから復帰した時のことです。

ディスプレイに縞々模様が満遍なく出現しているではありませんか?

その時の模様はこちらのエントリイ( My 液晶ディスプレイ表示が乱れて使えなくなる!───3日間PCを使えず! )で写真を掲載しました。

その後再起動したり、リストアしたり、パソコンのカバーを開けて中を掃除したり、挙げ句の果てには PC メーカーのサポート電話で問い合わせたり、考えられる万策を講じてみました。

しかし事態は改善されるどころか、次第に悪くなるばかり。もはや読み取ることが出来ないほどに、画面が静的にも動的にも乱れ、ゴミに埋もれてしまったのでした。

そして最終的に到達した判断は───ビデオカードが壊れたのではないか、でした。

ビデオカード獲得作戦

そこで同等のカードを購入することとし、早速価格コムなどで検索してみました。しかし、もはや4年半以上前に一世を風靡した AGP 規格のビデオカードなど、店頭は勿論のこと、ネット上でも取引されていないことに愕然としてしまいました。

一方、検索を掛けるとオークションサイトが多数ヒットしたことに驚喜し、今更ながらにネットオークションの繁盛ぶりと存在意義に感銘すら覚えました。

こうして残された道は、(1)今や市場に出回っていないビデオカードを搭載し、それが壊れてしまったパソコンを廃棄処分し、新しいパソコンを買い換えるか、あるいは、(2)オークションサイトで何とか同等品のビデオカードを入手し、使い物にならなくなった PC を復活させるか、このいずれかの選択肢か、あるいは復活作戦と購入作戦を同時に行うか、の 2 つの選択肢しかなくなったのでした。

安全なネット環境を何処に求める?

しかし、ネットオークションに参加するためには、そもそも PC が使えなくてはなりません。「ケータイ」でという手段もありますが、速度や使い勝手から、「カッタルクテ」とてもその気になれません。

自宅にあるたった 1 台の健在な PC が不健康になってしまった今、一体どうすれば良いのか、次の課題は「 安全なPC環境をどう構築してネットオークションに参加するか 」でした。

当然ながら、ネットカフェなど不特定多数の人が操作するパソコンからオークションに参加することなどしたくありません。キーロガーが仕込まれている危険性がありますし、各種履歴等に個人情報が残ってしまうことも気になります。履歴情報全てを使う度に消去する手間は馬鹿になりませんから、消去前提で個人情報を打ち込むのも辛いものがあります。

▲ToTop

Windows98でネットにログイン

そこで最後の手段の検討に入りました。お蔵入りとなっている Windows98 マシンでネットにログインするしかない、と思い切ったのです。

しかし、直ぐに、そもそもとっくに Security Update が打ち切られ、Microsoft 社に見捨てられてしまったWindows98 でネットに参加できるのだろうか、あるいはデータ漏洩の危険性はないのだろうか、等の基本的な疑問が湧き起こってきました。

その辺りについては随所からネットにアクセスして調査し、最終的には FireWall 導入は無理だったのですが、無料の Security 対策ソフト( avast4 )をインストールすれば、何とか B-FLET'S 環境下でもWindows98マシンを使えるだろう、との判断に至りました。

こうして先の土日で、Windows98 上でそれなりに Security に配慮したネット環境を構築し、日曜日の夜から昨晩まで、「往年の」Windows98」 マシンでネットアクセスし、e-mail チェックを行ったのです。

メモリ 128MB、Pentium 3 の「 低体力/低知力 」のPCではネットサーフィンは非常に辛いものがありました。余りに遅いのです。いくら B-FLET'S 接続でも、それはそもそも WindowsXP 用に最適化された規格ですから、Windows98 では 10MB も出ません。それでも、何とか用を足すことが出来、懐かしさを伴いつつも遅速さにウンザリしながら、必要最小限のネットログオンを繰り返したのでした。

自宅で PC を使う時には、いつも BGM にネット Radio を流しているのですが、Windows98 接続の際には流石にそれは諦めました。

最新版の Net Radio 視聴ソフトはインストールできないし、仮に旧バージョンを使うとしても余りにメモリを喰いますから、動作がますます遅くなるからです。

これはこれで結構辛いものがありました。自宅の無音の空間でPCを打つことはここ数年絶えたなかったことなのですから。

MyPCが見事に復活!!

そして今日。

Yahooオークションで落札したビデオカードが無事に届き、それをセットアップしたところ─── MyPC が 10 日ぶりに健全に復活したのです!

\(^O^)/。\(^-^)/バンザーイ、/( )\モヒトツ\(^o^)/バンザーイ

My液晶ディスプレイ表示が乱れて使えなくなる!───3日間PCを使えず!

突然ディスプレイが乱れ始める

日曜日のことだった。暫く省エネモードでパソコンを走らせていた後に、マウスを動かしてPCを使おうとした時だった。

画面がちらつき始め、規則的な模様が沢山表示されているではないか!

乱れた画面の写真その1 乱れた画面の写真その2

その時のディスプレイの状態が左の2枚だ。このように画面が規則的な模様で占拠されてしまい、サイトや文書をまともに閲覧することが出来なくなってしまったのだ。

もしやウィルスか?、と早速チェックしてみたところ何も引っ掛からない。

既に時刻は21時を過ぎているので DELL のサポートセンターに問い合わせることも出来ない。

仕方なく直前のイメージバックアップを復元してみるしかないか、と思ったものの、既に就寝すべき時刻を過ぎているので、その場は涙を飲み、非常に悪い気分のまま就寝せざるを得なかった。

翌月曜日の夕刻。早速復元作業を始めた。Acronis True Image11 を使って復元作業を開始したところ、直ぐに画面が綺麗になったではないか。True Image 起動中は以前の正常な画面の状態に復帰したのである。これは期待出来ると思い、「これで治るかも知れない。その場合には原因は分からず仕舞いとなるが、何よりも普通にPCを使えるようになることが先決だ。」───と復元完了を 1 時間以上心待ちに待ち続けた。

▲ToTop

復元後小一時間は問題なく表示されていたのだが...

復元後暫くは画面表示に問題はなかった。だから Microsoft Update、Security ソフトのパターンファイル更新、Firefox 3 への Update 等を次々と行い、さあ本格的に、つまり普通に使おうと思った矢先、またしても画面が乱れ始めた。しかも今度の乱れは前の時よりも更に酷くなっているではないか!

これはもう自力ではどうにも解決出来ないと判断し、早速 DELL support centerに電話して指示を仰いだのだった。

DELL サポートセンターに電話し、グラフィックカードを掃除したが...

DELL 社が数年間誇っていた「サポートランキングNo1」の地位から脱落して数年が経過している。最近ではサポートランキング地位挽回のためだろう、低賃金労働者を「活用」した人海戦術対応に追われている、との情報に接していた。

そして実際今回の DELL サポートセンター利用では、待ち時間が殆どなかったのに驚かされ、また喜んだまでは良かったものの、決して流暢とは言えない中国人(あるいは日本人ではないアジア人)の応対には閉口した。

片言的な日本語が大変聞き取りにくいのである。

こうした対応ではランキングトップの地位奪還は無理ではないだろうか、との印象を抱いたことを記しておく。

閑話休題

色々と指示を受けその通りの作業を行ってみた結果、最終的には「 原因は断定出来ないが、ビデオボードかマザーボードがおかしいのではないか、まずビデオボードを一端取り外し、再取り付けをしてみたらどうか 」、とのサジェスチョンを得た。

そこで電話を切った後に、久しく開けてなかった My PC のケースを開けまずは掃除を行った。既に購入後 4 年半が経過しているので中は埃にまみれていたからである。その後、ビデオカードを抜き取り詳細に眺めてみるとファンに埃がこびりついているではないか!ラジエータにも埃が詰まっている。

それらの埃を爪楊枝なども持ち出してしっかり取り去り、「 さあこれで治るかも! 」と期待して再起動したのだが、結局元の木阿弥。何も変わらないのである。Windows XP起動画面の前のバイオス起動画面でさえちらつきと変な模様が出現するのだ。

▲ToTop

ビデオカード購入のためにネット上で調査したが...

水曜日。

Windows XP 起動前のバイオス起動画面でもちらつきや模様が出るようになってしまったので、もはやグラフィックカードがおかしいことは明らかに思えた。そこで見えにくい画面の中で苦労しながら製品と同様のグラフィックカードを入手すべく調査を開始した。

しかし既に購入後5年近くが経過しているPCのパーツは仕様上も過去の遺物となっているし、価格comでも価格情報すらない。ではとグーグって見るとヤフオクでいくつか中古品が出回っているようであるが、調査した時点では出品はなかった。

YAMADA 電気に電話して在庫があるかどうかも調べたが、当然のことではあるがそれはなかった。

▲ToTop

なれば駄目元で再度リストアを!

もはや Vista PC を買うしかないか?!、否それには未だやるべき事がある。イメージバックアップファイルのリストア時点で、画面が綺麗になったことをどう考えるべきか?、そのことを再考する必要があると思えた。

そこで駄目元で良いから、と再度リストア作業を行ってみた。

すると今度もリストア直後は問題なく表示されるではないか!そして暫くするとまた画面が乱れ始めたので、考えた。───もしや、最近購入した 1TB HD の turbo 機能とか、何らかの新しいデバイスドライバが悪さをしているのかも知れない───!

外部接続の全てのHDを一端電源オフにしてからパソコンを再起動してみたらどうだろう、それで治るかも知れない───と判断し、三度目のリストア作業を行い、再起動前に USB 接続の全ての外部 HD の電源をオフにしてから再起動を掛けてみた!

すると遂に!

▲ToTop

遂に修理完了!───と思ったが...結局駄目だった

非情で非常な悪戦苦闘を強いられたが、足かけ4日間を要して、さしあたりパソコンを買い変えなくても良さそうな状況に到達した。具体的に言えば、どうしようもない画面のちらつきと規則的な模様の埋め尽くし状態が、少なくとも4時間以上出現しないまま、こうしてPCを使い続けている。

ビデオカードは問題なかったことがこの4時間で証明されたし、バイオス起動画面でさえもちらつく状態も解消され再現しなくなった。

更に、怪我の功名だが、綺麗にケース内を清掃したお陰であろう、ファン回転音が非常に静かになった。内蔵 HD の温度44度も、清掃以前よりも 1、2度低いように思われる。

しかしその翌日のこと

起動画面はBIOS段階からちらつき、ゴミが沢山画面に散らばっているではないか。

その後何回か再起動を試みたが、常に同一の画面の汚れが固定的になってしまい、ついに当該 PC のディスプレイはまともに見続けることが出来ない状態になってしまった。

こうして悪戦苦闘の打開策が展開されるのであるが、その苦難の闘いと最終的な解決策は、この後のエントリイ( ビデオカード(ATI Radeon 9800 Pro)壊れる! )にまとめることとする。

▲ToTop

jQuery Effect を使う(1)

イベント、Ajax通信と辿って来て次は?

エフェクトにチャレンジしようと思います。

Ajax 通信は非同期通信故の困難性───コード進行プロセスと同時並行で Ajax 通信が進行することに拠るスクリプトコントロール、あるいはタイミング取得の───故に、使いこなせる迄に半年を要してしまいました。

初めて Ajax 通信スクリプト作成にチャレンジしてみて、色々学習しましたが、マスターするのにこれ程の時間を要するとは、当初は予想だにしていませんでした。

本職ではない素人の、多忙な中を縫っての片手間の試行錯誤の積み重ねですから、やむを得なかったことですが、それでもなお自分に対して、要した時間長にはちょっと失望気味です。

そんな状況であるにも拘わらず、次に進もうという意欲はまだ残っているようです。

静止画像表示に多用される Effect に挑戦

そして次は...。「 easing 」なる言葉に象徴される Effect 操作のあれこれを学習しようと思います。

動きのあるコンテンツといえば、今日では DHTML でも Javascript でもなく Flash によるコンテンツ作成こそが主流であり、王道でしょうが、碌な Flash 作成ツールを持ってないため、Javascript による動的コンテンツ作成に踏み出してみようという訳です。

画像の様々な動的表示に関するコードは巷に溢れています。

文字の動的表示に至っては、初期ブラウザ(1995-2000年頃)でさえ、既にその一部の方法をHTMLタグ自身で有していました。

ですから、屋上屋を重ねて同じような動的コンテンツ表示手法を追求する意図は全くありません。今考えている動的コンテンツ表示とは、文字であれ画像であれ、それを表示する時の easing 効果をjQuery を活用して体現してみようということです。

つづく

▲ToTop



▲ToTop

・・・・・

FireBug1.2.0b6 使用感

Firefox 3 登場に合わせて登場した firebug 1.2.0

6月18日の Firefox 3( 以下「FF3」)登場段階ではまだ未対応だと思っていた FireBug ( 以下「FB」)ですが、実は既に対応済みだったようです。兎に角早速 FF3 対応版を使い始めました。

さて、スキンが殆ど前のままなので、使い勝手も同様だろう、と踏んでいたのですが、それは誤解でした。

Webサーバーへの負荷を考慮したのか、デバッグ対象とするサイトを登録しなければならないのです。その使い勝手は今一で、最初は非常に戸惑いました。

あちこちの Web サーバーにある外部スクリプトファイルを利用しているので、そのデバッグを FB で行おうとして、これまでのようにスクリプトリストを開いてみたら、どうも違う!───いくつかのサーバーがそのリストに表示されないのです。以前のバージョンの場合にはそんなことは全くなかった訳で、「何がどうなったのか?」最初は戸惑いました。。

特に今行っている Ajax 通信に利用している Google Pages サイトがスクリプトリストに表示されないのには参りました。

また、新しいスクリプトを利用すると一々解析対象とするかどうかを聞いてくるのにも閉口しました。余りに「五月蠅い」のです。

▲ToTop

今は快適に使用している

そんなこんなで試行錯誤を数日重ねた結果、やっと仕組みが分かってきましたので今は何も問題なく使えているのですが、本家の英語サイトの説明を一々読み込むほど英語に強くないので、困惑は今後も継続するかも知れません。

何はともあれ、一つの問題が解決した、という余りにありきたりの話ではありました。

3 へアップデートした FireFox をやっと導入

最初はアドオンが揃っていなかったのでやめた

一ヶ月程前の6/18に、3 へのアップグレードを知って直ぐにインストールしてみました。しかし、その時点では多くのアドオンが未対応だったため、直ぐに 2 へダウングレードしてしまいました。

ところが、PC Japan 8 月号の 特別企画記事(「 Forefox3超入門 」 )を読んでみたら、著名なアドオンの多くが 3 対応になっている様子が克明に記されていました。そこで本日、早速 3へのアップグレードを行いました。

結果は極めて良好。

多用するアドオン( Firebug、 All-in-One Gestures、FlashGot、Web Developer 等)が 3 対応となっていたので、快適なブラウジングを履行できています。

なお、Firefox 3 の灯 - 日本灯 によれば 2008/7/21 10:15現在、日本では 累計 1,232,600 件以上のダウンロードが行われていました。

何故 Firefox 3 なのか?

上記特別企画記事でも触れていましたが、Firefox の普及度は暫時高まっているようですが、トップシェアは相変わらず IE が抑えています。

しかし、IE の最大の問題は Javascript 処理速度が、Firefox や Opera のそれに較べて極端に遅いことです。その結果 IE では Javascriptによる様々動作の反映が非常に遅いので、ユーザーの待機時間が長くなってしまうのです。

そんな訳で、自ブログにおいて Javascript による制御を多用するようになった最近は、 IE はもちろんのこと、Sleipnir 2 も IE と同じ描画エンジンを使って表示させる限り、動作が遅いと感じるようになり、専ら Firefox で閲覧、記事投稿、アップロードを行うようになりました。

▲ToTop

利用するアドオンを大幅に追加しました

下図は 2 と 3 における My addOn 利用状況ですが一目瞭然です。

2 から 3 にアップグレードするに当たって、利用するアドオンを 18 本から 30 本近くまで増やしたのです。

FireFox 2 と3 の利用 AddOn の差異<br />クリックすると別窓で原寸画像が表示されます

これらのアドオンの中で特筆するに値するものについて、触れてみたいと思います。

▲ToTop

Firefox アドオンソフトの中でも印象が強かったもの

PicLens

何と言っても筆頭は PicLens です。このようなソフトの存在は全く知らなかったのですが、上記 PC Japan 特別企画記事を見てそれを初めて知り、早速 Firefox はもちろんのこと、IE7 においても利用してみました。

それを使ってみた第一印象は、賞賛している以下のサイトでも強調されていますが、「衝撃的」でした。本家が「Immersive」つまり「実体験のように感じる」と宣伝するのも頷けます。

goo の画像検索ページでも使えるようになったそうですが「宜なるかな!」───先の iPhone 日本上陸と相まって、これからは、このような仕様の画像・動画閲覧アプリケーションはますます増え続け、直ぐに主流となるのではないか、と思います。

その基本は「視覚情報は、まさに視覚に訴えて処理する」──これに尽きるでしょう。

次期 OS である Windows 7 は 2010 年に登場する計画だそうです。Microsoft 社のこのようなロードマップは過去において何度も破棄され延期されているので全く当てには出来ませんが、それはさておき、その OS ではタッチパネル方式を本格的に仕様として取り入れるらしいのです。これも iPhone によるパラダイム転換の 1 つでしょうが、画像と動画の検索ツールは、今後ますます競争、シェア争い、そしてツールの概念( パラダイム )競争、つまり仕様変更競争がヒートアップして行くのではないでしょうか。

▲ToTop

Auto Pager

これまでは Gresemonkey のプラグインを利用して、Auto Pager を行ってきました。Google 検索結果が複数頁に亘る場合に、一々クリックして次ページを見るのではなく頁下部にスクロールすると、自動的に次ページが下に展開される───それがここで言う「Auto Pager」です。

それがアドオンで可能となっているのですから飛びつきました。

Video Download Helper

これまで YouTube などの動画サイトからのダウンロードは、IE のエクステンションを利用してきました。

しかし、Firefox 利用頻度が高まるにつれ、このブラウザでも動画サイトからのダウンロードをしたいと願っていたので、これ幸いのアドオンが見つかった訳です。

Make Link

Sleipnir 2 で便利なのは、閲覧しているサイトのリンク情報を簡単なショートカットキー操作で取得できる点ですが、Firefoxにそのような機能がないことをずっと訝ってきました。しかし、それを行えるアドオンがあったのです。使い勝手は Sleipnir2 のそれほどよくありませんが、目的は容易に果たせました。

マルチプルタブハンドラ

上のリスト画像にはありませんが、画像作成後に追加しました。Sleipnir 2 のタブ操作同等の機能が欲しかったので追加しました。Sleipnir 2 にあるナブロック機能がないのは残念ですが、URIコピーも使えるので気に入っています。上の Make Link は不要になるかも...。

Save Image in Folder

余り画像に関心がある訳ではないのですが、まあサイト上の気に入った写真をその場でローカルPCに保存できることは好ましいこと、と思った訳です。画像の保存に活用することでしょう。

その他

タブカタログ、テキストリンク、goo辞書、Media Player Connectivility などもオイオイ活用してみようと思っています。

Flash Player 9 へのバージョンアップに伴ういくつかの問題について

そのバージョンアップの影響

Flash Player 9 は調べて驚いたが何と 2 年以上前にリリースされている。「日本語版ダウンロード可となった」との記事が Gigazine に掲載されたのは 2006/6/28 だった。( 「Flash Player 9」日本語版がダウンロード可能に

しかしこの 2 年間ずっと 9 へのバージョンアップはしないまま職場及び自宅のパソコンを使い続けてきた。

今回バージョンアップしたのも積極的なものではなく、FireFox を使っていたある時、バージョンアップの知らせが表示されたので受け身にそれを受諾したのだ。

しかし、問題は直ぐに発生した。早速次の 2 つの障害が発生したのだ。

第一に、フラッシュファイルに埋め込んだクリックイベントが作動しない。

第二に、IE7 において容易にバージョンアップできない。

▲ToTop

問題解決のための格闘で今日一日を費やす羽目に...

最近は描画速度の遅い IE7 に嫌気が指しているので、専らサイト表示は FireFox で行っている。だからより深刻な問題となったのはクリックイベント無効状態であり、このブログでそれを活用しているだけに、それは早急に解決しなければならない課題となった。

さて普段 Flash ファイルを作ることはまずないし、活用できるアプリケーションがないからでもあるが、Action Script には全く手を出していない。

そんな状況下だったので、ハタと困ってしまった。何をどの様に解決すればよいのか、その方向性すら見えない状態になってしまったのである。

あれこれ検索を掛けてみても、なかなか適当なサイトが見つからず、時間ばかりが空しく過ぎ去っていく中で、やっとそれらしいサイトが見つかるまでに多大な時間を要してしまった。

しかも、Adobe 社のサイトを見てみたら、Flash Player 9 では swf ファイルに埋め込む「 href="Javascript:function()" 」が 恰も使えなくなったかのような表現が散見されたので混沌としてしまったりもした。( Adobe - デベロッパーセンター : 2008年4月のFlash Player 9のセキュリティアップデートについて

使えないならばどうしようか?、Action Script に踏み込まなければならないのだろうか?、Javascript と HTML で何とか対応出来ないのだろうか?───等々とあちこちに解決の方向性を漫然と模索してしまったのである。その全ては空しい結果に終わるとは予想もせずに・・・。

結論を言えば、「 [229684]HTML ページに埋め込まれた SWF からのリンクが機能しない場合がある 」を見て問題は解決したし、その内容たるやあっさりしたことであったものの、その解決迄に要したカオス状態に疲労感が一気に増してしまった。

こんな簡単なことをどうしてもっと分かりやすく説明したサイトがないのだろうか?、そもそもAdobe 社のサイトでなかなか目的の頁に到達できないこと自体おかしい。サポートデータベースに目的の情報はあったのだが、決してそれは検索しやすいものではないのである。

関連して付言すると、swf ファイルからのリンク切れに関するあるサイトのスレッドがありました。

それにしても約 2 年間、ページ上部に設置してあるFlash ファイルである ( このFlash Fileにもクリックイベントは埋め込んであるが、ここではそれは作動しないようにしてある。) は Flash Player 9 がインストールされている PC においては動かなかった訳で、閲覧してくださった方々には多大なご迷惑を掛けてしまいました。

▲ToTop

AllowScriptAccess パラメータについて

Adobe 社 サポートデータベース「 [229684]HTML ページに埋め込まれた SWF からのリンクが機能しない場合がある 」によれば、Flash Player 9 から導入された AllowScriptAccess パラメータは、デフォルト値が sameDomain となっているそうだ。「これがセキュリティ上、望ましい設定です。」ということらしい。

しかるに 一般に Blog サイトの場合、Domain 名はエントリイ表示モード、カテゴリイ表示モード、ファイルダウンロード先等々、決して同一ではない。このため、デフォルト値のままでは swf ファイルに埋め込んだリンクは無効になってしまう。

Blog はアメリカで始まり、当然アメリカでも普及しているはずなのに、この「無配慮」は何だろう?!「機能しない場合がある」どころではなく、「一般に機能しない」と言うべき設定値だ。

IE7 でなかなかバージョンアップが出来ない問題

こちらについては最初躓いたものの、直ぐに多くのサイトが見つかったし、Adobe 社サイトからアンインストーラを入手し、その後に普段全く使わない IE7 を起動してインストールしたので、あっさりインストール出来てしまった。

しかし、こちらについても一言言いたい。

ActiveX の面妖さ、である。何かに付け悪意のあるサイト攻撃手段として使われるため、ガードが堅くなるのは仕方ないとはいえ、いかにも使いにくい!

特に Adobe 社サイトからのダウンロードの場合、ActiveX に関する注意事項が余りにすくないため、Flash Player のダウンロード一つとってもなかなか巧くいかない場合が多かったりする訳である。───実際それ故であろう、Flash Player のアップデートが巧くいかない、Flash が動かない等々の障害情報が、Web空間に溢れているのだ。

その意味で、Flash Playerダウンロードサイトは、決してユーザーフレンドリイな仕様ではない、と言わざるを得ない。

jQuery を活用したオリジナルの Ajax 通信コードを全面的に改訂しました

何はともあれ結果を見て戴くのが最善でしょう

任意の Fc2 ブログを個別エントリイモードで開き、そこで Ajax 通信を行って、最新/以前/以後エントリイのタイトル情報などを取得する Ajax 通信プロジェクト(以下「 Fc2タイトル情報プロジェクト 」)を半年を要してやっと実現しました。その結果サンプルは以下の通りです。

サンプル 1【 Fc2総合インフォメーションブログ 】

下の画像は、Fc2総合インフォメーションブログ上で Fc2 タイトル情報プロジェクト を実行した際の表示結果抜粋です。

Ajax 通信によって最新/以前/以後エントリイのタイトル情報などを取得した結果を示すサンプル画像 1
サンプル 2【 関西ZIGZAG 】

下の画像は、人気ブログ「 関西 ZIGAZAG 」ブログ上で Fc2 タイトル情報プロジェクト を実行した際の表示結果の抜粋です。

Ajax 通信によって最新/以前/以後エントリイのタイトル情報などを取得した結果を示すサンプル画像 2
サンプル 3【 FCafe 】

下の画像は、自ブログ開設時からお世話になってきたサイト上で Fc2 タイトル情報プロジェクト を実行した際の表示結果の抜粋を示すものです。

Ajax 通信によって最新/以前/以後エントリイのタイトル情報などを取得した結果を示すサンプル画像 3

以上に例示した Fc2 タイトル情報プロジェクト の詳細については、こちらのエントリイ( ファイル置き場と Ajax 通信を活用して、任意のFc2ブログから情報を得る )をご覧いただければ幸いです。

「その光明」はなかなか見えなかった

jQuery.js を活用した Ajax 通信に、今年の 2 月からチャレンジしています。

しかし、目的とする連続的な Ajax 通信の結果取得(後に分かったことではあるが、結果取得ではなく取得結果の即刻表示)が巧くいかず、半ば諦め、4分の1ほどやけっぱちになり、4分の1ほど食らいついて解明したい、との思いが錯綜する中で、昼間の仕事の多忙さに追われて、なかなか「食らいつく」時間が取れませんでした。

しかしこの程、幸いにもその時間が取れたので、改めて jQuery.js( ver1.2.6 )コードと格闘し、最近刊行された書籍( Amazon.co.jp:『jQueryで作るAjaxアプリケーション』: 沖林 正紀著 2008年6月19日発売) )も購入し、 jQuery.js を利用した Ajax 通信に再チャレンジしてみました。

余談ですが、上記の書籍は日本語で書かれた jQuery.js 入門書としては初めてのものではないでしょうか?

その点での価値は大いに評価できると思います。

しかし、内容は、といえばまさしく「羊頭狗肉」と言わざるを得ません。

書籍名から推測すると、 jQuery.js を活用した Ajax アプリケーションのあれこれについて書かれているのではないか、と思っても決して無理はないと思います。しかし、内容は決してそのようなものではありません。

jQuery.js 入門書としては結構詳述されていますが、 Ajax アプリケーションのあれこれについてはたいした記述がありません。しかも Global イベントを利用した Ajax 通信のことしか書かれていないのです。jQuery 本家サイトを見れば分かるとおり、global イベントを利用した Ajax 通信は「それも出来る」行為であって、決して推奨されるべきものではないはずです。

何故ならば、Ajax 通信はその結果を取得するのに時間を要する行為であり、一方イベント処理も jQuery.js コード内を縦横に縦断する時間を要する行為です。二重に時間を要することを推奨すべきではないでしょう。

故に書籍名はまさに「看板倒れ」と言わざるを得ないのです。書名を「jQuery 入門」とした方が遙かに「体を表す名」だと思います。

▲ToTop

連続的な Ajax 通信による結果取得の困難性

以前のエントリイタイトル、最新のエントリイタイトル、そして以後のエントリイタイトル───Ajax 通信によるこれらの 3 つのフェースの情報取得をずっと試みる中で、特に躓いた点は過去/未来のエントリイタイトル取得、それもそれぞれに 10 個の、合計 20 個のエントリイタイトルを一発で取得する Ajax 通信でした。

もっと具体的に言えば、1回のコード進行で過去/未来の 20 個のエントリイタイトルを取得することは出来たのですが、それらの取得後可及的速やかにそれらを表示することがどうしても巧くいかなかったのです。

例えば、20個の取得を指示しても、過去エントリイは 3 つしか表示できないのに、未来エントリイは 10 個表示できたり、その逆だったり、二度目に実行すると必ず 20 個全てのタイトルを表示取得できたり、結果取得が非常に不安定だったのです。

どうしてそうなるのか、どうすれば問題を解消できるのか、その解決策を求めて上記書籍を購入したのですが、そこからは解決策は得られませんでした。

あれこれのサイトも探索しましたが、1回だけの Ajax 通信に jQuery.js を利用した例はいくつか見つかりましたが、連続してAjax通信を行って、その結果取得を試みたサイトは見つからないのです。

勿論 FireFox + Firebug を利用して進行過程をチェックしてみましたが、Ajax 通信の進行過程は流石の Firebug でもブラックボックス化してしまい、その過程を覗くことが出来ませんし、Firebug でコードのステップ進行している間にも Ajax 通信は進行するので、通信過程を垣間見ることは出来ませんでした。

更に、Firebug でコードをステップ進行するということは、その間に Ajax 通信の進行を許す訳ですから、いわば待機時間を作ることになり、通常では巧く取得できない結果も Firebug を使って進行をチェックすると取得に成功してしまうのです。

つまり、Firebug を使っても Ajax 通信のコードチェックにはならないのです。

▲ToTop

連続した Ajax 通信においてその全ての通信結果が取得できたことをどのようにして知るのか?

連続する Ajax 通信結果を可及的速やかに表示するためには、最後の通信結果が取得できたそのタイミングを Javascript に知らせなければなりません。スクリプトがそのことを知って初めて表示させる事が出来る訳ですから、通信結果が全て取得できたことをコード自体に分からせなければなりません。

その方法を色々と暗中模索した経緯の一端を以下に記しておきます。

最後の通信結果が存在すれば..

例えば「最後の通信結果が存在すれば..」という条件では不完全です。何故ならば最後の通信結果が取得できたからと言って、それ以前の通信結果が取得できている保証は何もないからです。

実際色々試してみましたが、Ajax 通信の所要時間は、それぞれの Ajax 通信の通信量と回線速度によって変化しますが、回線速度が同一であれば Ajax 通信量で決まります。つまり通信されるコンテンツの容量によって通信時間は決まります。今回の例においては、取得する HTML ファイルの容量、つまり各エントリイの本文の長短に応じて通信所要時間が変化します。大きなサイズのエントリイの場合には通信時間が長くなり、小さなサイズの場合には短くなります。

故に最後の通信が終わってもそれ以前の通信が終わった保証はどこにもありません。

通信毎に flag を立てたら..

flag を立てることも検討しましたが、Ajax 通信のどの段階で flag を記述すればよいのか、それが問題です。結果を取得できたその時に立つ flag でなくては意味がありません。ではどこに?

jQuery を活用する前提で考えてみると、なかなか適切な回答が見いだせないまま、空しく月日が流れました。

1 つの光明は jQuery.active プロパティの活用だった

flag をどの様にして立てようか思案する中で、改めて jQuery.js の Ajax 通信部分を眺め回し、また上記で紹介した書籍の Ajax 通信部分を見てみて、jQuery.js の Ajax 通信コード部分に既に flag が立てられていることを知りました。

それはクラス jQuery の 1 つのプロパティであり、コード実行時に Ajax 通信数を数えるカウンターとして利用される jQuery.active です。

そのカウンターは jQuery.ajax() メソッド内で活用されますが、その値は Ajax 通信を行おうとする度に、send コマンド実行直前に 1 だけ増加し(ver1.2.6 の 2650 行)、結果を取得し終えると 1 だけ減じられ(ver1.2.6 の 2835 行)ます。つまり、連続して Ajax 通信を指示すると、その値は順に増加し、それが終わる度に順不同で減じられる仕組みとなってます。(但し、jQuery Ajax 諸定数の1つである global 値を初期値の true ままにしておかなければ、何回 Ajax 通信を行っても、jQuery.active 値は 0 から変化しません。───jQuery.js ver1.2.6: 2650 行と 2835 行)

これを活用すれば、連続通信を開始した後にその値が 0 になるタイミングを捉えて取得結果をまとめて表示することが出来るはずだ、と推測し、実際にその推測は当たっていました。

jQuery.active プロパティを利用することにより、連続した Ajax 通信が完了したことを Javascript に知らせることの出来る flag を獲得することが出来たのです。

というよりも、正確に言えば、そもそも jQuery.active プロパティはそのような目的で作成されたもの、と言えるでしょう。

jQuery.active 利用と Ajax globalイベントの関係に係る若干のコメント

jQuery.active 利用しようとする時に、必ずしも Ajax global イベントを利用する必要はありません。global 値を true としておかなければ、jQuery.active は利用できませんが、それを利用するために Ajax global イベントを使う必要はありません。

jQuery.js の初期値のままで global 値は true となっているので、何も操作することなく「local callback」関数の中で jQuery.active を活用できます。

timerを使った jQuery.active 活用の実際

1回の Ajax 通信の場合には jQuery.active を活用するまでもなく、容易に結果を取得/表示出来ますし、複数回の通信の場合でも「概ね」問題なく結果を取得/表示できました。

これまでに試みてきた全ての自作 Ajax local コード(頁トップに掲載した関連エントリイ参照)において、jQuery.active が全てで目的通りに作動すること、つまり、第一に jQuery.active ==0 が全ての Ajax 通信が終了したことを意味し、第二に、その値になれば全ての Ajax 通信結果が取得出来ていることを確認しました。

jQuery.active 活用の要点

Ajax 通信コード部分より下に、以下のように同一関数の間欠起動を設定し jQuery.active 値がゼロになる迄 Ajax 通信完了を待機し続け、ゼロになってから(つまり全ての Ajax 通信が終わってから)結果をまとめて表示すれば良い訳です。

 function display(){
  if (jQuery.active==0) {
   if (timer) {clearInterval(timer);timer=null;}
   ・・・ここに全ての通信結果を表示するためのコードを記述する。・・・
  }
 }
 var timer = setInterval(display,milsec);
しかし、1 回の jQuery.active 活用だけではまだ不十分だった

ところが、1 回の jQuery.active の活用だけではどうしても全ての Ajax 通信結果を一括表示出来ないケースが発生しました。つまり、一括取得は出来ているのに、一括表示が出来ない場合が生じたのです。

そのケースとは、4 つめのチャレンジとして試みた、任意の Fc2 ブログの任意のエントリイの以前/以後/最新エントリイタイトルを取得するコードの場合でした。当然、そのような現象が発生する理由について、一人悶々とと分析しました。分析し続けました。数ヶ月に亘って・・・。

そしてやっと到達した要点は次のような、今更ながらの基本的なことでした。

  • 第一に、( 分かってみれば余りに当然のことですが )連続する Ajax 通信中において、先行する通信コードの中で設定した変数を、後続する他の通信中で活用しようとする時、先行する通信の中で変数が取得できていない時点で、後続する通信コードの中でそれを利用しようとすれば、当然エラー( 値は undefined となる)となること
  • 第二に、最も確実な連続 Ajax 通信コードの書き方は、先行する通信が終わったことを確認する何らかの flag を設定し、それを確認してから次の Ajax 通信が進行するようにコードを記述すればよいこと
  • 第三に、しなしながらその方法を採用すると、全体の通信完了までに相当の長時間を要してしまい、実用的ではないこと
  • 第四に、従って jQuery.active を複数回活用して各 Ajax 通信完了 を待機させれば、確実に各通信完了を javascript に認識させられること

───などでした。

そこで原点に返って可能な限り Ajax メソッド内で行ってみた

上記の再確認した基本的事項を踏まえて、Ajax 通信コードの外であれこれ操作して Ajax 通信結果を取得する試みがどうしても巧くいかないことから、原点に返って全てを Ajax 通信メソッドの内で行ってしまった方がよいのではないか、と考え直しそれを実行してみました。

すると驚いたことに、あるいは当然の結果なのかも知れませんが、これまでの悩みが嘘のようにあっさり解決してしまったのです。

詳細は以下のエントリイに記述しました。

 90%近いシェアを握っているインターネットエクスプローラの描画エンジンを利用したタブbrowser。沢山のタブbrowserがあるが、多機能、カスタマイズフリー、スクリプト利用等で一日の長がある。Gekkoエンジンへの対応も行われ、IEからの自立独立の方向に向かっている。2005年7月にはIE7が登場する見通しの中で、今後の発展が望まれる。

 多様なCSS作成支援機能を備えた、タグ入力式 HTML&CSS作成支援エディタ。スキンデザインもすっきりしている。テキストエディター上で作成するよりも確実で安全にタグ打ちが出来る。
文字コードを選べないのが欠点。

 StyleNote同様のタグ入力式 HTML&CSS 作成支援エディタ。長年使用してきたが現在StyleNoteに乗り換えつつある。

 クリップボード履歴情報を活用する為のソフト。画像まで履歴を取ってくれるのが嬉しい。このソフトを使わない日は絶対ない程に重宝し、愛用している。

 起動中のウィンドウの「コピーできない」説明文などの文字列を取得し、コピー可能な文字データにするツール。何かと便利。

 ストリーミングデータを保存することが出来るソフト。動画利用には不可欠なソフトだ。

 無料ながらレイヤー機能を有し、スクリプトによる拡張も可能な、sleipnir作者が提供している優れもの画像編集ソフト。

 画面キャプチャソフトと言えばこれに勝るものなし、ではないだろうか? 様々な取得方法を有しており、ブログ作成にもHomepage作成に不可欠だ。Jtrimと並んでWoodyBellsの作品。

 複数ファイルの同時編集は出来ないが、透過pngも作れる画像編集ソフト。
(以下当該サイトから抜粋)初心者にも簡単に操作が出来るフォトレタッチソフトです。多くの加工機能で画像に様々な効果を与えることができます。非常に軽快に動作するため、ストレスなく操作できます。

 Animation Gifファイルを作れる無料ソフト。

 キャプチャソフト。画面内にサイト全体が表示しきれない場合でも、これを使えば全体をキャプチャすることが出来る。

 画像処理。画像のフォーマット変換のみならず、色数やサイズ、圧縮率の変更まで一括処理できてしまう『BatchGOO!』は、大量の画像をまとめて処理したいときに大変便利なソフト。BMP, TIFF, JPEG, PCX, PNG の相互変換をはじめ、色数・サイズ・解像度の統一、JPEG圧縮率の調節など、ホームページ用の画像や携帯電話用の壁紙を揃えるのに抜群の相性を見せる。(Vectorの当該ソフト紹介頁より抜粋引用)

 名前から直ぐに想像が付くように画像のサイズを測るためのソフトだ。Homepage作成には欠かせない。2カラム、3カラムのレイアウトを行う場合に大変重宝する。

 ランチャーソフトは沢山あるが、中でもこれが一押しだ。2年以上使ってきたがその操作性には毎日満足している。これを使い始めてからデスクトップには一切のアイコンを表示することをやめてしまった。

 AdobeReader7によって、起動時間が長すぎるという長年のユーザーの不満はある程度解消した。そのためこの高速化ソフトは存在価値が低下してしまったかもしれない。AdobeReader6迄はこのソフトによる起動高速化で恩恵を受けてきた。

 IE専用が難点だが、様々なサイト内でIDやパスワードを入力するのに重宝するソフト。コンテキストメニューから簡単に起動できるのがGood! sleipnir等のIEの描画エンジンを利用しているブラウザでも使える。

 利用しているパソコンの諸元値を取得するには、このソフトがベストだ。インストール済みソフトの一覧が取得できるのも嬉しい。

 WMPは機能が豊富なだけ重い。RealPlayerも同様だ。そこでMedia Player Classicを使いたい。動作が軽快なだけではなく、対応しているファイル形式もすこぶる多く、これひとつで、wmvもrmも表示できてしまうのだから凄い! 数多あるMedia Playerの王様と言えるだろう。

 自宅でPCを起動しているときには必ず起動しているメディアプレーヤー。何かと過剰なWinampよりも、起動も速くスキンはシンプルだ。

 DivX, Xvid, Mov, Vob, Mpeg, Mpeg4, avi, wmv, dv, などの動画をDVD-Video形式に変換できるフリーソフト。クリックするとDVD関連ソフト紹介サイト=「DVDなToolたち」なるHomepageが開きます。