以下のscriptが 2006年くらいに作っていたwebのtop pageのヘッダーに書かれています。


リニューアルにあたってヘッダーは不要な物以外は移植しようと思うのですが、java scriptが何のものか全く思い出せません。教えてもらえると助かります。

<!--hide this script from non-javascript-enabled browsers

function MM_findObj(n, d) { //v3.0
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

他に
/* Functions that swaps images. */
/* Functions that handle preload. */
// stop hiding -->

とかそれぞれコードが記述されています。
2006年当時表示をそれぞれ早くするとか、何かその時代のブラウザの環境で必要であった物なのか、なんなのか?今現在、このスクリプトをリニューアルページのヘッダーに移植した方が良いのか?

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2015/04/28 22:16:54
  • 終了:2015/04/30 23:17:44

ベストアンサー

id:a-kuma3 No.1

a-kuma3回答回数4440ベストアンサー獲得回数18242015/04/28 23:04:15

Dreamweaver で吐き出されたコードでしょう。
http://kikinote.seesaa.net/article/35351636.html

Dreamweaver は使ったことがありませんが、その作ったページで使われる・使われないにかかわらず、そのコードを吐き出しているようです。
例えば、ここのページなど、展開されている javascript は使っていません。
http://www.kiyochiemi.com/japanese/html_texas/windmill.html

MM_preloadImages は、一応、速度対策のようですが、回線も太くなりブラウザの性能も格段に向上した今となっては、あまり意味がないように思います。

他1件のコメントを見る
id:a-kuma3

リニューアルするページ次第ですが、検索で引っかかるページだと Dreamweaver のコードが使われたいないページが多いような感じです。
まるごとコードを削除して、javascript のコンソールでエラーが出ないことを確認しておけば良いかな、と思います。

2015/04/29 00:42:23
id:b-stat

ありがとうございます。
目視での確認とエラーが発生しているかどうかの確認をするということで、了解いたしました。

2015/04/30 23:14:13
  • id:jislotz
    たとえば MM_findObj('hoge');って書くと、
    id="hoge"がついた要素とかname="hoge"がついたフォームの部品とかを探し出せる
    という感じのfunctionですね。
    今だったらdocument.getElementById()とかですむのですが、
    昔のネットスケープ4.xとかでも機能するようにとなると、そういうコードが必要です。

    そのfunctionが使われているかどうかを確かめるには、
    全部のJavaScriptコードからMM_findObjという文字列を検索してみて、一つも見つからなければ、
    使われていないと思ってもいいと思います。

    また、functionの中にalert('MM_findObjが呼び出されました。');みたいな一行を書き加えて
    各ページを表示してみたり色んなところをクリックしてみたりと
    あなたが思いつく限りのアクションを起こしてアラートが一度も出なければ、
    使われていない可能性は高いのではないでしょうか。
  • id:b-stat
    ありがとうございます。

    私も調べた結果、layers という表記はNetscapeの頃のjavascriptのようだとは思いましたが、もう古いソースだと考えてよろしいのでしょうか。
  • id:jislotz
    やはり実際に見ないことには根拠が無いのですが、個人的には消しても問題無さそうな印象を受けました。

    もしGoogle Analyticsを使っているのであれば、
    クライアントサイドで起こったエラーの収集ができます。
    http://www.yoheim.net/blog.php?q=20130703
    あるいは、{Track:js}というのがあります。
    https://trackjs.com/
    これらのようなエラーを監視する仕組みを導入してから、
    不要そうなコードを取り除いてみてしばらく様子を見てみるのもいいかもしれません。
  • id:b-stat
    有益な情報をありがとうございます。
    Google Analytics には、こういった使い方もあるのですね。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません