サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
shimax.cocolog-nifty.com
HTML5とJavaScriptによる壮大な実験?とも言うべきPDFビューアpdf.jsがもうすぐFirefoxに内蔵された状態でリリースされます。すでにFirefoxのbeta版には搭載されているのですが、Google ChromeがChrome内臓のPDF Viewerをリリースした時も突然PDFの表示が変わったと混乱が起こりましたが、それ以上の混乱がFirefoxのバージョン19がリリースされたときに起こりそうな気がします。 なお、ここでの記述は2013年1月31日現在のものです。また、Firefox 19 beta3にアドオンタイプのpdf.js 0.7.129で検証した結果です。この記事を読まれている時には既に修正されている可能性があります。Internet Explorer P+ Adobe Readerなどの組み合わせで本来はどのように表示されるべきなのかを確認できます。 ●
Google Chromeは普通、最新版に自動アップデートされるため、開発者としては困る場合があります。敢えて古いバージョンでテストしたい場合に、複数バージョンの共存が難しくなるためです。Firefoxならインストールフォルダーを変えて、「更新に関する設定」をいじると、自動更新されなくなりますが、Google Chromeの場合はできません。 ●1.インストーラの入手方法 ▼バージョン20.0.1132.57の場合 http://dl.google.com/edgedl/chrome/win/20.0.1132.57_chrome_installer.exe というようなリンクになっています。 ▼バージョン21.0.1180.60の場合 http://dl.google.com/edgedl/chrome/win/21.0.1180.60_chrome_installer.exe URLの
仕事の関係で、デュアルモニター(複数モニター)でのテストが必要となり、AmazonでI-O DATA USB接続外付グラフィックアダプター 「USBグラフィック」 デジタル&アナログ対応モデル USB-RGB/D2を買いました。また、モニターはそれまで19型の1440×900のモニターを使っていたのですが、I-O DATA LEDバックライト採用 超解像技術搭載 21.5型ワイド液晶ディスプレイ LCD-MF224XBRを買ったのですが、モニターの高さはちょうど同じぐらいです。解像度は1920×1080に跳ね上がったので、かなり広く感じます。 仕事の内容には直接は役立った無かったのですが、ただ今まで知らなかったことがたくさん分かりました。また、確かに複数のモニターがあると、IEとFirefoxでの同時テストなどでも役立ちそうです。 JavaScriptでデュアルモニターかどうかを判断する方
Firefoxユーザーの中で、ここ数日、Youtubeが再生されなくなったり、広告が表示されてよさそうな箇所がぽっかり空白になっていたり、クラッシュが多くなった、日本語が入力できなくなったなどの問題を抱えている人はいないだろうか? この問題、Firefoxの問題とも言えるが、Flash 11.3にアップグレードすると発生する。Firefox+Flash 11.3で新しく導入されたProtectedMode(保護モード)の影響である。 まず、私が最初にインストールしたWindows 7(Ultimate。64bit)端末では、 Yahoo! JapanのFlash広告が表示されない。代替画像は表示されないので、Flashがインストールされているというふうには認識されている。 YouTubeの映像を再生しようとすると英語のエラーメッセージが表示されて、映像が全くダウンロードされない。(この問題
自分自身もプログラマーですが、やはり利用者の立場になることも多いので、そういう場合、「人の振り見てわが振り直せ」で教訓とさせていただくことも多いです。それにしても、「何で?」と思いたくなることもあること(ぶっちゃけた話、「センス悪い」と感じること)があるのも事実です。 1.過剰な入力チェック(型編) (フリガナ編) 「私は、お客様がフリガナをカタカナで入力したか平仮名で入力したか知っているぞ」と自慢をしたいのかなんなのか、こういうチェックをしているサイト結構あります。フリガナと書いているのに漢字で入力してきたり(姓名の「名」をこの欄に入れてくる場合、たまにあり。)するのは確かに情報として役に立ちませんが、平仮名かカタカナかが問題になるケースは少ないように思います。ソートや検索する機能を付けたい場合は、平仮名かカタカナで統一されているべきでしょうが、そうであっても、例えばカタカナで入力して欲
ここ最近、htmlspecialchars関数について調べていて、いろいろ記事にしていたのですが、コメントをいただいた。参照となるページを教えていただいたのですが、実はそのページは、この記事を書く前に既に読んでいました。コメントに書かれていたページのURLをここに記させていただくと、 ●「サニタイズ言うなキャンペーン」私の解釈(2006/11/29) http://kmaebashi.com/zakki/zakki0042.html です。で、私の文章の書き方が悪かったのかもしれませんが、私はこの方の解釈とほぼ一緒(のつもり)です。ただ、このページで例として挙げられている「Taro&Jiro's castle サウスポール」の「&」は別に「&」とエスケープしなくても「Taro&Jiro's castle サウスポール」と表示されます。 そのため、そもそも「&」を「&」とエス
Google Toolbarの最新版をインストールするとJavaScriptの挙動が変わることがある(window.external関連で) 最近、顧客の一人から指摘があり、原因を特定できず、非常にあせったことがあります。環境を聞いても、Internet Explorer 6ですから特に変わった環境ではないどころか、ありふれています。再現できませんでした。 本当にIE6かどうかを確かめるため、その顧客にユーザーエージェント(ビルド番号も)を調べるサイトにアクセスしてもらったところ、こちらの複数端末のIE6との違いは唯一でした。「GTB5」という文字列が入っていることでした。早速、Google Toolbar 5をインストールしたところビンゴ! 再現できました。 以下のようなサンプルコードを実行した場合、IE6ではAddSearchProvderメソッドはサポートされていませんから、 <br
【DHC】英会話の苦手な日本人のためのスピーキング講座 IE7で、JavaScriptの挙動が変わったものとして、prompt()メソッドやwindow.close();にかんする挙動について、先日紹介しました。今回もセキュリティがらみですが、クリップボード操作に関する挙動がIE7では変わっていることをご紹介したいと思います。 IE6まででは、(デフォルトのセキュリティ設定で) var clip = clipboardData.getData("Text"); //alert(clip); で、クリップボードの中身を取得できていました。 しかし、IE7では、デフォルトのセキュリティ設定で、必ず、左のような確認メッセージが表示されるようになりました。これはセキュリティ的には大正解の設定・方向性ではないでしょうか? 遅きに失した、という話もありますが・・・。 今までのIE6では、このようなメッ
invalid byte sequence for encoding "EUC_JP": 0x9356 (携帯と文字コード) 私が作成したWEBアプリでは、たいてい、異常なエラーが発生した場合に、自分のところにメールが来るように設計しています。たとえば、ありえないデータがPOSTされた場合や、何らかの理由でデータベースに正常に登録されなかった時などです。で、今日、 invalid byte sequence for encoding "EUC_JP": 0x9356 というPostgreSQLでエラーが発生した旨、私のところにメールが来ました。英語のメッセージですが、違約すれば「EUC-JPという文字エンコードではありえない、0x9356という文字列を検出しました」ぐらいの意味です。この「0x9356」なるバイト並びはEUC-JPであるはずがないとPostgreSQL閣下が断じておられるの
EUC-JP補助漢字(JIS X 212)の処理をPHPやPerlなどにてどのように処理すべきかを考えるために、ここで、補助漢字や補助漢字でも表すことのできない外国語や記号について、各種ブラウザ別対応状況を詳しく調べてみたいと思います。その前に、前提となる知識として、以下の3つのサイトをご紹介したいと思います。 ● IEがEUCのJIS X 212をサポートしていないのは規格違反なのか http://mkosaki.blog46.fc2.com/blog-category-10.html ● Extended Unix Code - Wikipedia http://ja.wikipedia.org/wiki/Extended_Unix_Code ● Bug 4873 –EUC-JPエンコーダは補助漢字を変換すべきではない http://bugzilla.mozilla.gr.jp/sho
昨日書きました「【PHPネタ】htmlspecialchars関数はサニタイズ関数?」の続きです。「セキュリティ云々という視点ではなく、正常系の処理をしているだけでも、大方のセキュリティ上の問題は自然とクリアできるはずなのに、『サニタイズ』という言葉をスローガンにして局所的に対応しようとするから、対策漏れが生じやすくなり、ミスが蔓延る」(上記要約は筆者がしましたので、間違っているかもしれません。各自、直接自分で読んで確かめてみてください。難しい文章ですが、何回か読んでいるととても趣旨一貫した文章だと感じられると思います。)という高木氏の主張(参照ページ)はよく理解できました(と思います)が、GIGOE氏の言う「『HTML出力と見たらhtmlspecialchars()をかける』、なんて思考停止な方法では、XSSやScript Insertionは完全には防げない」(参照ページ)という主張も
EUCの補助漢字をPHPでどのように処理するかを調べていて、1年前に自分で書いた記事(「IE7と補助漢字(「森鴎外」と「森鷗外」)」)やそのリンク先などを読み返したりしていました。EUC-JP(細かい定義はカットします。Windowsで作成した所謂EUCでエンコードされたもの。)のページで、フォームを作成したとします。その際、サイト訪問者がEUCの補助漢字の大御所?「森鷗外」を入力したとします。すると、「鷗」の字は、「%26%2340407%3B」にURLエンコードされます※から、それをデコードすれば、「鷗」になります。それをそのままブラウザに表示すれば、「鷗」になります。これで、めでたしめでたし、となるはずですが、そう簡単にはいきません。 ※ (2008年1月1日午前6時10分ごろ追記) 今読み返してみると、舌足らずでした。数値文字参照で表示されるのは、IE7やI6 SP2
私が作るPHPのサイトは、大概、EUC-JPを内部エンコーディングと設定して作成しています。それで今まで特に困ったことはなかった(自動応答メールなどに「㈱」「髙」などの機種依存文字が含まれていると文字化けすることはありましたが、そのような場合、そのような文字を入力するユーザーの知識不足を問題視していることが実際多かったのですが・・・。)のですが、今回は困りました。 いわゆる機種依存文字(「①」「㈱」「Ⅱ」「㌔」など)をEUC-JPからUTF-8へ変換しようとすると、該当文字が「?」(クエスチョンマーク・はてなマーク)に化けてしまいます。変換不能状態です。我ながら今更ですが、mb_convert_encoding()関数において、「eucJP-win→UTF-8」のようににするとこれらの文字変換はうまくできるようになることが分かりました(=下記サンプルコードの方法2)。 ただし、「髙」「纊」
LeopardのSafariのWEB Clip機能は、Leopardの新機能の一つと言われているようなのですが、「WEB Clip機能」という名称って正しいのかなと感じています。私が大きな勘違いをしているのかもしれないとも思います。 私は、最初、このクリップ機能を使った場合に、指定したい範囲のソース部分をDOM解析し、その一部分だけをローカルに保存して、いつでも使える状態にしてくれているものだと思っていました。 しかし、どうも違うみたいです。ローカルに保存されているのは、そのページのURLやクリップした部分の座標のみであって(それこそ、「web clipウィジェット」のソースを分析したわけではなく、単に現象面からの憶測・推察のみ。)、 クリップしていたページが更新されていたら更新される(レイアウトが固定されているサイトは多く、常にニュース部分の座標は変わらないので、この場合、最新の情報が常
SafariはApple社謹製の、OSXデフォルトブラウザです。そのため、シェアはMac版ブラウザの中で一番高いですが、文字化けを中心として厄介な問題に直面することも少なくありません。 ●Safari 3 Betaでは旧バージョンの数々の不具合(JavaScript関連など)が修正されています http://shimax.cocolog-nifty.com/search/2007/06/safari_3_betaja_7a37.html 2007年6月16日。日本語環境(Windows)で使うには、幾多の道を経なければならないSafari 3 Betaですが、いざ日本語環境がほぼ整って、落ち着いてチェックしてみると、旧バージョンでは存在していた忌まわしき不具合の数々が修正されていることに驚きました(Mac版でも)。 ● SafariとAjax文字化け http://shimax.cocol
月額10,290円の専用レンタルサーバー【E-server】 1年半ほど前に開発していたプロジェクトを復活させようとして、Vistaにテストサーバを構築して、テストし始めました。すると、1年半前はちゃんと動いていたはずのWEBアプリ(PHP+MySQL)が全く動きません。cookieによるセッション管理を行っているのですが、cookieが焼かれていないようです。ためしに、IE7のアドレス欄に、「JavaScript:alert(document.cookie);」とやってみると、やっぱり空です。あれー、そんはなずはないんだけどな・・・。 結論的には、テストサーバでホストアドレスを「_(アンダーバー)」を含めていることが原因でcookieがIE7では焼かれていなかったのですが、それに気づくのに数時間かかかりました。こういのうを「はまる」というんですね。 まず、IE7の設定を見直しました。メニ
Mac版SafariにはDebugメニューという隠しメニューがあり、ユーザーーエージェントを変更(一般には「偽装」といいますね。)したり、JavaScriptのエラーを確認できたりするのでJavaScriptのデバッグに役立っています。Windows版のSafariにも、このDebugメニューを有効にする方法はないかと探してみると、見つかりました。 ●Apple - Support - Discussions - Debug Enabled? ... http://discussions.apple.com/thread.jspa?threadID=993113&tstart=60 この情報に従って、Preferences.plistを探し出しました。Vistaの場合、「C:\Users\ユーザー名\AppData\Roaming\Apple Computer\Safari」の中にありまし
【格安パソコンなら!ソーテックオンラインショップ!】 Mac版IEだけスタイルシートが反映されないケースがあります。その理由の一つは、以下のようなケースです。@importの際に、「@import 'import.css';」のように、シングル・クォートを使うと、Mac版IEでは読み込まれません。「@import "import.css";」のように、ダブル・クォートを必ず使わなければなりません。 同様に、「@import url('import.css');」は不可です。サーバのエラーログには、Mac版IEでのアクセスの後、 [Sat Sep 09 17:56:57 2006] [error] [client 192.168.11.2] File does not exist: F:/homepage/hogehoge/'import.css', referer: http://hoge
理由が分かってしまえば、なんてことはないのですが、新しいWEBサイトを構築するに当たり、favicon.icoを作成したのですが、IE7で表示されず、1時間ほど焦りました。 ルートディレクトリーにfavicon.icoをアップロードしたのですが、いざIE7で自分のサイトを見てみるとなぜだか表示されない。FirefoxやOperaでは表示されます。あれえ、IE7だけ表示されないのは何でだ。GoogleやYahoo! Japanではちゃんと表示されているのに。あれー、作り方失敗したかな・・・。 何度も作り直してみるがやっぱり駄目。ためしに、Googleのアイコンをfavicon2.icoとして保存し、<LINK REL="SHORTCUT ICON" href="/favicon2.ico"> としてみると表示されました。この自作favicon.icoが表示されないのはデータ的にIE7では読み
● Windows版Safariファーストレビュー(日本語環境での利用方法) http://shimax.cocolog-nifty.com/search/2007/06/windowssafari_b444.html で報告した不具合=お気に入りに登録しようとするとクラッシュする現象への回避策が見つかりました。 ● Apple Discussions「Topic: Safari for Windows crashes when trying to interact with bookmarks」 http://discussions.apple.com/thread.jspa?threadID=992867&tstart=0 に掲載されていることを参考にして、「Program Files/Safari/Safari.resources」フォルダーの下の「en.lproj」フォルダーという
□□□□□□ 大容量・高機能レンタルサーバー heteml □□□□□□ 月額1500円で大容量2GB! Flash Media Server、ColdFusionが使えます。 その他、PHP4・PHP5・MySQL・Ruby・Perl・Pythonなども使える納得の高機能。 heteml(ヘテムル)で表現の可能性を広げよう! WEBプログラミングをしている際に、ブラウザの種類(ユーザーエージェント)を判定する必要性が出てくることがあります。もちろん、ある言程度はできますが、ユーザーーエージェントの偽装を完全に見破ろうとすることはかなり難しいです。もちろん、OperaがIE6の振りをするのを見破ることなどは朝飯前ですし、FirefoxがIE6の真似をしても、見破るのは簡単なことです。 しかし、(何のためにそういうことをするのかというのは、ひとまず横に置いておいて、)Windows版Fire
Firefox 2.0.0.4に先日アップデートしたんのですが、QuickTimeムービーの部分が「QuickTimeのロゴにクエッションマーク」になっていることに気づきました。あれ、「いつからこうなったんだろう」と思いました。また、Appleの「Movie Trailer」サイトの動画はちゃんと見ることができるの、私のテストサーバにあるQuickTimeムービーはなぜか再生できません。HTMLソースを見ても違いが分かりません。 Firefoxをアップデートしての相性問題が原因かと思って、Firefox 2.0.0.3で試してみましたが、やはり同じように、「QuickTimeのロゴにクエッションマーク」になっていました。そこで、QuickTimeを7.1.6にアップデートすることにしました。それまで、7.1.3を使っていました。最近、QuickTimeのセキュリティホールがいくつも見つかっ
上の広告が、Safariでは下記のように、糸編の感じが大量出現した形での文字化けをする場合があります。 この文字化けは、ココログのようにUTF-8の文字コードのページでは起こりません。ページがShift_JISやEUC-JPのページの場合にのみ起こります。ページがShift_JISのページであるにもかかわらず、Shift_JISのページであるという情報がSafariではGoogleサーバに送られないために、GoogleサーバはデフォルトのUTF-8の文字コードで広告用文字列を返すため、文字化けが起こります。Shift_JISのページにUTF-8の広告が挿入されるのですから、当然と言えば当然に文字化けします。 では、なぜ、Shift_JISのページであるという情報がSafariではGoogleのサーバに送信されないのでしょうか? それはSafariでは、JavaScriptのdocument
アタック?--アクセスログ謎のエントリーの原因(MSOffice/cltreq.aspや_vti_bin/owssvr.dllやSlurpConfirm404) アクセスログ(エラーログ)を見ていると、謎のURLへのアクセスも結構あります。例えば、 /MSOffice/cltreq.asp?UL=1&ACT=4&BUILD=6254&STRMVER=4&CAPREQ=0 /_vti_bin/owssvr.dll?UL=1&ACT=4&BUILD=6254&STRMVER=4&CAPREQ=0 このMSOfficeと_vti_bin君のエラーログはたいていの場合、必ずと言って良いほど対(ペア)で記録されています。 このログは、MSOfficeと書いてある通り、マイクロソフト社のOffice製品をインストールしている場合で、ある条件に当てはまる場合に、アクセスしている人間(そのマイクロソフト社
Thunderbirdから日本語ファイル名の添付ファイルを送信すると、Windows MailやOutlook Expressでは文字化けする理由 Thunderbirdから日本語ファイル名の添付ファイルを送信すると、Outlook Expressでは「ATT0437.pdf」のように「ATT」で始まる英数字のファイル名に文字化けする現象があります。この問題の原因及び解決方法は、 http://www.mozilla-japan.org/kb/solution/3067 に書いてあります。抜粋させていただくと、 Thunderbird 1.5 は、RFC 2231 と呼ばれる標準規格に準拠し、メッセージを送信する際ヘッダ (本文の前に付加されるメタ情報) に書き込む添付ファイル名の形式に変更を行いました。(・・・中略・・・)この規格に対応していないメールクライアント (Outlook、Ou
Internet Explorer 7.0(以下、IE7)のシェアが複数のサイトで10%超えを確認しています。今後、Windows Update時にIE7が自動配布されるようになれば、さらにシェアは伸びていくでしょう。 ただ、ここで注意しないといけないのが、一口にIE7といっても、いろいろあることです。まず、OSの違い。Windows VistaとXP SP2(さらに、Windows Server 2003)があります。VistaのIE7には保護モードという独特のセキュリティ機能があり、XP SP2のIE7と明らかに区別して考えられるべきものです。そうでないと、技術者として適切なサポートなどをサイト訪問者に提供することは困難になります。 Vistaの保護モードでは、 ●「この機能は、 スタンダード 権限を持つアプリケーションからのみ利用できます。」(IME関連のエラーメッセージとAjaxの
「WAKWAK: メール587サービス開始へ」の記事で書いたように、プロバイダのWAKWAKが3月1日、つまり今から数時間後には「Outbound Port25 Blocking」を開始します。その対応策として、まずメール587サービスに応募して手続きは完了していました。 次に、ローカルで動かしているApache+PHPの環境下でのメール送信サーバをどうするかというのが問題でした。今までどおり、「be.wakwak.com」という25番ポートのsmtpサーバを設定し続けるのも一つの手なのですが、このSMTPサーバは一日に500通までという制限があるため、できれば避けたいため、いろいろと苦慮していました。 php.iniの設定で、smtp認証を入れられたら587番ポートを使って送信すればいいため、500通までという制限は大幅に緩和されます。しかし、やり方がずっと分からず、先日、PEARを使え
専用サーバが月額19,800円~ IE7の印刷機能はIE6のそれに比べて、素晴らしいほど進化しています。FirefoxやOperaなどから比べると、やっと追いついたという見方もできるでしょうが・・・。IE6では、今まで、widthが広いページでは、印刷時に右端が切れてしまう現象がありました。 このように、はみ出る場合の対処法としては、 1.用紙の向きを横向きにします。紙をたくさん消費することになりますが、こうすることも多かったです。 2.FirefoxやOperaでそのページで印刷するようにします。 3.プリンター(プリンタードライバー)によっては縮小印刷が可能な場合もあります。80%などと指定して印刷します。 4.用紙設定で、左右のマージンを小さくするようにします。 5.「ホームページ見たまま印刷」などの専用ユーティリティーを使えば可能でした。 ただ、これらの方法は、面倒だったり、お金が
Safariのユーザーエージェント文字列には、しっかりとした規則性があるにはあるのですが、分かりにくいのが実際です。 Mozilla/5.0 (Macintosh; U; PPC Mac OS X; ja-jp) AppleWebKit/418.8 (KHTML, like Gecko) Safari/419.3 のようになります。(見た目は2行に見えるかもしれませんが、実際は1行です。)分かりにくいのは、まず、いわゆる「バージョン」の表記がないことが第一です。上のユーザーーエージェントの文字列は、Tigerで目一杯アップデートさせてのSafari(2.0.4)ですが、どこにも、「2.0.4」という文字列は出現しません。 分かりにくい第2の理由として、AppleWebKitの後ろの数字(ビルド番号)と、Safariの後ろの数字が微妙に違うことです。このことは、Pantherで目一杯アップデ
次のページ
このページを最初にブックマークしてみませんか?
『WEBプログラミング NOW!』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く