+ JavaScript の質問用スレッド vol.13 +
771 :
Name_Not_Found :
02/11/01 14:54 ID:3cSbI0ZS
772 :
Name_Not_Found :02/11/01 15:19 ID:3cSbI0ZS
htmlのページで、 ぱっとはるだけでリファをとれるソースをお願いします!
>772 <SCRIPT LANGUAGE="JavaScript"> document.write(document.referer); </SCRIPT>
>774 TNX
776 :
Name_Not_Found :02/11/01 15:58 ID:3cSbI0ZS
ありがとう! 773は、アクセスログを一緒にとらないといけないんでしょうか? それを保存する、いい方法もあったらお願いします。
>776 サーバのアクセスログが取れるならそれ見ればいいだけ。 JavaScriptでは保存は出来ない。 CGI使え。
778 :
Name_Not_Found :02/11/01 16:12 ID:3cSbI0ZS
それも一緒にお願いします・・。 すいません。
779 :
Name_Not_Found :02/11/01 16:14 ID:3cSbI0ZS
只、ジャバスクリプトをきられたら、 つまりアクセスログにすら残らないという事でしょうか? javaをきってても、カウントはされますよね。 ・・771お願いします 何を試してもうまくいかない・・なんでだろう
ちょっとイタイな。 次の方どうぞ。
サーバのアクセスログはクライアントの設定には関係ない。サーバが記録していれば必ず記録される。 tripodがアクセスログ見せてくれてるか、referrer記録してるかは知らんゾ。 referrerはクライアントが出さない可能性もあるので必ず取れるものでもないぞ。 CGIはCGIスレへ。 むこうも迷惑だろうが・・・。
782 :
Name_Not_Found :02/11/01 16:24 ID:3cSbI0ZS
助けて下さい
783 :
Name_Not_Found :02/11/01 16:26 ID:3cSbI0ZS
ありがとう。 鯖の中で、自分でフォルダつかって、ということです。 781さん、アクセスログは、「常時」見せてくれる可能性があるということですか? 鳥からの操作で。
JavaScriptに関するどういう質問なのかはっきりさせなよ。 JavaScriptに関する質問なら回答があるだろう。そうでないなら スレ違いだから無視されるだろう。 どっちともはっきりしない質問はさらに一層無視されるだろう。以上。
785 :
Name_Not_Found :02/11/01 16:31 ID:3cSbI0ZS
ぐすん。
786 :
Name_Not_Found :02/11/01 17:04 ID:ET4B9gIp
:3cSbI0ZSが今まで荒らした板は PC初心者板 ム板 Webprog板 ここ Windows板
788 :
Name_Not_Found :02/11/01 17:12 ID:3cSbI0ZS
WIN板なんていってないです。 あとム板って何?
「プログラ*マ*板」→「マ板」、「プログラ*ム*板」→「ム板」
790 :
700 :02/11/01 19:00 ID:???
791 :
勘違い :02/11/01 19:02 ID:???
700じゃなくて
>>770 でした。。。。すいません、お願いします。
>791=>770 できるかどうかは知らないけど,もしそういうことができてしまうと よくマナー違反と言われる「他人のコンテンツを自分のフレーム内で 表示してあたかも自分のコンテンツの一部に見せかける」ことを防ぐ 手立てがなくなってしまうと思う. で,あなたがやろうとしていることはそのマナー違反だと思うけど.
794 :
Name_Not_Found :02/11/01 21:03 ID:NU+A0U5/
16進法を10進法にしたいのですが、教えて下さい。
>>794 16進数を表す文字列を10進数に直すなら
decimal = parseInt('FFCC99', 16);
文字列が '0x' で始まる場合は第2引数を省略可。
796 :
Name_Not_Found :02/11/01 23:55 ID:sqkMlzAX
<html> <head> <script language="javascript"> <!-- function read(num1){ f=num1.form; f.result.value = eval(num1.options[num1.selectedIndex].value); } //--> </script> </head> <body> <br> <form> <select name="num1" onchange="read(this)"> <option value="1">1 <option value="2">2 </select> <input type="text" name="result" value="0"> </form> </body> </html> これで、select の箱ひとつから数字を引っ張ってくる方法はわかったのですが、 例えば、select の箱を2つ用意してその2数の合計を表示させたい時はどうすれば いいのでしょうか?
追記 つまり、ソース部の下から4行目のあたりに、 <select name=~num2" onchange=...?> <option value="1">1 <option value="2">2 </select> を追記して、最後の result の箱に、num1 と num2 の合計などを 表示させたいのです。
>797 たぶん、他人のソース見たんだろう。 君、見込みありそうだな(w この場合、thisなんて渡す必要は無くて、formの各オブジェクトをそのままアクセスすればよい。 例えばresult.valueでいいよ。
799 :
Name_Not_Found :02/11/02 03:50 ID:/RO2HXHF
image1をクリックすると、 <div style="position:absolute; width:200px; height:200px; top:10px; left:10px;">...</div> の部分全体を50px下にゆっくり徐々に移動し、 もう一度クリックすると、元に戻る というようなことをしたいんですが、 top:60px;になるまで、1pxづつ足していく。 って感じだと思うんですが、 行き詰まりました。 どなたかご教授願えないでしょうか?
>>799 どこで行き詰まったか興味あるな
まずそれを教えれ
801 :
799 :02/11/02 04:14 ID:???
>>800 かなり初歩で、です。
今までフォーム周りのしか組んだことないんで、
この<div>の部分をどういう風に指定したらいいのかとか、
とにかくまだ頭の中で整理してる段階で、
行き詰ってます。
802 :
Name_Not_Found :02/11/02 06:23 ID:Med8jLyh
質問させていただきます。 javascriptで前ページ(リンク元)のURLを取得する場合、 location.search以外に良い方法はありますか? ?が含まれていないURLの場合はどのように取得すれば良いのでしょうか。 アドバイスお願いいたします。m(..)m
>>799 HTMLのほうで<div id="move"></div>とかしておいて、
var md = document.getElementById('move');
md.style.position = 'absolute';
md.style.width = '200px';
md.style.height = '200px';
md.style.top = '10px';
md.style.left = '10px';
onloadでこのくらいのことをやっておく。
で、onclickで md.style.top なんかの値を
動的に変更していく関数を発動させればOK。
805 :
799 :02/11/02 10:23 ID:???
色々調べて、やっと今、なんとか動きました。 ろくに検索もせず質問してスイマセンでした。
806 :
Name_Not_Found :02/11/02 11:32 ID:uo6zvPqs
function OpenWin_01(){
var win01 = window.open("
http:// 〜〜〜〜〜〜/01.html","win01",
"width=800,height=600,left=0,top=0");
}
のようなスクリプトを沢山作りたいと思ったのですが、上の01の部分を02,03
と進めたものをfor文で作るにはどのようにすればいいのかわかりません。
for(i=1; i<=10; i++)
としてiを文字列に変換して挿入するのでしょうか?
その辺がよくわかりません。
すいません、基本的なことで。
もしよかったらアドバイスをいただけないでしょうか。
ふつうそういうのは引数で処理する。
function OpenWin(id){
var win01 = window.open('"
http://xxx/ '+id+'.html","win'+id+'", "width=800,height=600,left=0,top=0");
}
で OpenWin('01'), OpenWin('02') と呼び出すとか。
どうしてもその数だけ関数を作りたいなら
for (i=1; i<=10; i++) {
n = String(i+100).substring(1);
window['OpenWin_'+n]=new Function( コードを表す文字列 );
}
>>798 やっと分かりました。
select+option の中の数字は this を使って渡さなくてはならない
と思い込んでました。
もっと普通にやれば出来ました。どうもありがとうございました。
809 :
Name_Not_Found :02/11/02 13:57 ID:KX2UH1dL
>>807 親切にどうもありがとうございました。
とてもためになりました。
本当にありがとうございます。
810 :
Name_Not_Found :02/11/02 16:35 ID:vT4C12i5
テキストボックスでvalueとして何か文字が入っていて、 マウスクリックまたはTabで移動してきたときにその文字を消したいんです。 <input type="text" name="textfield" value="あああ" onFocus="this.value=''"> で、IE6にてとりあえず動作は確認したのですがTabでこのテキストボックスに 移動できません。 どこが悪いのかおわかりの方、お願いしたいと思います。
811 :
810 :02/11/02 16:50 ID:???
すみません、アフォでした・・・。 onClick="this.value=''" であっさり解決。 ただ、IEとOperaならいいんですが、 Netscapeではこのテキストボックスにフォーカスがうつっても あああ(value)を消さないといけないのが面倒ですね。
<script> </script> って普通htmlファイルの先頭に書くと思いますが、 これをあえて最後に書くことはできないのでしょうか? はじめに書くと結構ややこしいです。
>>812 bodyの中だったらどこでも書けるけど、いっそ外部ファイルにしたら?
>812 お好きなところへどうぞ。 functionを定義してたりすると、そういうわけにもいかないことがあるが。 もっとも、外部ファイルにして読み込んだ方がすっきりすると思うけどな。
815 :
Name_Not_Found :02/11/02 22:27 ID:jEFoHgUb
html に、 base →基本の数字 num1〜3 →スイッチ、on なら base を単利で20%増やし、off なら等倍 result →base に3つのスイッチの倍率をかけた結果を表示 という意味で、 <script language="javascript"> <!-- function fc(){ bairitu=1; if(document.temp.num1.value==1) {bairitu=bairitu+0.2;} if(document.temp.num2.value==1) {bairitu=bairitu+0.2;} if(document.temp.num3.value==1) {bairitu=bairitu+0.2;} base=document.temp.base.value; document.temp.result.value=base*bairitu; } //--> </script> というスクリプトを用意したのですが、スイッチを3つとも on にすると、 どうしたことか倍率が 1.6 ではなく 1.5999… となってしまうのですが、 これは仕様なのでしょうか? Math.round を使うしかないのでしょうか?
816 :
815 :02/11/02 22:29 ID:???
いうまでもないことですが、num1〜3 については、 <select name="num*"> <option value="1">on <option value="2" selected>off </select> となっています。
>815 数値計算の基本だな。 0.2が二進数では循環小数になってしまうのだ。 roundを使いたくなければ、整数(%)で計算して最後に100で割るってのもあり。
なるほど、そうなのですか。どうもありがとうございます。 ご説明に round を使いたくなければ〜という表現があるということは、 round を使って本来の数値にする、という手法は一般的に使われている 手法、ということなのでしょうか?(=ソースにそのような表現が あっても、それはソースとして不適切ではない、ということでしょうか?)
>818 計算の内容次第。
既に埋め込まれているid一覧を得る事は可能でしょうか?
822 :
Name_Not_Found :02/11/03 16:28 ID:nz8kidVl
IE6でstring.findを多用すると重いので関数自作しようかなと思うんですけど、無意味ですか?
>822 ぜひ試して軽くなるかどうか報告してくれたまえ。
824 :
Name_Not_Found :02/11/03 17:08 ID:9KP3TRBf
↑一秒間に何回関数を実行できるかコードを書けばいいのでしか? 追伸 OPERAのJSの挙動がIE,NNのと違う気がするのは気のせいですか?
>>824 n 回実行するのにかかる時間を計測するのが普通。
JAVASCRIPTのウィンドウを閉じるコマンドと 開くコマンドを教えてください。
827 :
826 :02/11/03 18:19 ID:???
すいません。なんだかわかりそうです。どうも。
window.open() widow.close()
829 :
829 :02/11/03 18:28 ID:???
× widow ○ window
window.open()で新しいページを開くようにして その新しいページにJAVASCRIPTで パスワードを使わない簡単なアクセス制限をつける方法を教えてください。 if(document.referrer.indexOf("")== -1) window.location.href=""; を使ってみたんですけど、window.open()で開いた窓はREFFERがついてなくて だめでした。
831 :
830 :02/11/04 12:37 ID:???
最後のREFFER⇒referrerです。 すいません(;´Д`)
>>830 簡単なのでいいなら opener&&opener.location.href.indexOf(〜) で判定すれば?
ページを開く時に 必ず横760pxになるように開きたいんですけど 簡単なソースありますか? 別ウインドウオープンではなく 例えば今、このページみてますよね? このウインドウを、横760にして開きたいってことです お願いします
>>833 幅を指定する特別な理由のあるサイトなら別だけど、
一般のサイトでそういうことされると、すごくイヤです。
835 :
830 :02/11/04 17:10 ID:???
なんとか解決しました。
>>832 さんヒントありがとうございました。
ゴゴゴゴゴゴゴ・・・
837 :
Name_Not_Found :02/11/04 17:53 ID:jdBAH/cl
dreamwever4.02(mac)を使用して以下のように 新しいウィンドウを開くように記述しました。 ですが、win(IE5.0)ユーザからウィンドウが開かないとの 連絡がありました。(自分はmac版でプレビューして作っていたので。) 自分でスクリプトを調べましてみましたが どこが間違っているのか分かりません。 教えていただけないでしょうか? よろしくお願いします。 <script language="JavaScript"> <!-- function MM_openBrWindow(theURL,winName,features) { //v2.0 window.open(theURL,winName,features); } //--> </script> </head> <body> <a href="javascript:;" onClick="MM_openBrWindow ('a.html','','scrollbars=no,resizable=yes')">aファイルへ</a>
>>837 これでいいんちゃうのん?
<a href="javascript:window.open('a.html','','scrollbars=no,resizable=yes')">aファイルへ</a>
839 :
837 :02/11/04 18:22 ID:jdBAH/cl
>>838 レス有り難うございました。
837と838の記述の違いで、ブラウザの種類・バージョンや、osによって
動作が異なったりするのでしょうか?
両方いっしょ。
WinIE6.0だけど
>>837 もちゃんと動いたよ。
その人がおかしいんでしょう、きっと。JavaScript切ってたりして。
841 :
837 :02/11/04 19:16 ID:jdBAH/cl
>>840 ありがとうございます!
わざわざ調べていただけるとは!
安心しました。
>>842 ソースが長くて汚いからよく読んでないけど
タイマーかなんかでどっか適当なレイヤーをスクロールしてるッポい
このやりかたダサくて嫌いだよ
845 :
Name_Not_Found :02/11/05 19:07 ID:KlRpN+6j
1枚のHTMLの中で、2枚の外部スクリプトを使いたいと思っています。 HTML内のボタンを押すと、2枚の外部スクリプトが それぞれ切り替わるようなものはできるでしょうか? *イメージ的にはCSS切り替えスクリプトのようなものです。 よろしくお願いします
>>845 外部スクリプト両方に共通のフラグ入れて
スクリプト全てをそれぞれif(frag)とif(!frag)で囲う。
後はHTMLでフラグを切り替えれば出来るんじゃない
スペルミススマソ
>>845 複数の外部スクリプトに同名の関数・変数を用意して切り替えたい、ということであれば
外部スクリプト内の関数・変数を一つのオブジェクトにしてしまうのも手。
----hoge0.js----
var hoge0 = new Object;
hoge0.foo = function () { ... }
hoge0.bar = function () { ... }
----hoge1.js----
var hoge1 = new Object;
hoge1.foo = function () { ... }
hoge1.bar = function () { ... }
のように作っておけば
ボタンで hoge=hoge0, hoge=hoge1 のように切り替えることで
hoge.foo(), hoge.bar() の参照する関数を切り替えられる。
setTimeout関数についてなんですが <html> <body onLoad="test();"> <script> function test(){ document.write("test<br>"); setTimeout("test()",1000); } </script> </body> </html> ↑のソースで1秒ごとに「test」が書き出されると思うのですが IE、Mozillaともに1回書き出して止ってしまいます どこがいけないんでしょうか?
documwnt.write() はロード完了後にこのメソッドを呼ぶと 引数の文字列でページ全体を書き換える。 基本的にはページのロード中に使うメソッドと思われ。 1.ページのロードが完了してonload が呼ばれ、test() が実行される 2.document.write() で、ページ全体のソースが 'test<br>' に書き換わる 3. setTimeout("test()",1000); で test() を呼ぼうにも このページに test() はもう存在しない ということで、そのソースは1秒ごとに「test」を書き出したりはしない。
>>849 その場合↓のようなのを薦める。
<html>
<body onLoad="test()">
<script>
function test(){
document.getElementById("xx").innerHTML+="test<br>";
setTimeout("test()",1000);
}
</script>
<div id="xx"></div>
</body></html>
//onload="document.open();setInterval('document.write()',1000)"でできなくは無いが
//使い勝手がいまいち。解説はどなたか・・
852 :
Name_Not_Found :02/11/06 04:51 ID:J1E1FXm7
<script>内の自己書き換えって実は可能?
タイマーを使えば?
setInterval
>>852 自己書き換えなんてしなくてもeval()で関数定義の差し替えでも
何でもできるじゃない。
>>853-854 どの方法を使おうがいちど表示し終わった後でdocument.write()
したらページがクリアされてスクリプトも止まっちゃうよ。
innerHTMLかDOMを使うしかない。
856 :
845 :02/11/06 09:51 ID:???
857 :
845 :02/11/06 12:11 ID:G0l/SCDp
…教えてもらっておいて躓いてしまいました(TДT)
実際にやってみようと思って全く解りませんでした。
すいませんが、どなたか具体的にヘルプをお願いします。
今僕が持っている2枚のスクリプトは、
それぞれ違う大きさの別窓を開くスクリプト「a.js」と「b.js」です。
1枚につきwindow.openが20前後含まれています。
HTML上で
「A」のボタンを選択した人には「a.js」を適用して200*200の窓を
「B」のボタンを選択した人には「b.js」を適用して300*300の窓を
それぞれ提供したいと思っています。
このとき、ボタンにはどういうアクションを指定したらいいのか
また、外部スクリプトにも特別な指定を必要とするか
ここを教えて頂きたいと思います。
>>846-848 さん、ごめんなさいー(TДT)
>>857 そもそもなぜ2つに分ける必要があるの?
もし単にウィンドウのサイズが違うだけなのなら、引数すれば良いかと…
859 :
845 :02/11/06 12:46 ID:???
>>858 ディスプレイサイズの違う環境の人に画像を見せたいと思います。
800*600の人は「a.js」を、1024*768の人には「b.js」を。
別窓に表示される画像も総て違うものです。
今まではフレームを使ってページごとスクリプトを切り替えていたのですが
1枚のHTMLの中でやりたいと思いまして…
>>859 例えば簡単な例で・・
----- hoge.js -----
function win(i,j,img) {
AAA = window.open("","","width=" + i + ",height=" + j);
AAA.focus();
AAA.document.write("<html><img src='" + img + "' alt=''></html>");
AAA.document.close();
}
----- HTML -----
<body>
<input type="button" value="800x600" onclick="win(200,200,'a.jpg')">
<br>
<input type="button" value="1024x800" onclick="win(300,300,'b.jpg')">
</body>
こういうのではないのかな?
これだと外部JSファイル1個で済みます。
861 :
845 :02/11/06 14:09 ID:???
>>860 ありがとうございます。
でもれだとボタンを各項目ごとにつけていかなくちゃいけないですよね。
画像1に対してボタンを2つ、のように。
>>845 では書きましたが、出来ればCSSの切り替えのように
「ボタンA」をクリックしたらa.jsが総てのアンカーに効くように
「ボタンB」をクリックしたらb.jsに…という感じにしたいと思っています。
感じとしては
>>848 さんの提案してくれたものにしたいです。
close()を実行した際に「ウィンドウを閉じますか?」と確認ダイアログが表示 される場合があるのですが、これが表示される条件は何でしょう? いまいちパターンが掴めないで困ってます また、このダイアログを表示させずに閉じる方法はあるのでしょうか?
863 :
862 :02/11/06 14:46 ID:???
自己レスです ごめんなさい、別件で煮詰まってるところにこれが出て、つい調べる前に 書き込んでしまった・・・ まず調べてきます
864 :
862 :02/11/06 15:06 ID:???
簡単な検索キーでうじゃうじゃでました(冷汗 これで終わりだとあまりに脳が無さ過ぎるので結果を・・・ ・スクリプトのopenで開いたウィンドウはcloseで閉じる事が可能(許可されてる) ・open以外の手段にて開かれてるウィンドウはセキュリティの関係上確認ダイアログが 表示される 簡単に言ってしまえば悪意あるスクリプトによる悪戯防止ってとこでしょうか 以上、失礼しました
>>864 おれも疑問に思ってたんだ。調べる手間が省けた!サンクスw
>>861 一例…
スクリーンサイズが1024x768未満ならAtest.jpg、それ以上ならBtest.jpgを開くとか。
<script type="text/javascript">
<!--
var typePfx = "A", wndW = 200, wndH = 200;
if(window.screen.width >= 1024 && window.screen.height >= 768) {
typePfx = "B", wndW = 300, wndH = 300;
}
function win(filename) {
window.open(typePfx + filename, 'wnd1', 'width='+wndW+',height='+wndH);
}
//-->
</script>
<form><input type="button" value="画像" onclick="win('test.jpg')"></p>
>>866 一番下、formはpに直して…(NN4でも動かしてみたので)
868 :
862 :02/11/06 15:50 ID:???
>>868 できねーぞ!、と思ったらActiveX使ってるのかYO!
でもONにしても「この操作はHTMLヘルプ内でのみ機能します」って出てだめぽでした(´Д`;)
セキュリティレベル下げるのもこわひ。
「マウスカーソルが領域外に出たらdiv要素を隠す」という処理がしたくて 下記のように書いたのだけど、テキスト(testのところ)にカーソルが乗ると onmouseoutが発生して消えてしまいます(Netscape7で確認)。 ボックスの外に出たときにだけ消したいのだけど、可能ですか? <html> <head> <script type="text/javascript"> function hide(){ var x = document.getElementById("hoge"); if(x){x.style.visibility = 'hidden';} } </script> </head> <body> <div id="hoge" onmouseout="hide();" style="border:2px #000000 solid;"> test </div> </body> </html>
>>870 とりあえず↓
<html>
<head>
<script type="text/javascript">
function hide(f){
var x = document.getElementById("hoge");
x.style.visibility = (f)? 'visible':'hidden';
}
</script>
</head>
<body>
<div id="hoge" onmouseover="hide(1);" onmouseout="hide(0);"
style="border:2px #000000 solid;">
test
</div>
</body>
</html>
>>862 ガイシュツだけど、
window.opener='bill gates only';
window.close();
とすれば、神の力で確認無しに閉じれる。
873 :
849 :02/11/06 18:45 ID:???
回答どうもでした・・・。
874 :
870 :02/11/06 19:11 ID:???
875 :
862 :02/11/06 19:25 ID:???
>>872 信じて試したYO!
「このウィンドウを閉じますか?」でますた(泣
>>875 <script language="JavaScript">
<!--
function clo(){
if(document.all){
window.opener=true;
}
window.close();}
//--></script>
<input type="button" onclick="clo()">
>>876 警告表示されますた。
というかスクリプト側の問題じゃないんではないかと思えて…
>>878 IE5.01。
IE6SP1がある日突然動かなくなったので、バージョンダウンしました。
880 :
Name_Not_Found :02/11/06 23:32 ID:6L5cIH5P
1234の間に、プラス(+)またはスペース(空白)またはマイナス(−) を挿入した式と計算結果を虱潰しに調べ、その結果を出力するプログラムを作って いて、一応できたんですけど、他のやりかたないですかね? <html> <body> <script language="javascript"> document.write("<center>"); a=new Array("+","-",""); b=new Array(); for(i=0;i<=26;i++){ b[i]="1"+a[Math.floor(i/9)]+"2"+a[(Math.floor(i/3))%3]+"3"+a[i%3]+"4"; document.write(b[i]+"="+eval(b[i])+"<br>"); } document.write("</center>"); </script> </body> </html>
>>880 何に使うのか知らんけど、その程度なら↓
<script type="text/javascript">
var a = new Array('+','-','');
var c,i,j,k;
document.write('<pre>');
for(k=0;k<=2;k++){
for(j=0;j<=2;j++){
for(i=0;i<=2;i++){
c='1'+a[i]+'2'+a[j]+'3'+a[k]+'4';
document.write(c,'=',eval(c),'\n');
}}}
document.write('</pre>');
</script>
無理にループを1つにしようとすると、あとから再利用が大変よw
# ところで結果は合ってるのかな、とりあえずスマソ
882 :
sage :02/11/07 02:41 ID:gU053k+B
>>862 -abone.html-
<HTML><BODY>
<A href="abone2.html" target="_brank">abone</A>
</BODY></HTML>
-abobe2.html-
<HTML><BODY onload="close();">
</BODY></HTML>
target="_brank"(新しいウィンドウで開く)で開いたページならできるのではないかと思います。
ついでに質問を。
<HTML><HEAD><BGSOUND id="snd" src="">
<SCRIPT language="JavaScript"><!--
var pass="2.mid";
snd.src=pass;
// snd.src="2.mid";
//-->
</SCRIPT>
</HEAD><BODY></BODY></HTML>
音が鳴らないんです…。
変数でファイルのパス指定をしたいのですが、どうすればいいのでしょうか?
883 :
882 :02/11/07 02:43 ID:???
sage間違えた。すんません
>>882 そりゃあ鳴りません。
つか<BGSOUND>のような独自拡張タグのことはワカラン。
ごめん、寝る。
>>882 追加。
JavaScriptにはメディアプレーヤーやライブオーディオなど
プラグインを操作するメソッドなどがあるので、
そっちを使うべきだろうとは思うけど・・・眠いのでスマソ。
886 :
Name_Not_Found :02/11/07 03:05 ID:Lo2/9NIH
>>881 eval()のタグを使わずにこのプログラムを完成させたいんです。
887 :
881 :02/11/07 03:15 ID:???
>>886 ぬあに、使える組み込み関数は使うに限るよん。
あとeval()を間違ってもタグと呼ばないように。
答える気力が無くなる。
上下にフレームで分割し、上のページにURL移動のプルダウンを置き、 下のページを切り替えたいのですが、このソースだと画面全体が切り替わってしまいます。 どこを直せばいいんでしょうか、、? よろしくお願いします。 ______________________________________________ <SCRIPT language="JavaScript"> <!-- function gotosite(hoge) { if (hoge != "") { top.location=hoge; } } //--> </SCRIPT> ______________________________________________ <form> <select name="hoge" onChange="gotosite(this.options[this.selectedIndex].value)"> <option selected>ページ移動</option> <option value="./a.html">aへ</option> </select> </form>
889 :
888 :02/11/07 04:19 ID:???
>>888 top.locationがまずいんじゃないかと思ってるんですが、それに替わるものが何か分からないのです。
御指導お願いします。
890 :
882 :02/11/07 04:23 ID:???
>>888 じゃその部分を
window.parent.表示させたいフレーム名.location.href=hoge;で
変えてみたらどうですか?
891 :
888 :02/11/07 04:34 ID:???
>>890 す、す、すげーーーーーーーーー。
出来ました。はげしく感謝します。
ほんとにどうもありがとうございました!!
892 :
882 :02/11/07 04:38 ID:???
それはよかった。
>>888 さんは私の質問、答えわかりせんか?
893 :
884 :02/11/07 05:32 ID:???
>>882 とりあえず↓
<html>
<head>
<script type="text/javascript">
<!--//ファイル名(パス)指定
var pass = 'bgm.mid';
//-->
</script>
</head>
<body>
<script type="text/javascript">
<!--
var c = '<div><EMBED src=\"'+pass+'\" hidden=\"true\"></div>';
document.write(c);
//-->
</script>
</body>
</html>
# この方法でもプラグインによっては鳴らない。
894 :
882 :02/11/07 06:09 ID:???
>>884 そうですか…
イメージの表示なら同様のソースでいけたので、サウンドもいけるかなと思ったんです。ありがとうございました。
<HTML><BODY><IMG id="image" src="">
<SCRIPT language="JavaScript"><!--
var pass="img.JPG";
image.src=pass;
// image.src="img.JPG";
//--></SCRIPT></BODY></HTML>
>>876 >>882 どちらも「このウィンドウを閉じますか?」の確認ダイアログ出ます
確認環境 Win2K IE5.0
仕様的には
>>864 の条件でダイアログが出ます
逆にダイアログが出ない環境って何でしょうか?
それともセキュリティの設定で変わるのかな?
領域の左上隅のx座標/y座標を知る方法はありますか? CSSでleft/topを指定していれば下記のソースで拾えますが、指定していない場合で。 <html> <head> <script type="text/javascript"> function foo(){ var m = document.getElementById("hoge"); if(m){ alert(m.style.left + " / " + m.style.top); } } </script> </head> <body> <ul> <li id="hoge" onmouseover="foo();">test</li> </ul> </body> </html>
897 :
ななし くん :02/11/07 13:51 ID:DEa8CaEa
SCRIPT language="JavaScript"> var number = Math.floor(Math.random()*3) if(number==0){ var Ly1='hidden'; var Ly2='hidden'; var Ly3='visible'; }else if(number==1){ var Ly1='hidden'; var Ly2='visible'; var Ly3='hidden'; }else{ var Ly1='visible'; var Ly2='hidden'; var Ly3='hidden'; } document.write('<div id="Layer3" style="position:absolute; width:360px; height:150px; z-index:3; left: 399; top: 449; visibility:'+ Ly3 +'"> <\img src="img/bnr03.gif" width="360" height="150" usemap="#MapL3" border="0"><\/div>'); document.write('<div id="Layer2" style="position:absolute; width:360px; height:150px; z-index:2; left: 399; top: 449; visibility:'+ Ly2 +'"> <\img src="img/bnr02.gif" width="360" height="150" usemap="#MapL2" border="0"><\/div>'); document.write('<div id="Layer1" style="position:absolute; width:360px; height:150px; z-index:1; left: 399; top: 449; visibility:'+ Ly1 +'"> <\img src="img/bnr01.gif" width="360" height="150" usemap="#MapL1" border="0"><\/div>'); </SCRIPT> なんですがNetscape4.7で表示されません・・・ どなたかわかるお方がいたらお願いします!教えてください!
898 :
Name_Not_Found :02/11/07 13:57 ID:wSrbXzqf
<form>のテキストエリアに入れる文字を 数字、カタカナ、ひらがな(要するに漢字以外の文字)が入ると メッセージを出すというスクリプトの書き方がわかりません。 よろしくお願いします
>>898 if(document.forms.フォーム名.elements.テキストエリア名.value.match(
/[^\u3400-\u9fff\ue040-\ueaff]/)) メッセージを出す
>>897 どうもdocument.write()でレイヤーのdivを書き出すのは問題あるみたい。
すべて「visibilty:hidden」でHTML直書きしておいて、見せたいものだけ
後で「document.Layer1.visibilty = 'visible';」等を実行して表示
させるっていうのではだめ? bodyのonloadに書いておけばほぼすぐに
見えるようになるはず。
901 :
ななし くん :02/11/07 15:16 ID:DEa8CaEa
>>900 有難うございます!
なんとかやってみます!!
902 :
ななし くん :02/11/07 17:33 ID:DEa8CaEa
>>900 できました!!本当にありがとうございました!
ちょっと聞いてみます。 3分割のフレーム使用時に親フレームをクリックすると 子フレームのテキスト(html)を同時に変更したいのですが 何か良い方法があるか教えていただけませんか? お願いします。
>>896 alert(m.offsetLeft + " / " + m.offsetTop);
>>903 別に難しくないと思うけど。フレームの切り方を書いてみなよ。
そしてどのフレームの何をクリックするとどのフレームの表示を
切替えたいかも。
906 :
Name_Not_Found :02/11/08 07:32 ID:XLWjebSM
>>906 ちゃんと見てないけど
// メインメニュー1のサブメニュー
SubMenu[2][1] = "SubMenu 1";
を
SubMenu[2][1] = "<a href='hoge.html'>SubMenu 1</a>";
とか
SubMenu[2][1] = '<a href="hoge.html">SubMenu 1</a>';
にすればいいんじゃねーの?
SubMenu[2][1] = "<a href="hoge.html">SubMenu 1</a>";
はスクリプトの「"」とHTMLの「"」がかぶるので×。
908 :
896 :02/11/08 08:41 ID:???
JavaScriptのことで質問なんですが、リンクのところの文字に カーソルをかさねた時にフォームに文字がでるヤツについて、 文字が1瞬で出てしまうのではなくて、左から順に1秒くらいかけて出るようにするには どうすればいいですか? 言葉の使い方おかしかったらごめんなさい。
910 :
Name_Not_Found :02/11/08 22:09 ID:vp5OHpbV
911 :
age :02/11/09 08:53 ID:???
上(up)、下(down)の2つのフレームがある時、 上のフレームをボタンも押さないでリロードするJavascriptを 下のフレーム内に書く方法を教えて頂きたいのですが、、。 Bodyにonloadを入れてもMETAタグにtarget入れてもダメだったので、、。
>>911 「下のフレームのHTMLから上のフレームをリロードする」のは
parent.up.location.reload();
だけど、「ボタンも押さないでリロード」って言われても解らん。
下フレームのロードが完了した時とか
なんかのタイミングでリロードするんでしょ?ランダムなタイミングなのか?
913 :
911 :02/11/09 09:22 ID:???
>>912 下フレームのロードが完了した時です。
Bodyにonloadで入れられますかね?
>>913 入れてみな。下フレームのHTMLのbodyに
onload="parent.up.location.reload();"
って。
915 :
911 :02/11/09 09:31 ID:???
916 :
Name_Not_Found :02/11/09 11:03 ID:5LsDVHmx
<EMBED>タグについての質問です。 javascriptを用いて document.open() document.write("ここに<EMBED>タグを記述してMIDIを埋め込みたい") document.close() と思い、実行してみたのですが、なぜだかエラーになりプラグインが 正常に作動しません。 できたソースをそのままコピーしてHTMLファイルとしてオープンすれば まったく問題なく再生できるのですが、これはjavascriptの仕様の問題 なのでしょうか? もしよければ、アドバイスをいただけないでしょうか?
>>916 もしかして、ページを表示し終わった後で自分のページに対して
これをやっているの?document.open()した途端にそのページの
内容はJavaScriptコードも含めてすべてクリアされてしまうって
知ってる? <script>...</script>の位置に埋め込むのであれば
open()やclose()を削除してdocument.write()だけにすれば動作
すると思うよ。
もしdocument.open()をしたいのであれば、別窓や別フレームに
対して行うようにする。見せたくなければ隠しフレームとかでもいい。
質問です。 <html xmlns:v="vml1.0"> <style>v\:*{behavior:url(#default#VML);cursor:default}</style> <body> <v:line from=50,200 to=250,200 strokeweight=10pt></v:line> <script> function mm_Event(){ var wX = window.event.offsetX; var wY = window.event.offsetY; document.title="Pos :" + wX + "," + wY;} document.onmousemove=mm_Event; </script></body></html> マウスを動かし、座標を取るのですが、 線の上にカーソルを置くと、座標が正しく解釈されません。 どうすればスクリーンの座標を正確に解釈できるようになるのでしょうか?
919 :
Name_Not_Found :02/11/09 11:25 ID:5LsDVHmx
>>917 返信ありがとうございます。
私の場合は上下フレームに分けて、上側のフレームの中の
フォームに記述されたテキスト(タグを含む)を下側に
表示するというものなのですが、
下側にはフォーム内の内容を
<HTML>
<HEAD>
〜〜
</HEAD>
<BODY>
ここにフォーム内の内容
</BODY>
</HTML>
として表示させるという、いわばタグの練習用に作ったもの
なのですが、
<EMBED>タグだけがうまく作動しません。
(<EMBED>タグでもFLASHファイルなどを埋め込むのは正常に
作動します。MIDIファイルだとなぜだか動きません)
フレームの下にできたソースをそのままコピーして新たに
HTMLファイルとして作ってそれを開いた場合は問題なく
MIDIのプラグインを表示して再生することはできるのですが…
おそらく文法的には正しいのではないかと自分では思っている
のですが、やはり見落としがどこかにあるのだろうか…
もしよければアドバイスお願いします。
>>918 offsetX/Y はイベントの発生したオブジェクト内での座標。
ウィンドウ内での座標が欲しいなら clientX/Y。
自分の書いてるコードが何を意味しているのを調べた方がいいYO。
>>920 恐らく解決しました。ありがとうございます。
>>919 なるほど…とすると、MIDIプラグインの問題かも。ちょっと解決方法
については分からないです。
923 :
909 :02/11/09 14:12 ID:???
>>910 よろしければもう少し具体的にお願いできますか?
924 :
909 :02/11/09 14:17 ID:???
>>924 こうかな。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var str, count;
function show(s) {
document.forms[0].elements[0].value = '';
str = s; count = 0; setTimeout(step, 100);
}
function step() {
document.forms[0].elements[0].value = str.substring(0, ++count);
if(count < str.length) setTimeout(step, 100);
}
</script>
</head><body>
<form action="#"><p><input type="text"></p></form>
<p><a href="#" onmouseover="show('あいうえおかきくけこ')">test</a></p>
</body></html>
927 :
Name_Not_Found :02/11/09 23:05 ID:IIcxPvgy
今表示しているホームページが 見られているかどうかを調べるにはどうしたらいいでしょうか? おっと!意味不明だとかキレないで! setTimerでカウントダウンを表示するスクリプトを動かしているんだけど ブラウザを最小化したりタブブラウザなら他のタブに切り替わってて 表示されてない状態などではカウントダウンをストップしたい そんなことをやりたいのですよ
>927 window.onblur
心配するな、いつでもあんちゃんが見ていてやるから。
931 :
927 :02/11/09 23:38 ID:???
>>928 それだと、フォーカスを失っただけで発生するのでまずいです
フォーカスが無くても見えている状態のときはカウントダウンさせたい
そんなん無理だから 電波くんさよなら
>>927 トランポリン方式を使え。
おっと!意味不明だとかキレないで!
frame内のiframeのsrc URLを変えたいのですがうまくいきません。 frame内に変えたいURLが表示されるのみです。 JavaScriptエラーはでてないようです。 frame1とframe2があり、frame2に表示したHTMLの中にiframe1が あります。 <a href="javascript:self.iframe1.location.href='URL';">Go</a> <iframe name='iframe1' src='...'> ブラウザはMozillaです。宜しくお願いします。
935 :
Name_Not_Found :02/11/10 01:45 ID:0h2jo30M
テーブルのセルに入ってるテキストボックスの内容の縦/横それぞれの 集計を取るにはどうしたらいいのでしょう? ……まぁ、数値チェックを行った上でハードコーディングして全部足せば いいのは判りますが、テーブルの列数/行数(特に行数)がCGIで変化 するので、それになるべく左右されない方法があればと思い、こちらに お邪魔した次第です。 なにか情報をお持ちの方がいらっしゃいましたらアドバイスをお願いします(拝)
JSで別窓を開いて画像を見せるのですが その画像がみんなサイズが違うのです。 サイズの合わせてブラウザを開かせる指定などは可能ですか? 画像が100枚以上あってできれば一つ一つ指定しなくても scriptの指定でできればと思うんですが。
>>934 ×self.iframe1.location.href='URL';
○self.frames.iframe1.location.href='URL';
でどうよ?
939 :
903 :02/11/10 09:50 ID:???
>>905 さんにスレ返して戴いてたのですが返信遅くなりましてすみません。
<HTML><HEAD><TITLE></TITLE></HEAD>
<FRAMESET cols="70%,30%">
<FRAME src="parent.htm" name="main">
<FRAMESET rows="50%,50%">
<FRAME src="child1.htm" name="up">
<FRAME src="child2.htm" name="down">
</frameset>
<NOFRAMES><BODY></BODY></NOFRAMES>
</FRAMESET></HTML>
でpaerent.htm内のリンクをクリックすると
child1とchild2が同時に切り替わるようにしたいんですけど。
教えて君でごめんなさい。
940 :
903 :02/11/10 09:55 ID:???
子窓のターゲット属性まではわかるんですが 1つのリンク先で2つ同時に別のファイルにリンクしたいもんで・・・ なぜ1つにまとめないのかは上窓に画像で 下窓にテキストの解説が入る形式にしたいだけなんですけど。
>>934 関数作ればできるけど <a href="javascript: ではできないですね。winIE
理由はシラソ。
>>940 ----- parent.htm -----
<head>
<script type="text/javascript">
function Win(i, j) {
parent.up.location.href = i;
parent.down.location.href = j;
}
</script>
</head>
〜〜〜
<a href="javascript:Win('上に表示したいもの', '下に表示したいもの')">くりっく</a>
ボタンなら、
<input type="button" onclick="Win('上', '下')">
って感じで。
943 :
934 :02/11/10 12:49 ID:???
ありがとうございます。 <a href="javascript:...">をやめて <span onclick="...">にしたらできました。 ????
>935 計算もCGIでやらない理由は?
945 :
936 :02/11/10 13:15 ID:???
>>942 サンクスです。
こういう風に考えるのですね。
勉強になりました。
この手の質問は二度としません。
ありがとうです。
947 :
Name_Not_Found :02/11/10 17:05 ID:rHs81Itj
ウィンドウが次々開くタグおしえてけろ
>947 for文でも使え ↓はい、次の方どうぞー
>>947 タグだったらHTMLだからスレ違いですね。しかも窓を開きまくるのは
迷惑なんでやめて欲しいね。
ときに950踏んだ人新スレ立てよろしくね。
950 :
927 :02/11/10 17:54 ID:???
>>933 できました!
グーグルで検索してやっとさっき出来ました。
ありがとうございます
JavaScriptで別フレームのページ(CGIによって表示)をリロードしたときに リロード前まで見ていた場所へスクロールするようにpageYOffsetで位置を 保存しておいてscrollTo()で移動させたいのですが、reload()とscrollTo() を続けて書くとスクロールしてくれません。 reload()とscrollTo()の間にalert()を挟んだらできました。 ページを完全に読み込んでからでないとscrollTo()で指定した位置まで スクロールできないのでしょうか? 解決策あったらお願いします。
>>951 まあ最低限スクロールする位置までは描画してないと
スクロールのしようがないだろうなあ。
CGI出力HTMLの方で onload から scrollTo() 呼ぶとかは?
953 :
Name_Not_Found :02/11/10 19:32 ID:GmzZEVKu
DOMかなんかでDoctypeを後から指定したいのですが方法をお願いします。
>>953 DOM で doctype を指定できる唯一の機会は
DOM2 以降の DOMImplementation.createDocument による Document オブジェクトの生成時のみ。
生成済みの Document の doctype の変更は不可能。
document.doctype が readonly であるだけでなく
replaceChild や removeChild を使っても例外が発生する様に規定されている。
使ったことはないけど、DOM2ではDoctypeオブジェクトを作るのは document.implementatin.createDocumentType(文字列, 文字列, 文字列) でできるとしている。最初の文字列はqualified name、2番目がpublic identfier、3番目がsystem identifierだそうだ。それでDoctypeを作った 後どうするのかは知らない。
>>955 おいおい、document.doctypeはreadonlyとなっているけど?
しかしDOM2について蘊蓄を垂れたい奴が3人はいることが分かった。
>>950 はスレなんか立ててくれそうにないけどどうするよ?
みなさまありがとうございます。readonlyということは、 始めに宣言しておかなければいいということでしょうか。 それとも無理ということ?
>>958 最初からそのように決まっているので無理ということ。ときに
なぜ途中でdoctypeを変更したいのか聞かせて欲しいな。
>>958 文書型宣言がない場合は document.doctype は null で readonly。
>>959 むしろ compatMode を変更したがっている、に一票。
Doctypeの書き忘れやページに合わない指定かどうかを すべてチェックするのが面倒なので。
おおっとお、これはまた予想外な答えだったねえ。そんなスクリプト 組むよりこまめにチェックすれって感じ。ただ、チェックして駄目なら 「ダメ」とか画面にでっかく表示するとかならreadonlyでもJavaScriptで できそう。
WSH+JScriptで書けば1クリックでチェック・修正・保存まで 全部やってくれるのを作れたりするかな。 # 門外漢なので憶測
964 :
Name_Not_Found :02/11/10 21:33 ID:9TTpyceB
>>952 onload で対処しました。ありがとうございました。
967 :
Name_Not_Found :02/11/10 22:39 ID:3hPLrTLa
<BODY onUnload=゙window.open(location.href);゙> これでブラウザからWEB上のページは閉じられなくなる。 HTMLENCODERを使えばほぼ最強の秘密ページが完成する
969 :
. :02/11/11 09:35 ID:MY7gsXcK
CGIにかんする質問の板ってどこですか? 大変申し訳ないですが教えて下さい スクリプト バンザイ!
>>969 おまえなんか、WebProg板にこなくてイイ! (w
972 :
969 :02/11/11 14:45 ID:MY7gsXcK
すいません、CGI作成がうまいこといったので、教えてくれなくていいです。 お手数かけました。 (レスがなくってほっとしたw)
旧スレをあげないでほしいんですけど…
記念パピコV(^o^)V
>>973 只今1000ゲッター募集中につき age
976 :
Name_Not_Found :02/11/12 14:45 ID:Z1nRZFR2
1000get だれか次スレ貼って
978 :
Name_Not_Found :02/11/14 17:05 ID:+WqADvdz
次スレいつ立つの?
980 :
manma :02/11/14 18:26 ID:oLClPp5A
質問です。 初心者なんですが、 全角スペースのキー入力方法がわかりません。 日本語入力モードでスペースキーを押しても入りません。 どうやるんですか?
記念パピコV(^o^)V