- ベストアンサー
VBScrptが使えない(初歩的質問)
初歩的質問で申し訳ありません html内にVBscriptでプログラム作成したのですが ローカルにファイルを置いてhtmlファイルを開くと プログラムが動作するのですが、 フリーのホームページサーバにアップロードして インターネットで見ると動作しません。 やはり、UNIX系のサーバではクライアント側の スクリプトでも動作しないと言う事でしょうか? という事はサーバはIISでないとvbscriptは全く 使えないとの事でしょうか? 続けて質問で申し訳ありません。IISをサーバとして いてvbsriptが使用できる無料ホームページスペース って存在するのでしょうか?探しましたが 見つかりません。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
<input type="button" value="リセット" name="B2" OnClick = "riset"> の行を以下のように書き換えれば動作すると思います(ウチでは動作しました)。 <input type="button" value="リセット" name="B2" OnClick = "riset()"> または、 <input type="button" value="リセット" name="B2" OnClick = "vbscript:riset"> 原因ですが、以下に記すのは、あくまで僕の推測です(完全な仕様などが調べきれなかったため)。 フリーのサーバーがjavascriptで書かれたスクリプトを付け加えますが、OnClickでのsub呼び出しや、やfunctionの呼び出しなどは呼び出しが行われた時点で呼び出し行の文法のチェックが行われるようで、一つのhtml内にjavascriptとvbscriptが混在している場合、2番目の修正のように明示しないと、javascript、vbscript双方の文法チェックが行われてしまうようです。 そのため、html内にVbscriptのみを記述していた時には動いていた <input type="button" value="リセット" name="B2" OnClick = "riset"> 行が動作しなくなったと思われます。 これは動作している <html> <body> <SCRIPT LANGUAGE ="VBSCRIPT"> <i-- sub riset() msgbox "test" end sub --> </SCRIPT> <form> <input type="button" value="リセット" name="B2" OnClick = "riset"> </form> </body> </html> に <SCRIPT LANGUAGE ="JavaScript"> </SCRIPT> の行を追加するだけで動作しなくなるという現象から、多分、間違っていないと思います。 ただ、javascirptではOnClick=risetでは全く動作しないので、ScriptErrorという結果は納得できないのですが、javascriptとvbscriptが混在している状態での、スクリプトエンジンの動作の詳細などが不明なため、これ以上調査できていません。 どうしても気になるのではあれば、ご自分で調査して補足して下さい^^)
その他の回答 (4)
- todo36
- ベストアンサー率58% (728/1234)
>フリーのサーバーがjavascriptで書かれたスクリプトを付け加えますが、 なるほど。。。 >一つのhtml内にjavascriptとvbscriptが混在している場合、2番目の修正のように明示しないと、javascript、vbscript双方の文法チェックが行われてしまうようです。 明示しない場合はjavasciptで解釈されるのでしょう。 言語を指定しないとjavasciptが動くので、javascriptが デフォルトの言語でしょう。 ----- <HTML> <script> msgbox "VBScript" alert("javascript"); </script> <script> alert("javascript"); </script> </HTML> ---- メタタグでデフォルト言語を指定できます。 <meta http-equiv="Content-Script-Type" content="text/vbscript" />
- EEshiba
- ベストアンサー率29% (45/152)
えーと、ウチではローカル、サーバとも動作しているので、何とも言えないのですが、 <i-- sub riset() msgbox "test" end sub --> となっていますが、この<i--は<!--のはずでは? 単なる転記ミスでなければ、一度、直してやってみてはどうでしょうか?
お礼
わざわざご確認ありがとうございます。 i→!にしてみましたが結果は一緒でした。
補足
下のテキストをアップロードしてソースを見ると 以下のようになっていました。 フリーチケットシアターというフリーのサーバを 利用しています。広告を加えるため以下のような ソースを加えているようです。 やはりこのようなサーバではscriptは使えない みたいですかね。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-- saved from url=(0034)http://freet*.com/******/***.htm --> <!-- FreepageScript1 start --><HTML><HEAD> <META http-equiv=Content-Type content="text/html; charset=shift_jis"> <SCRIPT language=javascript1.2> <!-- document.write('<script language="javascript" src="http://page.freet*.com/new****.js">' + '</scr' + 'ipt>'); // --> </SCRIPT> <!-- FreepageScript1 end --> <META content="MSHTML 6.00.2800.1400" name=GENERATOR></HEAD> <BODY> <SCRIPT language=VBSCRIPT> <!-- sub riset() msgbox "test" end sub --> </SCRIPT> <FORM><INPUT onclick=riset type=button value=リセット name=B2> </FORM></BODY></HTML>
- edomin
- ベストアンサー率32% (327/1003)
「ローカルでは動くけど、アップロードしたら動かない」時って、ローカルファイル等に対する設定が入っていたりしませんか?
補足
何がおかしいのかと思い、簡略化してテストして みました。以下のソースだとローカルでは動くの ですがアップロードすると動きません。 何がおかしいのでしょうか?? <html> <body> <SCRIPT LANGUAGE ="VBSCRIPT"> <i-- sub riset() msgbox "test" end sub --> </SCRIPT> <form> <input type="button" value="リセット" name="B2" OnClick = "riset"> </form> </body> </html>
- todo36
- ベストアンサー率58% (728/1234)
>やはり、UNIX系のサーバではクライアント側の >スクリプトでも動作しないと言う事でしょうか? 動くでしょ。 --"hello.html"--- <script language="vbscript"> msgbox "Hello" </script> ----
お礼
回答ありがとうございます hello.htmlをアップロードしたら 確かに動きました! 何がおかしいかソースをよく見てみます。
お礼
ありがとうございました!! 上記呼び出しで動作しました。 vbscriptとjavascriptでわからなくなっていたんですね。