さっぱりわかってない初心者なんですがどこ調べてもいまいちわかりにくかたんでここで質問させてい
ただきます。
HPのオープニングに2枚のFLASHアニメ(SWF形式)を順番に表示させてから少し待ってトップペ
ージにジャンプするJAVAスクリプトが欲しいです。
setTimeout();がどうこうという所で行き詰まってて、HTMLでFLASHを表示してJAVAスク
リプトでアニメ終了まで時間待ちという形をとってみたんですが全く待ちもせず一度に全部表示してし
まいます。レイアウトは最初に1枚目の画像を画面中央に表示。終了までまって消去。次の画像も中央
に表示。終了したら1秒待ってトップページにジャンプとい感じです。
よろしくお願いします。
>>869 <form ... target="_blank">とかでどお。
>>865-868 別に自分のコードが優れているとも何とも思ってないんで、
ぜひもっといいコード貼ってよ。勉強させてもらうから。
>>870 だから現象だけ説明されても回答しようがないだろ。ソースの
要点を貼ってみなってば。
いま分割でカキコします。すんません
<html><head>
<meta http-equiv="Content-Type"
content="text/html; charset=x-sjis">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title>無題 標準ページ</title>
</head>
<body bgcolor="#000000" text="#FFFFFF">
<p align="center">
<OBJECT classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000"
codebase="
http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0"
きたない文ですんません。根本的に勘違いしてそうで怖いんですが・・
そのclear()ってのは何よ?これでどうして表示が切り替わるつもり
なのか説明してみない?
clear()で画面消去ができると書いてあったなんですが別の言語ですか
881 :
Name_Not_Found :03/02/13 02:07 ID:rrU3O0FT
「あるリンクをクリックすると登録してある複数のURLからランダムで
選ばれてジャンプする」というのはありますか?
ポイントは最初のリンクテキスト(画像)は同じものを常に表示させたいことです。
要するににクリックして当たりペ0ジが出る確率は1/10で、
それ以外は広告ページというのを作りたいんです。
お願いします。
882 :
Name_Not_Found:03/02/13 03:46 ID:IE7FQjQp
883 :
Name_Not_Found:03/02/13 05:47 ID:pomUrXGw
少し説明が長くて申し訳ありませんが、どうしても解決できません。
どなたかお助けください。
クライアント側の共有フォルダの中にあるファイルを開いたり、ファイル名を表示させるexeがサーバ側にあります。
HTML内に<input type="file...>というタグがあり、ファイルをアップロードできるようになっています。
ここでアップロードしたファイルの名前を変数に格納して、前述のexeにJavaScriptを使って渡すと特定の文字だけ化けてしまいます。
化ける文字はShift-JIS16進数で表した時に、2バイト目に0x5Cがある文字です。5Cをエスケープ文字と認識してしまうみたいです。
JavaScriptを使わずに渡した場合は化けません。
escpae()はブロウザやバージョンによって動作が違うので、IE6だとUnicodeに変換してしまうので、うまく利用できません。
ちなみに、escpae()を使用すると、今度はカタカナが全て、文字化けしてしまいます。
どうしたら、この問題を解決できるでしょうか?
JavaScriptで、文字をShift-JISの16進数に変更するのはどうしたらいいのでしょうか?
数値を指定の進数に変換する関数はありますが、文字の場合はどうすればいいのでしょうか?
長々とすみませんでした。
>>883 //与えられた文字列の1文字目の16進Shift_JISコードを返す
execScript('Function VBASC(s)\nVBASC=HEX(ASC(s))\nEnd Function','vbs');
alert(VBASC("ソ"))
>>883 その0x5cを含む文字だけ文字コード調べて「%xx%5c」と書く
のはどう?読みにくいけど一番簡単かも。
>>885 そのための質問なんじゃないの?
>JavaScriptで、文字をShift-JISの16進数に変更
887 :
Name_Not_Found:03/02/13 09:45 ID:pomUrXGw
883です。皆さんありがとうございます。
私も885さんのアイディアと似たようなことを思ったんですが、文字を16進数のShift-JISにすることができません。
escape()を使うと、
IE6とOpera6では16進数Unicode、
NN7では16進数Shift-JISコード、
を吐き出すというふうに、動作結果が違うんです。
escape()を使った方がいいのでしょうか?
それとも、他に16進数にするやり方があるのでしょうか?
>>887 手で(コード表で)調べろという意味だったんだけどな。
1文字だけ調べてあげるからその文字を書いてみ。
>>881 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var a = ['
http://www.goo.ne.jp','
http://www.2ch.net','
http://www.ntt.com'];
function randomjmp() {
location.href = a[Math.floor(Math.random()*a.length)]; return false;
}
</script>
</head><body>
<p><a href="
http://www.yahoo.com" onclick="return randomjmp()">test</a></p>
</body></html>
>>879 別の言語のようですな ^_^; そもそもすべての<script>...</script>は
連結されて実行されるんでchange_Time()を2重に定義しても無意味でしょ。
<script>...</script>を分けて意味があるのはdocument.write()するときとか
だけ。おまけにchange_Time()を呼び出すところがないし。
たぶん素直な技としては<body onload="setInterval(change_Time, 100)">
とかして定期的に呼び出すようにして、その中で呼び出された回数を数える
かFlash Pluginのメソッド呼んでムービー再生中か調べるとかして、ムービー
切り替えて、2つ目が終わったらlocation.hrefに行き先を入れてジャンプする。
Flash PluginをJavaScriptから使う場合の情報はこちら
ttp://www.macromedia.com/support/flash/publishexport/scriptingwithflash/ 自分はFlashやらないんでそれ以上は試したことなし。
ひとまずそのFLASH PLUGINを試してみます。
ありがとうございました。過程と結果も報告させてもらいます
>>879 JavaScript1.0にclear()はあったけど、
open()でも似たような効果を出すから1.1で削除されたそうな
894 :
frame:03/02/13 15:37 ID:bKKKVITd
menuフレームのボタンでmainフレームを印刷したく、下記のように書いたんですが、実行すると
エラー: 'parent.main' は Null またはオブジェクトではありません
と出ます。どなたか解決策をお教えください。
*スクリプト部*
<script language="JavaScript">
<!--
function PrintMainFrame(){
parent.main.focus();
parent.main.print();
}
//--></script>
*HTML部*
<input type="button" name="insatsu" value="印刷" onClick="PrintMainFrame()">
印刷出来るが。
<frameset cols="60,*">
<frame src="hoge.html" name="sub">
<frame src="hoge2.html" name="main">
</frameset>
でhoge2.html印刷
>>893 おお、そうなの。勉強になるなあ。でもopen()で自ページクリア
しちゃうとJavaScriptも消えて止まっちゃうよねー。
>>894 フレームの切り方が問題になるということを認識してないでしょ。
フレーム切ってるHTMLを貼ってみれ。
898 :
frame:03/02/13 17:19 ID:pqNYfPri
>>895 環境が悪いのでしょうか?
Windows2k+IE6とwindows2k+Sleipnir
なんですけど・・・。
>>897 こちらです。
<%@Language="VBScript" %>
<HTML>
<HEAD>
<TITLE>システム</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis">
</HEAD>
<FRAMESET COLS="150,*" ROWS="*">
<FRAME SRC="left.asp" NAME="menu" SCROLLING="NO" NORESIZE>
<FRAME SRC="./kinmu/timecard/timecard.asp" NAME="MAIN">
</FRAMESET>
<NOFRAMES>
<BODY>
</BODY>
</NOFRAMES>
</HTML>
NAME="MAIN" -> NAME="main"
>>899-900 JavaScriptでは、と補足しておく。
# HTML側では name 属性は case-insensitive なので。
902 :
Name_Not_Found:03/02/13 23:50 ID:jiC/6FKo
あほですいません。
新しく開いた子ウィンドウのフォームから
CGIにデータを渡し、
ついでに子ウィンドウを閉じるには
どんな風に書けばよいのでしょうか?
903 :
Name_Not_Found:03/02/13 23:51 ID:jiC/6FKo
たびたびすいません。
新しく開いた子ウィンドウのフォームから
CGIにデータを渡し、
親ウィンドウに結果を表示して、
ついでに子ウィンドウを閉じるには
どんな風に書けばよいのでしょうか?
です。
>>1 それが分かってれば質問する必要ないじゃんバーカ
905 :
Name_Not_Found:03/02/14 00:14 ID:FU0dZdX+
889さん、ありがとうございます。
文字化けする文字は16進数のShift-JISで表した時に5Cで終るもので、「能」(945C)、「表」(955C)などです(一応2つ書いちゃいました)。
<INPUT TYPE=file NAME="upload_file_name">
でアップロードしたファイル名にそれらの文字が含まれていると、
txt = document.aa.upload_file_name.value
に格納して渡す時に化けてしまいます。
できれば、テーブルを作成して…というやり方は避けたいのですが、無理でしょうか?
やっぱりわかりません。というか英文読めません。
誰か
>>870のHTMLとスクリプト書いていただけませんか?
907さん
すみません、884試してません。
JavaScriptじゃないと思ったので。
これはVBなのでしょうか?
JavaScriptと一緒に使えるということですか?
VBはやったことないんですが、もしそうなら、勉強してみたいと思います。
909 :
Name_Not_Found:03/02/14 01:19 ID:IsePXyt1
このスクリプトを見つけたのですがURLはどこに挿入したらいいのですか?
あるリンクをクリックすると当たりページが1/10であとはハズレページが
表示されるというものです。
配列にURLを格納し、リンクがクリックされたら乱数を発生させて配列の中
からランダムにURLを選択してジャンプします。
<Script>
var url = new Array;
url[0] = "0.html";
url[1] = "1.html";
url[2] = "2.html";
url[3] = "3.html";
url[4] = "4.html";
url[5] = "5.html";
url[6] = "6.html";
url[7] = "7.html";
url[8] = "8.html";
url[9] = "9.html";
function click() {
var ran = Math.floor(Math.random()*url.length);
location.href = url[ran];
}
</Script>
<A HREF="JavaScript:click()">リンク</A>
>>909 >配列にURLを格納し、リンクがクリックされたら乱数を発生させて配列の中
>からランダムにURLを選択してジャンプします。
ここまで書いておいて解らない香具師にはどうやって教えていいか解らない。
自分なりに考えて色々いじってみなよ。最初のうちはあてずっぽでいいから。
907さん
すみません、884試してません。
JavaScriptじゃないと思ったので。
これはVBなのでしょうか?
JavaScriptと一緒に使えるということですか?
VBはやったことないんですが、もしそうなら、勉強してみたいと思います。
912 :
Name_Not_Found:03/02/14 02:44 ID:SiVCyT/v
フォームに入力されたデータを、
子ウィンドウに送信(submit)するには、
どうするの?
<form target="子ウィンドウの名前">
>>911 VBscriptをJavascript内で使うためのメソッド>execScript()
IE限定。
execScript('Function VBASC(s)\nVBASC=HEX(ASC(s))\nEnd Function','vbs');
を書いておけば
VBASC("ソ")で呼び出せる。戻り値は16進Shift_JISコード
「IEでSJISエスケープするには?」ってFAQかもね。
916 :
frame:03/02/14 08:49 ID:XL+7Smmd
>>899-901 ありがとうございます。さっそく大文字小文字をそろえてみました。
でも、同じエラー<'parent.main' は Null またはオブジェクトではありません>が出てしまいました。
framesetの方にあまり手を加えると怒られるので、scriptの方をを大文字にそろえてしまったんですが。
<script language="JavaScript">
<!--
function PrintMainFrame(){
parent.MAIN.focus();
parent.MAIN.print();
}
//--></script>
917 :
914:03/02/14 08:51 ID:???
execScript() の説明で「第二引数にvbsを指定したら」が抜けてた。
918 :
frame:03/02/14 09:11 ID:XL+7Smmd
小文字にもそろえてみました。
私の持ってるデータが古かったみたいで、今はNAMEは小文字だったそうです。
ですので、scriptも小文字にそろえなおしたんですが、やはり同じエラーが出ました。
914さん、884さんありがとうございました。
すごい!とても勉強になりました。
execScript()がJavaScriptのメソッドだって、何で気が付かなかったんだろう?
すみませんでした。
IEはこれで対応して、NNはescape()を使えば解決できそうね。
試してみます。
920 :
Name_Not_Found:03/02/14 09:42 ID:c1k21sM+
商品を注文をするフォームでテキストボックスに
"0"が入力されると警告を出すようにするか、
"0"を入力不可能にするようになんとか出来ないでしょうか?
警告を出すことはできるに決まっているが。調べたの?
922 :
Name_Not_Found:03/02/14 10:00 ID:c1k21sM+
警告を出す事は知っているのですが
0を入力すると警告を出す方法がわからないのです。
>>920 テキストボックスに数値の 0 が入力されたら即警告を出したいのか、
たとえば数量を記入するテキストボックスに 0 としか記入されずに、
送信ボタンが押されたら警告をだしたいのか。
どう考えてるの?
>>920 さらに聞くなら「0」1文字の場合?「00」みたいに数値の0になるもの
すべて?「」みたいに空っぽの場合も数値に変換すると0になるが。
<input type="text" onchange="if(this.value == '0')alert('??')">
こんな感じ?
>>918 まあ順番にしらべようよ。
alert(window.parent);
alert(window.parent.frames);
alert(window.parent.frames.main);
alert(window.parent.frames.main.focus);
これ順番に試してみたら?
execScript('Function VBASC(s)\nVBASC=HEX(ASC(s))\nEnd Function','vbs');
を使っても16進Shift-JISになりませんでした。
どんな文字でも、"3F"を返します。
927 :
frame:03/02/14 13:21 ID:XL+7Smmd
>>925 試してみました。
<script language="JavaScript">
<!--
function PrintMainFrame(){
alert(window.parent.frames.main);
//parent.main.focus();
//parent.main.print();
}
//--></script>
上の3つはalertで、4つ目はエラーでした。メッセージは以下のとおりです。
[object]
[object]
undefined
'window.parent.frames.main.focus' は Null またはオブジェクトではありません
>>926 VBASCに渡してる文字列が既に化けている雰囲気。
930 :
ディーゴ:03/02/14 17:18 ID:LONYiCz0
JAVAScript内でウィンドウを出し、
そのウィンドウが閉じるのを待ってから、
次の処理に移るにはどうしたら良いですか?
<SCRIPT>
.
.
window.open("AAA"); このウィンドウが閉じたら
.
.
alert("pepe")これを出す
.
.
</SCRIPT>
みたいな。
931 :
Name_Not_Found:03/02/14 17:19 ID:tojYdR6x
setTimeout で関数名の部分に関数内メソッドを指定するとエラーになります。
例えば
setTimeout("this.myView()",100);
などと記述するとエラーになるのです。
ちなみに this.myView(); ではエラーにはなりません。
メソッドであり関数でないためにエラーになるのでしょうか?
関数やらオブジェクトやらメソッドやらプロパティやら
その辺の用語の概念がよくわかっていないずぶの素人ですが
よろしければどなたか教えてはくれませんか?
>関数内メソッド
なんじゃそら?
933 :
Name_Not_Found:03/02/14 17:28 ID:tojYdR6x
>関数内メソッド
オブジェクト内メソッドかも。
メソッド→関数、プロパティ→変数
オブジェクトを定義して、その中でsetTimeoutを使ってメソッドを指定すると
原因不明のエラーになる、ということです。多分。
935 :
Name_Not_Found:03/02/14 17:43 ID:tojYdR6x
>>930 呼び出し元のファイル
<script language="JavaScript">
<!--
function openNewWindow(){
window.open(URL);
}
function closedWindow(){
alert("pepe");
}
//--></script>
openNewWindow() は適当に呼び出しといて
で、呼び出されるファイルには
<body onunload="window.opener.closedWindow();">
ってこういう書き方でいいのかな
>>931 結果だけ言うと setTimeout の引数に文字列で与えたコード中の this は
window オブジェクトを参照する。
だからオブジェクトのメソッドで setTimeout なんか使っても
呼出元のオブジェクトを参照することができない。
setTimeout の引数に文字列で与えたコードは
setTimeout の呼出コンテキストから独立しているんだよ。
だから this みたいにコンテキスト依存するものを
引数の文字列に使っても呼出したスコープの this を参照しない。
呼出元オブジェクトを参照する必要があるなら
ローカルスコープの変数を参照できる関数を作成して setTimeout の引数に指定しる。
var o=this;setTimeout( function(){o.myView()}, 100 );
そうすれば関数はその呼出コンテキストで宣言された変数を参照できる。
938 :
Name_Not_Found:03/02/14 17:51 ID:tojYdR6x
>>937 ありがとうございます。少しわかったような気になりました。
やってみます。
939 :
Name_Not_Found:03/02/14 18:18 ID:tojYdR6x
できました! ありがとうございました。
this の代わりに呼び出し元オブジェクトの名前を使って
メソッドを指定してみてもダメだったのですが
オブジェクトの名前を外部でローカル変数として
定義していたのが悪かったようです。
グローバル変数としてオブジェクト名を定義したら問題なく動作しました。
お騒がせしました。
…言葉の使い方が適切かどうかちょっと不安。
940 :
930ことディーゴ:03/02/14 18:49 ID:LONYiCz0
おいらもかまってクレヨン
>>940 お、IDが「ロンリーで行くぞ」ですな。
>>940 「JavaScript ページを出る」でぐぐる。
>>940 | |
| |∧∧
|_|・ω・`) 漏れの書いた
>>936じゃダメでつか?
|鬱|o o.
| ̄|―u'
""""""""""
944 :
ディーゴ:03/02/14 19:41 ID:LONYiCz0
>>943様様
見逃してたヨ・・・
それで行ってみます。
ベリーサンクス
945 :
ディーゴ:03/02/14 19:41 ID:LONYiCz0
946 :
Name_Not_Found:03/02/15 02:21 ID:U9++RDQT
フレームが上下2つに分かれていて
上フレーム名がup
下フレーム名がdownとします。
上フレームにはボタンがあり、
<INPUT onclick=start() type=button value=" はじめ ">
ボタンを押すと
下フレームのフォーム内
<FORM method=post name=watch>
<INPUT name=box size=10 style="FONT-SIZE: 60pt;">
</FORM>
に文字が表示されるようにするのには
どうしたらよいですか?
start()関数が、これだとうまくいかないです。
だれかお助けを。
function start()
{
parent.down.document.watch.box.value = " こんにちは " ;
}
don't name it start
948 :
946:03/02/15 02:42 ID:U9++RDQT
<INPUT onclick="start();" type=button value=" はじめ ">
でもダメなんですけど
>>928>>929 さん、ありがとうございます。
シンプルに下記のようにテストしました。
どんな文字を入れても「3F」が返ってきます。
execScript('Function VBASC(s)\nVBASC=HEX(ASC(s))\nEnd Function','vbs');
var pp = VBASC("表");
alert(pp);
勉強不足でVBのことはよくわからないんですが、ASC(s)という部分できっとASCIIに変換してるんだと思います。
シングルバイトの文字を引数として渡すと、例えば「i」を渡すと「69」を返します。
ASCII表で確認すると、「i」は69で合っています。
ちなみに、3Fは「?」です。
ASC(s)を削除して、直接HEX()にダブルバイトの文字を渡すとエラーが出ます。
>>950 そのscriptを試したファイルのエンコードが
UTF-8の時に「3F」になる模様。
Shift_JISで保存したほうがよさげ。
>>951さん、ありがとうございます。
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
というタグはは元々あったんですが、私のマシンでは「3F」と出ていました。
<script>にcharset="Shift_JIS"という属性を追加しましたが、結果は同じでした。
環境の違いでしょうか?
>>952 そのファイルを開いた状態で新たに「名前をつけて保存」を実行して
文字コードを「日本語(シフトJIS)」にして保存。
その保存したファイルを開くとどう?
>>953 ありがとう!
>>953 >>954 様
してありました。でも、3Fです。
もう1回してみましたが、ダメですー。
では、皆さんのところではちゃんとShift-JISのコードが表示されるんですね?
うーん。
>>953 >>954 様
今、何人かの友達に試してもらいましたが、皆「955C」と出たそうです。
私のだけ何かおかしいんですね。
>>955 新たに
<script>
execScript('Function VBASC(s)\nVBASC=HEX(ASC(s))\nEnd Function','vbs');
var pp = VBASC("表");
alert(pp);
</script>
だけをファイルに記述して保存してみては?
それでダメならとりあえず環境をかいてみよう。
win2000sp3+IE6sp1では成功する。
ただし
>>951の通りUTF-8で保存されていると失敗する。
環境は
英語版 Windows 5.00.2195 Service Pack 3
IE6.0.28
です。
>>958 文字コードを「日本語(シフトJIS)」にして保存
↑
この操作はやってみたの?
>>958 他に試せるのはこのぐらいか。
execScript('Function VBASC(s)\nVBASC=HEX(ASC(s))\nEnd Function','vbs');
var pp = "表";
alert(VBASC(unescape(escape(pp))));
961 :
Name_Not_Found:03/02/15 12:50 ID:vPETetED
JavaScriptで、ID名やクラス名を関数に渡したいんですが、上手くいきません。
例えば
<img src="〜" ID="ID_01" onmouseclick="Click("ID_01")">
で、スクリプト側で
function Click(temp)
{
aleat(document.all.temp.src);
}
とかやると、もろに「temp」という名前のIDを探しに行ってしまいます。
コレをなんとか関数側でtempの中身をIDとして処理させることはできないでしょうか…?
ド素人な質問でごめんなさい・・・
>>961 元のスクリプトに表記ミスはないよね?
onclick="Click(this.id)"
alert(document.getElementById(temp).src)
document.allはIEだけではあるがもし使いたいなら
alert(document.all.item(temp).src)
963 :
961:03/02/15 13:41 ID:???
ありがとうございます! item(temp)で解決しました!
多謝!!!!
厨房な質問ですみませんが、IEで表示された画像を任意の大きさまで10%づつ縮小させたいと思い
インターネットショートカットのURLに javascript:document.body.style.zoom*=0.9;eval(); と書いて
お気に入りに登録してみたのですが、クリックしても全く反応しません。どこが間違ってるのでしょうか?
>965
書くべきスレッドを間違っています
商品を注文をするフォームでテキストボックスに
"0"が入力されると警告を出すようにするか、
"0"を入力不可能にするようになんとか出来ないでしょうか?
>>967 取り合えず前者は出来ます。
まぁ、JavaScriptが無効なら無力なのでサーバサイドで対処した方が良いかと。
うむ、こいつに違いなさそうだな
971 :
山崎渉:03/04/17 15:55 ID:???
(^^)
972 :
山崎渉:03/04/20 04:01 ID:???
∧_∧
( ^^ )< ぬるぽ(^^)
ここまだ生きてるのな
定期的に埋めに
html化させて
過去スレ一覧を整然と
19がもう出てますよん
この板の住人、埋め立てに興味なさすぎ…19かよ。
あと20だし、他板の連中呼び込めばなんとか…
でも荒れるからやだな
999まで埋めても、誰も1000ゲットしてくれない…
あり得るな
ほかにもあるのかよ
しかも999止まり…
たしか999でdat落ちしていたスレを前見かけたな
あと少し
10分経っても999のまま…ある意味すごい。
千里の道もあと10歩強
1000直前でageればきっと埋まるな
とか言っているうちに一桁台に…
>>990 その手があったか!今度からそうします…
プロトタイプベースのOOで遊ぶ…
こんなのが動くと知った日は相当に驚いた。
(function(msg){alert(msg);})("test");
でも使い道ないな
二次元配列じゃない…
alert([5,4,3,2,1][0]);
正規表現…
alert(/ok/ig.exec("ookk"))
セミコロンの自動挿入は…
目標シナリオ:
998=このレス
999=age
1000=埋め
999 :
Name_Not_Found:03/05/28 00:13 ID:GawvXHQW
それではどうぞ
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。