javascriptで文字の拡大、縮小によりエラーが発生し、機能しなくなった問題の解決方法

このQ&Aのポイント
  • とある地方自治体のHPを管理している素人が、javascriptを使用して文字の拡大や縮小機能を実装しようとしたところ、エラーが発生し、機能しなくなりました。IEの左下に「ページでエラーが発生致しました」と表示されます。原因はおそらくスクリプト内にある記述のどこかが間違っているためです。
  • スクリプト内のコードを見ても、具体的なエラー箇所が特定できません。このため、どこがどう問題なのか理解することが困難です。質問者はこの問題について詳しい知識を持っていないため、解決方法がわかりません。
  • 質問者は、この問題を解決するために、javascriptの専門家からの助言や指導を求めています。どなたか解決策を教えていただけると幸いです。
回答を見る
  • ベストアンサー

javascriptで文字の拡大、縮小

とある地方自治体のHPを管理している素人です。 何を触ってしまったのかHP内の文字を大きくする小さくするの、機能でエラーが発生するようになり、機能しなくなりました。 IEの左下の所に、「ページでエラーが発生致しました」と、出ます。 <TABLE border=0 cellSpacing=0 cellPadding=3 width=330 align=center> <TBODY> <SCRIPT type=text/javascript> <!-- var Default = "2;" var tags = "new" Array('div','td','tr'); var sizing = "new" Array('xx-small','x-small','small','medium','large','x-large','xx-large'); function FontChange(target,tarF) { if (!document.getElementById) return var dore = "document,tarS" = null,fontSize = Default,value,su,cTags;fontSize += tarF; if (fontSize < 0) fontSize = "0;" if (fontSize > 6) fontSize = "6;" Default = "fontSize;" if (!(tarS = dore.getElementById(target))) tarS = "dore.getElementsByTagName(target)[0];" tarS.style.fontSize = sizing[fontSize]; for (value = 0 ; value < tags.length ; value++) { cTags = "tarS.getElementsByTagName(tags[value]);" for (su = 0 ; su < cTags.length ; su++) cTags[su].style.fontSize = sizing[fontSize]; } } //--> </SCRIPT> <TR> <TD bgColor=#ffdddd vAlign=center width=200> <DIV align=right> <TABLE border=0 cellSpacing=0 cellPadding=0> <TBODY> <TR> <TD> <STRONG> <FONT color=#333333> <IMG border=0 hspace=3 alt="" src="arrow_01.gif"> </FONT> </STRONG> </TD> <TD> <STRONG> <FONT color=#333333>文字の大きさ&nbsp;&nbsp;</FONT> </STRONG> </TD> </TR> </TBODY> </TABLE> <STRONG> </STRONG> </DIV> </TD> <TD bgColor=#ffdddd width=65> <DIV align=right> <STRONG> <FONT color=#333333> <A href="javascript:FontChange('body',1)"> <IMG border=0 hspace=3 alt=文字を大きく vspace=3 src="font_big.gif"></A> </FONT> </STRONG> </DIV> </TD> <TD bgColor=#ffdddd width=65> <DIV align=right> <STRONG> <FONT color=#333333> <A href="javascript:FontChange('body',-1)"> <IMG border=0 hspace=3 alt=文字を小さく vspace=3 src="font_small.gif"> </A> </FONT> </STRONG> </DIV> </TD> おそらくこの部分に記述してある事の何かが駄目なんでしょうが、どこがどう駄目なのかまったくわかりません。 どなたかご教授をお願い致します。

  • go-to
  • お礼率100% (32/32)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

" ← すくりぷとないの、これをけしてみる そして、おきたエラーをほうこくする

go-to
質問者

お礼

ちゃんと消したらエラーにはなりませんでした^^

go-to
質問者

補足

消したのですがCMSとやらで編集してあり、消してもまた元に(自動修正)戻り、消す事が出来ません。 http://www.town.wakasa.tottori.jp/ のページなのですが、載せた箇所だけでなく別の所が駄目になってしまっているのかもしれません・・・・

その他の回答 (3)

  • pringlez
  • ベストアンサー率36% (598/1630)
回答No.4

サイトを保存してscript部分を以下のように修正したところ問題なく動くようになりました。 #2さんの回答のとおり「"」を消すだけです。 「編集・保存の仕方がわからない」というのは、もはやJavaScriptとは何の関係もありません。 var Default = 2; var tags = new Array('div','td','tr'); var sizing = new Array('xx-small','x-small','small','medium','large','x-large','xx-large'); function FontChange(target,tarF) { if (!document.getElementById) return var dore = document,tarS = null,fontSize = Default,value,su,cTags;fontSize += tarF; if (fontSize < 0) fontSize = 0; if (fontSize > 6) fontSize = 6; Default = fontSize; if (!(tarS = dore.getElementById(target))) tarS = dore.getElementsByTagName(target)[0]; tarS.style.fontSize = sizing[fontSize]; for (value = 0 ; value < tags.length ; value++) { cTags = tarS.getElementsByTagName(tags[value]); for (su = 0 ; su < cTags.length ; su++) cTags[su].style.fontSize = sizing[fontSize]; } }

go-to
質問者

お礼

絶対パス→相対パスの変換は自動で行われませんよろしいですか? と書いてある別の修復モードがありました。 それで保存(保存とはまた別の定義っぽいですが)したところ動くようになりました。 今胸をなでおろしております;w; pringlez様、iphqwo様、babu_baboo様、このサイトで素人の無茶な質問にお答えいただいている皆々様、本当にありがとうございます!この場を借りまして御礼申し上げます。 これからも迷える子羊を御救い下さいますよう・・・・・・

go-to
質問者

補足

なんと!動きましたか! しかし、保存の方法は1種類しかなくその保存のボタンをクリックし、また編集ページに戻ると""が自動的に付いてしまっているのです。 でも、いままではその状態で動いていたのであるから何か別で保存する方法があるはずなので探してみます! ありがとうございました。

  • iphqwo
  • ベストアンサー率21% (10/47)
回答No.3

せっかく編集しても 以前の状態に戻されるので、 先にCMSの使い方を覚えたほうが良いと思います。 文字の大小、画面の拡大縮小はブラウザでほとんど標準でついていると思いますので 無理にJavaScriptで操作行わなくとも良いのかなと思いました。 【Internet Explorer(IE)の文字サイズを大きくする方法 】 http://nanapi.jp/1297/ 私の知っている町の公式HPは 文字の拡大縮小の機能を持たせているところはありませんでした。 問題解決に至らずすいません。

go-to
質問者

お礼

 確かに知っている方はブラウザの機能を使われるワケですがやはり自治体の多くにこの機能が付いており、知っている方からすれば必要ないのですが知らない人からすればこれでしか出来ないと思っている方もいらっしゃるかもでして・・・ どうにかあがいてみます。ありがとうございました。

  • iphqwo
  • ベストアンサー率21% (10/47)
回答No.1

オンラインでJavaScriptの文法チェックが出来る「The Online Lint」で構文のチェックをされてはいかがでしょうか http://www.javascriptlint.com/online_lint.php 英語でエラー記載されますが、翻訳サイトで翻訳すると意味わかると思います。 色々壊れていて修正難しそうです..

go-to
質問者

お礼

色々壊れていますか;;;;;;; そうなると・・・・もはやお手上げに近いワケですね・・・・・;w;

関連するQ&A

  • javaで文字の拡大、縮小

    とある地方自治体を管理している素人です。 何を触ってしまったのかHP内の文字を大きくする小さくするの、機能でエラーが発生するようになり、機能しなくなりました。 <TABLE border=0 cellSpacing=0 cellPadding=3 width=330 align=center> <TBODY> <SCRIPT type=text/javascript> <!-- var Default = "2;" var tags = "new" Array('div','td','tr'); var sizing = "new" Array('xx-small','x-small','small','medium','large','x-large','xx-large'); function FontChange(target,tarF) { if (!document.getElementById) return var dore = "document,tarS" = null,fontSize = Default,value,su,cTags;fontSize += tarF; if (fontSize < 0) fontSize = "0;" if (fontSize > 6) fontSize = "6;" Default = "fontSize;" if (!(tarS = dore.getElementById(target))) tarS = "dore.getElementsByTagName(target)[0];" tarS.style.fontSize = sizing[fontSize]; for (value = 0 ; value < tags.length ; value++) { cTags = "tarS.getElementsByTagName(tags[value]);" for (su = 0 ; su < cTags.length ; su++) cTags[su].style.fontSize = sizing[fontSize]; } } //--> </SCRIPT> <TR> <TD bgColor=#ffdddd vAlign=center width=200> <DIV align=right> <TABLE border=0 cellSpacing=0 cellPadding=0> <TBODY> <TR> <TD> <STRONG> <FONT color=#333333> <IMG border=0 hspace=3 alt="" src="arrow_01.gif"> </FONT> </STRONG> </TD> <TD> <STRONG> <FONT color=#333333>文字の大きさ&nbsp;&nbsp;</FONT> </STRONG> </TD> </TR> </TBODY> </TABLE> <STRONG> </STRONG> </DIV> </TD> <TD bgColor=#ffdddd width=65> <DIV align=right> <STRONG> <FONT color=#333333> <A href="javascript:FontChange('body',1)"> <IMG border=0 hspace=3 alt=文字を大きく vspace=3 src="font_big.gif"></A> </FONT> </STRONG> </DIV> </TD> <TD bgColor=#ffdddd width=65> <DIV align=right> <STRONG> <FONT color=#333333> <A href="javascript:FontChange('body',-1)"> <IMG border=0 hspace=3 alt=文字を小さく vspace=3 src="font_small.gif"> </A> </FONT> </STRONG> </DIV> </TD> おそらくこの部分に記述してある事の何かが駄目なんでしょうが、どこがどう駄目なのかまったくわかりません。 どなたかご教授をお願い致します。

    • ベストアンサー
    • Java
  • 文字の大きさ変更

    ページ全体の文字の大きさを変更できるボタンを設置したいと思い 検索で調べて柿のようなスクリプトを作ったのですが、 IE6だと反映されません。どうしてでしょうか? (長くてすみません) <SCRIPT language="JavaScript"> <!-- var Default=3; var tags = new Array('div','td','tr'); var sizing = new Array('70%','80%','90%','100%','110%','120%','130%'); function FontChange(target,tarF){ if (!document.getElementById) return var dore = document,tarS = null,fontSize =Default,value,su,cTags; fontSize += tarF; if (fontSize < 0) fontSize = 0; if (fontSize > 6) fontSize = 6; Default = fontSize; if (!(tarS = dore.getElementById(target))) tarS = dore.getElementsByTagName(target)[0]; tarS.style.fontSize = sizing[fontSize]; for (value = 0 ; su < tags.length ; value++){ cTags= tarS.getElementsByTagName(tags[value]); for (su = 0 ; su < cTags.length ; su++) cTags[su].style.fontSize = sizing[fontSize]; } } //--> <a href="javascript:FontChange('body',1)"><img src="images/big.jpg" alt="" border="0" /></a> <a href="javascript:FontChange('body',-1)"><img src="images/small.jpg" alt="" border="0" /></a> それから出来ればボタン大中小で押せばサイズがそのサイズ で決まっているのだいいのですが、参考になるサイトは ないでしょうか?

  • 【タグ】左寄せする方法

    一部消去していますが、以下のようなフォームを左に任意のスペースを空けて表示させる場合、どういったタグを使えばいいのでしょうか。 よろしくお願いいたします。 <FORM ACTION="" METHOD="GET" NAME="TG" TARGET="_blank"><table width="250" border="0"><tr><td bgcolor="#0000FF"><div align="center"><font color="#FFFFFF"><strong>検索</strong></font></div></td></tr><tr><td>選びください。<br></br><select name="stayym" size="1"><option value="200902"></option></select></br><br>選びください。</br><select name="catid" size="1">n><option value="11203</option></option></select><input type="submit" value="GO"></td></tr><tr><td><div align="right">ツーリスト</div></td></tr></table></FORM>

    • ベストアンサー
    • HTML
  • HTMLでテーブルを縦に並べたい!

    基本的な質問でお恥ずかしいのですが、困っています。 テーブルを二つ、縦に並べたいのですが、何故か横に並んでしまいます。 どこが悪いのでしょうか?初心者ですみません…お知恵をお貸しください(T_T)。 <caption><font color="#ff0000">●</font>A <font color="#0000ff">●</font>B</font></caption> <table bgcolor="#80ffff" border="1"cellspacing="0" bordercolor="#0000ff" align="left"> <tr><th width="30"><font size="+5"><font color="#ff0000">●</font></th> <th width="150"> <font size="+4"><strong><big>C</big></strong></font></th> <td><font size="+2">D<br>E</font></td></tr> <tr><td></td><td><div align="center"> <font size="4" color="#8080ff"> 準備中</font></div></td><td></td></tr></table> </p></div> <p></p> <table align="center" bgcolor="#80ffff" height="20" width="250" border="1" cellspacing="2" cellpadding="0"> <tr><td><blink>HOME</blink></td></tr> </table> </body>

    • ベストアンサー
    • HTML
  • borderが1のテーブル

    ボーダーが1ピクセルくらいの表を作りたいので、tableの入れ子で作ったのですが「tableの入れ子は良くない」ととあるサイトで読んだので、入れ子にしないでtableを作りたいのですが何か良い方法はありますでしょうか? 私が書いたのはこんなかんじです。 <table width="400" border="0" cellpadding="0" cellspacing="0"> <tr> <td bgcolor="#000000"><table width="100%" height="100%" border="0" cellpadding="0" cellspacing="1"> <tr bgcolor="#999999"> <th><div align="center"><font size="2">名称</font></div></th> <th><div align="center"><font size="2">模型材質</font></div></th> <th><div align="center"><font size="2">生産材質</font></div></th> </tr> <tr bgcolor="#FFFFFF"> <td bgcolor="#999999"><div align="center"><font size="2">本体</font></div></td> <td><div align="center"><font size="2">発泡塩ビ板</font></div></td> <td><div align="center"><font size="2">プラスチック</font></div></td> </tr> </table></td> </tr> </table> CSSで「style="border-width :1px 1px 1px 1px;border-style : solid solid solid solid ;border-color :#000000 #000000 #000000 #000000 ;"」というのを入れてやってみたのですが、これだと外側にしかラインが表示されませんでした。 よろしくおねがいします。

  • javascriptで文字を拡大・縮小させるには?

    最近、アクセシビリティを考慮して、ブラウザの機能上だけでなく、 javascriptを使用した、文字を拡大・縮小するボタンがついているHPを良く拝見します。そこで、作成してみたのですが、どうもうまく機能してくれません。 下記のようにテキストのみの簡単なソースなら OKなのですが、表の中の文字なども同じように拡大・縮小 させたりするにはどうしたらよいでしょうか? お詳しい方がいらっしゃいましたらどうぞ宜しくご指導お願いします。 <style type="text/css"> <!-- .btn { width:100px; } --> </style> <script type="text/javascript"><!-- fsize = 100; function sizech(val) { fsize = fsize + eval(val); if(fsize < 40 ) { alert("これ以上小さくできません"); fsize = 40; return false; } if(fsize > 200) { alert("これ以上大きくできません"); fsize = 200; return false; } if(val == "0") fsize = 100; document.body.style.fontSize = fsize + "%"; } //--> </script><LINK rel="stylesheet" href="table.css" type="text/css" id="_HPB_TABLE_CSS_ID_"> </HEAD> <body id="bd"> <div><form> <input type="button" class="btn" value="縮小" onclick="sizech('-20')"> <input type="button" class="btn" value="default" onclick="sizech('0')"> <input type="button" class="btn" value="拡大" onclick="sizech('+20')"> </form></div> <P align="center">aaaa<BR> </P>

  • <div>内でjavascript

    つまづいてしまったので教えてください。 文章系のサイトなので、javascriptで文字サイズを読んでくれる方が好きな大きさに変えれるように作ってあります。現状は<head>内に、 <script type="text/javascript"> <!-- function fontsize() { document.all.cc.style.fontSize = ff.ss.options[ff.ss.selectedIndex].text; } // --> </script> フォントサイズを変更するプルダウンメニュー。 サイズ変更させたい文章を<font>で囲ってかこむ(<td><font id="cc">○○</font></td>。 で、ここからが質問なのですが、これはページ全体を<div>で囲ってしまうと使えなくなってしまうのでしょうか? ページデザインを変えたくて、今までのテーブル(ページ全体)を<div>で囲ってしまったら、プルダウンメニューで文字サイズを変更しようとすると画面が真っ白になってしまいました。 <div>内容は、 <div style="width:100%;height:100%;overflow:auto;border:1px dotted #ff8c00;"> です。 どうも上手く説明できなかったのですが、<div>で囲ってしまうと文字サイズは変更できなくなってしまうのでしょうか? 分かる方いらっしゃいますか?

  • ▲▲テーブルと一緒に<FONT size="2"></FONT>は使えない?

    こんばんは☆僕は今テーブルを利用してカラーコード一覧を作成しています。そこで日本語の文字を入力したのですが…<FONT size="2">Color Code一覧</FONT>と「テーブルの外に」入力すると【Color Codeˆ&ecirc;—— 】←のように表示されます…。直接【Color Code一覧】入力すると問題はありません。なぜでしょうか?わかる方教えてください☆ <HTML> <HEAD> <TITLE></TITLE> </HEAD> <BODY> </FONT size="2">Color Code一覧</FONT> <TABLE Border Cellspacing="1"Width="20%" align="center"> <TR> <TD><FONT size="3" face="MS UI Gothic"><DIV align="center">Collar Code・RGB</DIV></FONT></TD> </TR> </TABLE> <BR> <TABLE Border Cellspacing="1" Width="75%" align="center"> <TR> <TD colspan="6"><FONT size="3" face="MS UI Gothic"><DIV align="center">#000000 - #00ffff</DIV></FONT></TD> </TR> <TR> <TD BgColor="#000000"><FONT size="3" face="MS UI Gothic"><DIV align="center">#000000</DIV></FONT></TD> <TD BgColor="#000033"><FONT size="3" face="MS UI Gothic"><DIV align="center">#000033</DIV></FONT></TD> <TD BgColor="#000066"><FONT size="3" face="MS UI Gothic"><DIV align="center">#000066</DIV></FONT></TD> ~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ </TR> </TABLE> </BODY> </HTML>

    • ベストアンサー
    • HTML
  • javascriptで計算した結果の表示について

    CSVファイルの表をhtmlで表示するものです。 そこから二つのデータ(価格・特価)を使って計算した結果(割引率)を新たに表に加えたいのですが、そのやり方がわかりません。 以下のリストに<BODY onLoad="CalcDiscountRate"()>を加える場合はどこに加えればいいでしょうか? また、他にやり方がある場合はお願いします。 他にも間違っている箇所があった場合はお願いします。 特に<script>内は自信がありません。 実行すると割引率が空欄になるようになってます。 <HTML> <HEAD> <TITLE>A</TITLE> <SCRIPT LANGUAGE="JavaScript"> function CalcDiscountRate(){ for(i=0;i<document.all.oTable.tBodies.length;i++){ document.all.oTable.tBodies[i].rows[0].cells[4].innerText = Math.floor((1-document.all.oTable.tBodies[i].rows[0].cells[5]. innerText/ document.all.oTable.tBodies[i].rows[0].cells[3].innerText) *100)+"%" } } </SCRIPT> </HEAD> <OBJECT classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83" ID="list"> <PARAM NAME="CharSet" VALUE="shift-jis"> <PARAM NAME="DataURL" VALUE="list1.txt"> <PARAM NAME="UseHeader" VALUE="true"> </OBJECT> <BODY> <TABLE ID="oTable" DATASRC=#list BORDER=1> <THEAD> <STYLE TYPE="text/css"> .highlight {font-weight : hold;background : #ffdddd} </STYLE> <TR> <TD BGCOLOR="#ddddff"><B>品番</B></TD> <TD BGCOLOR="#ddddff"><B><CENTER>品名</CENTER></B></TD> <TD BGCOLOR="#ddddff"><B>カテゴリ</B></TD> <TD BGCOLOR="#ddddff"><B>定価</B></TD> <TD BGCOLOR="#ddddff"><B>割引率</B></TD> <TD BGCOLOR="#ddddff"><B>特価</B></TD> <TD BGCOLOR="#ddddff"><B>在庫</B></TD> </TR> </THEAD> <TBODY> <TR BGCOLOR="#ffffbb"> <TD><DIV DATAFLD="no" ALIGN=CENTER></DIV></TD> <TD><DIV DATAFLD="name" CLASS="highlight"></DIV></TD> <TD><DIV DATAFLD="shurui"></DIV></TD> <TD><DIV DATAFLD="teika" ALIGN="right"></DIV></TD> <TD BGCOLOR="ffe0ff"></TD> <TD><DIV DATAFLD="tokka" ALIGN="right" CLASS="highlight"></DIV></TD> <TD><DIV DATAFLD="zaiko" ALIGN="right"></DIV></TD> </TR> </TBODY> </TABLE> </BODY> </HTML> どうかよろしくお願いしますm(__)m 以下余談 このソースはあるテキストを見て写したものです。 なのでだいたいはあっていると思いますが、テキストは数ページ分をスキャンした中途半端なもので、ソースも途切れ途切れで提示されているため初心者の私にはそれをどこに書いていいかが解らないのです。 <BODY onLoad="CalcDiscountRate"()>を使いたいのもそういった理由です。

  • ヤフオク出品時のタグで・・・

    商品説明のタグで <div align="center"> <table border="0" width="60%" cellpadding="0" cellspaing="0"> <tr><td align="left"><font color="#60457a"> ここに商品説明を入れる。 </font></td></tr> <tr><td align="left"><hr color="#7a6d45"></td></tr> <tr><td align="left"><font color="#60457a"> </table> </div> このようなものを作りましたが (これは1行のみですが実際は何行にもなります) 出品時に見ると左寄せになってしまいます。 センター合わせになると思い作ったのですが どこがわるいのでしょう?