html」タグアーカイブ

IEとその他のブラウザでjavascriptの挙動が違う

とあるシステムを構築中にハマった体験を。

javascript内でPHPをパラメタ付きで呼び出すのですが、Firefoxでは正常に動作するも、IE9では正常に動作しない。
パラメタには日本語を含めていました。
なぜ???
いろいろと調べた結果、文字コードの問題でした。
HTML,PHP,javascript全てUTF−8で記述しているのですが、パラメタを渡すとSJISとして渡ってしまう。
うーん、metaタグとかscriptタグにcharset=”UTF-8″を付加してるのになぜ。
結局、javascript内で以下のような記述をすることでIE、Firefoxともに同じ動作をするようになりました。
var Str = encodeURIComponent(文字列);
原因がわかるのに、苦労しました(–;)

javascriptの限界??

とあるPHPで表示したWEBページ内の文字をjavascriptで検索するように設定していて、ある行を境に検索できなくなりました。

ページ内検索のjavascirptは以下のとおり。

var fFirst; //はじめかどうかのフラグ
var objRange; //TextRangeオブジェクト
//検索関数
function Start()
{
    objRange = document.body.createTextRange();
    //文字列が空であれば終了
    if (document.search_form.txtWord.value.length == 0)
    {
        return;
    }
    strCheck = document.search_form.txtWord.value;
    if (fFirst)
    {
        fFirst = false;
    }
    else
    { //2度目以降
        objRange.move(“character”, 1);
    }
    //セレクトする
    if (objRange.findText(strCheck))
    {
        objRange.select();
        objRange.scrollIntoView();
    }
}

 

という感じ。

PHPでWEBページを表示しているんですけど、HTMLタグやらでソースは5万行を超える状態。

この5万行が限界らしく5万目は見事に検索されなくなりました。

49999行目までは検索できるんですけど。

どなたか何か情報もってないですか??

PHPとセットでいかがですか?

PHPでWEBアプリを開発していく上で、HTMLは必須だと思います。

HTMLと一緒にCSS(スタイルシート)についても覚えておくべきだと思います。

さて、PHPで開発していて内部的な処理はほぼ対応できるのですが、ユーザビリティを考えるとjavascriptも一緒に覚えておくべきだと思います。

ブラウザ上での処理をPHPだけで行おうとすると、どうしても操作面で使いにくいものになってしまいます。

そこで、javascriptについて勉強をするんですが私の場合、サンプル集を参考に自分なりに修正して使っています。

javascriptで大掛かりな処理はまだできませんが、簡単な処理であればサンプル集の簡単なものをアレンジして使用したので十分かなと。

現在手元においてるのがこれです。

内容は、基本的なものはほとんど抑えているので重宝してます。

細かい説明はないですけど、サンプルのコードを見ているとなんとなく理解できます。

サンプル自体が簡単な機能なので、コードも短めです。

 

今後は、Ajaxについても手をつける必要があるんですけどね。