FLAMA技術Blog

Home  /  jQuery • Web  /  IEとJavascriptの実行順序

IEとJavascriptの実行順序

Boss 10月 29, 2012 jQuery, Web Comments are off
Share on Tumblr
Pocket
このエントリーをはてなブックマークに追加
LinkedIn にシェア

さて、根本的な問題ですが、jsファイルって何のために作るんでしょうか。
・機能ごとに分割するため
・HTML内の記述が長すぎるとメンテしづらい
・JSの処理を直すだけの時にはHTMLファイルを変更したくない
・etc etc
というような感じですよね。
関数単位でjsファイルに書いておいてHTML上では起動だけにしようと。一般的にそういう構想ではないかと思います。

しかし。
次のようなパターンは、IEが意図した通りに動作してくれない場合があります。
a.js
function hogehoge(){ // do something }
index.html
hogehoge();
または
$().ready(function(){ hogehoge(); });
index.html側のhogehoge();の実行時に、オブジェクトを指定せよ的なエラーになります。「関数が定義されていない」ということを言いたいようです。ということはつまり、関数実行のタイミングで、関数の定義の方が認識されきっていない、ということになります。
IE javascript 実行順とググるといろいろ出てきます。
結果が必ずしも一定でないところがさらに困ったものです。

いろいろ回避策は確かにあるのですが、開発者目線では、Javascriptのみで解決する必要もないわけで、ようするにHTML側に書かれていれば良いわけですから、デザイン部分のHTMLとは別のViewファイルに分割するというのが一番てっとり早いのではないかと思います。

※追記
例を長々と書く必要はなかった。すばらしく簡潔な再現コードを書いた方がいらっしゃる。
http://skryo.com/blog/archives/207
Previous Article
Next Article

About Author

Boss

株式会社FLAMA

Related Posts

  • Go のフレームワーク echo でCSRFミドルウェアを使う(3)CSRFトークンの送出にFormを指定する

    Go のフレームワーク echo でCSRFミドルウェアを使う(3)CSRFトークンの送出にFormを指定する

    2017 年 8 月 19 日
  • Go のフレームワーク echo でCSRFミドルウェアを使う(2)結果を取り出す

    Go のフレームワーク echo でCSRFミドルウェアを使う(2)結果を取り出す

    2017 年 8 月 19 日
  • Go のフレームワーク echo でCSRFミドルウェアを使う(1)CSRFトークンを取り出す

    Go のフレームワーク echo でCSRFミドルウェアを使う(1)CSRFトークンを取り出す

    2017 年 8 月 10 日

About

主に 株式会社FLAMA の技術担当取締役を中心に技術者が書いております。

プログラミング・サーバー/クラウド技術などについての小ネタから、システム化にまつわるあれこれや、プログラマー教育、そこから発生する様々な考え方などまでご紹介。

株式会社FLAMA
https://www.flama.co.jp/

お問い合わせ
https://www.flama.co.jp/contact/

プライバシーポリシー
https://www.flama.co.jp/privacy/

AD

最近の投稿

  • SQLite(sqlite3)で “no such table”
  • Stop Spending So Much Time In Your Head
  • アプリケーションサーバにポートを指定せずに起動すると?
  • gitとdocker-composeと分割とMakefile
  • GitLab 9.1.2 (MySQL) を 11.4.0 (PostgreSQL) にアップグレード
  • Golangでのメソッドチェーンの書き方
  • Goのソース配置とパッケージ化についての試行と考察 @2018/1
  • Goのファイル配置&セットアップ例 2018/1版
  • Laravelで最初につまづきがちかもしれない9つのポイント
  • Go のフレームワーク echo でCSRFミドルウェアを使う(3)CSRFトークンの送出にFormを指定する

カテゴリー

  • その他
  • よのなか
  • 告知
  • 情報技術
    • 都市伝説
  • 技術
    • Golang
    • Google
    • Google Apps
    • iPhone
    • OS
      • Arch Linux
      • CentOS
      • MacOSX
    • PHP
    • Web
      • HTML5/CSS3
      • Javascript/JSON
      • jQuery
    • WordPress
    • サーバ
      • Amazon/AWS
      • Docker
      • ImageMagick
      • MariaDB / MySQL
      • Revive (OpenX
    • 実験・検証
    • 携帯
  • 機械
Theme by ThemesPie | Proudly Powered by WordPress