Home

モウソウチク日記

Firefox3.6使用時に100%表示のフルフラッシュサイトで常にスクロールバーが表示されてしまう場合の対処方法

Firefox3.6にアップデートしたら、100%表示のフルフラッシュサイトで、ウィンドウサイズが指定した最小サイズ以下になっていないのに、常にスクロールバーが表示されてしまう現象が発生。Firefox3.5では問題なく表示できていたし、他のブラウザでも正常に表示できるようなので原因を調べてみたら、swffitが問題だったみたいです。swffitのバージョンを2.1から2.3.3(2010年1月18日リリース)にアップデートしてみたところ、スクロールバーは消えて正常に表示できるようになりました。

Progressionで作成したFlashコンテンツがFirefoxで表示できない場合の対処方法

Progressionで作成したFlashコンテンツが、Firefoxだけ表示できなく困っていたのですが、Page Saverというアドオンが原因だったみたいです。Page Saverを外してみたところFlashコンテンツが正常に表示できました。根本的な原因はよくわからないし、ProgressionとPage Saverの問題ということでもない気もしますが、念のためそれぞれのバージョンもメモしておきます。

MAMPとMacPortsを使ってローカル環境にMovable Type4をインストールする方法

MAMPとMacPortsを使って、Macのローカル環境にMovableType4をインストールしようと思ったら、以前にWordPressをインストールした時とは違って、モジュールなどのインストールが必要だったりと、なかなか大変な作業だったので大まかな手順をメモ。インストール時のそれぞれのバージョンは、Mac OS X 10.6.2、MacPorts 1.8.1、MAMP1.8.3、Movable Type 4.261。以下のサイトを参考にさせて頂きました。

【参考にさせて頂いたサイト】

MAMPをダウンロードしてインストール

MAMPのサイトから、アプリケーションをダウンロードしてインストール。

Movable Type4をダウンロード

Movable Type4をダウンロードして、MAMPのDocument Root以下のディレクトリに設置。Document Rootは、MAMPをアプリケーションフォルダに置いた場合、「/Applications/MAMP/htdocs/」。

XCodeとX11をインストール

XCodeとX11をインストールしておく必要がある模様。XCodeとX11は、OS Xのインストールディスクからインストール可能です。

MacPortsをダウンロードしてインストール

The MacPorts ProjectよりMacPortsをダウンロード。Snow Leopard、Leopard、Tiger、それぞれのバージョンが用意されているので、自分の環境にあったものをダウンロードしてインストール。

MacPortsの初期化と設定

MacPortsのインストールが完了したら、Terminal.appを起動して以下のコマンドを一行ずつ実行。これで、MacPortsの初期化と設定が行われる模様。

echo 'export PATH=$PATH:/opt/local/bin:/opt/local/sbin/' >> ~/.bashrc
echo 'export MANPATH=$MANPATH:/opt/local/man' >> ~/.bashrc
echo 'source ~/.bashrc' >> ~/.bash_profile
sudo port -d selfupdate
sudo port -d sync

ImageMagick(PerlMagick)をインストール

以下のコマンドを実行して、ImageMagickをインストールする。結構時間がかかる。

sudo port install ImageMagick +perl

DB関連モジュールのインストール

データベースをインストールする。今回は、MySQLを使用するので、SQLiteとSQLite2は不要かもしれないけど、良くわからないのでとりあえずインストールしてみる。これも結構結構時間がかかる。

sudo port install p5-dbi
sudo port install p5-dbd-mysql
sudo port install p5-dbd-sqlite
sudo port install p5-dbd-sqlite2

Perlのパスを変更

Perlのパスを、MacPortsのインストールディレクトリへ変更する(シンボリックリンクというものらしい)。

cd /usr/bin/
sudo mv perl perl.bak
sudo ln -s /opt/local/bin/perl /usr/bin/perl

Movable Typeの設置

MAMPをアプリケーションフォルダに置いた場合、デフォルトでは「/Applications/MAMP/htdocs/」がDocument Rootになるので、ダウンロードして解凍した、MT-4.261-jaフォルダをコピーして、フォルダ名を「mt」などに変更しておく。

この時点で、mt-check.cgiを実行してみたところ、CGIが実行されずソースが表示されてしまったので、とりあえずmt-check.cgiのパーミッションを「755」から「700」へ変更してみたら、無事に「Movable Type システムチェック」が表示された。そのあと、mt-check.cgiのパーミッションを「755」に戻してみたけど、普通にシステムチェックが表示されるみたいで、このあたりの原因はよくわからなかったです。

オプションモジュールのインストール

システムチェックでは、以下の項目が足りないと表示されてるので、ひとつずつインストールしていく。

  • Crypt::DSA
  • IPC::Run
  • Archive::Zip
  • HTML::Entities
  • Crypt::SSLeay
  • GD
  • Archive::Tar
  • IO::Uncompress::Gunzip
  • Digest::SHA1
  • IO::Compress::Gzip
  • XML::Atom
  • Mail::Sendmail
  • HTML::Parser

ひとつのコマンドで複数のモジュールがインストールされる場合もあるみたいだけど、以下のコマンドをすべて実行した段階で、システムチェックですべての項目が「インストールされています」になった。

sudo port install p5-gd
sudo port install p5-crypt-dsa
sudo port install p5-archive-zip
sudo port install p5-xml-atom
sudo port install p5-mail-sendmail
sudo port install p5-ipc-run

htaccessの設置

MAMPを使用する場合、CGIを実行できるディレクトリが「/Applications/MAMP/cgi-bin/」のみに制限されているようなので、htaccessで制限を解除する。以下をコピペして、テキストデータとして保存する。ファイル名はあとでリネームするので、とりあえず適当でよい。保存したテキストデータを、MAMPのDocument Rootで指定してあるディレクトリに置いて、TransmitなどのFTPクライアントからファイル名を「.htaccess」に変更する。

Options +ExecCGI
AddType application/x-httpd-cgi .cgi .pl

データベースの作成

MAMPを起動してスタートページを開き、メニューよりphpMyAdminをクリック。今回インストールするMovable Type用のデータベースを作成する。「新規データベースを作成する」というところに、作成したいデータベース名を入力(今回はmt)、照合順序は「utf8_general_ci」を選択して、「作成」ボタンをクリック。これでデータベースが作成される。

mt-config.cgiの修正

/Applications/MAMP/htdocs/mtの中に、mt-config.cgi-originalというファイルがあるので、複製して「mt-config.cgi」にリネーム、テキストエディタで開き、以下の項目を修正する。

CGIPath    http://localhost:8888/mt/
StaticWebPath    http://localhost:8888/mt/mt-static
# MySQL
ObjectDriver DBI::mysql
Database mt(Movable Type用に作成したデータベース名)
DBUser root
DBPassword root
DBHost localhost

上記の修正の他に、以下の二行を追記する。

DBSocket /Applications/MAMP/tmp/mysql/mysql.sock
DBPort 8889

POSTGRESQLとSQLITEの部分は、行の先頭に「#」を付けてコメントアウトしておく。これを忘れるとエラーになってしまうので注意。

##### POSTGRESQL #####
#ObjectDriver DBI::postgres
#Database DATABASE_NAME
#DBUser DATABASE_USERNAME
#DBPassword DATABASE_PASSWORD
#DBHost localhost
 
##### SQLITE #####
#ObjectDriver DBI::sqlite
#Database /path/to/sqlite/database/file

Movable Typeの設定

MAMPを起動した状態で、ブラウザから「http://localhost:8888/mt/」にアクセスするとMovable Typeの設定ウィザードが表示されるので、Movable Type 4 ドキュメントを参考に設定を完了させる。

以上の流れでなんとかローカル環境でMovable Typeを起動することができました。

Adobe CS3がアップデートできない場合の対処方法

Snow Leopardをクリーンインストールして、Adobe CS3もインストール、アクティベーションまで無事に完了して、CS3のアップデートをしようと思ったら、Adobe Updater.appが強制終了してしまいアップデートできない状態になってしまった。原因がわからずいろいろ調べてみたら、対処方法をみつけたのでメモ。

ターミナルから、以下のコマンドを実行して、管理者のパスワードを入力するだけで良いみたいです。

sudo /Applications/Utilities/Adobe\ Utilities.localized/Adobe\ Updater5/Adobe\ Updater.app/Contents/MacOS/Adobe\ Updater

何が行われているのかは、さっぱりわからないけど、このコマンドを実行してみたら、無事にAdobe Updater.appからアップデートできました。参照サイトの記事は、2007年に書かれたものなので、特にSnow Leopardが原因ではないと思われます。今まで何度かCS3を新規でインストールしてるけど、このトラブルは初めてかも。何が原因なんだろ。

関係があるかわからないけど、Adobeのサポートで似たような症状に関する記事を発見したので、これも念のためメモしときます。

[WordPress]Google Sitemaps用のsitemap.xmlを簡単に生成できるプラグイン Google Sitemap Generator

WordPressでGoogleサイトマップ用のsitemap.xmlを簡単に生成できるプラグインGoogle Sitemap Generatorの導入と日本語化の手順をメモ。それぞれのバージョンは、WordPress 2.8.4、Google Sitemap Generator 3.1.4、サーバーはヘテムル。

1.プラグインをダウンロード

配布元からプラグインをダウンロード。

2.プラグインをインストール

「/wp-content/plugins/」以下に[sitemap]というフォルダを作成して、ダウンロードしたファイルを格納。

3.プラグインを有効化

ダッシュボードからプラグインを有効化すると、設定の中に「XML Sitemap」という項目ができる。ここから細かな設定が可能。

4.設定画面の日本語化

デフォルトだとプラグインの管理画面が英語なので日本語化してみる。デフォルトの言語ファイルでは、うまく日本語化できなかったので、MMRT daily lifeさんの「Google XML Sitemaps v3.0.3.1改 日本語版」で試してみたところ日本語化に成功。ダウンロードした日本語の言語ファイルを「/wp-content/plugins/lang」以下に上書き保存で格納すれば日本語化されるはず。

5.sitemap.xmlとsitemap.xml.gzを生成する

プラグインの管理画面から、sitemap.xmlとsitemap.xml.gzを自動で生成できる機能があったので試してみたが、正常に完了できなかったので手動で作成してみる。WordPressをインストールしているルートディレクトリに、sitemap.xmlとsitemap.xml.gzという空のファイルを作成して、パーミッションを606に設定。

6.サイトマップ情報を生成

プラグインの管理画面の上部にある[sitemapを再構築]をクリック。
これで、sitemap.xmlとsitemap.xml.gzにサイトマップの情報が自動生成されているはず。

[WordPress]エントリー内でPHPを実行可能にするプラグイン Exec-PHP

WordPressは、エントリー内でPHPを実行することができないが、Exec-PHPというプラグインを使用することでPHPの実行が可能になる。hetemlのサーバー環境でプラグインが有効化できなかったり、エラーのようなものが表示されてしまい、ハマったので導入手順をメモ。それぞれのバージョンは、WordPress 2.8.4、Exec-PHP 4.9、サーバーはヘテムル。

1.プラグインをダウンロード

配布元からプラグインをダウンロード。

2.プラグインをインストール

WordPressをインストールしているディレクトリの「/wp-content/plugins/」以下に、解凍したフォルダを格納。

3.プラグインを有効化

ダッシュボードからプラグインを有効化。と思ったら「重大なエラーを引き起こしたのでプラグインの有効化はできませんでした。」と表示されてプラグインが有効化できない。調べてみたら、hetemlのサーバーを利用している場合、PHPのバージョンが原因で有効化できないらしい。レンタルサーバー「heteml」 – PHP5のご利用方法についてを参考に、「/wp-content/plugins/」に、htaccessを設置してみたところ、無事に有効化できました。

プラグインを有効化できてしまえば、エントリー内でPHPを実行できているみたいなのだけど、新規投稿の画面で下記のようなエラーのようなメッセージが表示される。

Exec-PHP WYSIWYG Conversion Warning. Saving this article will render all contained PHP code permanently unuseful. Even if you are saving this article through the Code editor. You can turn off this warning in your user profile. Ignore this warning in case this article does not contain PHP code. Read the Exec-PHP documentation if you are unsure what to do next.

ダッシュボードの[ユーザー]から[あなたのプロフィール]を開き、一番下の、Exec-PHP Settingsというところの、「Disable WYSIWYG Conversion Warning」にチェックを入れると、メッセージが表示されなくなる模様。

【参考にさせて頂いた記事】
Ktai Style
WordPressにプラグインExec-PHP 4.9をインストール | あれこれ日記 – 一筆啓上

[WordPress]Google Analyticsを簡単に導入できるプラグイン Ultimate Google Analytics

WordPressでGoogle Analyticsを簡単に導入できるプラグインUltimate Google Analyticsの導入手順をメモ。それぞれのバージョンは、WordPress 2.8.4、Ultimate Google Analytics 1.6.0。

導入はとても簡単で、配布元サイトからプラグインをダウンロードして「/wp-content/plugins/」以下に格納。ダッシュボードからプラグインを有効化。設定から[Ultimate GA]を選択し、Account IDにGoogle Analyticsのトラッキングコードの中にある、UAから始まるコードを入力。Update optionsをクリックすると、WordPressにGoogle Analyticsの導入が完了しているはず。

そのほかにも、WordPressにログインした状態でサイトを閲覧した場合、アクセスをカウントしない機能があったり(トラッキングコードが埋め込まれない仕組みらしい)、外部リンクがクリックされた場合のログを「outgoing」として記録できたり、とても便利なプラグインです。

[AS2]FlashでSWFや画像などを外部から読み込む際にキャッシュさせない

FlashコンテンツでSWFや画像データを外部から読み込む際に、ブラウザでキャッシュさせない方法をメモ。頻繁に更新する必要のあるFlashコンテンツでは、更新した内容が反映されない可能性あるので、キャッシュ対策が必要。

具体的には、読み込みたいデータのパスに「?=現時刻」をプラスしてあげて、常に別のデータとして読み込ませる。例えば、CASA FrameworkのMediaLoadを使用して、test.jpgを外部から読み込む場合のキャッシュ対策はこんな感じ(ほぼCASAのサンプルそのままです)。

this.stop();
Stage.align = "TL"; 
Stage.scaleMode = "noScale";
 
import org.casaframework.load.media.MediaLoad;
 
this.createEmptyMovieClip("loadZone_mc", this.getNextHighestDepth());
 
function onImageLoadProgress(sender:MediaLoad, bytesLoaded:Number, bytesTotal:Number):Void {
    trace(bytesLoaded + "/" + bytesTotal + " bytes have been loaded into " + sender.getMovieClip());
}
 
var nowDate:Date = new Date();//現時刻を取得してnowDateに設定
var mediaLoad:MediaLoad = new MediaLoad(this.loadZone_mc, "test.jpg" + "?=" + nowDate);
this.mediaLoad.addEventObserver(this, MediaLoad.EVENT_LOAD_PROGRESS, "onImageLoadProgress");
this.mediaLoad.start();

現時刻の部分は、ユニークな値であれば問題ないと思うので、乱数など他の値でもでも問題ないと思われます。ちなみに画像データだけでなく、swfやxmlなどでも同じ方法でキャッシュ対策可能。

【参考にさせて頂いたサイト】

企業サイトの横幅ピクセル数のまとめ

最近のサイトの横幅ピクセルってどの程度が多いのか気になったので、「日経パソコン 企業サイトランキング 2008」の上位50位ぐらいまでをピックアップしてまとめてみたのでメモ。ソースを詳しく調べたわけではないので、若干の誤差があるかもしれないです。あくまで参考程度に。

企業名 サイト全体の横幅(px)
富士通 750
NEC 760
日本郵政 768
出光興産 750
京セラ 760
第一三共 760
京王電鉄 800
OKI(沖電気工業) 882
新日鉱ホールディングス 828
DIC 840
キリンホールディングス 900
サッポロビール 780
ニコン 757
YKK 762
三井化学 880
明治乳業 950
NECエレクトロニクス 960
東北電力 760
富士ゼロックス 845
みずほフィナンシャルグループ 750
ヤマハ発動機 748
T&Dホールディングス 750
キリンビール 900
NTTデータ 856
大阪ガス 850
カシオ計算機 802
コニカミノルタホールディングス 970
三菱ガス化学 760
コカ・コーラウエストホールディングス 950
ローソン 750
松下電器産業 991
旭硝子 765
昭和シェル石油 940(リキッド)
豊田通商 735
富士フイルム 970
三菱商事 980
キユーピー 924
キリンビバレッジ 900
大和ハウス工業 950
豊田自動織機 775
日清食品 910
日本板硝子 765
日本ユニシス 760
東芝 760
日本ヒューレット・パッカード 968
富士フイルムホールディングス 970
ブリヂストン 870
リコー 759
NTTドコモ 911
九州電力 770
日本製紙グループ本社 840
三井物産 770
リクルート 720

[AS2]Flickr API経由で取得した画像がFlashで表示されない

Flashで、Flickr API経由で画像を表示するテストをしてみたら、ローカル環境では問題なく表示されるのに、サーバにアップロードしたら何も表示されない。いろいろ検証してみたところ、Flickrから取得した画像にスムージングをかけようとすると、何も表示されない模様。Flash Player8以上で、外部画像を読み込んだ場合、シャギーが出てギザギザの画像になってしまうので、スムージングを適用したかったのだけど、なかなかうまくいかなかったので、解決方法をメモ。スムージングについては、以前書いた、「[AS2]Flashで外部から読み込んだ画像データにスムージングを適用する」を参照。

System.security.loadPolicyFile("http://api.flickr.com/crossdomain.xml");
System.security.loadPolicyFile("http://farm1.static.flickr.com/crossdomain.xml");
System.security.loadPolicyFile("http://farm2.static.flickr.com/crossdomain.xml");
System.security.loadPolicyFile("http://farm3.static.flickr.com/crossdomain.xml");
System.security.loadPolicyFile("http://farm4.static.flickr.com/crossdomain.xml");

上記のスクリプトを追加すると、スムージングを適用しても問題なく表示可能でした。クロスドメインとかセキュリティーの問題と思われます。

【参考にさせて頂いたサイト】
鮭とプログラムとかサン「スライドショー 2

Home

Search
Feeds
Meta

Return to page top