javascriptの最近のブログ記事

090311-rendur.jpg
rendur 2.2 http://www.rendur.com/

(X)HTML、CSS、javascriptをライブレンダリング?、ライブプレビュー(書いた傍からプレビュー)してくれます。
簡単なコードの確認、Javascriptの動作確認、デバッグには大変便利かもしれません。
基本的な使い方は続きへ

// JavaScript Document
alert(document.write('<ul id="feed"></ul>'));

実行結果

//出力
アラート「undefined]
<ul id="feed"></ul>

上記の様に出力された、 <ul id="feed"></ul> はFireFoxではDOMとして利用できる。
なので、

var container = document.getElementById("feed");
var tagLi = document.createElement("li");
container.appendChild(tagLi);


とかして、<li></li>タグを追加していくことができる。
でも、プログラム上は問題ないけれども、情報上?データ構造上すごく間違っている怪しいコード。
javascriptだから出来る。
上記のコードの続きに、以下

tagLi.appendChild(document.write("ほにゃらら");


とか書くと、

<li>ほにゃらら</li>

とか出力される。


Scrollovers

jsとcssでオンマウスすると文字が動いて切り変わるという面白いことができます。

こんなかんじになります。

動作確認:Firefox 2.0、Internet Explorer 7、Internet Explorer 6、Internet Explorer 5.5、Safari 3 (Windows)、Opera 9

http://blog.webcreativepark.net/2007/09/30-223742.html

こういうjsを待っておりました。
使いたくてもIE6で反映できないからとなかなか手が出なかったmin-width,max-width,min-height,max-height...。
このjsでIE6でもmin-width,max-width,min-height,max-heightの実装ができます。
最高です!ありがとうございます!

自分もこういうかゆいところに手が届くものを作りたいと思わせられました...。

我らがwindows XP Internet Explorer ver6ではflashコンテンツを一度クリックしてアクティブ化しなければなりません。これは使うユーザ側にとっては非常に邪魔なものに他ならないことでしょう。

では、このコントロールアクティブ化を消すにはどうすれば良いのか?
答えは、

objectタグやembedタグを使わず、javascriptでflashコンテンツをソースに入れる

ことです。これは見落としになりがちですが、ユーザビリティを考える上では非常に重要なことだと思います。

ver1.1 アクティブコンテンツ埋め込み用外部javascriptファイル
(無断転載しております。お手数ですが禁止事項にあたる場合eregance@mail.goo.ne.jpまでメールを頂ければ幸いです。)

このファイルを適当なhogehogeディレクトリに入れて、HTMLソースの<head>~</head>部分に

<script src="hogehoge/AC_RunActiveContent.js" type="text/javascript"></script>

このようにリンクし、flashを入れたいところにnonscriptにあるように従来通りのコードに加えて、下記の太字部分を追加して、太字の部分、swfの縦横のサイズやパスを変更すれば導入できます。
解りにくい説明で申し訳ありません。

swfファイルへのパスを設定する際、swf/hogehoge.swf とするのが普通ですが、このjavascriptの場合「 .swf 」の拡張子の部分はファイルパスとして記述しなくても大丈夫です。
ややこしいので間違えないように。

<script type="text/javascript">
AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0','width','横幅200','height','高さ100','src','ファイルパスhogehoge','quality','high','pluginspage','http://www.macromedia.com/go/getflashplayer','movie','../navifla/produce_main' ); //end AC code
</script>

<noscript>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width="横幅200" height="高さ100">
<param name="movie" value="ファイルパスhogehoge.swf">
<param name="quality" value="high">
<embed src="hogehoge.swf" quality="high" pluginspage="http://www.macromedia.com/jp/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="200" height="100">
</embed>
</object>
</noscript>


Dreamweaver8を使われているのであれば、flashを[挿入→Flashファイル]で埋め込む際、自動でjavascriptを挿入させる修正パッチ(ver8.02)が出ていますので、そちらをご利用下さい。


ぶっちゃけると、javascriptのDocument.writeでobjectタグ、embedタグを直接HTMLに書き込んでしまえば、ActiveXのコントロールをアクティブにするなどというワンクリック詐欺まがいの問題は出ません。
普通にflashが配置されます。
flashコンテンツが1つの場合はDocument.writeを使ったほうが便利かもしれません。


参照:
Adobe
アクティブコンテンツのアップデートに関する記事
Dreamweaverリリースノート

Microsoft MSDN
ActiveXコントロールのアクティブ化:テクニカルノート

このアーカイブについて

このページには、過去に書かれたブログ記事のうちjavascriptカテゴリに属しているものが含まれています。

前のカテゴリはhtmlです。

次のカテゴリはMovable Typeです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。