2009年03月05日

(再)JavaScriptで外部ファイル呼び出し&「インターネットサイトを開けません 操作は中断されました」はこうやって回避する(回避した)

へっぽこです。
googleで検索してもまったく同じものは見つからなかったので
JavaScriptについてのノウハウとして公開します。
前半部分は、いろいろな方がすでに公開しているものと同じです。

◆第1の問題:JavaScriptでさらに外部のjsファイルを呼ぶ

JavaScriptには外部のスクリプトをインポートするコマンドはありません。
そこで、次のようなコマンドで代用することになります。
(以下、細かいところは省略してポイントだけ書きます。)

 document.write('<script src="XXX.js"></script>');

element.innerHTML や document.appendChild() を使ってもいけると思います。
ところが・・・。

◆第2の問題:インポートしたfunctionを呼び出せない

上記の方法でインポート(インポートもどき)したスクリプト内の function は、そ
のままでは呼び出すことができません。
例えば、XXX.jsの中に、func_XXX() というfunctionがあったとして、

 document.write('<script src="XXX.js"></script>');
 func_XXX();

と書いても期待通り動きません。このように書くと動きます。

 document.write('<script src="XXX.js"></script>');
 setTimeout('func_XXX();',100);

何が違うかお分かりでしょうか。
関数 func_XXX はNGですが、文字列 'func_XXX();' ならOKなんです。
ですから、setTimeout(func_XXX,100); と書いたら似ているけどNGです。

◆第3の問題:インターネットサイトを開けません操作は中断されました

上記の方法でプログラムを作成すると、
「インターネットサイトを開けません。操作は中断されました。」
というエラーに悩まされることがあります。
これはIE特有の問題でFFなどのブラウザでは発生しません。

回避方法は、ページのロードが完了してからスクリプトを動作させることです。
HTML にて <body onload="func_XXX();"> と書くのが最もラクチンですが、ブ
ログパーツのようにいろいろなサイトで使用するスクリプトではこの方法は使えませ
ん。
そこで、window.attachEvent を使って、後付けで onload を設定します。
IE以外のブラウザに罪はありませんが、動作をそろえるために他のブラウザでは
window.addEventListener します。

 function kick_func_XXX() {
  setTimeout('func_XXX();',100);
 }
 if (document.all) {
  window.attachEvent('onload',kick_func_XXX);
 } else {
  window.addEventListener('load',kick_func_XXX, false);
 }

めでたしめでたし。
posted by できるじゃん管理人 at 16:05| Comment(0) | 王様の耳

2009年03月04日

新Mac mini で復活を果たした・・・

Mac book で省略され、あ〜ついにAppleも見限ったのね、
と思われていたFireWireが復活しました。

復活って言うのかな・・・?

なぜMac bookでは省略したのでしょう。
Mac bookは鬼っ子になるのでしょうか。
posted by できるじゃん管理人 at 00:58| Comment(0) | 王様の耳

2009年02月27日

そんなこと言われても・・・

外務省が、子供に伝えたいことをまとめたサイト。
ほほえましいですね。

って、アレ!?
http://www.mofa.go.jp/mofaj/world/ranking/energy_o.html
「新しいデータが見つかりません。情報をお持ちの方はおしえて下さい。」

国家ががんばってダメなものを
子供に依頼しても無理だろっ
posted by できるじゃん管理人 at 17:42| Comment(0) | 王様の耳

2009年02月24日

天保のタマちゃん!

http://www.ndl.go.jp/nature/cha3/index.html#h329

江戸時代にタマちゃん騒動があったことが判明。
日本人、ぜんぜん進歩してません!!
リンク先のタマちゃんはつかまって見世物にされたそうです。
かわいそうに。
江戸時代の人はアザラシの餌が何かとか
知っていたんでしょうか?
posted by できるじゃん管理人 at 17:44| Comment(0) | 王様の耳

2009年02月23日

NTTドコモ SH-04A順調に売れる

NTTdocomoのSH-04Aが好調な売り出しのようだ。

iモードやおサイフケータイが使える「普通のFOMA」にして
PCと同じ配列のqwertyキーボードがついているのは
実はこれ1機種しかない。

これ以外でキーボードがついているものは
普通のFOMAではなく、iモードやおサイフケータイが
使えないというものだった。

端末が海外メーカーからの輸入品のようなものだから
そういう制限があったわけだ。
こういうのが独自規格の悲しいところ。

で、ある意味オンリーワンの個性的端末
触ってきましたが確かに入力は高速化。
だけどタッチ操作がイケてないなあ。
シャープはWILLCOMなどでもタッチパネル端末を
開発していたのだから、もうちょっと頑張って欲しいなあ。
posted by できるじゃん管理人 at 09:33| Comment(0) | 王様の耳