2009年2月アーカイブ

最近よく使うjavascriptで、ページ内をスムーズに動くというものがある。
現在製作中のサイトでも使用しているが、残念なことにIE6では正常に動作しない。
記述の仕方が悪いのではと何度か書き替えてみたものの全く変わらず
結局、IE6のバグらしいというところに行き着いた。
「またか・・・」とため息をもらす。

スムーズに移動しないどころかリンクに飛ばないという致命的な症状。
この際IE6は無視するか・・・というわけにもいかず(泣)
CSSハックでよく使う条件分岐を利用して、このスクリプトを
IE6だけ読み込ませないようにした。

<!--[if !lte IE 6]><![IGNORE[--><![IGNORE[]]>
<script type="text/javascript" src="xxxxx.js"></script>
<!--<![endif]-->

CSSでは、IEだけ読み込ませる条件分岐をよく使うが
逆に読み込ませないという指定は今回初めて使用した。

とにかく上記の条件分岐で、IE6以前のブラウザでは読み込ませないようにできた。
スムーズには移動しないが、リンクに飛べれば最低限OKということにした。

ちなみにIEだけ読み込ませる条件分岐は下記の通り。
<!--[if IE]>
<link href="css/ie.css" rel="stylesheet" type="text/css" />
<![endif]-->

Dewplayerというフラッシュで作られたmp3プレイヤーがある。
本体をダウンロードし、再生したいファイルパスに置き換えてコードを
貼り付けるだけで簡単に使用できる。

今新しく製作しているウェブサイトでこれを使ってみた。

ただひとつ問題が発生した・・・。

IEでDewplayerを使用したウェブサイトを表示したあと、
終了する際にスクリプトエラーが発生。
そして、何をやっても終了できなくなるという致命的な状態になってしまう・・・。
ネットで検索してもどこにもそんな症例はなく、散々いろんな検証を
繰り返したあげく原因が判明。

どうやらグーグルツールバーのアドオンをインストールした状態のIEで
このDewplayerを使用したウェブサイトを開くとこのエラーが発生するようだ。

ということで・・・対処方法は、ユーザーがIE用グーグルツールバーを
使っていないことを祈るということだろうか(^^;)
あとはグーグルがツールバーのバグ解消してくれないかな。
グーグルにとってはバグじゃないんだろうけど・・・。


javascriptで印刷

| コメント(0)
<head>内に下記のスクリプトを貼り付けて
javascript:PrintPage()で呼び出す。

<head>
<script type="text/javascript">
<!--
function PrintPage(){
    if(document.getElementById || document.layers){
        window.print();        //印刷をします
    }
}
//-->
</script>
</head>

<body>
<a href="javascript:PrintPage()">印刷する</a>
</body>