+ JavaScript の質問用スレッド vol.27 +
━━━━━JavaScript質問スレ道場訓━━━━━
一、礼節を重んじ常に努力精進すること
一、ブラクラに打ち勝つ精神力を持つこと
一、心身の優れたJavaScriptを学ぶこと
一、雑草の如く生涯JavaScriptを貫くこと
一、感謝と反省を忘れないこと
以上
━━━━━━━━━━━━━━━━━━━━━━
このスレに書き込むことが許されるものは以下のとおり
・JavaScriptとJavaの違いを理解する者
・スクリプトを組むための最低限のHTML・CSSを理解する者
・ユーザーに迷惑となるスクリプトを書かない者
・過去ログや関連資料を読むことができる者
・「初心者です」を振りかざさず、質問を分かる日本語で説明できる者
・対象環境や使用技術は質問者の裁量であることを理解する者
(質問時、回答時にはなるべく対象環境を明記しよう)
前スレ
http://pc5.2ch.net/test/read.cgi/hp/1077362343/l50 過去ログ・関連資料・その他質問スレは
>>1-10
【質問を書く上で】 弱気な表現は避ける 弁解じみた表現は良くない。また、まわりくどい。 ex) 超初心者で何もわかりませんが…… <そんなことより自分で試してみた記述を書いてくれた方が答えやすい> 情報を小出しにしない 読み手は馬鹿にされた気分になる。 無駄な倒置も不要だ。 使用したブラウザ、バージョン、OSくらい書こう。 感情的にならない 何の説明なく決め付ける文はよい印象を与えない。 また態度の大きい人は嫌われる。 ex) 答えられねぇんなら黙ってろ!!! <お前だけだよ> 無視するべきものは無視する 無能、知ったかぶり、宗教的主張、煽り、ぬるぽ等。 表記ミスに注意 内容がどんなにすばらしくても文字使いにミスがあると誤解を招く。 曖昧文は書かない いくつにも解釈できる文章は絶対に書かない。 ex) ここではきものをぬいでください。 「」など無駄な強調は避ける 読みにくい。♪や顔文字も同様である。 ソースは要点を整理して出す。 そのまま貼って動かせると試してもらいやすい。 長い場合はアップロードしてURIを貼る。
7 :
Name_Not_Found :04/04/01 02:21 ID:rKtkOtX9
popupでメニュー用の小さなウィンドウがでるようにしてます。 ただし、javascript off の人でも閲覧できるように ・javascript off用のページを最初に表示 ・onloadでjavascript on 用のページに飛ばす(ここでpopupメニューがでる) という造りにしてみました。 しかし最近、javascriptはonだけどpopupは実行しない、という 設定の人がいて、時々メニューが見えないと言われます。 これを振り分ける方法はありますか? それとも、popupメニューはもう諦めた方がいいんでしょうか
>>7 んー?そのポップアップって別窓出す奴だよね?
レイヤーでメニュー出すのはブラウザの設定では
止められないと思うんだけどな。
調べたい英単語をドラッグして、右クリックの「excite辞書で調べる」を選ぶと window.openで新しい窓を開いて、<AddLink-Mark>を 表示するようにしました だけど、そこのformに英単語を表示させる事ができません どうやったらできますか
ハア?
11 :
9 :04/04/01 20:58 ID:???
12 :
9 :04/04/01 20:59 ID:???
上手くいかないな <AddLink-Mark>は www.excite.co.jp/dictionary/ ですよ
13 :
9 :04/04/01 21:01 ID:???
どうしたらいいんだ 有名なexcite辞書の所ですよ 単語を調べたり、pageを翻訳できるとこ
<form action="/dictionary/english_japanese/" method="get" name="dictionary_form"> <input name="search" size="30" value=""> そのページのフォームはこうなってるから、簡単に設定できるだろう。 つーかAddLink-Markてのが分からん。ググっても分かり易いページが見つからんし。
15 :
9 :04/04/01 21:47 ID:???
<AddLink-Mark>は僕も分からない URLを貼ろうとすると、こんなマークがでるんです とにかく、domo
7>8 popupはサイズ指定した小窓を別に出すものです。 レイヤーっていうのが分からないんですが それを使えばどんなブラウザでもpopupしてもらえるってことでしょうか
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★ ★ ☆ ☆ 質問者は名前欄に最初の質問時のレス番号を入れろや!! ★ ★ ☆ ☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
>>16 前スレの967みたいのとか。「JavaScript レイヤー メニュー」
とかで検索すればいろいろあるよ。ただし窓やフレームから外へ
はみ出せないけどね。
var flag; var g=0; like = window.open("***.swf","","width=400,height=100"); InterID = setInterval("openNext(flag, g)",440); function openNext(flag, g){ clearInterval(InterID); flag = like.closed; if(flag && (g<3)){ like = window.open("***.swf","","width=400,height=100"); g++; } InterID = setInterval("openNext(flag, g, c)",240); } サブウインドウを消すと、三回まで同じウインドウを開くスクリプトを書こうと しているのですが、これを実行するとどんどん同じウインドウが開いてブラクラみたいになってしまいます。 どこがいけないのでしょうか?
書き忘れました。ブラウザはIE6でXPを使っています。
>>19-20 var flag;
var g=0;
like = window.open("about:blank","","width=400,height=100");
InterID = setInterval("openNext("+flag+","+g+")", 440);
function openNext(flag, g){
clearInterval(InterID);
flag = like.closed;
if(flag && (g<2)){
like = window.open("about:blank","","width=400,height=100");
g++;
}
InterID = setInterval("openNext("+flag+","+g+")", 240);
}
前スレ落ちたか?
レスありがとうございます。いろいろ間違えてましたね… それで、上のソースをabout:blankの部分だけ戻して実行してみました。 連続でウインドウが開くということはなくなったのですが、始めのウインドウがすぐ隠れて しまい、ウインドウを閉じても同じウインドウが出てくることはなかったです。 自分のブラウザかjavascriptの実行環境がおかしいのでしょうか?
写し間違いをしたみたいで、上に書いたことはうそです。_| ̄|○ しかし、今実行した状況としては、ページを開くと順に4つウインドウが開くような動きをしています。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<h1>test...</h1>
<script type="text/javascript">
var wid, tid, count = 0, uri = '
http://www.yahoo.co.jp ';
tid = setInterval(
function() {
if(!wid || wid.closed && ++count < 4) wid = window.open(uri, '');
else if(count >= 4) clearInterval(tid); }, 240);
</script>
</body></html>
>>22 前スレまだありますよ。
>>1 のリンクたどってみるとわかる。
ところでWeb製作板のテンプレ(っつーの?板の冒頭に出てる奴)
中のリンクがまだ旧スレなのでこっちに直してもらうよう申請
したいのですが、どこで頼めばいいんでしたっけ?
>>25 実行してみました。うまく思い通りの動作をしてくれました。
ただ、自分でurl='
http://~~~~~~/~~~~/***.html 'と宣言してもエラーになってしまいます。(なんで?)
だから、直接open()の中に書き込んだのですが、open()のなかに.htmlをおくと問題なく、
なかに.swfをおくとwid.closedがいつもtrueを返すようで連続表示の現象は直りませんでした。
関数の仕様なんですかね?
上のソースで、!widっていうのはwidオブジェクトがあればfalseを返すという認識でよかったですか?
>>27 あのー、
>>25 では「uri」(ゆーあーるあい)と書いてあるのでその辺
ちゃんと合わせた方がいいよ。URIとは何か知りたければ初心者スレ
へどうぞね。(ry
えーっと?swfファイルを直接ブラウザで開けるんだっけ。やったこと
ないなあ。HTMLの中にswfを埋めて指定するのはHTMLにするんじゃダメ?
!widとは、変数widに未定義とか0でない値が入っていれば。だから
この場合はその理解であっている。窓がまだなければまず開きたいからね。
とりあえず、動作としてはうまくいきました。uriからの指定でも動くようになりました。 ありがとうございます .swfだと"wid.closedがいつもtrueを返す"ということが免れないようで、だめですね。 swfファイルは、直接ブラウザで開けるはずです。(少なくとも自分のところでは) htmlのなかにswfを埋めると、どうしても上と左に隙間が空いてしまい合わなくなってしまうんです。
>>29 隙間はCSSを使えばいくらでも消せるでしょ。CSSスレで勉強したら。
31 :
Name_Not_Found :04/04/03 02:26 ID:SykgH+IH
マウスオン=アウトで画像切り替えに+案内窓表示をさせたい のですがひとつは出来ても(画像切り替えの方) 案内窓のJavaScriptが反映されません。 初心者には難しいのですが、なんとかなりませんかね?
案内窓?
質問はageてくれてもいいんじゃないの。 <img src="..." onmouseover="document.images[番号].src='ファイル';document.images[番号].src='ファイル';..." onmouseout="...同様..."> とかでいくつでもできるでしょ。
>>30 知りませんでした…
CSSを使えばそんなことができるんですね、勉強してみます。
ありがとうございました
37 :
Name_Not_Found :04/04/03 19:31 ID:ehtXHSuR
function hoge(obj) { alert(obj.value); } <form name=fm> <input type="text" name="num" value="123"><br> <input type="button" value="確認" onClick="hoge(num)"><br> <a href="javascript:hoge(num);">確認</a> </form> リンクのほうだけエラーになるのはなぜでしょうか?
<input>のonハンドラ中ではフォームの部品名は直に使える からそのままでいいが、<a href=...>の方ではそうは行かない から「num」ではだめで「document.forms.fm.elements.num」 とする必要があるんじゃないかなあ。
39 :
37 :04/04/03 21:05 ID:ehtXHSuR
>>38 input か <a href="#" onClick="hoge(num)">確認</a>でやることにします。
hrefだろうとonclickだろうとaタグだったら同じことでは。
同じかどうか試してから言え
なんにしろ、javascript: スキームのURIや イベントハンドラ属性に与えられたコードの実行スコープについては ベンダの情報を含めてきちんと文書化されたものがないような。
43 :
37 :04/04/03 23:47 ID:???
<a href="#" onClick="hoge(num)">確認</a>でやったら アンカーによるページのスクロールがウザいですね。 <a href="javascript:void(0)" onClick="hoge(num)">確認</a>にしました。
44 :
Name_Not_Found :04/04/04 00:09 ID:eC6FoOgX
<input type="text">や<input type="file"><textarea>などをいくつか含むFORMで、各書き込み欄のvalue.length==0であればwindow.alertで警告を出し、 value.length!=0であればそのまま送信するsubmitボタンはどうすればよいでしょう? もう一点、現状の私の知識ではURLにして送ることはできるのですがtype="file"もあるし、 そもそもsubmitってどういう形で送ってるのか説明しているサイトありませんでしょうか?
46 :
44 :04/04/04 01:19 ID:???
45さん、ありがとうございます。onsubmitイベントハンドラでいけそうですね。 multipart/form-datもさっそく調べておりますが先にひとつ質問させてください。 type="text"とtype="file"はひとつのform内に混在して一緒に送れるのでしょうか?
47 :
44 :04/04/04 01:20 ID:???
あー、ヤフオクは確か混在して送ってましたね。失礼しました。
というかJavaScript書くのにフォームデータのフォーマットはあんま関係ない
49 :
44 :04/04/04 01:36 ID:???
あー、ヤフオクの掲載フォームでは写真のアップロードは別でした。 やはりfileとtextは混在して送れませんか?
>>49 「混在」の意味が解らない。
<form ...><input type="text" ...><input type="file" ...></form> のこt?
51 :
49 :04/04/04 01:42 ID:???
>>50 さん、そうです。どうなのでしょうか?
なにとぞよろしくお願いします。
53 :
49 :04/04/04 01:46 ID:???
>>52 さん、どうもありがとうございます!確かにこの問題に関してはスレ違いでした。すみません。
javascript内の変数の値をformの<input type="text"..>などと一緒に送りたいのですが、 <input name="var1" type="hidden"...>に対してdocument.formName.var1.value=変数1; として一緒に送ろうと思っておりますが、これでよいのでしょうか? 変数1の内容はテキストです。
e
56 :
54 :04/04/04 02:06 ID:???
e(いー)ですよ、という解釈でよいでしょうか?
e
58 :
54 :04/04/04 02:08 ID:???
ありがとうございます。
<form onsubmit="checkForm()".....>で、checkFormは<input type="text"...>がカラであれば アラートウインドウを出して送信せず、カラでなければ何もアラートを出さずに送信する、とするために onsubmitに対してどのようにfalse,trueを渡せばよいのでしょう? 関数checkForm()内の末尾にreturn false; とかではどうもだめみたいなのですが。。。 よろしくお願いいたします。
>>59 そのcheckForm()から返した値をさらにonハンドラから返さないと
意味ないでしょ。
onsubmit="return checkFrom()"
60さん、ありがとうございます。ばっちり解決しました。 onsubmit="return 関数"で、関数の真偽をonsubmitから「<form>のsubmit動作」へ返す、と理解しましたがこれでよいでしょうか?
よろしいんじゃないの。
63 :
61 :04/04/04 13:56 ID:???
ありがとうございます。大変助かりました。
ページ内に埋め込んだ IFRAME ページがあるのですが、 これをリロードする方法はありますか? 今のところは表示しているページのアドレスをもういちど src プロパティに 入れなおしているのですが便利な方法があったらしりたいです。 いまのやり方だとたまに画面が更新されていない場合があるので ちょっといやなのです。
>>64 強制リロードだったら「location.reload(true);」を実行するのがよいよ。
66 :
64 :04/04/04 15:05 ID:???
>65 実際はどのように記述すればよいですか? Iframe内に表示されるページはドメインが異なるので contentWindow プロパティでは Window オブジェクトが 取得できません。またもとのページ自体はリロードさせたくはないです。 あくまでIframe内に表示しているページ自体のリロードという 方向性です。
>>64 : Iframe内に表示されるページはドメインが異なるので
それを先に書けって -_-# だったらできることはない。現状で最善。
(もしiframe内のページも自分で手が入れられるのなら一定時間
ごとにリロードするとかかな、でもそれも嫌でしょ。)
68 :
64 :04/04/04 21:38 ID:???
>67 どうもです。。。
>>67-68 ひらめいたぞ! iframeの中のHTMLは自ドメインにして、その中にまた
iframeを埋めてそこに他ドメインの内容を表示させ、自ドメインのiframe内容
を外側から強制リロードすればどうだ?そうすれば中に埋まってる奴も当然
取り直される。強制リロードは「windowオブジェクト.location.reload(true);」
ね、念のため。
馬鹿の考え休むに似たり
うーん、だめかなあ?
Geckoではちゃと動作してるけどなあ。IEでは駄目?いま手元にIEないんで誰か試してみそ。
---main.html---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
frames.i0.location.reload(true);
}
</script>
</head><body>
<p><a href="javascript:test()">test</a></p>
<iframe name="i0" style="width:100%;height:40ex" src="t2.html"></iframe>
</body></html>
---t2.html---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<iframe name="i0" style="width:100%;height:30ex"
src="
http://pc5.2ch.net/test/read.cgi/hp/1080743738/l50 "></iframe>
</body></html>
試してみてくれる人がいないなあ。春休み?
なんだよWin IE6でもO7でも
>>72 は動くじゃないか。
いったい
>>70 は何なんだ?技術力もないくせに人に
難癖つけるのが趣味か?
>>72 スレ違いだしどうでもいいが公的公開識別子が違う予感。
確かに…iframe使ってるんだからTransitionalにしないといけんかった。
<A href="javascript:window.close();"> は、フレームのある窓は閉じない仕様なのでしょうか?
>>77 window.close();はスクリプトで開いた窓を閉じるメソッド。
原則としてそれ以外の窓は閉じない。
>>78 例えば、window.open();
で開いた窓ならばそのリンク先がどんなものでも
閉じることが出来るんでしょうか?
私のページでは
window.open();で開いた先はフレームがあり、
メニューフレームの中にwindow.close();があるんですが。
80 :
Name_Not_Found :04/04/06 01:35 ID:h+sJZCvn
2chブラウザみたいなレスのポップアップを作るにはどうすれば良いですか? ↓はjavascriptのできるもの javascript:(d=document,b=d.body).innerHTML=b.innerHTML.replace(/<DT>(\d+)((.|\n)*?<DD)/g,"<DT id=res$1>$1$2 id=d$1"); d.onmouseover=function(){if(e=event.srcElement,x=e.innerText,e.tagName=="A"&&x.match(/^>*(\d+)/)){l=RegExp.$1; eval("if(d.all.item('d"+l+"')){s=d"+l+".innerText.split('\\n');if(s.length>23)s.length=23;e.title=res"+l+".innerText+'\\n'+s.join('\\n');e.target='';e.href='#res"+l+"';}");}};eval() ↑見ても全然わかりません(;´Д`) <dt>や<dd>とかのタグがあるのはわかるんですが、それだけではあのポップアップは再現できないでしょうし・・・。 ただ、ポップアップするときのあのフィルターみたいなのを作りたいんです。
>>79 リンク先の親フレームが他ドメインだったら無理。 そうでないなら、 top.close(); してみ。
>>81 top.close(); で窓を閉じることが出来ました。
ご指導ありがとうございました。
>>80 title="JavaScript の前にHTML 勉強しろや"
84 :
Name_Not_Found :04/04/06 02:09 ID:h+sJZCvn
>>83 そういうレスをするということは、
あのフィルターみたいなのはHTMLで構成できるということでしょうか?
titleではあかんの?
87 :
Name_Not_Found :04/04/06 02:27 ID:h+sJZCvn
titleのこと知りませんでした(;´Д`) ありがとうございます。 ですが、ちょっとtitleは表示されるまで遅い・・・。 onmouseoverでやる場合はどうすれば良いでしょうか。
質問しに来たら類似ネタが…偶然なんですスミマセン... IEで動作する2ちゃんブラウザのようなレスポップアップ機能を作りました。 onMouseOverイベントでdivオブジェクトにinnerHTMLを流し込んでポップアップ表示させる仕様です。 IE限定ながらWindowsでもMacでもきちんと動くように調整を繰り返したのですが 動作確認に使っているMac版IE 5.1.7ではdivオブジェクトのY座標(top値)に 制限があるのか32,000pixel以上にセットできません。 2ちゃんのログの場合、長〜く下の方までスクロールする必要があるので ある程度下のほうにスクロールするとレスポップアップの位置がズレてしまうのです。 ズレる、と言うよりはある位置より下には表示できないというのが正しいです。 平たく申しますと、 document.all.tags("div")[0].style.pixelTop = 40000; としてもdivオブジェクトの場所は32000止まりです。 それより下には移動できません。 divのpositionはabsoluteにしています。 仕様なのかバグなのか俺の勘違いなのか、どうにもうまくいきません。 Mac版IEでdivオブジェクトのtop値を32,000px以上に設定する方法はないでしょうか? ぜひお知恵拝借したくお願いいたします。
90 :
Name_Not_Found :04/04/06 03:32 ID:Qp625C5W
誘導されてきました。 質問させてください。 document.write文がつづく場合、 documentの部分を省略する方法があったと思うんですが、 どのようにすれば、省略できるのでしょうか?
91 :
89 :04/04/06 03:44 ID:???
質問しに来たついでに回答…
>>90 documentの部分を省略ってことはこれ?
with(document)
{
write("AAA");
write("BBB");
write("CCC");
}
92 :
80,87 :04/04/06 03:49 ID:h+sJZCvn
>>88 onmouseoverだけに反応しないでください(;´Д`)
問題はあのフィルターみたいなのをどうやって実現できるかです。
あと番号入れ忘れてすいません。
93 :
89 :04/04/06 03:52 ID:???
>>92 フィルターってわからないけど、俺の質問の3行目あたりが答えってことはないですか?
94 :
90 :04/04/06 03:55 ID:???
>>91 本当、助かりました。
ありがとうございました。
95 :
Name_Not_Found :04/04/06 03:58 ID:h+sJZCvn
>>93 いや構造は掴んでいるんですが、、、
そもそも何を使えばあのようにポップアップできるかがわからないんです。
・・・そこの時点から理解できていず、すみません_| ̄|○
96 :
89 :04/04/06 04:02 ID:???
>>94 本当にdocument.writeばかり続くんなら
document.write("AAA"
+"BBB"
+"CCC");
ってほうがいいケースもあるかも?
手遅れか…
97 :
90 :04/04/06 04:04 ID:???
>>96 でも、長いdocument.write文はよくないと何かで読んだような・・・
98 :
89 :04/04/06 04:07 ID:???
>>97 古いブラウザで制限あるんだっけ?
んじゃ、
foo="AAA";
foo+="BBB";
foo+="CCC";
document.write(foo);
とか。
ただwrite文を並べるだけならwith出してくるまでもないかな?と
思っただけなんです。余計なお節介でスマソ…
99 :
89 :04/04/06 04:08 ID:???
>>95 いやだからlayerとかdivを使っちゃダメなんでしょうか…
何か80氏の言ってることを勘違いしてる可能性もあるし
俺も教えてもらう立場なんでもう控えますゴメソ。
>>95 構造は掴んでるって、80の基本形が全然分からないのに?
>>89 その32000っていう値が怪しいね、65536の半分くらいというか。
ブラウザの制限だから回避できないみたいな。まあ、ソースの
後の方にもdivを入れておいて32000超えたらそれを使うとか
色々やってみれば。
102 :
80 :04/04/06 14:13 ID:h+sJZCvn
>>99 いやそもそもそこの段階まで行ってないんです。
あのフィルタみたいなのがどうやってできるのかがわからないので、
layerとかdivはそれの先なんです(;´Д`)
すみません_| ̄|○
>>100 構造というか構図です。すみません。
>>92 お前はバカか?
教わったところのサンプルを全部見てから反応しろ。
>>89 ページ全体の中で位置指定するような設計が誤りじゃないのか?
なぜカーソル位置を取得してその近辺に表示させる方法にしないのだ?
>>102 「スクリプトレット」「1行JavaScript」とか検索してみなよ。
そういうスレもたしかあったと思う。理解してからまたおいで。
106 :
89 :04/04/06 17:23 ID:???
回答ありがとうございます!
>>101 そうなんですよ。微妙な値ですよね。
divはポップアップ・イン・ポップアップの実現のために動的に生成しているんですが
後ろのほうに生成するような手法も試してみます。
>>102 フィルタってなに?
Bookmarkletのこと?
>>104 現状でもカーソル位置は取得してます。言葉足らずで申し訳ないです。
カーソル位置にスクロール量を足してdiv位置を指定しています。
カーソル位置だけでdiv位置を指定すると、スクロールの量が考慮されないので
スクロールがある場合はウインドウの外にdivが来るということになります。
この方法しか知らないんですが、もし他の方法があったら御指南ください。
実際にやってる方法は(長くなるので略したソースですが)
document.all.tags("div")[0].style.pixelTop = event.clientY + document.body.scrollTop;
といった感じです。
実際には見やすい位置に来るように&&スクロール不可能な範囲にポップアップがはみ出ないように
ごちゃごちゃと調整を行っています。
javaスクリプトで buttonを動的にdisable(使用不可)にする記述を教えてください
ボタンにID振って document.getElementById('ID名').disabled = true;
ガイシュツだったらすみません。 HTMLフレーム内の特定のウィンドウに、RealPlayerのコンポーネントを貼り付けてあるファイルを 表示し、そのファイルのRPコンポーネントに指定したファイルを読み込ませるという処理をしようとしています。 が、 【JavaScript】 function ShowReal(para) { window.open("realwindow.html","realw"); parent.others.document.video1.SetSource(para); } ------ 【HTML】 <IMG src="realicon.gif" border=0 onclick="ShowReal('movie/jp/movie001.ram')"> ----- この処理だと動画が再生されず、停止画面のままになってしまいます。 当方で試した事としては、 ・ためしに最後の行にAlertを足して処理を止めてみると、エラーなく実行されているのが確認できました。 が、Alertメッセージを終了させると、やはり動画再生処理が停止してしまいました。 ・ファンクションの処理を一部削除し function ShowReal(para) { parent.others.document.video1.SetSource(para); } という風に1行だけにすると、処理が実行された状態が維持されました。 ・アイコンを押した後で動画表示フレームが一瞬ちらついているのを確認しました。 どうもファンクションのプログラムを処理した後で強制的にページがリロードされているような印象を受けます。 ・Scriptは外出し等せず、<HEAD>タグの直下に書き込んでおります。 「それなら1行で処理できるよう、最初からRealPlayerの画面を出しとけばいいだけだろー」 と言われるかもですが…私もそう思うのですが…そうも行かないのが世の常でして…orz 何か逃げの方法があれば、ぜひご教授ください。
>>111 うーん、imgタグだからクリックしてもページが切り替わる
ことはないですよね。aタグじゃないよね。もしかしてクリック
イベントが悪さをしてるのかな。そうなら、setTimeoutを使って
クリックが終わってから再生開始したらいいかも。つまり
setTimeout(function() { parent.others.document.video1.SetSource(para); }, 500);
>111です。 一晩かけて知恵を振り絞り尽くした結果、 ・メインページにHidden項目を一つ作り、イメージクリック時のイベントでは Window.Open後、Hidden項目にパラメータで渡していたパスを格納する function _ShowReal(para) { window.open("realwindow.html","realw"); document.all.moviepath.value=para; } ---- <form><input type="Hidden" value="" name="moviepath"></form> ・RPのコンポーネント付ページのOnload処理でHidden項目の値をSetsourceで設定する <BODY onload="document.video1.SetSource(parent.contents.document.all.moviepath.value)"> と2段階に処理を分けることにしました。 相変わらず強制リロード?の原因は不明ですが、 上の方法で何とか動くようですのでこのまま使って様子を見る事にします。 >112さんの方法も最終兵器として考えていたのですが、どうにかなりました。 本当にありがとうございました。 今書いてて気づきましたが、処理手順的にWindow.openは最後に持ってきたほうが良いですね〜。 直さなきゃ。 それでは、スレ汚し失礼いたしました。
114 :
Name_Not_Found :04/04/07 11:49 ID:6rrf09ww
教えてください。
Flashでブラウザウィンドウを開く方法を教えていただけないでしょうか?
また、開いたサブウィンドウのウィンドウサイズの指定の方法もご指南いただけませんでしょうか?
私自身、パソコンを昨年の2月末に始めたばかりで、
周りに教えていただける方もいなかったため、通常では常識的な部分でも分からない可能性がありますので
お手数ですが、細かい部分までご記載願います。
なお、Dremweaverで 通常の画像や文字からサブウィンドウを開く方法はわかりるので
コードをFlashのアクションフレームに
onload = "MM_openBrWindow('
http://www. ●●●●●.htm','●●','width=500,height=500')";
と記述したり、a href="javascript:;"など他 数例の努力はしてみましたが、まったくわかりませんでした。
JavaScriptのこともまだ、あまり理解しておりませんがこれから勉強していきますので、
親切な方教えてください。お願いします。
スレ違い。
Flashのスクリプト言語はActionScript。まあコアはECMA-262 なんだけど。Flashスレあるだろ。
>>114 スキームをjavascriptにしたhrefで直撃すればよろし。
<input type="file" name="file1"...><input type="file" name="file2"...>... 総計数十MBになるファイルのアップロードを行いますが、アップロードの進捗状況または完了通知をする方法を調べております。 まずこれはクライアント側のjavascriptだけでできるものなのか?サーバー側がなんらかの方法でクライアントのウインドウを書き換えるのか? わかりません。どこかに例を見つけられればいいのですが。ご存知ありませんでしょうか?
119 :
118 :04/04/08 09:50 ID:???
どうもjavascriptには<input type="file"..>でユーザーが指定したファイルのサイズを取得するすべが見つかりません。 サーバーのphpやcgiはsubmit後即座にファイルのサイズを取得できますよね? サーバーがアップロード済み容量/総容量のパーセンテージを表示する"uploadStatus.html"を随時書き換える。 "uploadStatus.html"には変数uploadStatus=n; (nは0〜100)があり、 クライアント側ではsetTimeout()とreloadを組み合わせて"uploadStatus.html"をリロード進捗状況表示ウインドウを表示する、 変数uploadStatusが100であれば次の画面へ移動する、みたいなアイデアを考えましたが、もっとスマートな手法がありますでしょうか?
120 :
119 :04/04/08 10:01 ID:???
サーバーのキャッシュ機能が"uploadStatus.html"の随時書き換えにどう影響するかわかりませんね。 こまった。っていうかサーバー側の話がわかりません(汗)
>>118-120 別窓かiframeの中にサーバ側で取得したファイルサイズを表示させ
一定間隔で更新させれ。JavaScriptと無関係だからあとはよそで。
クライアント側では*絶対に*ファイルサイズは取得できないから。
122 :
89 :04/04/08 17:57 ID:???
どもども、
>>89 です。
自分なりに対策と結論を出したので報告にあがりました。
お暇な方はお付き合いください。
蛇足かもですが、まずは現象の確認。
まず縦スクロールが32,000px以上あるhtmlファイルを用意してください。
で、bodyタグ直下にこれを挿入です。
<div style="position:absolute;top:0px;"></div>
それからhead内にこれを。
<script type="text/javascript">
function my_move()
{
pos_y = event.clientY + document.body.scrollTop;
document.all.tags("div")[0].innerHTML = pos_y;
document.all.tags("div")[0].style.pixelTop = pos_y;
}
document.onmousemove = my_move;
</script>
ポインターの縦座標を追従しながら表示するだけです。
Mac IEでは32,000pxを境に追従不可能になります。
この手のスクリプトはあちこちで見かけますが、
スクロール量が多くなるとマックでは問題が出るはずです。
123 :
89 :04/04/08 17:59 ID:???
対策として32,000pxを超える場合は32,000px毎にゲタを履かせます。 そのゲタからの相対座標で指定してみました。 ソース見てもらったほうが早いです。 先ほどのbody直下のdivタグはそのままで、スクリプトは以下を。 <script type="text/javascript"> function my_move() { pos_y = event.clientY + document.body.scrollTop; for (i=0; i<Math.floor(pos_y/32000); i++) document.all.tags("div")[i].innerHTML = "<div style='position:relative;top:32000px'></div>"; document.all.tags("div")[i].innerHTML = "<div style='position:relative;'></div>"; document.all.tags("div")[i+1].innerHTML = pos_y; document.all.tags("div")[i+1].style.pixelTop = pos_y % 32000; } document.onmousemove = my_move; </script> これで縦がどれだけ長くても大丈夫です。 OS 9 IEで100,000pxくらいまでスクロールして確認しました。 しかしテスト後、またはテスト中にMac IEは激落ちします。ご注意ください。 OS X版にいたっては読み込ませるだけで落ちます。
124 :
89 :04/04/08 18:01 ID:???
結局なんとしても32,000px以上に指定されるのは嫌みたいです。 仕様なのかと思っていましたが、俺なりの結論はIEのバグってことにしました。 しましたっていうか、バグってことにさせてください。 もう俺にはこれ以上の対策ができません。 しょうがないので今回はMac IEを見捨てることにしました。 Win IEでしか完全動作しないJavaScriptってのもなんだかなあですが… 以上、ご回答いただいた方々、気にしていただいた方々への恩返しのつもりで報告終わりです。 レアケースでしょうが誰かの参考になれば幸いです。 トホホ...
125 :
Name_Not_Found :04/04/08 19:40 ID:LVV9qTIb
質問です。 今 Math.random(); で読み込み時にランダム表示させてる画像を、 cssで言うとnorepeatの背景画像に指定したいんですが、 repeatなしの背景画像指定で同じこと(複数画像のランダム表示)ってできるでしょうか。 cssとでもjavascriptオンリーでもいいんですが、こういう こういう掛け合わせでなんかいい方法ないでしょうか。
>>125 「ランダムに選んだ1個が」no-repeatね?全然問題ないと思うけど。
何が問題なのさ。
128 :
Name_Not_Found :04/04/08 20:13 ID:x0aPqSWM
>121 >クライアント側では*絶対に*ファイルサイズは取得できないから。 画像ファイルのサイズなら取得できる。 むやみに*絶対に*なんて言うなよ。 お詫びにガムくれよ。 <input type=file onchange="img1.src=this.value"> <img id=img1 onload="alert(this.fileSize)">
うーん、画像か…そのアップロードする(ブラウザ上にない) ファイルの大きさという意味だったんだけどね。画像だって ブラウザに載ってないものは取れないよね。
130 :
120 :04/04/08 21:13 ID:???
>>121 ありがとうございます。<input type="file"...>で、ユーザーが自分のHDD上にあるファイルを選ぶ場合ですので
やはりjavascriptではサイズや転送済み容量は知り得ないようですね。
>>127 とほほを推奨するのはやめてくれ。わざわざテンプレから
削除したんだしさ。
132 :
132 :04/04/09 17:05 ID:???
質問させてください
ttp://www.salut.ne.jp/wmh/tool/js/k024/demo.html の「ページ下部からページの最上部に戻るとき、減速しながら、ページの最上部でぴったりと止まるようにスクロールします。」
をクリックするとページ下のスクロールを右に移動させて、減速させページの一番右端を表示させるように
改造したいのですが"scrollTop"に変わるプロパティとページの一番右の横位置を取得する方法が判りません。
ソースはこちらです 宜しくお願いします
<script language="JavaScript">
<!--function slowdownScroll() {if(navigator.appName == "Microsoft Internet Explorer" && document.compatMode == "CSS1Compat") {
sctop = document.body.parentNode.scrollTop;} else if(window.pageYOffset){
sctop = window.pageYOffset;} else {
sctop = document.body.scrollTop; }
if(sctop){ scup = Math.ceil(sctop*.2);scrollBy(0,-scup);if (sctop-scup) setTimeout("slowdownScroll()",20);}}//-->
</script>
</head><body><br><a href="JavaScript:scrollTo(0,0)" onclick="slowdownScroll();return false;">▲ページのトップへ戻る</a>
</body></html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><title>???</title> <script type="text/javascript"> var dist = 0; function test() { var b = (document.documentElement || document.body) var w1 = b.scrollWidth, w2 = b.clientWidth, w3 = b.scrollLeft; dist = w1 - w2 - w3; setTimeout(step, 200); } function step() { if(dist <= 0) return; var d = Math.floor(dist*0.2 + 1); dist -= d; window.scrollBy(d, 0); setTimeout(step, 20); } </script> </head><body> <p>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX <a href="#" onclick="javascript:test();return false">test</a></p> <div style="background: yellow; width: 2000px">test</div> </body></html>
134 :
132 :04/04/09 18:15 ID:???
>>133 おお!素早い回答本当にありがとうございました。
ヒントぐらいを頂けたら・・・と思っていたのですが、素晴らしいです。
 ̄|_|○ あなたの犬になります。多謝
指定した細かい日時(4月10日の8:00など・PC上の時間での計測で)に 特定の画像やテキストの変更を行うスクリプトはありますでしょうか。 自分で色々探してはみたものの、日付単位だけなどの大雑把な指定でしか 対応できなかったもので。
r
>>131 とほほの記述にしばしば問題があるのは承知の上さ.
とほほを超える reference site があるのなら教えて欲しい所だ.
取り合えずリンクとして紹介した所に問題はないと思っている.
>>135 >自分で色々探してはみたものの、
>日付単位だけなどの大雑把な指定でしか対応できなかったもので。
自分の(わがままな)要求に合ったものを求めるのなら,自作するしかないんだよ〜.
他力本願の努力は結局徒労に終わるものなのさ.
script としては難しいものではないから,挑戦してみては ?
>>137 いいたいことはわかるけどさ。
とほほはある程度のスクリプトやプログラムに対する基盤があって、
間違いが混ざっていることを前提で参照しないとだめじゃん。
初心者に勧めるのはよくないよ。
それよりか、nullを相手にするな、というテンプレもなくなってるぞ。
こんなやつ↓ > nullにはレスしない > 無能厨房固定は完全放置すること。 > レスを返すと(=構ってあげると)喜ぶので注意!!
>>139-140 スレ建て人です。えーと、名指しはよくないと思ったので
>>6 には
: 無視するべきものは無視する
: 無能、知ったかぶり、宗教的主張、煽り、ぬるぽ等。
こう書くようにしてますが…
>>140 と混ぜてもうちょっと書きますかね。
>>135 その特定の時刻になるとリロードしなくても取り代わるのね?
それともその時刻以降に読み込むと別の内容になっていると
いうこと?
>142 後者です。 とりあえず規定の時間後に読み込まれれば変化していれば良いので。 テキストはともかく画像だけでもいいかなと思います。 >137 一応自作でもチャレンジしてみたのですがどうにも上手くいかず、 諸事情でいよいよ時間切れ間近なので焦って書き込んだ次第です。 外出中に差し換える必要が出て来てしまったので……。 と書いている間にも色々チャレンジしている最中。
ってごめんなさい。 たった今 解 決 し ま す た 。 よかたよかった…というわけで申し訳ありませんでした。
1個のcaseに複数の値って書けたっけ
>>145 'foo' と 'bar' のときに hoge() を呼びたければ
case 'foo': case 'bar': hoge(); break; とすればいい。
caseクローズはbreakしなければ次のcaseクローズへと処理が継続される。
147 :
145 :04/04/10 01:35 ID:???
thx
148 :
yoizu :04/04/10 22:17 ID:I4GVxC14
<script language="javascript"> <!-- function pcheck(){ pwd="document.pa.pass.value"; if(document.pa.mode.value="1";){ location.href="○○○.cgi?"+pwd+""; } else(document.pa.mode.value="2";){ location.href="●●●.cgi?"+pwd+""; } } //--> </script> で、問題あるでしょうか? エラーが出てしまいます。 教えてください。よろしくお願いします。
if(...)のかっこ内に「;」を入れるな。elseのあとに 条件なんて書けない。基本的な文法くらい勉強してから 書け。見よう見まねなんて無茶。このままやってたら 1か月たっても完成しないぞ(完成させてやる気はないから)。
150 :
yoizu :04/04/10 22:30 ID:I4GVxC14
thax+スマソ
151 :
Name_Not_Found :04/04/10 22:43 ID:c/+n369n
誘導されてきました。 JRE1.4.2_01以降の環境で、署名付JavaAppletをJavaScriptから呼んでローカルアクセスさせる為に、JavaScriptに署名付けたいんです。 JavaAppletにはJDKのjarsignerで署名付けてるんですけど、JavaScriptへの署名って、netscapeのsigntoolでしか付けれませんよね? 署名の付け方違っても問題ないのでしょうか? 色々試しているのですが、どうも情報が少なく判断出来ません。 対象のクライアントは、IE5.5以降+JRE1.4.2_01以降です。
153 :
Name_Not_Found :04/04/11 07:52 ID:DbRuNykB
表にボタンを配置しているのですが、ボタンの名称を配列にする方法がわかりません。 現状では、表の行数分判定文を作って、ボタン押下の処理をしています。 もっとシンプルにする方法はありますか?
>>152 よく知らないんだけど署名つきJSってIEはサポートしているの?
>>153 その質問だとやりたいことが半分くらいしか分からない。要点の
ソースを貼ってみて。
caseクローズ??
156 :
Name_Not_Found :04/04/11 17:17 ID:alMZjZXf
すいません、4つも質問があります。 1、IEやネスケ等のブラウザ上で、ページをフレームにより2分割した場合、 片方のページが外部ファイルから読み込んだ変数(ブーリアンかナンバー) をもう片方のページのOnLoadイベントハンドラー(の構文や関数呼び出し) から書き換える事は可能でしょうか? 2、二つのページから一つの関数オブジェクトを共有する事は可能でしょうか? 3、フレームで分かれているページを読み込む際、分かれたページの読み込みに 順序はありますか?(左右とか上下とかです)また、制御する方法はありますか? 4、上のような種類の疑問について取り扱っているウェブページがありましたら ぜひ教えてください。 おねがいします。
157 :
Name_Not_Found :04/04/11 17:27 ID:alMZjZXf
すいません、1は過去ログ見て解決しました。
2はもちろん可能。逆側フレームからは
「parent.frames.フレーム名.関数名(...)」で呼び出せる。
3は順序はないので、順序を設けたければ後から読む
方はabout:blankでも表示しておき、逆側のonloadハンドラで
「parent.frames.フレーム名.location.href = 'URL';」
とかして読み込みを開始させる。
4はまあ
>>3-4 から探してみて。
159 :
156 :04/04/11 19:38 ID:alMZjZXf
>>158 なるほど、parentって万能ですね・・。
ありがとうございました!
160 :
Name_Not_Found :04/04/12 19:36 ID:CFxH210C
外部JSを読み込むページでMacのNetscape4.78だけ一瞬出るが消えてしまいます。 ・外部JSはdocument.writeだけ ・文字コードはHTML・JS共にEUC 呼び出しのパスが原因かと思い、サイトルート・絶対・相対で調べてみたが規則性見つからず。 出る時と出ない時の切り分けをしようにももう何が悪いのやら。 エロイ人助けてください。
>>160 document.writeする
↓
windowがリサイズされる
↓
js がすっ飛ばされる
だと思われ。
>>161 なぜwriteするとリサイズされるのか分からないんだけど。
>>160 こういう感じだとUnix N4.78で何も問題ないんだけど。どうやってるの?
---main.html---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<p>test...</p>
<script type="text/javascript" src="t1.js"></script>
<p>test...</p>
</body></html>
---t1.js---
document.write('<p>This is a pen.<\/p>');
文字列を全部連結してから書き出すとか
>>162 NN4シリーズにはロード時とかにresizeが発動してしまう、
バージョンと条件の組み合わせがある(あった)のですよ。
165 :
Name_Not_Found :04/04/13 02:05 ID:NGP308XE
質問です。 odbc接続でmdbファイルに接続してデータを取得したい のですが、コネクションのオープン字に「操作が取り消されました」 というエラーが表示されてしまいます。 driverはmdb用、dnsはodbcアドミニストレータで設定したものです。 このエラーはどのようなミスが考えられるのでしょうか? msdnをひっくり返して調べたのですが見つかりませんでした。 よろしくお願い致します。
166 :
89 :04/04/13 02:42 ID:???
>>164 あー、シャックリ現象あったねえ。
今思えばよく使ってたな…
>>165 たぶんDSNだよね。
そりゃいいとしてJavaScriptはどう関わってるのかしら?
名前消し忘れスマソ
168 :
Name_Not_Found :04/04/13 04:20 ID:zOFZAUWr
「画像の中にあります各コンテンツ名をクリックして下さい」 といったような、表示された画像の一部の範囲にリンクを指定したりするのはどうすればいいのでしょうか? そういった作業ができるフリーソフトなどもあれば教えて頂きたいです
>>168 スレ違い。てか
>フリーソフト
とか言っちゃってるサルにヒントもクソもないが
「クリッカブルマップ」でググれや。
170 :
152 :04/04/13 07:39 ID:???
>>154 IEのサポートもはっきりしてないんです。
IE4で動いたっぽいページもあったりするけど、はっきりした記述は無い…。
IE6ではどうやっても無視するっぽいので、当時はどうあれ、今は使えないと判断しました。
結局、Appletのinitメソッド内で生成したスレッドを動かし続けて、そこからScriptにアクセスして情報を受取ってからローカルアクセスする事でなんとかしました。
171 :
:04/04/13 15:54 ID:hQYKpUdC
質問です。 radioが1個のときのlengthがundefinedとなってしまいます。 仕様でしょうが、これを回避することは可能でしょうか? よろしくお願いします <html> <head> <script language="javascript"> function Valid() { alert(document.form2.del.length); } </script> </head> <body> <form name="form2"> <input type="radio" name="del"> <input type="button" onClick="Valid()"> <input type="reset" value="re"> </form> </body> </html>
172 :
Name_Not_Found :04/04/13 17:06 ID:9sP9tDuv
質問です。 最前面のウィンドウを閉じようとした時に 確認のダイアログを表示したいんですが、可能でしょうか。 よろしくお願いします。
175 :
172 :04/04/13 17:37 ID:9sP9tDuv
レスありがとうございます。 早速やってみたんですが・・・。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>hagehage</title> </head> <BODY onUnload="alert('さようなら・・・。')"> <a href="hage.html">ハゲ</a></body> </html> こうした場合、リンクをクリックしたらダイアログは表示されるんですが、 ウィンドウを閉じた時にはそのまま閉じてしまいます。 閉じるというアクションに対してダイアログを表示することは出来ないんでしょうか・・・。
176 :
160 :04/04/13 19:13 ID:???
>>164 レスありがとうございます。
シャックリですか。そんな気もします。
とりあえず試して結果報告します。
177 :
Name_Not_Found :04/04/13 22:03 ID:1Jz3a+Ki
サンプルを提示できなくて申し訳ないのですけど、 特定の文字列や画像をクリックすると隠れたレイヤー(?)が表示され 、もう一度文字列や画像をクリックするとレイヤーを折り畳むjavascriptのソースくださいませ
>>177 現れるものは
<div id="ID名" style="visibility:hidden">...</div>
クリックするもののonclickハンドラは次のように(変数cは0で初期化)
onclick="document.getElementByID('ID名').style.visibility=(++c%2):'visible':'hidden'"
179 :
Name_Not_Found :04/04/13 23:27 ID:xhdq8x9v
質問です(当方初心者+@)
phpのincludeやSSIみたく、
ページのメニュー部分を共通の外部JSファイルにして、
各ページで使おうかと考えております。
(iframe使ったやり方もあるようだけど諸事情により使えない)
ttp://www.esli.co.jp/javascript/dhtml/gaibu_innerhtml.html こちらに記載されているBのやり方でメニュー部分の共通ファイルを作ろうとしてします。
このファイルをhoge.jsとします。
もう一つ、ロールオーバーやその他もろもろを実現するため、
dreamweaverが吐き出す関数をいくつか
function MM_swapImgRestore()とか
function MM_swapImage() とか
とかをmm.jsとしてまとめて外部JSに置いておこうかと考えています。
hoge.jsの方で、mm.js内の関数を使うような命令を置いたところ
どうもうまく作動しません。
hoge.js内では
document.writeでロールオーバーする部分の
HTMLを囲むようなやり方で実現しようとしています。
hoge.js内から他のファイルにある関数を参照するのって
何も考えずdoument.writeするだけだと難しいのでしょうか。
hoge.js内や、hoge.jsを呼び出すHTML内にmm.jsを
記載してあげてもうまくいきませんでした・・・
180 :
177 :04/04/13 23:35 ID:???
>>178 ありがとうございます。
さっそく試してみます
>>179 初心者+@ってのは+αの事なんだろうか?
小泉@首相官邸 みたいな自己紹介と混ざってるぽい
>>179 ちょっと抽象的すぎない?
見た感じ
HTMLファイルを読み込みながら実行しちゃってて、未読み込み部分にアクセスしようとしたとか。
そうでなければ
その現象を再現できる最少のスクリプトにしてここにコピペするとか。
>>179 ・リンク先の大ウソ: " innerHTMLを使うため、IE以外では表示できません "
んなこたぁ〜ない !
mac classic 版のどの browser でも堂々と使えやすぜ !
ろくに確認もしないで, とほほ あたりの記述を鵜呑みにしたんだろうなぁ.
そんな いい加減な所を参考にしたのがそもそもの間違いなのさ.
おや、突然アンチとほほに…
>>179 ページをいちど表示し終わった後ではdocument.write()は使えない
(使うとページ内容がまっさらにクリアされる)けどそれは大丈夫?
>>184 innerHTML についてのファイルが作られた当時は IE only だったのかもね.
" IE だけでしか使えません " とは,どこにも書いていない所が憎い憎い.
しかし,そう読めてしまうんだよなぁ〜.
それに躍らされて,僕は長い間 innerHTML をバカにしてたのも恥ずかしい事実.
ひょんなことで実験したら何の問題もないじゃないかぁ〜 !!!
それ以来使いまくり.
document.write() みたいな制限がないのが最高 !
いつまで古い記述を放置しておくんだぁ ?
とほほさんよぉ〜.
ぬる(゚听) イラネ
ネタにしか見えない厨房発言だもんなぁ。
相も変わらず羞恥心を知らぬヌル猿が生息しているサル山はここですか? 誰かこのヴァカ猿語録のまとめサイト知らね?
マジレスしておくと、 innerHTML は MS の独自拡張な謎プロパティだから、 良い子のみんなはあまり多用しちゃだめだよ〜
よく解ってない奴にinnerHTML教えるとnullみたいになっちゃうんだよな。
nullにはレスしない 無能厨房固定は完全放置すること。 レスを返すと(=構ってあげると)喜ぶので注意!!
この板のコテハンてロクなのがいないな。 ここのnullにしろ、Webサイト制作初心者用スレのCHUTAとか。 何なのコイツら。
>>194 この板にいるまともなコテは、
板の空気を察知してコテを名乗るのを止めてしまった。
それは思うに、Web製作って半可通でもとりあえず何か言える じゃない。初心者にはその発言が厨房かどうか分からないし。 しかしJavaScriptはプログラミング言語なんだからちゃんと 書かせてみれば分かるはずだ。もっともなんちゃらのinnerHTML に入れるだのその程度のコードでは実力は分からんけどね。
初心者スレから微妙に煽られたんで、登場。 >194 あなたのように無駄に煽るレスのほうが邪魔。 >195 >この板にいるまともなコテ そんなコテなんて聞いたこと無いが。 (ただ俺が知ってる2年くらいだけど それが壊とかいうんだったら…正直ショックなんだが。 Foxは確かにまともだけどあんまりこの板にきてないみたいだしね。 >196 >Web製作って半可通でもとりあえず何か言えるじゃない。 それはWeb制作に限った事ではありませんよ。 反論あれば、ここじゃなくて(ここは質問スレなのでね) どっかの廃棄スレにでも呼んでくれ。 しかし、最近おおいなコテ叩き。 がんばれよ、null。 また、トリップつけないほうがウザがられるんだからな…。
198 :
Name_Not_Found :04/04/14 15:49 ID:Lb3g3PVb
うはwwwコイツ痛すぎwww晒しage
>>197 >しかし、最近おおいなコテ叩き。
理由を自覚してないヤシが一番痛いということに頼むから気づいてくれ。
200 :
Name_Not_Found :04/04/14 17:14 ID:a8Qxny8g
足し算をして、その結果をカンマで3桁ずつに区切って表示する っていうのがなかなか作れないので教えてください。
閲覧者がIEを使用していて javascriptで新規ウィンドウを開く場合に エクスプローラーバーを開いていると新規のウインドウにもエクスプローラーバーが 表示されますよね。 これを強制的に解除するにはどうしたらいいと思いますか?
>>201 555 名前:Name_Not_Found 投稿日:04/04/14 17:34 ID:???
閲覧者がIEを使用していて
javascriptで新規ウィンドウを開く場合に
エクスプローラーバーを開いていると新規のウインドウにもエクスプローラーバーが
表示されますよね。
これを強制的に解除するにはどうしたらいいと思いますか?
>>200 足し算が出来るようになったら来なさい。
たくさんあるinputタグ全てにonFocusイベント書きたいんですけど これってスタイルシートじゃ実現ムリですか?
どうして叩かれてるのかわからない天然系のコテだったか・・・orz
>>206 CHUTAのことか?nullのことか?
>>205 onloadハンドラの中か、またはすべてのinputタグが終わった後に次のものを。
for(var a = document.getElementsByTagName('input'), i = 0; i < a.length; ++i)
a[i].onfocus = ...
おいまてよ、スタイルシートの話題だったらスレ違いだろ。CSSじゃできないけど。
>>200 整数(小数点はない)ということでいいの?
質問があります。 時々、海外サイト(アダルト系)に行くとスタートページが書き換えられますが その方法を教えてください。先輩方の皆々様のお知恵お借りしたいです。 よろしくお願いします♪
・ユーザーに迷惑となるスクリプトを書かない者
211 :
209 :04/04/14 23:49 ID:???
それとIEにツールバーみたいなのが引っ付くのもありますよね? あのやり方も教えてください。自分のHPのメニューを貼り付けたいです。
・ユーザーに迷惑となるスクリプトを書かない者
> 時々、海外サイト(アダルト系)に行くとスタートページが書き換えられますが そんなもんに引っかかってるような馬鹿にはムリ。
>>208 IE限定でいいならもっと簡単な方法があるけど、
そーゆーのは「ユーザーに迷惑となるスクリプト」なので広めたくないので教えない。
>>208 ダメです。ループはinput数分回っているようですが
a[i].onfocus = "alert('a');"; と書いても何も起こりません。
何か記述間違ってます?
>>215 文字列入れてもダメだってば。関数オブジェクトを入れる。
a[i].focus = function() { alert('a'); };
しまったonfocusね。
上下に2つに分割したフレームを、片方の横スクロールバーで 同時にスクロールさせる方法はあるでしょうか? IEのあるバージョン限定とかでもいいです。 知ってるかたいたらお願いします。
220 :
Name_Not_Found :04/04/15 17:32 ID:lbcDWYHx
かな〜り初歩的な質問をします。 document.writeでページを変えたり、、、 document.writeで書いたウィンドウを出すと文字のサイズが変になるんです。 最初からdocument.writeが出力する場合は文字のサイズは大丈夫なんですけど・・・。 あとどういうのが作りたいのかというと↓のようなやつを作りたいんです。 ですが、文字サイズが変になってしまって・・・。 ↓のは概要を示すだけなのですごく適当なものです^^; <form name=b>文字を入力 <input name=c><br> <input type=button value=入力した文字が別windowで表示されます onclick="a=document.b.c.value;window.open().document.write(a);">
221 :
Name_Not_Found :04/04/15 17:41 ID:1r4ZKw8a
>>208 さん。
200です。
小数点はありません。
金銭の計算なので。
おながいしまそ。
>>220 document.write なんて面倒なことやめて、
createElement と appendChild でごにょごにょしよう。
224 :
Name_Not_Found :04/04/15 19:11 ID:lbcDWYHx
>>223 いやdocument.writeが楽かなぁ、と。
ただ文字サイズが勝手に変わらなければ良いだけですので。
てか、createElement と appendChild なんて今初めて聞いたのでムリポ_| ̄|○
>>221 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function f() {
var s = document.forms.f0.elements.t0.value + ',';
while(s.match(/[^,][^,][^,][^,],/))
s = s.replace(/([^,])([^,][^,][^,],)/, '$1,$2');
document.forms.f0.elements.t1.value = s.substring(0, s.length-1);
document.forms.f0.elements.t0.value = '';
}
</script>
</head><body>
<form name="f0" action="#" onsubmit="return false"><p>
<input type="text" name="t0"><input type="button" value="test" onclick="f()">
<input type="text" name="t1"></p></form>
</body></html>
>>219 ---main.html---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html><head><title>???</title>
<script type="text/javascript">
var pos = 0;
function check() {
var uf = frames.upper, ud = uf.document, ub = ud.documentElement || ud.body;
var lf = frames.lower, ld = lf.document, lb = ld.documentElement || ld.body;
if(pos != lb.scrollLeft) {
uf.scrollTo(lb.scrollLeft, ub.scrollTop); pos = lb.scrollLeft;
}
}
</script>
</head>
<frameset name="test" rows="1*,1*" onload="setInterval(check,20)">
<frame name="upper" src="t2.html"><frame name="lower" src="t2.html">
</frameset></html>
---t2.html---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<div style="width: 2000px; background: yellow">
あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお
</div></body></html>
社内用のイントラで使うシステムで苦労しているんですが、以下の事は可能でしょうか? ■複数のウィンドウが開いている場合に、 ■現在開いている各ウィンドウで表示している各URLを取得して配列に格納する (実際はホスト名だけでよい) ■クライアントはIE6以上限定 ■複数開いているウィンドウは、すべて同じプロセスのIEであるものとする (新規にブラウザを立ち上げるのではなく、Shift+クリックまたはCtrl+Nまたはwindow.openなどによって開かれた親子・兄弟状態のウィンドウ) window.locationでできるのかな? とも思いましたが、スクリプトが置かれているページ以外のアドレス(URL)に関する情報の取得の仕方が分かりません・・・ となたかお助けを・・・・
>>227 ウィンドウの名前が分かればできると思うが、
>>230 ん?どんなスキルが?
どうでもいいが、仕事とか趣味とかで日常的にJavaScriptを
書いている人なら、この手のメニューは一度は通過してきていると
思うよ。
質問させていただきます 環境 win 2000 ブラウザIE5 NN7 前スレで オンマウスすると横スクロールが自動的に 動くスクリプトを教えてもらったものです. <!-- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head><title>???</title> <script type="text/javascript"> var dist = 0; function test() { var b = (document.documentElement || document.body) var w1 = b.scrollWidth, w2 = b.clientWidth, w3 = b.scrollLeft; dist = w1 - w2 - w3; setTimeout(step, 100); } function step() { if(dist <= 0) return; var d = Math.floor(dist*0.2 + 1); dist -= d; window.scrollBy(d, 0); setTimeout(step, 250); } </script> </head><body> <p>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX <a href="#" OnMouseOver="javascript:test();return false">test</a></p> <div style="background: yellow; width: 500px height: 300px">test</div> </body></html> 喜び勇んで使用したらMacで動作しない事が判明しました。何か良い方法が あったら教えて頂きたく思います。 宜しくお願いします
233 :
Name_Not_Found :04/04/16 21:42 ID:ScZmVeHe
へたれな質問ですみません。 innerHTMLに変数を引き渡すにはどうすればよいのでしょうか? 下記は サンプル と言う文字を、ウィンドウポップアップすプログラムです。 で、この、「サンプル」と言う文字を、可変にしたくなりました。 例えば、<a href="javaScript:showPopup(ほげほげ)"> で、 ほげほげ と表示させるにはどうすればよろしいでしょうか? ペコm(_ _;m)三(m;_ _)mペコ *************************************** <html><head> <title></title> <script Language="JavaScript"><!-- function showPopup() { wOBJ = window.createPopup(); popOBJ = wOBJ.document.body; popOBJ.style.border = "solid blue 2px"; popOBJ.innerHTML = "サンプル"; wOBJ.show(-100,80,320,32,document.body); } // --></script> </head> <body> <a href="javaScript:showPopup()">ポップアップを表示</a> </body> </html>
234 :
Name_Not_Found :04/04/16 21:44 ID:ScZmVeHe
へたれな質問ですみません。 innerHTMLに変数を引き渡すにはどうすればよいのでしょうか? 下記は サンプル と言う文字を、ウィンドウポップアップすプログラムです。 で、この、「サンプル」と言う文字を、可変にしたくなりました。 例えば、<a href="javaScript:showPopup(ほげほげ)"> で、 ほげほげ と表示させるにはどうすればよろしいでしょうか? ペコm(_ _;m)三(m;_ _)mペコ *************************************** <html><head> <title></title> <script Language="JavaScript"><!-- function showPopup() { wOBJ = window.createPopup(); popOBJ = wOBJ.document.body; popOBJ.style.border = "solid blue 2px"; popOBJ.innerHTML = "サンプル"; wOBJ.show(-100,80,320,32,document.body); } // --></script> </head> <body> <a href="javaScript:showPopup()">ポップアップを表示</a> </body> </html>
236 :
Name_Not_Found :04/04/16 22:02 ID:ScZmVeHe
function showPopup(moji) { ・・・・ popOBJ.innerHTML = "moji"; で、出ないんですが・・ $moji でも駄目なようで・・ へたれな質問ですみません。(o*。_。)oペコッ
237 :
Name_Not_Found :04/04/16 22:15 ID:GW9o1TfB
みなさんよろしくお願いします。 Dreamweaver4を使ってジャンプメニューを作りました。 現在は以下のようになっています。 <script language="JavaScript"> <!-- function MM_jumpMenu(targ,selObj,restore){ //v3.0 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); if (restore) selObj.selectedIndex=0; } //--> </script> <form name="form1"> <select name="menu" onChange="MM_jumpMenu('parent.frames[\'menu\']',this,0)"> <option value="01.html" selected>あいうえお</option> <option value="02.html">かきくけこ</option> <option value="03.html">さしすせそ</option> </select> </form> これで、「あいうえお」を選択すると、フレーム名「menu」に01.htmlが表示されますが、 更に、フレーム名「main」に「aaa.html」を表示させたい場合、どのようにしたら良いでしょうか? 1回の選択で、二つのフレームを操作したい。ということです。
>>237 多少は自分で工夫してみん?
menuって書いてるところを一個ずつmainに書き替えるとかさ。
240 :
236 :04/04/16 22:48 ID:ScZmVeHe
うぅ~(・_・o)ン? (o・_・)ン? (o・_・o)ン?
241 :
236 :04/04/16 23:04 ID:ScZmVeHe
arguments[0] で、引き渡されるのはわかったのですが、
>>234 のinnerHTMLに渡すにはどうすれば・・
popOBJ.innerHTML = "arguments[0]"; じゃ、
arguments[0] と文字列が表示されるだけ、
変数が記述されないんですが・・
。゜゜(>ヘ<)゜ ゜。ビエェーン
…
243 :
Name_Not_Found :04/04/16 23:14 ID:KV0ogOSh
変数作って、値を代入すれば
>>241 これこれ… 遠ざかってますがな。
こういうケースはズバリ答えを書いたほうがいいのか?
誰か頼む。
245 :
Name_Not_Found :04/04/16 23:17 ID:KV0ogOSh
ポップってなに?
246 :
237 :04/04/16 23:22 ID:GW9o1TfB
>>239 ありがとうございます。
menuという表記をmainに変えると、表示対象がmainフレームになるだけで、
menuフレームとmainフレームの2つを同時操作することができないので、
その辺をお聞きしました。説明が下手ですみません・・・。
247 :
245 :04/04/16 23:26 ID:KV0ogOSh
248 :
245 :04/04/16 23:27 ID:KV0ogOSh
戦車の絵をクリックすると表示されるウインドウのこと?
249 :
245 :04/04/16 23:30 ID:KV0ogOSh
htmlは無しの状態で、スクリプトだけで表示させるウインドウのこと?
250 :
245 :04/04/16 23:37 ID:KV0ogOSh
251 :
245 :04/04/16 23:49 ID:KV0ogOSh
>>246 難しいことを考えるね。
文字検索スクリプトの時にORとかANDを使ったことがあるから、
ORとかANDを使えば?
使えるかは知らないけど;;
>245 お前は黙ってていいから
やれやれ自演にも困ったもんだなwww
何で連投規制かからんのだ
<<マタンゴが生えました>> /⌒\ /∴∵∴\ (wWwWw)_________ "⌒◎◎r⌒<祭のヨカーーン!! _-/し|-_  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ _-( ∀/-_ - ー_"二_ー マタンゴ ※マタンゴが生えれば立派な糞スレ。 ※見かけた糞スレにコピペすると吉。
プロバイダを3つつかってるからか?
串刺しとけよ
刺してなかった。スマソ
259 :
245 :04/04/17 00:04 ID:3j8nxGbV
何だ、自演かよ
自演してでも教えて欲しいんだろ?
261 :
Name_Not_Found :04/04/17 00:11 ID:6JU/6NcF
document.MM_Time[0][0].values[1] = new Array(15,4,-6,-17,-28,-39,-49,-60,-42,-24,-8,5,15,15,15,15,15,15,15,15,15,15,15,15); document.MM_Time[0][0].values[1].prop = "top"; if (!ns4) { document.MM_Time[0][0].values[0].prop2 = "style"; document.MM_Time[0][0].values[1].prop2 = "style"; } if (ns5) document.MM_Time[0][0].values[2] = new Array("60px", "60px", "60px", "60px", "60px", "60px", "60px", "60px", "60px", "60px", "60px", "60px", "60px", "60px", "60px", "60px", "60px", "60px", "60px", "60px", "60px", "60px", "60px", "60px"); else document.MM_Time[0][0].values[2] = new Array(60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60); document.MM_Time[0][0].values[2].prop = "height"; if (!ns4) document.MM_Time[0][0].values[2].prop2 = "style"; document.MM_Time[0][1] = new String("sprite"); document.MM_Time[0][1].slot = 1; if (ns4) document.MM_Time[0][1].obj = document["Layer1"]; else if (ns5) document.MM_Time[0][1].obj = document.getElementById("Layer1"); else document.MM_Time[0][1].obj = document.all ? document.all["Layer1"] : null; document.MM_Time[0][1].keyFrames = new Array(664, 675, 676, 714); document.MM_Time[0][1].values = new Array(3);
>>237 function jumpMenu(){
if (form1.selmenu.selectedIndex == 0) {
parent.menu.location.href = "01.html";
parent.main.location.href = "aaa.html";
} else if (form1.selmenu.selectedIndex == 1) {
parent.menu.location.href = "02.html";
parent.main.location.href = "bbb.html";
} else if (form1.selmenu.selectedIndex == 2) {
parent.menu.location.href = "03.html";
}
}
<form name="form1">
<select name="menu" onChange="jumpMenu()">
<option value="01.html" selected>あいうえお</option>
<option value="02.html">かきくけこ</option>
<option value="03.html">さしすせそ</option>
</select>
</form>
264 :
237 :04/04/17 00:39 ID:2H7oYol/
>>262 ありがとうございます!
しかしエラーが出て動作しません・・・。
せっかっく作って頂いたのにすみません。
どこを直せばいいのでしょうか?
>>263 <a href="#" onclick="window.opener.location.href='行き先';return false">
...</a>
なお、#のところにはJS OFFのときの行き先を書くのが吉。
267 :
234 :04/04/17 00:56 ID:???
なんだかんだで出来ましたが・・・ window.createPopup ってNNで動かないんですね。 ( ̄▽ ̄;)!!ガーン
>>266 だったら
<a href="hoge" onclick="window.opener.lcoation.href=this.href;return false;">
でよいのでは?
>>264 ごめん、selectのnameを間違えた。
optionのvalueもなくて大丈夫。
function jumpMenu(){
if (form1.selmenu.selectedIndex == 0) {
parent.menu.location.href = "01.html";
parent.main.location.href = "aaa.html";
} else if (form1.selmenu.selectedIndex == 1) {
parent.menu.location.href = "02.html";
parent.main.location.href = "bbb.html";
} else if (form1.selmenu.selectedIndex == 2) {
parent.menu.location.href = "03.html";
}
}
<form name="form1">
<select name="selmenu" onChange="jumpMenu()">
<option selected>あいうえお</option>
<option>かきくけこ</option>
<option>さしすせそ</option>
</select>
</form>
271 :
264 :04/04/17 01:44 ID:???
>>269 ありがとうございました!!
できました!本当にありがとうございます!
272 :
237 :04/04/17 01:52 ID:???
273 :
Name_Not_Found :04/04/17 02:51 ID:d2+DBhES
はじめまして。 URLを開くと特定のブラウザのサイズを指定して開くようにしてそのサイズのまま大きさを変更できないようにしたいのですが、どのように記述したらいいのかおしえてくださいませんでしょうか? Headの中に <script language="JavaScript"><!-- window.resizeTo(1017,750) //--></script> と記述すればURLを開いたときは指定した(1017,750)のサイズになると思うのですが、僕がやりたいのは(1017,750)のサイズのままに固定してブラウザを伸ばそうとしても動かないようにしたいのですがどのように記述したらいいのかわかりません。 アドバイスよろしく御願いいたします。
onresize=function(){resizeTo(1017,750);};
275 :
Name_Not_Found :04/04/17 02:59 ID:d2+DBhES
274>> <script language="JavaScript"><!-- window.resizeTo(1017,750) //--></script> の2行目をonresize=function(){resizeTo(1017,750);}; に替えればいいんですか? 素人なもんでごめんなさい。
そういう迷惑スクリプトはやめれ
すいません、227で質問させていただいたものです。 だいぶ流れてしまったので、最初から質問させて頂きます。 >社内用のイントラで使うシステムで苦労しているんですが、以下の事は可能でしょうか? > >■複数のウィンドウが開いている場合に、 >■現在開いている各ウィンドウで表示している各URLを取得して配列に格納する > (実際はホスト名だけでよい) >■クライアントはIE6以上限定 >■複数開いているウィンドウは、すべて同じプロセスのIEであるものとする > (新規にブラウザを立ち上げるのではなく、Shift+クリックまたはCtrl+Nまたはwindow.openなどによって開かれた親子・兄弟状態のウィンドウ) > > >window.locationでできるのかな? >とも思いましたが、スクリプトが置かれているページ以外のアドレス(URL)に関する情報の取得の仕方が分かりません・・・ >どなたかお助けを・・・・
[状況例説明]
(1)新規にブラウザを立ち上げて、社内のポータル(
http://portal.hoge.co.jp )にアクセスします。
(2)ポータルの中のリンクをクリックして、Yahoo!JAPAN(
http://www.yahoo.co.jp/ )を開きます。(window.openで子ウィンドウで開く)
(3)今度はポータルの中の別のリンクをクリックして、社内の別システム(
http://other.hoge.co.jp/index.html )を開きます。(これもwindow.openで子ウィンドウで開く)
(4)今度はさらに、(3)で開いたページの中にあるリンクを右クリックして、「新しいウィンドウで開く」で別のページ(
http://other.hoge.co.jp/next.html )を開く。
(5)(4)と同様に、(3)のページから別ページを開く(
http://other.hoge.co.jp/count.html )
こうした状況があった場合、開いたウィンドウは一つも閉じていないので、全部でウィンドウは5つになります。
やりたいことは、(5)で開いたページ上で、次の情報を取得して、ある処理を走らせたいのです。
===========================================================
other.hoge.co.jpのホスト名を含むURLを表示しているウィンドウ
の数がいくつなのか?を取得する。
上の例でいくと「3」という情報を取得したい。
===========================================================
今回は、(5)のページのみ新規で作成しようとしています。
既存の部分には、事情により、windowにname属性をつける等の変更はできません。
(other.hoge.co.jpのホストのシステムの中では、name属性のあるページと無いページが混在しています。例えば、上記例(4)のページにはname属性がありません。)
かなりムリな注文かもしれませんが、えらい人お願いします。
window名を得られないなら無理です
openerで5から4、4から3を取得しても2はできないので
282 :
Name_Not_Found :04/04/17 03:25 ID:d2+DBhES
275です。 試してみました。できました。ありがとうございます。もうひとつずうずう しい質問させてください。 教えてもらったのはonresizeなので画面を大きくしようとすると画面がリサイズ しようとするのでブラウザがちらちらしますが、ブラウザ自体を指定サイズ のまま固定するという方法はありませんか?
<p>リサイズしないで下さい。</p>
285 :
Name_Not_Found :04/04/17 03:48 ID:pnbBaMG6
Netscape 7.1で document.write('<script ...'); とやってもうまくいかないんですけど、 どうすればいいんですか?
>>280-281 私も同じように考えて、行き詰まっています。
ただ、不可能かどうか?と考えると、何か抜け道があるような気がして・・・
>>287 ホンマですか?ぜひ教えていただきたいです。
JavaScriptは金になりますか?
すいません。ちと教えていただきたいのですが JAVAscriptが有効にできません。 どのようにすれば有効にできるのでしょうか? IEのバージョンは6.0.2800、窓XP IEのツール→インターネットオプション→詳細設定から有効にできると聞いたのですが そもそも有効無効にする項目が存在しません。
>>290 ツール→インターネットオプション→セキュリティ
→(有効にするゾーン)→レベルのカスタマイズ→アクティブスクリプト
>>290 「詳細設定」ではなく「セキュリティ」だ。
言われた場所だけでなく、その周辺も一通り見てみれ。
レスありがとうございます。 確認してみたのですがセキュリティ→レベルのカスタマイズ→スクリプトの欄の項目3つは 全て有効になっていました。 ですが、JAVAがONでないと書き込めない設定になっている掲示板などでは書き込めず お絵かきチャットなどのJAVAを使っていると思われる物などは表示もされませんでした。 IEでも何かをインストールしたりしないとまずいのでしょうか?
>>293 とりあえず、Java と JavaScript は別物。有効/無効の設定も別。
JavaScriptの場合は特に何をインストールする必要もないので別の原因と思われ。
Javaの場合はモノによってはMicrosoft VMとかSunJavaのインストールが必要かも。
XPだとJavaの実行環境が入ってないバージョンもあったと思うので調べてみた方がいい。
ありがとうございます。 JavaScriptのほうは後でまた詳しく調べてみます。 Javaに関してはMicrosoftのダウンロードセンターよりMicrosoft VMをダウンロード、実行したのですが2000用でしたのでインストールできませんでした。 XP用についてはMicrosoftのダウンロードセンターで検索をかけても引っかかりませんでした。 SunJAVAという方を探してみます
[Microsoft Virtual Machine XP]でぐぐってみたところ、msjavx86.exeというプログラムをDLすることができました。 そのページの詳しい解説のおかげで無事Javaが動くようになりました。 ご教授いただいた方々、ありがとうございました
>>296 スレ違いな質問だったけどこういう人はいいね。
NN7.1+WinXPでポップアップが立ち上がらないのは既出?
( ゚д゚)ハァ?何を言ってんだか
300 :
298 :04/04/19 16:51 ID:???
実際に↓のスクリプトで立ち上がらないんだが、漏れの環境のみですか? function openPopWin(dispfile){ popWin=window.open(dispfile,"popup","width=770,height=550,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=yes,scrollbars=yes"); popWin.focus(); }
>>300 その関数の先頭に「alert(dispfile);」を挿入して確かに正しい値で
関数が呼ばれているか確かめてみ。
おそらく呼び出す記述のほうがおかしいのだろう
304 :
Name_Not_Found :04/04/19 17:46 ID:s+RL+v1I
質問させてください。 上、左、メイン、と、3フレームにわかれたページで、 上をメインメニュー、左をサブメニューにしました。 そこに、ジャバでボタンを各ページ5つづつつくったのですが、 このナビゲーションボタンはマウスオーバーの時や、 クリック時青色になり、他のボタンを押すと ボタンはもとの色にもどり、新しいボタンだけ青くなります。 勿論それ毎にメインのページが変わります。 そこまではできたんですが、 他のページから飛んできたときに、 左フレームの特定のボタンだけ青色にするにはどうすればいいのでしょうか。 1つだけ決めて、元から青色にしておく、という事はできました。 でも、特定のページにとんだときに、 そのカテゴリのボタンを青くする事ができません。 ながくなってすいません。 わかりにくければデータUPします。
305 :
298 :04/04/19 18:15 ID:???
上記、解決したのでご報告まで。 WinXP+NN7.1の環境のみ(?) 設定の要求していないポップアップウィンドウをブロックにチェックが入っている場合 ポップアップウィンドウが立ち上がらないことがあるようです。 チェックをはずすか、ポップアップの許可リストにサイトを追加すると表示されました。 Win2000+NN7.1の場合はチェックが入っていてもポップアップが出るのでなんとも・・・・ レスを下さった皆様ありがとうございました。
>>304 なんだか分かりにくいんだけどJavaとJavaScriptは別物ね。
んでサイト外から来た人に特定の処理をしたいならリンク元を参照してください。
現状ではそれ以上答えようがないと思うよ。
>>306 お前、親切だな。
あの文章だから俺はスルーしちゃったよ。
いま俺弱ってるからなんとなく同情しちゃってさ。 普段ならスルーするかもしんないな。
309 :
Name_Not_Found :04/04/20 13:38 ID:sCxeaunQ
はじめまして。 下のようにフォームのテキスト部分がいくつかあます。 name=hagu1のvalueを複数個作り(ここでは二つにします)、Aボタンではname=hagu1のvalue二つを送信し、Bボタンではname=hagu1のvalue二つとname=hagu2(つまり全体)を送信したいのです。 hagu1のvalueがひとつだけであればうまく動くのですが二つ以上にするとhagu1がundefinedになり、どうやって良いかわからないのです。 うまい解決策はあるでしょうか?フォームをひとつにしても良いかもしれないですがそれでもいいアイデアが出ませんでした。 どうぞよろしくお願いします。 <html> <head> <title>test</title> <script type="text/javascript"><!-- function SUBMITA(){ document.formA.submit(); } function SUBMITB(){ document.formB.hagu1.value=document.formA.hagu1.value; document.formB.submit(); } // --></script> </head> <body> <form name="formA" action="testdeco.cgi"> <input type="text" name="hagu1" value="hagu1value1"> <input type="text" name="hagu1" value="hagu1value2"> <button name="buttonA" value="" onClick="SUBMITA()">ButtonA</button></form> <form name="formB" action="testdeco.cgi"> <input type="text" name="hagu2" value="hagu2value"> <input type="hidden" name="hagu1"> <button name="buttonB" value="" onClick="SUBMITB()">ButtonB</button></form> </body> </html>
>>309 なにをしたいのか分かんないんだけど、ひとつのformの中に
同じ名前の物をいくつも作ってとこから間違えてるでしょ。
仮に上手く送信できたとしてどう処理するつもりなの?
とりあえず簡単にすませるならformはひとつにして
ボタンAとボタンBに応じて別のformの隠しtext boxに編集結果を
作ってsubmitとかがいいんでは。
>>309 <title>test</title>
<script type="text/javascript"><!--
function SUBMITA(){
var form = document.formA;
var hagu1 = form.hagu1;
for(var i=0; i<hagu1.length; i++)
hagu1[i].disabled = 'disabled';
form.submit();
}
// --></script>
</head>
<form name="formA" action="
http://www.example.com/ ">
<input type="text" name="hagu1" value="hagu1value1">
<input type="text" name="hagu1" value="hagu1value2">
<button onClick="SUBMITA()">ButtonA</button>
<br>
<input type="text" name="hagu2" value="hagu2value">
<input type="hidden" name="hagu1">
<input type="submit" value="ButtonB">
</form>
312 :
311 :04/04/20 14:30 ID:???
ああ、逆だったか失礼。向こうにすんのはhagu2の方ね。 まあ同じようなもんだろ。
313 :
309 :04/04/20 14:44 ID:sCxeaunQ
310様、311様、解決です!早速の的確なお答えありがとうございました。感動!
314 :
Name_Not_Found :04/04/20 16:49 ID:11uIB3+t
すみません、質問させていただきたいのですが、 以下のような簡単な掛け算を行うJavaScriptを作成したときに、 例えば0.3*3の計算結果が0.8999999999999999となってしまいます。 循環小数というものが絡んでいるようなのですが、 これらの計算結果を正しく(例だと0.9と)する方法はないものでしょうか…… 最悪、適当なところで四捨五入を考えていますが、 もし何かご存じの方おられましたら、ご教授いただけますようお願いいたします。 こちらで確認した環境は以下の通りです。 OS:WindowsXP SP1 ブラウザ:IE6 SP1、Mozzila 1.6 以下HTMLソース---------------------------------------- <html><head></head><body> <form name="form1"> (1)と(2)に乗算する数を入れると、(3)に結果が表示されます。<br> (1)<input type="text" id="col1" name="col1" onChange="subtotal()">× (2)<input type="text" id="col1" name="col2" onChange="subtotal()">= (3)<input type="text" id="total" name="total"> </form> <script language="javascript"> function subtotal() { var col1=document.all('col1',0).value; var col2=document.all('col2',0).value; total=col1*col2; document.all('total',0).value=total; } </script> </body></html>
>>314 0.3*3=0.8999999999999999
でも正解だろ
>>314 計算機の計算は有限精度だというのは知っているよね。つまり実数
計算というのは常に近似値なわけだ。
0.3*3 = 0.899999999999999
ということは、誤差は0.0000000000000001しかないんだから正確な
もんだよねえ。*誤差をまったく許したくないのなら整数だけで
計算しろ*.
function openWindow1() { window.open("*****.jpg","","WIDTH=500,HEIGHT=500,status=1"); } <a href="javascript: openWindow1()"> popup windowで↑を表示させたい場合はheadタグに書かないと サイズ指定でウィンドウは開きませんか? bodyの中にに直接書く方法はありますか?
318 :
317 :04/04/20 17:37 ID:MLNTiJVv
すいません事故解決です。 アホな質問しますた。
>>315 >>316 正しく、というのは語弊があったようで、
例えば同じ計算をCやPerl、PHPで行ったときと
同じ結果にならないかと思ったのです。
(あれらは型によって丸めている……のかな)
やはり適当なところで有効桁数を決めて、
四捨五入するなりの対応を行おうと思います。
ありがとうございました。
C言語: (gcc on FreeBSD) main() { printf("%20.17f\n", 0.3 * 3); } →0.89999999999999991 Perl言語 (FreeBSD) #!/usr/local/bin/perl printf "%20.17f\n", 0.3 * 3; →0.89999999999999991 PHP言語 (Solaris 2.6) <pre> <? printf("%20.17lf\n", 0.3 * 3); ?> </pre> →0.90000000000000000 お、PHPだけ何かやってるね、これは。
ちなみにMacPerl printf "%20.17f\n", 0.3 * 3; →0.90000000000000000
322 :
314 :04/04/20 21:06 ID:???
>>320 >>321 補足ありがとうございます。
因みにC (gcc on Redhat Linux)でprintf ("%g",0.3*3)としたときは0.9となりました。
Perl (Redhat Linux)もprint 0.3*3とだけしたときは0.9でした。
「CやPerlと同じ結果」というのはまたしても語弊があったようで申し訳ないです。
323 :
Name_Not_Found :04/04/21 04:52 ID:v2Qd51IN
教えてください。
時々、「このサイトをブックマークするにはここをクリック!」
となってますよね。あれはCtrl+Dのショートカットを
<SCRIPT LANGUAGE="JavaScript">
var txt = "ブックマーク";
var url = "
http://2ch.net ";
var who = "2ちゃんねる";
var ver = navigator.appName;
var num = parseInt(navigator.appVersion);
if ((ver == "Microsoft Internet Explorer")&&(num >= 4)) {
document.write('<A HREF="javascript:window.external.AddFavorite(url,who);" ');
document.write('onMouseOver=" window.status=');
document.write("txt; return true ");
document.write('"onMouseOut=" window.status=');
document.write("' '; return true ");
document.write('">'+ txt + '</a>');
}else{
txt += " (Ctrl+D)";
document.write(txt);
}
</script>
のように使ってるわけでしょう?Ctrl+Pの印刷ショートカットボタンを
こういう風に作るにはどうしたらよいのですか?
>>323 Google: [javascript 印刷]
コピペ派はおとなしくコピペしとき
325 :
Name_Not_Found :04/04/21 07:28 ID:v2Qd51IN
>>324 こういうのも何だが、window.print()とかの使い方は分かってるよ。
あえてキーボードのショートカットをコードでやろうということ。
これできる人いるのかな?
> これできる人いるのかな? 任意のキー操作をクライアントサイドで勝手に実行する汎用コード、という話なら無理。
>>323 そのコードのどこが「Ctrl+Dを実行」してるんだ?動作自体は
addFavorite()を呼んでいる以外の何者でもないだろ。任意の
ショートカットが実行できたら大問題だよな、そんなブラウザ
誰も使わない。恐すぎ。
あまりにも質問ないなあ。ついにこのスレもDAT落ちかね?
半年放置しても落ちない板ではあるけど
Javascriptで使われる正規表現は何を参考にしてるの?
<SCRIPT LANGUAGE="JavaScript"> <!-- myTime=(new Date()).getHours(); if(myTime>=0 && myTime<5){ myIMG="A"; }else if(myTime>=5 && myTime<16){ myIMG="B"; }else if(myTime>=16 && myTime<20){ myIMG="C"; }else if(myTime>=20 && myTime<23){ myIMG="D"; } document.write("<center><A Href="E"> <img src='"+myIMG+"'></A></center>"); 時間によってリンクの画像が変わるようにしたいんですがリンクが貼れません。 どうやれば貼れるのか教えてくださいませんか? ちなみに画像だけならば表示できるんですが、リンクを張ろうとするとできないんですよ。
>>331 何を参考にしているかどうかについては良く知らないな.
でも, regular expression と言えば perl が代表格であり,
JavaScript のそれは perl のそれと,ほぼ同じであるとは,よく言われる所さ.
>>332 var MyImg = document.createElement("img");
var MyA = document.createElement("a");
var MyP = document.createElement("p");
var MyBody = document.getElementsByTagName("body")[0];
MyImg.src = 時刻によって振り分けたもの;
MyA.href = 適宜;
MyA.appendChild(MyImg);
MyP.appendChild(MyA);
MyBody.appendChild(MyP);
>>332 あのさあ、document.write("...");の中身の「...」のところに
また " 使っちゃ駄目でしょ。よく考えなよ。
なんだかんだ言って優しい奴が多いこのスレ
337 :
Name_Not_Found :04/04/22 22:54 ID:a5BYWRR0
検索してあちこち探してみましたが、情報に当たりませんでしたので質問させて下さい。 今掲示板作ってるんですが、記事の返信ボタンをクリックすると onclick で 別ファイルをサブウィンドウを開いて、そのサブウィンドウに記事のタイトルを 送信したいのですが、文字化けを起こしてURLが変になるのか Not Found に なってしまいます。 target_blank ではうまくいくんですが…。Javascriptで 日本語を化けずに送信するにはどうすればいいんでしょうか? ご存知の方よろしくご教示下さい。使用文字コードはEUC-JPです。 問題のソースです。 <form method="post" action="res.php?" target="_blank"> <input type="hidden" name="parent¥" value="$threadno" /> <input type="hidden" name="title¥" value="$threadtitle" /> <input type="submit" value="返信" onclick="window.open('res.php?parent=$threadno&title=$threadtitle','','width=600,height=500');return(false)" />
エンコード・デコード
>>337 <form onsubmit="window.open('',popup)" target="popup">
の方が手軽なんじゃないかと思った.
Not FoundのときブラウザはどんなURLをリクエストしてる?
¥ ?
>>338 >>339 レスありがとうございます。
>>338 エンコード・デコードですか…。
ちょっと調べてみます。
>>339 入力値は parent=38 title=てすと です。
リクエストURLは parent=38&title=?AE?1?E` となってます。
なぜかIE5Macでは問題ありませんでした。
window.openなどで新しいページを開くとき POSTメソッドで値を渡したいけどどうしたらいい? 隠しFORMを用意して値設定して SUBMITをこっそり押すしかないですか?
ageとこう
ううう、、すいません。cgiと連携させている<form>で送った返信内容を 別フレームに表示したいのですがやりかたが分かりません。 現状[form.html]-------------------------- <FORM action="xxx.cgi" method="get"> <INPUT type="text" name=query> <INPUT type="submit"name=submit> </FORM>------------------------------------- これを [index.html]-------------------------- <frameset cols="50%,*"> <frame src="form.html" name="left"> <frame src="dummy.html" name="right"> </frameset> --------------------------------------から表示しています。 それでform.html内の<FORM>タグで送った内容の返信を "right"のフレームの所に表示するよう設定したいのですが やり方が分かりません。 調べた所 <SCRIPT language=JavaScript> function SubmitForm(){ window.right(); } </SCRIPT> みたいなスクリプトを書いて FORMの部分を↓のようにすればよいようなのですが、、 <FORM action="xxx.cgi" method="get" onSubmit="SubmitForm()" > 情報をお持ちな方がいらっしゃいましたらご助力いただけるとありがたいです。
>>347 document.forms[0].query.valueを
parent.right.documentに渡せばいいんだよ。
ただ表示させるだけなら、
parent.right.document.write(document.forms[0].query.value);
とか。
たぶんもっと複雑なところに表示させなきゃいけないんだろから、あとは自分で。
>>347 うーん?そんなの<form target="right" ...>にするだけじゃないの?
あ、rightに戻すのか。
>>348 は良く嫁タコ助ってことでゴメン。
恥ずかし。
351 :
347 :04/04/23 15:22 ID:???
(´・ω・`)・・・ あ、、、 (´・ω・:;;:.,. (´・:;;,.:;,:,..,.:;,.. (::;:;,.:;,.,,,.,,,,,,,,, :;;,...... すいませんー お騒がせいたしましたーーー RESをくれた348さん349さん本当にどうもありがとうございましたっ。 精進に励みますです。
352 :
Name_Not_Found :04/04/23 19:36 ID:iPftzhhT
>>346 >>345 のように、
頭の中で「スクリプト=迷惑」という図式を完成させ、
何が迷惑であるかを考えることをやめてしまった人もいる。
考え直す能力を失ってしまっているので、こういう人は無視するしかない。
343を無視するなよ
無視でいいだろ
>>353 答えないんじゃなく、答えられないんだよ。
答えられない自分を認めたくないから、
>>345 のように、
これは答えなくていい質問なんだと主張するんだよ。
356 :
343 :04/04/23 22:13 ID:5G8W/Unw
回答まだー?
>>343 自分で書いている隠しFORMしかない。なぜならPOSTメソッド
の送信を別の方法で行う手段はないから。以上。
おかしな事を考える奴ってのは、やはり性根からおかしいもんだな。
359 :
Name_Not_Found :04/04/24 00:08 ID:UGKl0+Bn
>>358 >>343 のように、
頭の中で「自分のやる事=迷惑ではない」という図式を完成させ、
何が迷惑であるかを考えることをやめてしまった人もいる。
考え直す能力を失ってしまっているので、こういう人は無視するしかない。
・ユーザーに迷惑となるスクリプトを書かない者 質問者が、対象となるユーザーが誰であるかを述べてないのに、 これに反していると指摘するのは論理的におかしい。 要するにバカだ。
>>343 先にウィンドウをopenしておいて、
form の target をそのウィンドウの名前にしたらどうかね。
悪意を持った人間じゃないとわかるわけもなく、更に回答はそういう人間も 目にするということを考えずになんでも答えるほうがバカ。
>>362 >そういう人間も目にするということを
なぜそう言える?
例外なら幾らでもあるぞ?
自分の視点でしか物事が考えられないのか?
その例外とは?
343はどこへ行った。
つまらん話やってるなぁ。
ども 普通に隠しFORMを用意して.submit()しますた。 きちんと動いたので問題ナッシングでし。
>>362 仮に迷惑なスクリプトがあったとしても むしろ積極的に公開すべきだと考えます。
なぜなら、攻撃方法を知らなければ対策は取れないからね。
これはスクリプトに限った話ではないし、サーバ管理者だけの問題でもないです。
誠実なコンテンツ製作者なら 意図せず攻撃的なスクリプトを動かしたり
たりしないためにも どういうコードが不味くて ほんとはどう書くべきなのか
常に勉強しつづける義務があるし、そのためにも公開は必要だと思うのです。
>>368 そう思うなら同じ考えの人たちとどこかで勝手にやったら?
ちょい質問 hash = { key : value }; key をクヲートで括ってるわけじゃないのに変数展開してくれん。 ちょと納得いかないんだが、こういうもんなのかね?
javascriptでalert(document);を行った時にアラートも出ない状況になってしまいました。 alert(window);はobjectと表示されます。 ダウンロード処理(サーブレット)を作り、submitを行ってファイルの保存ボタンを押下して ファイルを保存した後に再度同じ処理を行うと、JavaScriptでdocumentが見えなくなっている 事がわかりました。 documentが見れなくなってしまった場合、どのような事が起こっていると考えられますか? 何か見直した方がいい事などありましたら、教えてください。 お願いします。
>>368 あなたにそれを語るほどの実力が無いと判断されてるから嫌がられてるんだよ。
>>374 なんだそのピントの外れた回答は! カエレ!
>>371 オブジェクトリテラルはレコードのように使うだろうから
var o = { name: 'hage', age: 20 };
こういうのを考えるとキーは評価されない方が便利と思う。
あんたがやりたいことは次のようにするんだろうね。
var o = {}; o[key] = value;
これならkeyは評価されるから。
>>372 はあ???自分の脳内用語で語られても解読できない。
一般論でいうなら、その最後の状態で「ソースを見る」
をやってそのソースをチェックしれ。サーブレットが
何をやろうとブラウザに最後に載っているものがそのような
動作を行っているのだという基本原理に立ち帰るべき。
>>368 そんな「新しく開発されて研究の価値がある」迷惑スクリプトが
このスレで出てくることはほぼ絶無。だいたいはそういう迷惑じゃ
なくブラウザの窓サイズ固定したいだとかいつも前面に出したい
だとか我儘勝手の迷惑。そういう迷惑野郎にそれは迷惑だと言う
ことは必要だろ。
>>377 ブラウザの窓サイズ固定したり、いつも前面にしたりするのが必要で、
それが全く迷惑ではない場合もあるんだよ。一般的なページの場合だけを想定するなよ。
それに、根拠を言わずに単に迷惑と言うだけじゃ相手には伝わらない。
現に343がそうだ。そんな見せかけだけの正義なら必要ないよ。
質問したい奴はしろよ。 答えたい奴は答えろよ。 迷惑だと思ったら叩く。
>>378 もちろん、だから質問の内容から見て何も考えてないようなら
叩く。最初は「一般的には迷惑だとされる」と書く。実際それで
キレる奴もいるが「これこれの事情でこれは迷惑にあたらない」
という説明がなされて納得することもある。過去ログ見れば分か
るゼ、両方ちゃんとあるからな(笑)
>>380 「一般的に迷惑」なことをしようとする人がいるとき、
その人自身「一般的には迷惑」だと理解はしているが、
特別な事情がある(つまり例外的に迷惑にならない)のでそうしようとしてる。
そうは考えられないのかよ?・・・
おまえらうざいよ
>>381 過去ログで見る限り、そうでない奴が圧倒的に多いね。
事情がある奴はちゃんと理解してるんだからそういう風に
最初から説明するよ。過去ログ読めよ。
ステートメントって何? 教えろ暇人ども。
やっぱいいや、めんどうだ。
>>381 今まで見てきた限り、理解していないやつのほうが多い。
もし、ユーザビリティだの何だのを理解しているやつは
何故こんな特殊なことがしたいかを説明している。
理解していないやつに、馬鹿正直に教えるのは危険。
∴ 手間を惜しまない ⇒ 迷惑である可能性などを説明してから ソース張る
面倒くさいし ⇒ なぜソレがしたいかを聞いてみる
>>384 JavaScriptの話だよね。ステートメント(statement)= 文。
だいたい、プログラミング言語全般でいうと(おおむね)
順番に実行される単位のこと。
「x = x + 1;」とか「window.alert('...');」とかは文。
「if(...) ...;」なんかも文。「{ ... }」なんかも文。
if文だとかwhile文だとかいう言い方するよね。
>>375 あの文章を解読してくれましたか。
読み返してみたらチョト酷かたよ。
ということでどーでもイイことは考えないことにしますわ。サンク。
>>387 まさか本当に教えてもらえるとは思わなかったよ・・。
googleで検索してもそれらしきもんが全然出ないんだよな、助かりまった。 多謝!
質問です。
>>132-133 の動きで指定位置までのスクロールをやりたいのですが
どこをどのように変えればいいのでしょうか?
scrollToで座標を指定するらしい、ぐらいしか分かりません。
あと<script>内ではなく、リンクごとに<a>の中で
座標を指定することは出来るのでしょうか。
宜しくお願いします。
JavaScriptじゃない?
>>392 JavaScriptと無関係。初心者スレを勧めるけど。
>>390 だからさあ、このスレは全部そっくり書いたげるスレじゃ
ないんで、自力で分かるようになるしかないよ。回答者の
興味を引く質問なら答えてもらえるだろうけど、縦と横を
とりかえて特定位置までにとか、単純な改造だから改めて
作り直すまでもないんだし。
>>133 のスクリプトで読め
ない記述があるとかならそこだけ質問してくれれば回答し
ないでもないな。
396 :
390 :04/04/24 22:16 ID:???
>>395 レス、ありがとうございます。
正直、javaについて何も分からない状況でして。
一応調べてみて分からないことが多々あるので、質問さしてもらいます。
どなたか付き合っていただける方がいましたら、宜しくお願いします。
>>133 のソースを調べてみたんですが、
test()で現在のスクロールの位置を調べて、
結果のdistが右端ではない場合はstep()でスクロール実行
で合ってますか?分からないのが、
var d = Math.floor(dist*0.2 + 1); dist -= d;
の部分で、多分これによってスクロールが減速するのではと思ったのですが
Math.floor(dist*0.2 + 1) と dist - が
両方とも d だと言った意味なのでしょうか?同じになるとは思えないのですが。
また、この d によってscrollByの座標が(d, 0)となる理由も分かりません。
多分、自分がやろうとしていることは
scrollBy()で指定した座標と現在の位置がイコールでない場合
スクロールを起動だと思うので、scrollByの座標を(d, 0)などではなく
始めから指定しなければいけないと思うのですが、
そういった場合、どうすればいいのでしょうか?
ごめんなさい、結局
>>390 から進んでない気がしますが
宜しくお願いします。
397 :
390 :04/04/24 22:27 ID:???
ごめんなさい、自己レスです。 test()での結果が0になるまでスクロールってことですね。 それでタイムは変わらないから減速するって意味か。 ちょっと分かってきました。
398 :
390 :04/04/24 22:33 ID:???
本当にごめんなさい、更に自己レスです。 そうなると自分がやろうとしていることは if(dist <= 0) return の0を 移動したい座標にあわせればいいと言うことでしょうか?
399 :
Name_Not_Found :04/04/24 22:34 ID:b9+7/a5n
ぐぐっても分からなかったので質問させていただきます 時間が経つと(例えば60秒)自動でボタンが浮き出るのってどうすればできますか?
>>399 setTimeout と style.visibility あたりで検索汁。
>>390 >正直、javaについて何も分からない状況でして。
このスレは JavaScript のスレであって JAVA は関係ない。
JAVA == JavaScript と思ってるヤシには何も答える気にならんよ。
>>399 >>395 >>1 教えてクンは(ry
JavaScriptを縮めてjavaということもある。 まさか、それを知らずに言ってるわけではなかろう? いちいちホームページじゃないよウェブサイトだよって言う奴と同じで 自分の知識を見せびらかしたいだけな。 かっこ悪いからやめた方がいいよ。
403 :
390 :04/04/24 23:00 ID:???
>>401-402 >>1 もよく読まず質問してしまってスミマセン。
あとは
if(dist <= 0) return の0を関数にして
リンクごとに数値を変更する方法を調べたら何とかなりそうです。
安易に人に聞く前に自分で調べろってことですね。
>JavaScriptを縮めてjavaということもある。 そういう言い方が、それを目にする入門者をマジで混乱させてるわけだが。
405 :
Name_Not_Found :04/04/24 23:21 ID:pciF5RU5
>>402 > JavaScriptを縮めてjavaということはない。
> 自分の無知を見せびらかしたいだけな。
> かっこ悪いからやめた方がいいよ。
> JavaScriptを縮めてjavaということもある。
俺も初耳。
>>396 を庇護するのは悪いことじゃないと思うけどちょっとこれは…
CD-ROMの事を「ROM」と呼ぶ人もいるし 掲示板への書き込みの事を「メール」と呼ぶ人もいる。 JavaScriptの事を「java」と呼ぶ人もいるだろうな。
無茶苦茶を正当化しようとするところをみると このところおかしな理屈をこねている奴の仕業か
412 :
Name_Not_Found :04/04/25 01:56 ID:iC1HcM4Z
すみません。教えてください。 画像をクリックし、別ウインドウで違う画像を表示したいのですが、そのときウインドウの大きさを画像サイズにあわせたいのです。 初心者なのでよくわからなくて。。。 いろいろ探してみましたが、テキストのウインドウ設定しかさがせれませんでした。しかもそれを応用する仕方もわかりません。 どうぞよろしくお願いします。
>412 ・ユーザーに迷惑となるスクリプトを書かない者
414 :
Name_Not_Found :04/04/25 02:07 ID:iC1HcM4Z
すみません。書き込むところ間違えてしまったようですね。 失礼しました。
「デコード」の事を「再エンコード」と呼ぶ人もいる。 話が通じるか通じないかの分水嶺の向こう側から ときどき声が聞こえてくるね。
javascript セーフ javaスクリプト セーフ JS ぎりぎりセーフ java アウト
>>416 どっちかというと「JS」は十分セーフで「javaスクリプト」
がギリギリセーフだと思うけどなあ。
>>413 「画像を別窓で開く」という選択がOKなら、そのサイズを
画像に合わせるのはアリだろ。画像別窓は、画像を色々
見るというサイトだったら許されると思うけどね。
>>412 画像ファイルごとにその画像の縦横サイズは分かっているのね?
携帯電話を縮めて携帯と言う人もいる。しかし、
もともと「携帯」という単語は携帯電話とは別に「携帯する」という意味を持っている。
つまり、他の意味を持つ言葉と同じように言葉を略すことが許されないのではない。
なぜなら、話の流れからどちらの意味で使っているのか分かるから。
>>396 の場合は、明らかにJavaScriptの意味でjavaをと言っている。
("本来の"javaを良く知らないので、こう省略しても単語の意味が衝突しないと思っている。)
"本来の"javaについて質問してるわけじゃないんだから、わざわざつっこむなや。
>>396 うん、まじめに読めているじゃん。見直したよ。このスクリプト
ではまずdistに「現在位置と最終位置のずれ」を計算する。で、
その量だけイッキに移動するとジャンプになっちゃうから、
dist*0.2+1 を整数に切捨てた値 d を計算して、1回には
その分だけ移動することを一定時間間隔で繰り返す。 d だけ移動
すると残る移動量は d を差し引いた値になるよね。その計算が
var d = Math.floor(dist*0.2 + 1); dist -= d;
なわけだ。だからあとはあんたが移動したい量をどうやって計算
するか考えればいいわけ。移動そのものは window.scrollBy()で
できるからね(縦横とも)。
( ´,_ゝ`)ハイハイ ウザイ正当化はもうけっこうですよ
デムパは放置の方向でいこうよ…
タチの悪い屁理屈厨、居着いちゃったのかなぁ
へりくっちゅー
426 :
Name_Not_Found :04/04/25 16:33 ID:XpjxRtEP
1.html で a.jpg を b.jpg に表示を変更して、 1.html のリンクから 2.html に飛んだあと、 ブラウザの戻るボタンで 1.html に戻ると、 変更したはずの b.jpg が a.jpg に戻ってしまいます。 戻った場合にも、画像を変更したままの状態にすることって可能でしょうか? ブラウザの仕様上、諦めるしかないのでしょうか?
>>426 経験的な話なので,マユツバでよろしく.
ページ移動して戻った時には script が再び読み込まれ,
変数が初期状態に戻るみたい.
これを防ぐにはページ間で parameter を受け渡してやれば良い.
その方法は 2 つ:
1. cookie.
2. URL の後ろに ' ? ' を付けてそれに続いて parameter を付け加える.
受け取った時には location.search で取り出せる.
ただし, get 送信を許可している CGI の parameter と conflict しないように注意.
質問があります。 Winで言うところの、Ctrl+Fによるページ内検索、及び該当ワードの反転化と存在場所へのジャンプは Javascriptを使用し、入力欄を設けて「検索」なるボタンをクリックする事で実行するには どうすれば良いのでしょうか? アドバイスよろしくお願いします。
430 :
Name_Not_Found :04/04/25 22:05 ID:iC1HcM4Z
>417 写真の一覧から押すと大きな画像にするようにしたいのですが、ウィンドウの大きさの変え方がわからなかったのです。今はかっこ悪い写真に対して意味もなく余白のある普通の表示になっています。 画像の縦横サイズはもちろんわかっています。ですが、それをいれてみても反映されなかったのです。もっと根本的なことが間違っているのかもしれません・・・。初心者なのにこんな難しいページで聞いてすみませんでした。もう少し修行してきます。 ありがとうございました。
>>429 Netscape系なら find('ほげ'); でいける。
IEでは TextRange オブジェクトをうまく使おう。
入力欄云々はどこでもサンプル転がってるからあとは自力で頑張れ。
>>430 フリーサーバにあるポップアップバナーみたいな? だったらパクっちゃえ
もしくは自分でどこまで解ったかくらい書きなよ
>>429 サンプル
res://shdoclc/find.dlg
434 :
Name_Not_Found :04/04/25 22:54 ID:byUHGwii
質問です。 銀行のログインページを開きつつ、口座番号とパスワードを自動入力してログインする。 この一連の動作をbookmarkletで行うことは可能でしょうか?
436 :
Name_Not_Found :04/04/25 23:45 ID:byUHGwii
>>435 ありがとうございます。
その場合、ログインページを開くためにはwindow.openを使えばいいのでしょうか?
>>430 var w = window.open(URI, '名前', 'パラメタ…');
のパラメタで大きさ指定するのは初回開く時しか役に立たない。
だから上記のように変数に窓オブジェクトを保管した後
「w.resizeTo(横サイズ, 縦サイズ);」で変更するべし。
>>436 とりあえず5秒待って最初の入力欄に何か入れるという例。t.htmlは何でも
いいけどフォームがあってその最初の部品は入力欄であること。もちろん1行
にして登録してね。
javascript: w=window.open('t.html');setTimeout(function(){w.document.forms[0]
.elements[0].value='XXX';},5000);void(0)
439 :
Name_Not_Found :04/04/26 03:02 ID:O6E/7gdI
>>438 ありがとうございます。
javascript:w=window.open('
http://hoge.html ');setTimeout(function(){w.document.forms[0]
.login.value='12345678';w.document.forms[0].passwd.value='passhoge';setTimeout('w.document.forms[0].cmd.click()',2000);},1000);void(0);
一応作れたのですが、時々フォームへの入力を行わないことがあります。どうしてでしょうか?
それと、新しくページを開かずに実行したいので
window.open('
http://hoge.html ','_self')
としてみたのですが、これも上手くいきません。
アドバイスをいただければ幸いです。
>>439 IEならステータスバーの黄色い△をdblclick、
NNならアドレス欄にjavascript:と打ってEnterでエラーが見える。
ページの移動はwindow.location。
実行するページと操作するページが別ドメインだとエラーになる予感。
441 :
440 :04/04/26 03:09 ID:???
じゃなかった。location移動したらだめだ。フレームを生成して読ませるとか?
442 :
Name_Not_Found :04/04/26 03:22 ID:O6E/7gdI
>>440 それはbookmaekletでも見れるのでしょうか?
>>439 ちゃんと開きってからでないと入力できないようで、5秒というの
を伸ばすしかないかな。onloadハンドラでやろうとしたけどうまく
行かず。そっち方面で成功させた人いたら知りたい。
445 :
Name_Not_Found :04/04/26 16:02 ID:BiU+oSbN
Javascriptでアドレス帳とかアクセスできますか?
>>445 WSHなどの環境で動かすのであれば可能ですが、
Webページに埋め込むスクリプトからはアクセスできません。
できたら恐ろしいよな、ページせてる間にアドレス帳のデータ吸い上げ放題! 名簿業者に売りさばいて巨万の富!!
448 :
Name_Not_Found :04/04/26 16:18 ID:BiU+oSbN
>>446 ありがとうございます。
Javascriptではどこまでのファイルにアクセスできるんですか?
そもそもファイルアクセスはできない?
>>448 >>446 と一緒。Webページ上のスクリプトからの話であれば
クライアントのローカルファイルには一切アクセスできない。
WSH環境の話をしているなら、Win板とかム板とかで聞いた方がいいと思う。
ウィルスチェックだってできるんだし
ん?なんの話?
ActiveX使ったオンラインスキャンの話ではないかと。
なるほど! ・JavaScriptとJavaの違いを理解してない者キタ━━━(゚∀゚)━━━!!!!! ってわけか
おっと! ActiveXとJavaの違いを理解してない者なんて言わないでくれよ ちょっとした洒落だから
456 :
Name_Not_Found :04/04/26 20:21 ID:+CA5w0Zx
文字列の配列があって 配列を足掛かりに その文字列と同名の変数の値を取得したいのですが そのような事は可能でしょうか? 例えば var foo = new Array(); foo = ("bar", "bar2"); var bar = "hoge"; var heusu = eval(foo[0]); みたいな感じでhensuに"hoge"を代入することは可能ですが
457 :
456 :04/04/26 20:23 ID:+CA5w0Zx
× みたいな感じでhensuに"hoge"を代入することは可能ですが ○ みたいな感じでhensuに"hoge"を代入することは可能ですか? 書き間違えましたスマソ
>>455 ActiveXとJavaの違いを理解してない者キタ━━━━━━(゚∀゚)━━━━━━!!!!
>>456 > foo = ("bar", "bar2");
恐らく1個の式で配列に2個の要素を代入しているつもりなんだろうけど
JavaScriptにそんな構文はないから。
これはこれで構文エラーではないけれども配列への代入としては評価されない。
やるなら var foo = new Array("bar", "bar2"); とか var foo = ["bar", "bar2"];
あとは自分で試して見りゃ解るよ。
>>456 別に配列を足がかりにしなくてもできると思うが。
var bar = 'hoge';
var foo = ['bar', 'bar2'];
var heusu = window[foo[0]];
461 :
Name_Not_Found :04/04/27 00:41 ID:e8cn0ee9
質問です。 読み込んだ外部JavaScriptファイルのURLを、 その外部JavaScript内の記述で取得することは可能でしょうか?
>>461 何をしたいか書いたほうが適切な回答が得られると思うが
>>461 うーん、そういうプロパティとかどっかにあるのかなあ、
記憶にない。
>>461 Mozilla系なら意図的にエラーを発生させれば
生成されるErrorオブジェクトのfileNameプロパティを使えると思うが。
465 :
Name_Not_Found :04/04/27 10:24 ID:0dfkt4BH
IE上で表示されているページの文字コード(エンコード?S-JISだとか)を取得するにはどうしたらよいでしょうか? charset= で指定されているものを取得するのでもいいのですが、何か方法ありました教えてください。
質問です。 関数を連続して処理したいのですが、 <input onclick="fnA();fnB()"... という感じにです。 このとき、fnA()の結果によってfnBを処理させたくないのですが どう記述すればよいでしょうか?
>>464 ほんとだ! Errorオブジェクトってブラウザによって様々なのね〜
---main.html---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script src="t1.js" type="text/javascript"></script>
</head><body>
<pre><script type="text/javascript">
document.writeln(x);
</script></pre>
</body></html>
---t1.js---
var x = '', y;
try {
y = undef1;
} catch(e) {
for(var p in e) x += (p + ':' + e[p] + '\n');
}
>>466 fnA()からretrun true;とかretrun false;とかで出る。
「onclick="if(fnA()) fnB()"」
とする。しかしアンタ勉強が不足しすぎでは?
>>470 まず「マウスストーカはうざいからやめれ。」強く言っておく。
次に、そのページの例題を見たけどリンクがクリックできなく
なるっていうのは、追いかけているdivがマウスポインタを
覆ってしまってるからではないですかね。でっかいものに追いかけ
させていないか?
もっかい言うが、「マウスストーカはうざいからやめれ。」
私てば親切(ry
473 :
470 :04/04/27 14:22 ID:???
>>472 レスありがとうございます。
>まず「マウスストーカはうざいからやめれ。」強く言っておく。
僕もそう思いますが、勉強してるということで穏便に願います。
>でっかいものに追いかけさせていないか?
ストーカはサンプルのままです。他のフレームのないページは
問題ないのですが。
リンクは画像を貼っていたのですが、通常文字にしたら
大丈夫でした。
フレームで、画像を使って、リンクを貼るとだめです。
いくら勉強といっても、他の勉強のほうがいいですかね?
>>473 ふーんそれは不思議だねえ。画像と文字が両方入ったリンクで
画像のところ、文字のところをつついたらどうなるかな?
475 :
470 :04/04/27 15:57 ID:???
>>474 お世話になります。
左のフレームは、画像も文字もOK、右は、
両方だめでした。
ということは、記述を間違えている可能性大ですね。
間違えがないか、もっとよく見てみます。
476 :
470 :04/04/27 16:54 ID:???
フレーム統合ページに、Dreamweaverが勝手(?)に作りだしていた framespacing="0" frameborder="NO" border="0" という部分を削除したらいけました。 framespacing="0"という部分は、残しておいても大丈夫でしたが…。 よくわかってない奴はソフトに頼ってはいけないと痛感しました。 472,474さん同じ方だと思いますが、ありがとうございました。
なんか怪しいなあ、そんなことで大丈夫だったり駄目だったり するものかなあ?
478 :
470 :04/04/27 18:55 ID:???
>>477 そうなんですか?
いろいろためしましたが、必ずもとにもどしてやって
いったので間違いないです。ヽ( ^×^)ノ
理屈はわかってませんが…。
>>465 alert(document.charset);
"これはappleです" という文字列を 英数字以外を□に変換するのにはどうすればよいのでしょうか? "これはappleです" → "□□□pen□□" つまり2バイト文字だけ変換したりいろいろして、英数字の部分はそのままいじらずにいたいのです。 どうかよろしくお願いします。
たとえ 'これはappleです'.replace(/[^A-Za-z0-9_]/g,'□') みたいな事をしたとしても、 apple を pen に変換するのは不可能であると思われた。
>>480 英数字でない1バイト文字はどうするのか。そのような文字は
含まれないということなら
>>481 でいいわけだが。
484 :
Name_Not_Found :04/04/27 23:44 ID:XOKFOL+Q
わからないので教えて下さい 配列変数の変数名と数字のインデックスをそれぞれ引数にして その配列の中身にアクセスする関数を定義するにはどう書けばいいですか? function DQN(hairetsunamae , index){ alert(hairetsunamae[index]) } でいいのでしょうか? ついでにhairetsunamaeの実引数は引用符が必要でしょうか?
>>484 グローバル変数は言うなればwindowのプロパティなので
window[hairetsunamae][index] でアクセス可能(hairetsunamaeは文字列)。
486 :
484 :04/04/27 23:51 ID:???
487 :
Name_Not_Found :04/04/27 23:52 ID:urft2UNn
<HTML> <HEAD> <TITLE>test</TITLE> <SCRIPT LANGUAGE = "JavaScript"> function spc(n) { s = ""; for (i = 0; i < n; i++) { s = s + " "; } return s; } </SCRIPT> </HEAD> <BODY> <PRE> <SCRIPT LANGUAGE="JavaScript"> document.write(" - 1...+....0....+....1<BR><BR>"); for (x = 0; x <= 360; x = x + 20) { ts = 10 * Math.sin(x * 3.1415927 / 180) + 10; document.write(x, "\t", spc(ts), "*<BR>"); } </SCRIPT> </PRE> </BODY> </HTML> このhtmlだと縦にグラフを描くのですが このグラフを横に描きたい場合 どうすればいいでしょうか?
488 :
480 :04/04/28 07:40 ID:???
あ 例題間違えてました、すみません、ありがとうございます。
>>487 このhtmlだと「横に」描くけど「縦に」描きたいのでは?
2次元配列に空白文字を全部入れておいて、sin曲線の箇所
を「*」で置き換えて、最後に出力するんじゃないですかね。
でもどっちかというと「*」を含むdivを必要な数だけ挿入して
絶対位置指定するのが楽という気がする。
こんな感じかな。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><title>???</title> <script type="text/javascript"> function test() { var b = document.documentElement || document.body; for(var x = 0; x <= 360; x += 20) { var y = Math.floor(100 * Math.sin(x * Math.PI / 180)); var e = document.createElement('div'); e.appendChild(document.createTextNode('*')); e.style.position = 'absolute'; e.style.left = (20+x)+'px'; e.style.top = (220-y)+'px'; b.appendChild(e); } } </script> </head><body onload="test()"> </body></html>
入力した文字の中に数字があったとき、数字だけ16進数にするにはどうすれば よいのでしょうか?toString(16)を使うのは分かるのですが、使いどころが分かりません。 例えば "今月売り上げは65535円だった"を今月の売り上げはffffだった" にしたいのです。
>>491 標準オブジェクトのメソッドについて勉強しとくといいよ。
なぜにtoString()は知っていてreplace()は知らないのかわからんけど。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
alert(document.forms.f0.elements.t0.value.replace(/[0-9]+/g,
function(s) { return Number(s).toString(16); }));
}
</script>
</head><body>
<form name="f0" aciton="#"><p><input name="t0" type="text">
<input type="button" value="Test" onclick="test()"></p></form>
</body></html>
フォームのテキスト入力について、教えてください。 <texarea wrap="hard">を使わず、 Java関数で改行させることはできますか?
>>493 別に「'\n'」を適当に挿入すりゃいいんでしょ。問題は
「いつ」挿入するかの計算だよね。何文字を超えたら、
とかでよければ簡単だと思うが。
入力した文字列に@とか、指定した文字がいくつあるか分かるようなメソッドってあるでしょうか? Name_Not_Found を入力したら_が2個ですと出る感じです。
>>496 var s='Name_Not_Found';
alert(s.split('_').length-1);
>>497 ありがとうございます
それは後々
var t =(s.split('_').length-1);
とすれば
fo(n = 0, n< t.length, n++) としたときtを_の数って意味で使えますかね?
あ ('_')ならいけるのに(\W)とかじゃ切り分けられないのですね、これ。
>>498 ,499
こっちのほうがいいでしょう。
var count = 'Name_Not_Found'.match(/\W/g);
if (count) alert(count.length);
>>499 \W は [^a-zA-Z0-9_] だから。
ありがとうございます。 助かりました。
<script> function test(){ var K = document.forms.f0.elements.e0.value; var count = K.match(/\w/g); var G =""; if(count) { for(var n = 0; n < count.length; n++) G += K.replace(/[\w]+/g,function(S) { return String(S).charAt(n)}); document.forms.f0.elements.e1.value = G; } else{ document.forms.f0.elements.e1.value = K; } } </script> <form name="f0" aciton="#"><p><input name="e0" type="text" style="width:40em"> <input type="button" value="Test" onclick="test()"></p> <p><input name="e1" type="text" style="width:40em;"> </form> でできたと思ったのですが英語だけは問題ないし、日本語だけでも問題 ないのですが、日本語と英語がまざった文で、英語が2文字以上あると 入力と出力の文字が変わってしまいます。これをcharaAtメソッドを使用して同じにするには どうすればよいのでしょう?
>>504 論理的におかしい。
随所にalert(変数);を挿入などして、途中経過での変数を表示し、
思い通りの処理が行われていない部分を見つけて修正する。
>>504 洩れもこのコードはボロボロだと思うな。\wにあてはまる文字が20
あったとするとcharAt()の引数は19まで行くわけだけど、function(S)
に渡されるのは [\w]+ にあてはまった部分文字列だから長さ20も
ないだろ。動かなくて当然。
「何がやりたいのか」もっかい書いてみれ。特定の文字の出現回数
を数えるだけだったら
var count = 0;
for(var i = 0; i < s.length; ++i) if(s.charAt(i) == '@') ++count;
とかが一番もめなくていいと思うけどね。
507 :
Name_Not_Found :04/04/29 17:04 ID:lFPBjLIk
質問ですが function check(radio) { form = radio.form; form.val.value = radio.value; } これを複数設置したいのですがどうすればいいのですか?
何がしたいの?
>>507 同じ関数を2つ書いたら二重定義になるから。check1、check2、…
と名前を変えればいくつでも定義できるよ。無駄があっても
自分の分かるやり方でやればいいんじゃないの。部品名も同様ね。
selfつかって使いまわせ
JavaScriptって関数をオーバーロードできないの
512 :
Name_Not_Found :04/04/29 22:08 ID:IZvbQPqi
質問です タイトルバーのクローズボタン(×)を使ってウィンドウを閉じる前に確認のダイアログを表示したいのですが どうしたらいいでしょか?
>>511 オーバーロードってどうやって判別するのさ。引数には型が
ないわけだが。個数で判別するのならargument.lengthを参照
して分岐して処理するんだろうね。まあ同様にして呼ばれた時
にtypeofで引数の種別を調べて枝分かれなんかも可能ではあるな。
iframe内のファイルを、 上下左右にボタンで移動させるJavaScriptを書きたいのですが 参考になるサンプル等を置いてあるところを教えてください。
> iframe内のファイルを、上下左右にボタンで移動させる スマンが微妙に意味が解らん。 ifram中のHTMLに埋め込んだ画像等の座標を親HTMLから変更したいという話?
日本語が不自由な質問者、大杉。 「ファイルを移動する」ったら普通、ディスクからどっかに コピーとか転送とかそういう意味だろ。
>>516 さんレスありがとうございます。
おかげさまで、一応出来ました。
>ifram中のHTMLに埋め込んだ画像等の座標を親HTMLから変更したいという話?
大体そのとおりです。画像等を使えば地図等に使えますね。私の場合は画像は使いませんが巨大なHTMLを親側から動かします。
今ひとつかっこよくないのですが、上下左右移動は完成しました。これに一定量のジャンプボタンを付けて完成ということにしたいのですが、
少し難しいです。気長にがんばりますので、分からない事がありましたら、またお願いします。
ありがとうございました。
Excite翻訳みたいだ
520 :
Name_Not_Found :04/04/30 18:56 ID:yqm0IEPy
こんにちは! 質問させてください。画像にリンクを貼って、小窓を開きたいと持っております。 そこでhead内に function komado(){ window.open("mail.html","mail","toolbar=0,menubar=0,scrollbars=0,width=600,height=600") } を書きました。 mail 以外にも3つのコンテンツがあるのですが、それら全てを小窓で表示させる場合、 その三つ分も上記タグのように""内を別のファイル名に書換えて 記入しなければならないのでしょうか。 わかり辛い質問のしかたな上に初歩的な質問で大変申し訳ないのですが、 ご助言頂ければ嬉しいです。 よろしくお願いいたします。
>>520 答えを書くのは簡単だけど,それによって JavaScript を嫌う人が増える可能性がある.
まず,window.open() を使う必然性があるかどうかをよ〜く考えてね.
他の方法がないかどうかも含めて...
話はそれからだな.
523 :
520 :04/04/30 19:17 ID:yqm0IEPy
>>521 >>522 早速の回答ありがとうございます。
引数と、window.open() を使う必然性ですね。
勉強してみます。
丁寧なご回答ありがとうございました!
また何かありましたら、どうぞよろしくお願い致します。
JavaScriptの前に、日本語勉強しろ。
あんた.さっさと('日本語', '勉強').する('よろし');
>>512 <script>
function window.onbeforeunload(){
return 'tanasinn';//確認メッセージ
}
</script>
527 :
504 :04/04/30 21:01 ID:???
すみません、何をしたいって訳じゃないんです。 色々なメソッドをここに上がってるプログラムを元に変更してて、疑問に思ったのでして。 変な質問して申し訳ありませんでした。
今流行のフィッシング詐欺のために新窓を開いて、 アドレスバーもどきを表示させたいのですが・・・
>>528 そういうサイトを探し出してソースをパクれ。
531 :
Name_Not_Found :04/04/30 22:42 ID:3FlsN9BO
あやしいサイトのリンクやウインドウの制御の技術はある意味すごいです。
JavaScruptで、Perlにあるopen関数みたいなものって実装できますか? 例えば、12345.htmlというファイルの存在をopen関数で確認し、 あればそのファイルに、なければ別のファイルにLocationを移したいんですが・・・
javascってぱくっていいの?
>>533 クライアントサイドでの汎用的な方法はない。
Moz/IE なら、 XMLHttpRequest を使うことになる。
>>534 著作者に聞け。
>>533 フレームや子ウィンドウに読み込ませてみるしかないです。
クライアントサイドだから
404ページにスクリプト書いて飛ばすとかは? マンドクサイか…
>>535-536 そうですか・・・
ファイルの存在を確認できればなぁ、と思っていたのですが・・・
現在JavaScriptで年と月を取得し、
各月に対応した日記(200312.htmlとか200405.html)に飛ばすってのをやってるんです。
月初めとか、よく忘れがちでファイルを用意していないときがあるんです。
なので、ページに飛ぶ前にそのファイルがあるかないかを調べて、
なければ先月の日記に飛ぶようにしたかったんです。
やっぱクライアントサイドでは無理ですか・・・
>>537 サーバサイド(CGI)でやれば簡単だしそうあるべきものでしょ。
その切れたリンクを飛ぼうとする人が現れるたびにチェックする
よりも、ページ取り寄せ時に適切なリンク先になった状態のページ
が返送される方が正しいでしょ?
539 :
Name_Not_Found :04/05/01 20:06 ID:ZkAG607O
メインのページから、構造が全く同じ多数のフレームページへのリンクを考えています. JavaScript を使えば、フレームセットの定義は1ページだけで済むと考えました. ちなみに別窓で開くことを想定しています. <script language="JavaScript"> var NewWindow; function framecontent(urlA,urlB) { NewWindow=window.open("frame.html","","width=600,height=400"); NewWindow.frameA.location = urlA; NewWindow.frameB.location = urlB; } </script> のようにしてみたのですが、ウインドウが開くだけでフレームの内容が 読み込まれません. 何がおかしいでしょうか?
>>539 全部別窓とはまたうざったい。せめてopenの第2引数を空じゃない
文字列にしなよ。そうすればその窓が再利用されるでしょ。
それでうまく行かない理由だけど。frame.htmlが読み込まれるまで
待たないとframeAとかframeBとかいうのが使えないでしょ。
>537 それ作ったことあるわ。 予めyyyymmdd.html作って、 配列でyyyymmdd書いておいて 配列内に存在する日付だけa要素、 存在しない日付はプレーンでカレンダー書き出したような気がする。 まー、面倒臭いし、日記増やすごとに配列にいちいち書き加えなきゃならんので >538が言うようにサーバサイドで書いた方が楽よ
var e = window.event.srcElement; e.innerHTML とか e.innerText とかやったとき 先頭に空白があってもそれが消えてしまいます どうしたらよいでしょうか
>>542 innerHTMLつーくらいでHTMLだったら空白は無視して当然だろ。
「 」使うか全角空白使うのでは。または<pre>で囲んで
入れるなんてのもありね。とにかくHTMLを書くつもりでやれ。
>>543 先輩! innerTextでも空白が無くなるのは納得いかないッス!
ぼかぁ・・ぼかぁもうどうしたらいいのか・・・
>>544 値をセットする前に先頭の空白文字を に置き換える
なんて簡単だろ。それができないというのなら(ry
その前に、innerHTMLなんて使うな。
別にinnerHTMLでなくてcreateTextNodeだって同様じゃないの。 そうか、空白を入れるんじゃなくてCSSのtext-indentにしろってこと?
まぁマージンでもパディングでも
innerHTMLってIE独自だから使うなってことかな?
ナ、ナンダッテー
>>549-550 innerHTMLはGeckoやOperaも対応済みなんでそこらへん前提なら
いいんではないかと。
552 :
りんごこあら :04/05/02 21:32 ID:fMyqwFrG
左クリックするとアラートを表示し、左クリック機能を無効にする JavaScriptってないでしょうか? 右クリックのものならたくさんあるんですが・・ ファイルをダウンロードさせたいのですが、「左クリック禁止、 右クリック→対象をファイルに保存」と書いていても なかなか守ってくれなくて・・ よろしくおねがいします。
553 :
Name_Not_Found :04/05/02 21:43 ID:aGp8tqv3
HTMLページで(多分JavaScriptを使うと思われますが)同一ページをログイン時とログインしていない時で 若干表示方法(表示内容)を変えたいのですが、どうすればいいでしょうか?
>>552 aタグのことだよね。それってふつうに
「onclick="alert('メッセージ');return false"」
とかすればいいんじゃないの。
>>553 そもそもログインの処理はサーバ側でやるでしょ。
その情報をどうやってクライアント側に伝えるの。
クッキー設定するとかならその有無で表示を変える
のはできるけど。
555 :
Name_Not_Found :04/05/02 22:02 ID:aGp8tqv3
>>553 そのクッキーを利用してやろうと思っているのですが、どんな感じでやればいいのでしょうか?
まずはどんな感じでやればいいか自分で考えてみな
557 :
539 :04/05/02 22:50 ID:???
NewWindow.frameA.location=urlA; の代わりに具体的な url を直接書いて、 NewWindow.frameA.location="pageA.html"; としてもダメでした. そこで、 setTimeout('NewWindow.frameA.location.href="pageA.html"',1000); とすると上手く読み込まれました. ここで、1000 を 0 にしても O.K. でした. ところが、 setTimeout('NewWindow.frame1.location.href=url1',0); として関数から値を渡すようにすると、また読み込まれません. どこがおかしいですか?
コンボボックスとか云われています、
フォームのプルダウンでSELECTされた内容により、
連動してフォーム(プルダウン)の中身がかわるjavascriptを探してHPを
回ったのですが、プルダウンの数が10以上できなくて困っております。
以下のHPに掲載されているのを使っているんですが、
いい方法は無いでしょうか?
ttp://www.ybi.co.jp/koike/src/shikan206.htm また、もっと短いソースが理想なのですが。。
560 :
Name_Not_Found :04/05/03 03:55 ID:hwVwYDKj
replaceで2回目にヒットした文字列だけを置き換える正規表現って どう表記すればいいんでしょうか
562 :
りんごこあら :04/05/03 07:28 ID:ccMcRPwL
それだけソースに貼り付ければいいのでしょうか?
563 :
りんごこあら :04/05/03 07:49 ID:ccMcRPwL
もう一度質問します 左クリックするとアラートを表示し、左クリック機能を無効にする JavaScriptってないでしょうか? 右クリックのものならたくさんあるんですが・・ ファイルをダウンロードさせたいのですが、「左クリック禁止、 右クリック→対象をファイルに保存」と書いていても なかなか守ってくれなくて・・ ちなみに相手は解凍の仕方が分からない人が ほとんどです・・ 下のソースだとどこを変更すればよいでしょうか? 教えてください。
564 :
りんごこあら :04/05/03 07:49 ID:ccMcRPwL
<SCRIPT language="JavaScript"> <!-- function right(e) { if (navigator.appName == 'Netscape' && (e.which == 3 || e.which == 2)) return false; else if (navigator.appName == 'Microsoft Internet Explorer' && (event.button == 2 || event.button == 3)) { confirm("このように確認ダイアログが開きます。"); return false; } return true; } document.onmousedown=right; if (document.layers) window.captureEvents(Event.MOUSEDOWN); window.onmousedown=right; // --> </SCRIPT>
>>563 554でこれ以上ないくらい的確で簡潔な答えが出てるだろうが。
>>557 だからさ、setTimeout()が動作する時はもう関数引数「url1」
なんかなくなってるから。そういう時は関数リテラルが必要。
setTimeout(function() { NewWindow.frame1.location.href=url1; }, 0);
>>560 2回目くらいだったら
s = s.replace(/(パターン.*)(パターン)/, '$1置換文字列');
とかでいいんじゃないの。
>>558 このスレの過去スレ(今でも見られる奴)に何回も登場してる。
>>563 サーバでダウンロード用のHTTPヘッダを返した方が早いと思う
質問します。 サブウィンドウから親ウィンドウ上にあるオブジェクトを操作する方法を教えてください。
トップのページ(top.html)で次のようなフレームのページを作ったんですが(b.htmlはさらに2つのフレームを使っています)、 Javascriptを使ってa.htmlからc.htmlのURLを変更するにはどうしたらいいですか? よろしくお願いします。 ---- top.html ---- <frame src="a.html" name="a"> <frame src="b.html" name="b"> ---- b.html ---- <frame src="c.html" name="c"> <frame src="d.html" name="d">
573 :
Name_Not_Found :04/05/03 20:59 ID:4n1gEztl
window.openでウィンドウを開くとお気に入りバー.etcが出ません。 あの現象はどうにかなりませんか? 閲覧者側で考えたらかなりウザいと思うので・・・。
>>573 window.openを使わない。勝手に小窓がいちばんウザい
576 :
Name_Not_Found :04/05/03 21:20 ID:4n1gEztl
>>573 ハイパーリンクで代用しろ。
function openn(url,target){
var link1=document.createElement('A');
link1.style.display='none';
link1.href=url;
if(target){link1.target=target;}
document.body.appendChild(link1);
link1.click();
document.body.removeChild(link1);
}
openn('
http://2ch.net/ ','_blank');
578 :
Name_Not_Found :04/05/03 21:54 ID:QXo0IWym
bにマウスオーバーでa.htmlを表示させ、マウスアウトでa.htmlを消し、クリックするとb.htmlに飛ばせたいのですが 構文エラーがでます。↓ソース それと、leftの変わりにrightつかったらウィンドウがずっと表示してくれません。(点滅する) これもどうにかなりませんか? function winopen1(){ openwin=window.open("a.html","","width=280,height=320,left=744,top=0,toolbar=no,manubar=no,status=no"); } function winclose1(){ openwin.close("a.html"); } //--> </SCRIPT> </HEAD> <BODY> <A href="javascript:void(0)" onmouseover="winopen1()" onmouseout="winclose1()" onClick="location.href="b.html"">b</a>
579 :
Name_Not_Found :04/05/03 22:01 ID:QXo0IWym
すいません訂正(汗 right使ったら→right=0にしたら
580 :
558 :04/05/03 22:01 ID:GsLdj9hK
>>561 568
無事できました。ありがとうございました。
追加質問になるのですが、
cgiの中に取り入れてみたんですが、引き渡す情報が
プルダウンの文字にならないのか、エラーがでてしまうんですが。
<select size="1" id="lstsel1" name="lstsel1" onChange="CreateList2(this.form)"></select>
中身の name の値を変えるだけではだめなんでしょうか?
なって
581 :
Name_Not_Found :04/05/03 22:05 ID:3zj2d4gW
>>580 何を言ってるかわからん。
とりあえずidとnameは重複してはいけないと言っておく。
583 :
580 :04/05/03 22:27 ID:???
はじめに紹介させていただいたサイトでid と name の値は一緒だったんですが?
>>583 そんなところを見てやるから正しく覚えられないんだろ
585 :
580 :04/05/03 22:48 ID:???
他のサイト探してみます。。。
>>580 CGIに渡されるのはselectのnameとoptionのvalueですが
HTMLのフォーム分ってますか?
>>580 あと
>エラーがでてしまうんですが。
これだけじゃ答えようがありません
ちなみに俺もそのサイト参考にして連動セレクトボックス作ったけどCGIへの送信は無問題だったことを付け加えておこう
589 :
557 :04/05/04 03:18 ID:???
>>566 ご指摘のとおりでできました. 多謝!
関数リテラル... 手元の「辞典」と称する参考書には載っていない.
まぁ奥は結構深いんで
関数リテラル知らないと不便すぎ。その参考書の書名キボン。
たいがいのJavaScript本には載ってない予感。
サイ本とMyUNIXにはちゃんと載っている。
いわゆるほーむぺーじ作成本でしょ
595 :
Name_Not_Found :04/05/04 15:24 ID:1CyIwddi
フォームを無効化/有効化したいんですがどうすればいいのでしょうか。 例えば、インストーラなんかで良くある 「〜に同意しますか?」のチェックボックスをONにすると 次へのボタンが有効になるあれです。
「フォームが無効」の意味を正確に述べよ。特定部品のみ 操作できなくなるのか、操作できなくても提出時に値は送信 されるのか、フォーム全体についてなのか、等。
597 :
Name_Not_Found :04/05/04 15:38 ID:1CyIwddi
そーですね書き忘れてました。特定の部品のみです。 とりあえず今やりたいのはテキストエリアの有効/無効化なんですが リストやコンボボックスもも操作できるといいなと。 自分で適当に document.MyForm.myItem = disabled; とかやってみたんですがダメですね。
598 :
Name_Not_Found :04/05/04 15:41 ID:1CyIwddi
それから送信時に無効化された部品のデータは CGIでフィルタするので送っても送らなくてもどちらでも構いません。
>>597 document.MyForm.myItem.disabled=true;
>>597-598 document.forms.フォーム名.elements.部品名.disabled = true;
または
document.forms.フォーム名.elements.部品名.readonly = true;
どっちか自分の用途に合う方を使えば。
601 :
Name_Not_Found :04/05/04 16:03 ID:1CyIwddi
>>599 ,600
最初うまくいきませんでしたが
document.MyForm.myItem.disabled="true";
と""でくくる事で上手くできました。
ありがとうございました。
おかしいなあ、規格上は true / false を入れることに なっているんだけどなあ。ところで readonly は readOnly の間違いね。
603 :
Name_Not_Found :04/05/04 22:43 ID:4sxRCOkr
IE4.xでも通用するようにしたいのですがうまくいきません。 <script language=javascript> function func(id){ if (document.getElementById){ id.style.color="#FF0000"; } if (document.all){ id.style.color="#FF0000"; } } </script> <div id="aaa">略</div> <div id="bbb">略</div> <input type=button onClick="func(aaa)"> <input type=button onClick="func(bbb)"> Netscape6以上だと、<input type=button onClick="func('aaa')">のように IDをシングルクォーテーションで囲まないと動きません。 かといって、シングルクォーテーションでIDを囲むとIE4で動きません。 これを解決する方法はありますか?
>>603 それほんとにNN6で動いた? めちゃくちゃ
if (document.getElementById) {
document.getElementById(id).style.color="#FF0000";
} else if (document.all) {
window[id].style.color="#FF0000"; // でいいと思う
}
605 :
603 :04/05/04 23:13 ID:4sxRCOkr
>604 無事動きました。ありがとうございます!ふかぶか〜
606 :
Name_Not_Found :04/05/05 04:28 ID:347nWLHf
ここでいいのかわからないけど一応質問させてもらいます。 スレ・板違いであれば誘導してください。 HTMLに表示された画像の上にカーソルを置いとくと自動的に イメージを保存 イメージを印刷 イメージを送信 マイピクチャを開く といったものが出てきますよね。 あれを防ぐことは可能でしょうか?
全く以って無理です。
>>606 ブックマーク(お気に入り)に次の内容をコピペする。
javascript: for(i=0;i<document.images.length;++i)
document.images[i].onmouseover=function(){};
2行になってるけど1行にして貼ってね。で、そのページを
表示させた状態でブックマークの項目を選択する。うまく行くか
どうかそのページの細工のしかたによるけどとりあえず。
>>606 多分「イメージツールバー 無効」でGoogle
IE専な機能だったのか…そんなの知らんかった。
document.allが使えないブラウザだった場合にメッセージを表示したいんですが、 if(!document.all){document.write("メッセージの内容");} という方法でできるんですか?
>>612 if(!document.unkoooooooooooo){document.write("メッセージの内容");}
と替えて試してみろ。
右クリック禁止動作ってJavaScriptでしたっけ?
未だに右クリ禁止とか
>617 なぜ無駄なの?
ネトラン愛読者の俺にはそんな小細工は通じないぞ
微妙に痛そうな予感。
買い物サイトで右クリック禁止にすることは問題ないと思う 一部の知ったかユーザのために特別な対応をするくらいなら 右クリックなど要らぬ!
右クリックはソースを見るものとは限らないのにね。 まあユーザの不満を買うのはご勝手に。
つーか買い物サイトで右クリック程度で支障が出るのはお粗末過ぎるだろ。
そういう話は他所のスレでどうぞ。
何を!? クライアントサイドとサーバサイドの高度な連携こそWebアプリの真髄ですぞ!
それなりに痛そうな予感。
専用ブラウザでも作れよと
UIがHTMLで実現するのがいいんだろうが 頭使え頭
>>628 お前の言ってることが分からないんだが。
>625 スレタイ読める?
>>618 JavaScriptをオフにされたらおしまいだぎゃ。
632 :
Name_Not_Found :04/05/07 02:10 ID:2jix9JyT
フレームで分割したページの上に分割を関係なしに画像を置きたいんだけど ・・・って何言ってるか分かりづらいな フレームの仕切り関係なしに任意の場所に画像を配置したいです style="position:absolute;left:★px;top:☆px;" のように こういうのってjavascriptで可能ですか?
>>632 できなくはないが簡単なものでもないからやめとけ
やっぱり? あきらめます。糞質問すんません
iframeの中で表示中のURL(別ドメイン)を取得する方法はないですかね? 普通にやるとアクセス違反になるしsrcだと初めに指定したURLしか取れない
> 普通にやるとアクセス違反になる そういうのはセキュリティホールを突かないと無理。 可能な方法があったとしても発覚すれば修正される類のものなので こんなところで情報収集しても得るものはないと思われ。
>>635 iframeのsrcを絶対パスで書いとく
>>636 何か裏技はないものかと思いまして…。
>>637 ちょと分からなかったんですが、
http:// 〜から書けということですかな?
そうだとすると意味なさげなんですが…。
フレーム内に直接アクセスした場合に 別のページ(例えばトップページ)に飛ばすにはどうしたらいいでしょうか?
<a href="/">トップページ</a>
>>640 ごめんなさい。それで理解しないといけないことなんですよね?
分からない。。。
そのことが書いてあるサイトなどがあったら教えてください。m(._.)m
>639 openerにinputをhiddenで作って適当な値を放り込んでおく。 んでアクセスされたら困るページに openerのinputの値参照して 値がダメポならTOPにでもリダイレクトするようにしる
>>638 ハァ?
そのiframeのsrc設定してんのは誰?お前じゃないのか?
>>642 ありがとうございます。チンプンカンプンなんですが
書いてあるレスを基に検索して調べてみます!
opener input hidden
>>639 iframeのページで、
if(top==self){
top.location.replace(self.location.href);
}
みたいにすれ。
戻れなくならないように、replaceを使うように
>>645 は、
if(top==self){
top.location.replace(飛ばしたいページのURL);
}
だった。
>>647 ん?じゃあsrc読めばいいじゃん
それとも正規表現のこと聞きたいのか?
>>649 iframe内のページ中のリンク等でページ移動したときに読めない、って話だろ?
>>639 です!
私のような初心者でもできました。
ありがとうございました!!
m(_ _)m
>>650 アナル
そうゆうことね・・・
パッと思いつく方法がないけどDOMでなんか用意されてるんじゃないかなぁ
いちおうレンダリング実行されるわけだしDOMのどこかに変更が加わってる気がするが・・・
> DOMのどこかに変更が加わってる気がするが・・・ アクセスできていたものができなくなる、という変更が加わる。
JavaScriptでSocketを使いたいのですがそれらしき情報が見つかりません。 どうすればいいのか全くわからないので、 最初の一歩でもいいからだれか教えてください。
>>656 まずは「WSH JScript プログラミング」あたりでググって味噌
Socketつってんだろ
>>660 ブラウザ上のJavaScriptではsocketは使えない。WSHとかなら
使えるみたいよ。
( ´゚д゚`)えーーー ヘンなの誘導してよこすなよー
664 :
Name_Not_Found :04/05/08 23:17 ID:RlqzGId/
<input type=text>でEnterを押すとsubmitしてしまうのを submitしなくする方法ってどんなでしたっけ? 過去レスにあった気がするんですけど、見つけられなくて…。
666 :
664 :04/05/09 01:36 ID:vDWUEWPZ
>>665 いまは onsubmit で form のチェック(空欄になっているときalertするとか)
してるんですけど、
<input type=text>でEnterを押したときにonsubmitに設定した関数に飛ばないように
できないもんですかね?
ついEnterを押してしまって、チェックにも引っかからない場合
送信されてしまうのを防げないかと
<INPUT type="button"
>>666 それパソコン操作に慣れない人には有効かもしれないけど
慣れてる人はEnterで送信できないと不便でしょ。
confirm('送信しますか')でどうかな。ウザい?
ウザイ 送信したいからEnterするんだろが
>>666 <input onkeydown="return(event.KeyCode != 13)">
IEはこれで。Mozillaは分からんです。
>>666 scriptを使う必要はない。
<input type=text>が複数あればEnterを押してもsubmitしないので、適当にダミーを作っておけばいい。
<form action=
http://2ch.net >
<input type=text style=display:none>
<input type=text>
<input type=submit>
</form>
> <input type=text>が複数あればEnterを押してもsubmitしない マ、マジディスカー、ホントナンディスカー、スゴイディスネー
ポップアップで説明文をつけたんですが ポップアップ文の中にさらにリンクをつけたいのですが ポップアップが移動して説明文の中のリンクをうまくクリックできません。 ポップアップを移動させないようにしたいのですがどのようにすればよいでしょうか?
674 :
673 :04/05/09 02:51 ID:???
<SCRIPT LANGUAGE="JavaScript"> <!-- var IE = 0,NN = 0,N6 = 0; if(document.all) IE = true; else if(document.layers) NN = true; else if(document.getElementById) N6 = true; function OnLink(Msg,mX,mY,nX,nY){ var pX = 0,pY = 0; var sX = -10,sY = 30; if(IE){ MyMsg = document.all(Msg).style; MyMsg.visibility = "visible"; } if(NN){ MyMsg = document.layers[Msg]; MyMsg.visibility = "show"; }
675 :
673 :04/05/09 02:52 ID:???
if(N6){ MyMsg = document.getElementById(Msg).style; MyMsg.visibility = "visible"; } if(IE){ pX = document.body.scrollLeft; pY = document.body.scrollTop; MyMsg.left = mX + pX + sX; MyMsg.top = mY + pY + sY; } if(NN || N6){ MyMsg.left = nX+ sX; MyMsg.top = nY + sY; } } function OffLink(Msg){ if(IE) document.all(Msg).style.visibility = "hidden"; if(NN) document.layers[Msg].visibility = "hide"; if(N6) document.getElementById(Msg).style.visibility = "hidden"; } //--> </SCRIPT>
>673 onmouseoverでOnLink(Msg,mX,mY,nX,nY)を呼んで、 onmouseoutでOffLink(Msg)を呼んでる?
677 :
673 :04/05/09 03:11 ID:???
すばやいレスありがとうございます。 リンク部分は <a onMouseOver="OnLink('hemoro',event.x,event.y,event.pageX,event.pageY)" onMouseOut="OffLink('hemoro')"><IMG src="hemoro.bmp" width="64" height="64" border="0"></a> といった感じにしてます。
>677 ってことは、MouseOverでvisibleになる部分にマウスポインタ動かしたら 当然、MouseOutの処理が走るんで、visible部分はhiddenになるっしょ。 MouseOverでvisibleになる部分にポインタ動かす時間を稼ぎたいのであれば、 MouseOutでいきなりOffLink(Msg)を呼び出すんじゃなしに setTimeoutで時間を切って呼び出せば良い。 もしくは、visibleになる部分の中に「閉じる」ボタンなり作るとか。 ただし、この方法だと画面内いたるところにメッセージウィンドウとやらが溢れる可能性もあるんで 1個開いたら他のウィンドウを閉じる処理を入れる必要があるかもしれんけどね
679 :
Name_Not_Found :04/05/09 10:23 ID:Y5EnsQYs
メッセージウインドウは1つだけでそれを位置だけ動かして表示 してるんだから、あふれることはないでしょ。閉じる前に次の リンクに乗った時移動しちゃうと不便ならフラグ立ててチェック とかかな。
680 :
664 :04/05/09 10:37 ID:CX3vDHLy
いろんなレスありがとうございます 参考にします
マウスカーソルの位置に文字を出力するにはどうしたらいいかな
682 :
Name_Not_Found :04/05/09 11:04 ID:Y5EnsQYs
>>681 「どういうタイミングで」マウスカーソル位置に文字が出現
するのか。その文字はマウスカーソルが移動してもそのまま
の位置に残るのか。またはマウスカーソルと一緒に移動する
のか(それは絶対うざいからやめることを強く勧めるが)。
自分の日本語の不十分さを思い知れ。
683 :
681 :04/05/09 11:09 ID:???
>>682 ありがとう
とりあえずdivで表示することにしました
位置はposition:absoluteとすることで解決しました
俺も
>>673 と似たようなことしようとしてるんですが
複数のポップアップを使用していますが
次のポップアップをクリックした時に前のポップアップを消すには
どうすればよいでしょうか?
<a onMouseOver="OnLink('hehehe',event.x,event.y,event.pageX,event.pageY)" onMouseOut="setTimeout('hehehe')", 500>
OnLinkの所でそれまでに出ているポップアップを消すような
モノをいれればいいと思っているのですが
それがどういったものなのかいまいちわかりません。
どなたかアドバイスいただければと思います。
document.a.b.options[c].text=1; document.a.b.options[c].value=2; document.a.b.options[c].selected = true; これってもしかして一つにまとめられたりできますか?
>>685 あのさあ、あんた構文っていうものが分かる?
「onmouseout="..."」の「...」の部分に
「setTimeout(..., 500)」を入れるわけだから、
「onmouseout="setTimeout(..., 500)">
でないといけないだろ。文字を適当に入れ替えたら
そりゃ駄目ぽ。で、内側の「...」の部分には何を
入れたらいいわけ?「'hehehe'」を入れても何の
効果もないと思うけど。
>>686 あまりおすすめしない方法:
with(document.a.b.options[c]) { text = 1; value = 2; selected = true; }
ふつう使う方法:
var s = document.a.b.options[c]; s.text = 1; s.value = 2; s.selected = true;
ポップアップに閉じるボタンって付けられますか? もし付けられるならどの関数を使えばよいのか教えてください。
外部jsファイルをまとめて読み込む方法ありませんか。 現在はHTMLのspanなどでひとつずつ読み込んでるのですが 数が増えてHTMLに記述する量が増えたので 一気にまとめて読み込める方法などあれば教えていただければと思います。
687さん、ありがとうございます! ふつう使う方法というのは、短く書くことができるというわけですね。 一つの構文に書くことができるもんだと思っていました。 あまりおすすめしない方法は、なぜおすすめじゃないのか気になる所であります。
>685 var poplist = new Array("ポップアップ1のID","ポップアップ2のID"…,"ポップアップnのID"); for (pcnt=0; pcnt<poplist.length; pcnt++){ if(poplist[pcnt] != Msg){ if(document.getElementById) document.getElementById(poplist[pcnt]).style.visibility = "hidden"; else document.layers[poplist[pcnt]].visibility = "hide" }} ↑をOnLinkの最初の行あたりに入れれば 選択ID以外のIDついたポップアップはhiddenになる。タブン 配列poplistはグローバルにしても良いけど、あんまりかわらんか
>>688 「<a href="javascript: window.close()">閉じる</a>」とか。
>>689 「spanで1つずつ読み込む」という意味がよく分からん。別ファイル
にしたJavaScriptコードを読むのは次のでできるけど。
「<script type="text/javascript" src="JSファイル"></span>」
>>690 別に1つの文にしたければカンマ演算子で
(s = document.a.b.options[c], s.text = 1, s.value = 2, s.selected = true);
だけどそれ以上どうしたいっていうわけ?ちなみにwith文は
最適化が効かなくなるのでよくないと言われている。個人的には
読みにくくなると思うのでその点からも好きではない。まあ使い
たい人は使ったらいいのでは。
> with文は最適化が効かなくなる それは実装次第なのでは。 そういう実装が実在するので奨めないというのはまあ解らなくないが。
694 :
685 :04/05/09 21:17 ID:???
>>691 レスありがとうございます。
こんなに立派なものまでいただいて・・・
OnLinkの最初の行ってのはheheheの前とかでいいんですかね?
<a onMouseOver="OnLink('hehehe',event.x,event.・・・・
のどのあたりに組み込めばいいのかがよく分かんなかったです
申し訳ないですが今しばらくアドバイスいただけたらと思います。
695 :
689 :04/05/09 21:20 ID:???
>>692 すばやすぎる返信ありがとうございます。
現在まさに指摘いただいた方法で読み込んでおります。
しかし別ファイルにしたjsファイルが膨大な数になりまして
「<script type="text/javascript" src="JSファイル"></span>」
というのが100行以上連なっている状態です。
そこで少しでも読み込み量を減らすために
100行以上連なっている
「<script type="text/javascript" src="JSファイル"></span>」
の部分を一括で読めないかと思ったわけです。
>694 function OnLink(Msg,mX,mY,nX,nY){ var pX = 0,pY = 0; var sX = -10,sY = 30; 以下略 ってなってるっしょ? これの function OnLink(Msg,mX,mY,nX,nY){ と var pX = 0,pY = 0; の間に>691をぶちこむの。 あと、>691の else document.layers[poplist[pcnt]].visibility = "hide" は最後のセミコロン抜けてるんで、足しといておくれ
>>695 まず<script>タグを</span>で閉じるのをやめれ。
次に、なぜ100個も外部JSファイルを読まなければならないのか
説明してみて。ちょっとそれは普通じゃないよ。全部1行ずつ
とかなの?100個のJSファイルを1つに連結してその1つだけを
読むようにできないの?
>>697 個人的なちょっとした個々の情報を記載してます。
ですので人数分になってしまったというわけです。
本当は1つのファイルにした方がよいのでしょうが
私のスキルが不足しているせいでjsファイルの特定の行だけ読み出すといった
ことができないのでこういった現状になっております(つД`)
>>695 沢山の<script src=...を、document.writeで書き出すJSファイルを作って、
そのJSファイルを読み込めばいいんじゃないの。
ネット上で表示するなら、合計サイズが同じでも読み込みに余計に時間がかかるから、
可能ならJSファイルをまとめて数を減らした方がいいんだけどね。
700 :
Name_Not_Found :04/05/09 23:41 ID:i1m64F6W
addEventListenerメソッド(以下にプロトタイプを記す) addEventListener(String�type, EventListener�listener, boolean�useCapture) についておうかがいしたいのですが、 dqn.addEventListener('click' , 関数名 ,true); としたとき2番目の引数の関数名の関数にその関数の引数を渡すにはどう記述すればいいのでしょうか? それと3番目の引数useCaptureの意味が全然わかりません。 よろしくお願いします。
>>700 > 2番目の引数の関数名の関数にその関数の引数を渡すには
渡せません。イベント発生時に生成されるEventオブジェクトが
第1引数に渡されるだけです。
> 3番目の引数useCaptureの意味
通常イベントはそのイベントの発生したノードで処理された(targetフェイズ)あと
そのノードの祖先ノードへと次々と渡されていきます(bubblingフェイズ)。
useCaptureをtrueにすると、子孫ノードでイベントが発生する場合に
子孫ノードがEventListenerを処理する前に
イベントの処理を割り込ませることができます(caputuringフェイズ)。
702 :
700 :04/05/09 23:54 ID:???
703 :
695 :04/05/10 00:04 ID:???
>>699 数多くのアドバイスありがとうございます。
これを元に精進してきたいと思います。
まだまだ問題はありますががんばりたいと思います。
面白そうなので
>>691 のスクリプトを使わせていただこうかと思ってるんですが
私のホームページのポップアップの中に数箇所なんですが
ポップアップの中にポップアップがある場所があるんです。
Aというポップアップの中にさらに特定の場所にくるとA+というポップアップ
Bというポップアップの中にさらに特定の場所にくるとB+というポップアップ
というような感じです
>>691 のスクリプトを使用した場合
var poplist = new Array("A","B");
というようになるかと思うのですが
この場合Aの中のA+に触れた場合もポップアップ自体が消えてしまいます。
A+やB+に触れた場合は除外するというような事は可能でしょうか?
705 :
Name_Not_Found :04/05/10 00:13 ID:scZO8pcb
雪が降るスクリプトおしえて!
>>705 こんなとこで聞くよりもググッた方が早いぞ。
707 :
Name_Not_Found :04/05/10 00:36 ID:v2JxdmFr
404Not Foundの画面をオリジナルのものに飛ばしたいのですが Java Scriptになりますか?
709 :
Name_Not_Found :04/05/10 00:40 ID:v2JxdmFr
>>708 ありがとうございます。いってみま〜す。
>704 可能。 ついでに言うと var poplist = new Array("A","B"); じゃなくて var poplist = new Array("A","B","A+","B+"); じゃないかな?
>>700-702 実質的には次のようにすれば渡せるんじゃないの。
呼び出される関数をfn、追加で渡したい引数をa, bとして、
dqn.addEventListener('click', function(e) { fn(e, a, b); }, true);
>>710 それだとA+のポップアップが起動した瞬間にAのポップアップが消えて
ポップアップ全部が消える予感
ポップアップを詳しく解説してるサイトありませんか? 探してみてもポップアップの基本的なことしか記載したサイトしか発見できなくて・・・ ポップアップに色々と機能をつけてみたいんですが 掘り下げて紹介してるサイトなどあれば紹介してください
>>713 「いろいろな機能」とはたとえば?ポップアップの中
だろうと書けるのはHTML(+CSS+JavaScript)なんだから
普通のページと変わらんだろ。
すいません・・・ HTML+Javaしか知らないもので CSSのことについて詳しく解説してるサイトないですか?
>712 でも>710にしないとA+とかB+のポップアップは消えない。 配列は>710にして、あとは if(poplist[pcnt] != Msg) の条件式を書き換えれば良い
みなさんレベルが高すぎますよ
俺も
>>691 のスクリプト使ってみようと思ったんだけど
>>716 の言う条件式の書き換えってのがまだまだ思いつくレヴェルじゃないよ
elseの後ろにA+とかB+を入れるようにすればいいのかな?
どうやって入れるのかは俺にはわからんけどね
別に高くないよ。 条件式の書き換えにしたって、 別に配列とか使わなくても ポップアップの種類によって挙動変えれば良いだけなんだから。 最悪、 if(Msg == "A") … if(Msg == "B") … if(Msg == "A+") … if(Msg == "B+") … でも十分動くわけだし。 最適化できるとか何とか言い出したらキリがないけど、 動きゃ良いんよ
>>717 >みなさんレベルが高すぎますよ
同意。
このスレで
window.openに関してとか質問できる雰囲気ではないよな。
>719 んなことイチイチ気にしなさんな。 テンプレ読んで、妥当だと思えば質問すりゃ良いじゃん
ちゃんと自分の質問の内容を説明できてる人なら どんな初心者的な質問でも回答ついてるぞ。
>>720 同意。質問の内容がいかに初歩的だろうと、質問として
しっかりしていれば解答はちゃんとなされて来ている。
(過去ログにあるぞとかいう解答も多いけどね。)
叩かれるのは言葉足らずとか知ったかとかいかにも厨房
な質問だよね。
723 :
Name_Not_Found :04/05/10 13:35 ID:02mcHRGz
教えてください。 ソースを表示して、中身をみせたいようにしたいのですが ツールバーの表示からソースの表示を選ぶや、右クリックなどで できない人がいます。 ぽんっと、ボタンを押したら、ソースがでてくるみないなことは可能ですか? いろいろさがしましたが 関連記事などがありましたら、教えてください。
>>723 window.open なり location.href なりHTMLの普通のリンクなりで
'view-source:'+location.href を出してやれば?
>>715 JavaとJavaScriptは別物だということは知ってるよな。
>>1 を読め。
そしてCSSのことはCSS質問スレへ。以上。
その辺の解説サイトの方がレベル高いって^^;
ポップアップにブラウザに右上にある「×」みたいな 閉じるボタンつけることできますか? もしくは×ボタンでなく単なるボタンとか。
729 :
727 :04/05/10 15:31 ID:???
すんません どんな関数使うかヒントだけでいただけませんか? ヒントじゃなくて答えでもよいのですが ヒントだけいただければあとはこちらで勝手に調べます。
>>692 のスクリプトだとブラウザ自体閉じるっぽい
ポップアップだけを閉じるとなるとまた別っぽい
ホントだ。
適当にアンカーつけてスマソ(´・ω・`)
ボタンで付けるなら
<input type="button" onclick="閉じる処理">
かな。
具体的な処理は
>>675 にある
function OffLink(Msg)
みたいな感じで良いっしょ
ボタン配置はJavaScriptじゃなくてhtmlかcssの範疇なんで言及しませぬ
今出てるポップアップのIDとか取る方法あれば <a href="javascript: ポップアップのID.close()">閉じる</a> みたいな感じで出来そうな気もするが 初心者の俺には無理
ポップアップはCSSとHTMLが分らなれば(実装することは)難しい DOMの操作なんだし三位一体れすよ
俺の感覚としては ポップアップはjava ポップアップで出てくる内容はHTMLとかCSS って感じ ポップアップで複雑な操作をさせるのは難しいよ
だからjavaってのは寛大な大人にしか通じない赤ちゃん言葉のでやめとけって。
737 :
Name_Not_Found :04/05/10 18:52 ID:4Rp+YZtM
画像を縦方向にロールアップ表示させたいんですけど。 やり方教えてください! お願いします! ネスケ&IE、マック&ウィン、全ての環境対応方法でお願いします!
確かにスクリプトとアプレットじゃ大きく違うからな でもまぁだいたい735の言ってる感じでいいんじゃね〜の
>>733 だから窓開いたときにその窓オブジェクトを変数に保管すれ。
それ以上どう易しく説明しろっていうんだ?オブジェクトとは
何かとか聞かないでくれよ、そゆことは勉強してから来いって。
質問です。 コンボボックスのメインページから window.openでサブウインドウを立ち上げます。 そのサブウインドウにあるコンボボックスの値(optionタグの情報)を メインページのコンボボックスへコピーしたいのですが 以下のJavaScriptを使用すると、例外が発生します。 function CopyItem(listOfSub,listOfMain) { objfr = listOfSub; objto = listOfMain; if (objfr != null && objto != null) { for(i = 0;i < objfr.length;i++){ option = new Option(); option.value = objfr.options[i].value; option.text = objfr.options[i].text; objto.options[objto.length] = option; ←例外の発生行 } } } 引数の内容 CopyItem(top.window.opener.document.mainForm.mainCombo,document.subForm.subCombo) ちなみに、同じウインドウのコンボボックス同士なら出来ました。 top.window.openerがいけないのでしょうか・・・ 環境はIE6SP1です。
742 :
741 :04/05/10 22:23 ID:???
訂正です。
>>740 >コンボボックスのメインページから
→コンボボックスのあるメインページから
743 :
741 :04/05/10 22:37 ID:???
すみません、さらに訂正です。 引数が逆でした。 このScriptはサブウインドウで ボタンクリックにより実行されます。 CopyItem(document.subForm.subCombo,top.window.opener.document.mainForm.mainCombo)
>>741-743 そう何回も修正されると読む方がつらいんだけど。しかしそもそも、
あるページのスクリプト内でnew Option(...)で作ったオプションを
よそのページに入れるのはだめでしょ。コピーされる側のページに
入れたスクリプト内でnew Option(...)するように工夫したら。
745 :
741 :04/05/10 23:28 ID:???
>>744 さん
>そう何回も修正されると読む方がつらいんだけど。
すみません、読みづらくしてしまって。
>しかしそもそも、
>あるページのスクリプト内でnew Option(...)で作ったオプションを
>よそのページに入れるのはだめでしょ。
なるほど。そうなのですか。
NN6あたりでは上手く言ってたので、IEでもいけるのではないかと
思っていました。
>コピーされる側のページに
>入れたスクリプト内でnew Option(...)するように工夫したら。
741に記載したスクリプトをメインのほうに移動し、
サブウインドウからメインのスクリプトを呼ぶように変更すると
上手くいきました。
助言ありがとうございました。 m(_ _)m
746 :
Name_Not_Found :04/05/11 02:46 ID:y08pIQpo
bodyタグ内にtableタグがあって tableタグ内だけcssで色が変えられている状態があるとします。 ボタンを押した際に、そのtableタグ内のbgcolorを取得する方法は あるのでしょうか?
>>746 bgcolorというのはCSSにはないぞ。IE専でよければこういう感じ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<style type="text/css">
#c00 { background-color: red }
</style>
<script type="text/javascript">
function test() {
var e = document.getElementById(document.forms.f0.elements.t0.value);
alert(e.currentStyle.backgroundColor);
}
</script>
</head><body>
<form name="f0" aciton="#"><p><input name="t0" type="text" value="c00">
<input type="button" value="Get Color" onclick="test()"></p></form>
<table summary="test"><tbody>
<tr><th id="c00">c00</th><th id="c01">c01</th></tr>
<tr><th id="c01">c01</th><th id="c11">c11</th></tr></tbody></table>
</body></html>
<script type="text/javascript"> function getBgColor(id){ return( document.getElementById(id).currentStyle.backgroundColor); } function alertBgColor(id){ var bgc = getBgColor(id); alert(bgc); } </script> 〜〜〜 <style type="text/css"> #foo {background-color:red} </style> 〜〜〜 <table> <tr><td id="foo">foo</td><td>unnko-</td></tr> </table> <form action="#"><input type="button" value="alertBgColor" onclick="alertBgColor('foo')"></form> こっちのが汎用性あるっちゃあるかもね
局所関数はそのスコープに入るたびにfunctionオブジェクトが作成される、 ということであってるんでしょうか?
うm・・・ 局所関数ってクロージャだよね?
752 :
750 :04/05/11 15:39 ID:???
えーと、クロージャもいまいち解らないのですが、 下記↓の LocalFuncがスコープに入るたびに生成されているのか知りたいです。 function GlobalFunc() { function LocalFunc() { 処理・・・ } 処理・・・ LocalFunc(); 処理・・・ } GrobalFuncを回数の多いループで使用する場合に、外に出したほうがいいのか、 そのままでもいいのか悩んでます。
>>750 別にクロージャでなくたっていいんじゃないの。言語仕様的には
スコープに入るたびに新しいものができるように読める。確認用コード:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
</script>
</head><body>
<pre><script type="text/javascript">
function f1(s) {
function f2() { document.writeln('f2'); }
if(s) f2.test = s;
f2(); document.writeln(f2.test);
}
f1('hello'); f1(null);
</script></pre>
</body></html>
754 :
750 :04/05/11 15:41 ID:???
すいません・・・半角スペースが省略されるの忘れてました。
755 :
750 :04/05/11 15:52 ID:???
>>753 f2.testが消えてるってことはいちいち作成されてるのか・・・
LocalFuncがGlobalFunc内だけでしか使わないので中に入れて
しまいたかったのですが、やっぱり外に出すようにします。
>>751 , 753
有難うございました。
リンク画像の上にマウスカーソルが来た時に 画像の周りを判りやすく色を変えたりできますか?
758 :
Name_Not_Found :04/05/11 17:05 ID:i1qbu7UJ
質問です。 cloneNode(true) を使ってDOMツリーの一部を複製したとき、 MacIE5で2バイト文字を使っている場合、文字化けします。 何か良い対処法をご存知の方いらっしゃいましたら、 よろしくおながいします。
仕様臭いなぁ
>>758 テキストノードの値をescapeしてツリー構造をオブジェクトとして保持してunescapeしながらコピー
超思いつき
761 :
758 :04/05/11 18:46 ID:???
あー、結局MacIEはinnerHTMLプロパティ(糞)を使わざるを 得ないのかな。 <p>てすと</p> 上記のpのchildNodes[0].nodeValue を alert させると、 ちゃんと「てすと」ってでるのにな。 ともあれ、いっしょに考えてくれて ぬりがとう。
762 :
758 :04/05/11 18:48 ID:???
書き忘れ。
>>758 で書いた「複製したとき」は間違いで、
複製したモノをツリーのどこかにappendChildしたとき、
ですた。
>>761 var new = old.cloneNode(true);した後、テキストノードだけもっかい
値をコピーし直せばいいんじゃないの。でも同じように化けたりしてね。
function reCopy(new, old) {
for(var i = 0; i < old.childNodes.length; ++i)
if(old.childNodes[i].nodeType == 3) // textnode
new.replaceChild(document.createTextNode(old.childNodes[i].nodeValue),
new.childNodes[i]);
else
reCopy(new.childNodes[i], old.childNodes[i]);
}
764 :
Name_Not_Found :04/05/11 19:19 ID:ITYvwfUH
横長のテーブル(5000pxとか)で、クリックすると指定した位置にページが動くやつ。 例えば100pxの位置にあるリンクをクリックすると4000pxの位置まで自動で移動するjavascriptってありませんでしたっけ?
>>764-765 過去ログにも何回か出てると思うけど。いちばん簡単には
<a href="javascript: window.scroll(4000, 0)">移動</a>
Y方向には動かしたくない場合はもうちょっと工夫必要。
Exelファイルとかの特定行だけ読み込んで表示させることってJavaScriptでてきますか? 可能ならどういった風にやれば出来るのかアドバイスいただければと思います。
768 :
764 :04/05/11 20:00 ID:ITYvwfUH
>>766 ありがとうございます。
もう一つ伺いたいんですが、インラインフレーム内のリンクをクリックすると
親ページの位置を移動させる方法はありますか?
>>768 それは「window.scroll」の代わりに「top.scroll」を使うだけ。
>>767 ブラウザ上のJavaScriptではファイルは読めない。サーバから
取り寄せる場合、サーバ側でその特定行以外送らないようにする
しかない。ブラウザ側では送られて来たものを受け取るだけだから。
スレを読んでるとこれからする質問が初心者的すぎて 誠に恐縮なのですが、調べて自分で解決できなかったので質問させていただきます。 くだらないと思われたら無視してくださって結構です。 あるブラウザにポップアップで hello.js の中に書かれた内容をポップアップ表示してます。 しかしこのhello.jsは他の所でも使いまわししているデータでして ポップアップ以外の場所でクリックなどで表示する場合は <script language="JavaScript" src="./hello.js"></script> といった形でHTML上に表示させております。 そこで質問なのですがクリックしてHTML上で表示させる場合にのみ フォントサイズを小さくしたいのですが 上記の部分にどのようにプログラムを足せば小さく表示できるかがわかりませんでした 一応 fontsize というので文字の大きさを指定できるというのは わかったのですが、この fontsize をどう足せばよいかがわかりません どなたかわかられる方おられましたら少々お知恵をお借りできればと思います。
>>770 決してくだらなくはないと思う。工夫しようがいろいろあるね。
(1)そのhello.jsの中でどういう感じで内容を出力しているの?
(2)ポップアップから使うやり方とクリックで表示される部分とは
どのように違えているの? HTML側の違いが書かれてないので…
772 :
770 :04/05/11 22:23 ID:???
上の方のログにあったものを参考にさせていただいたのですが ポップアップさせたい部分を <a onMouseOver="OnLink('hello',event.x,event.y,event.pageX,event.pageY)" onclick="openHELPWIN(event,'./hello.html','',100,-50,600,250)">マウスが乗ったらポップアップするよ。クリックしたら別窓オープン</a> というようにしてます。 マウスが載ったらポップアップして マウスをクリックしたらhello.htmlが別窓で出てくるようになってます。 ポップアップで出てくる hello.html内に <table> <tr><td> <script language="JavaScript" src="./hello.js"></script> </td></tr> </table> といった記述してます。
>>772 そのhello.jsを含むHTMLファイルがポップアップした別窓かどうか
は「if(window.opener) ... 」で判定できるから、別窓「でない」
時だけフォントを小さくするタグを前後に出すとかしたら?
774 :
746 :04/05/11 22:51 ID:???
775 :
700 :04/05/11 23:03 ID:???
>>711 >実質的には次のようにすれば渡せるんじゃないの。
>呼び出される関数をfn、追加で渡したい引数をa, bとして、
>dqn.addEventListener('click', function(e) { fn(e, a, b); }, true);
ありがとうございました
上記コードのイベントオブジェクトの部分をとったらうまく動作しました
>>770 別窓のHTMLの方を小さくしたいんだよね?
別窓だけCSS使ってフォントサイズを調整するというのはどうだろう?
私はCSSに詳しくないんでその辺は他の人にパスします
>>776 jsファイルを<script>タグで呼び出しているので
CSSでフォントサイズを指定しても小さくならない予感
>>753 ECMA-262-3の13.2にその点について記述がある。
関数コードの実行コンテキストに入るたびに新しいFunctionオブジェクトを生成してもよいし、
結合したオブジェクト(Joined Object)を生成してもよい。
ここでは結合したオブジェクトを同じオブジェクトとしてもよい。
ので、確認コードは特定の実装を見る以上の意味はもたないと思われ。
779 :
Name_Not_Found :04/05/12 21:22 ID:WiWIOPo9
テーブルメニューが ひゅっ とでるやつのやり方教えて下さい…。まうすが出てきたテーブルに乗ってる間、表示させつづけたいのですが…
>>779 「JavaScript メニュー」で検索すれ。ひとことで説明できる
ほど話が短くないしね。
原理は複雑でもないんだけどな
782 :
Name_Not_Found :04/05/12 22:35 ID:J0ZgbD4a
検索かからないす・・・
>>782 ヒント。
onmouseover で表示して、
onmouseout で非表示にすればよいのよ。
多分ぐぐっても同じようなこと書いてあるはず。
がんがれ。
jsファイルを使ってHTMLを構成してるんだけど 数にして1kサイズのjsファイルが100個以上あります。 jsファイルが大量にあるのってやはり何か問題ありますか? 読み込みが極端に遅くなるとか メモリー食いすぎるとかサーバーに負担がかかりすぎるとか あればご指摘いただけませんか?
個数が多いと遅くなるよね、ふつう。サーバに載せて 実際に運用して遅くないならいいけど。
メモリーっていっても1kサイズのファイル100個としても 100kとHTMLのサイズ分くらいしかメモリは食わないと思うから メモリー食いすぎってことはないと思う
ファイルの実サイズっていうか、メモリ空間でどのように展開されて実行されるかだわな。 実行結果がさらにhtmlとして展開されるわけだから(ry まあどうでもいいね。
788 :
786 :04/05/12 23:50 ID:???
1kのファイル100個で100kと 10kのファイル10個で100kと どっちが負担少ないんだろ
そりゃおめぇリクエストが少ないほうがいいにダ
jsファイルの特定行だけ読むって可能ですか?
無理
外部からインクルードする場合 <script type="text/javascript" src="〜.js"></script> といった感じでするようになるので ファイルそのものを読んで内容を実行することになるから無理 src="〜.js"の後にfunctionでも指定できるなら可能かもしれんが そういうのは聞いたことがないので無理だと思う
外部JSで2byteを使用した場合の挙動 HTML : Shift_JIS 外部JS : Shift_JIS であればいずれも問題はない。 HTML : EUC 外部JS:Shift_JIS であればIE5.0以上が化ける HTML : EUC 外部JS:EUC であればIE5.0以下、Netscape4.xで化ける この認識で大丈夫でしょうか?
IE4.5(Mac)は外部JSをUTF-8以外にするとHTMLの文字コードと無関係に化ける。
795 :
793 :04/05/13 15:24 ID:???
>>794 4.5ですか。切り捨てる事にします。
EUCなページで2byteJS呼び出さないといけないので
ブラウザ判別で文字コードの違うファイルを切り替えるように
しようと調整中なのです。ありがとうございました。
jsファイルに function hello() { document.write( "Hello!" +"<br>" ); } といったようにhello〜hello10までの10個の関数を記載して HTML上にhello3の関数やhello6の関数を呼び出したいのですが この場合はどうすればいいのでしょうか。 こういった高いレベルの人が集まる場所で こんな低レベルでアホな質問するのは気が引けるのですが 助言していただければ幸いに思います。
htmlのbodyが支配する領域のどこかに <script type="text/javascript"> !-- hello(); // -- </script> って書くだけ
アウチ <script type="text/javascript"> <!-- hello(); // --> </script> ↑ね
799 :
Name_Not_Found :04/05/13 18:22 ID:m5IvF+ks
Flashでよくやるように、 JavaScriptが外部テキストファイルを読み込んで表示させることは、 可能でしょうか? 可能であれば方法を教えていただけませんでしょうか?
802 :
800 :04/05/13 19:33 ID:???
>>801 さいですか、ありがとうございます_| ̄|○
>>799 「縦横」の意味が判らん。横に大きいって幅広なテーブルとかの
こと?で、ジャンプ先はどうやって指定したいわけ?
805 :
Name_Not_Found :04/05/13 23:13 ID:m5IvF+ks
レスありがとうございます。
>>803 スクロールしても定位置にメニューが出る奴です。
上のリンクを参照下さい。
>>804 そうです。縦横にスクロールバーが出る大きさで、a nameで場所を指定しておき
a href=#〜で飛びます。
説明変ですか?
処理的にはできるだろうけど、 a href=# で a name に飛ばすんなら 飛んだあとa name の部分がフローティングメニューに隠れて見えなくなるんじゃ?
807 :
796 :04/05/13 23:37 ID:???
>>797 レスありがとうございます。
外部ファイルであるjsファイルはいつ読みこめばいいのでしょうか?
<html>
<head>
<title>hello</title>
</head>
<body>
<script type="text/javascript">
<!--
hello();
// -->
</script>
</body>
</html>
としてもjsファイルの指定がないのでうまく機能しません。
いま一度助言いただければと思います。
808 :
Name_Not_Found :04/05/14 00:06 ID:nsQqn9qt
>>806 【あ行】【か行】【さ行】という風にメニューを作り縦スクロールではなんとかうまくいっていますが、
他に方法が思いつきません。隠れて見えなくならないように右上の定位置にしたいのですが、leftをrightに書き換える
だけではだめみたいです。
テーブルで作ったブロックに飛ばすにはフローティングメニューしか思いつきません。
他にアイデアがあれば教えて頂けると助かります。
>>807 <script type="text/javascript" src="外部jsへのパス"></script>
をhello();を実行したい部分より前に書いとく
このぐらいの基本的な部分は初心者向けサイト行って勉強した方が早いと思うよ
>>808 ちょっとした手直しで右上に配置できたよ
37行目 var verticalpos="frombottom" を "fromtop" に
次の行あたりに var offsetFromRight = 150; を挿入。ブラウザ右端からメニューテーブル左辺までの距離。とりあえず150。
62行目 window.stayTopLeft=function(){ のブロックの始め、つまり if (verticalpos=="fromtop"){ の直前に
ftlObj.x = ns ? innerWidth - offsetFromRight : document.body.clientWidth - offsetFromRight;
を挿入。これでOK
配置される位置は var offsetFromRight = 150; と startY = 50; の値で調整
動くブラウザはオリジナルと変わらないはず。
もっと汎用的に書きたかったけど寝たいから応急処置改造w
いちお参考ってことで
質問させてください。 ページ内のすべてのリンクを無効化するbookmarkletを書いたのですが、 ひとつおきのリンクにしか適用されません。 どうか解決策を教えてください。 書いてみたbookmarkletは↓です。 javascript:(function(){var i,x; for(i=0;x=document.links[i];i++) {x.outerText=x.innerText;}})()
>>813 リンクをテキストに置換するごとにdocument.links.lengthが短くなるということ。
全部置換するなら while (x=document.links[0]) x.outerText=x.innerText; でよいかと。
815 :
Name_Not_Found :04/05/14 10:34 ID:KBU9eBNl
>>812 遅レスですみません。
上記のとおり変えてみたら上下スクロールはいいのですが、左右スクロールが
うまくいきません。またで申し訳ありませんが、解決策を教えてください。
>>814 なんとなくわかりました。
リンクをテキストに置換したことにより、リンクはリンクじゃ無くなるんですもんね。
ありがとうございます。
質問です。 <html> <body> <form name="form1" method="post" action=""> <input name="start_y" type="text" size="6" maxlength="2" id="start_y">年 <input name="start_m" type="text" size="6" maxlength="2" id="start_y42">月 から <input name="end_y" type="text" size="6" maxlength="2" id="end_y">年 <input name="end_m" type="text" size="6" maxlength="2" id="end_m">月 まで合計 <input name="textfield" type="text" size="6" maxlength="3">ヶ月 </form> </body> </html> の「○ヶ月」を計算するjavaを教えてください。
まずは自力で考えた方が良いんじゃないの? あと重箱の隅をつつくが、 × java ○ JavaScript
>>818 JavaScriptね。
ちょっと私には難しい問題で・・・。がんばってるんですが。
radioボタンのvalueを取得したいと思っています。 そこで以下のようにしましたがー data = document.myForm.myRadio.value; この時、radioボタンで同じnameが複数在る場合値が取得できません。 どのようにしてどのボタンが選択されているか取得するのでしょうか。
>>817 ,
>>819 日数計算をしたいって事でしょ?
それとも経過月数 ?
基本的には同じだけど微妙にアルゴリズムが変わってくるのよ.
(日数計算の場合は定められている基準日からの経過時間を
mili-second に変換して差をとってやる事になる)
>ちょっと私には難しい問題で・・・。
及び腰になった時点で できるものも できなくなると思い知るべし.
自分のできる範囲でやれるだけやって見ようよ.
その時初めて " 解っている事 " と " 解っていない事 " が見えてくるものさ.
" この部分が判りません " と質問すれば良い回答が得やすくなる.
>>820 document.myForm.myRadio[n].checked;
http://jbbs.shitaraba.com/bbs/read.cgi/computer/10521/1083149296/ で
>JavaScriptの件については触れたくありませんが、せっかくなので、
>述べましょう。
>0から23で1時間ごとを表します。
>0から47で30分ごとを表すことができるのです。
なんて言ってるんですが、ソースは
function TimeMes24(){
myDate=new Date();
myTime=myDate.getHours();
document.write("");
document.write(mes[myTime]);
document.write("");
}
です。
mesはmes=new Array(97);
mes[0]="〜";
mes[1]="〜";
って感じでmes[97]まであります<[96]じゃなくて
[97]ってのもダメでしょうが。
これで本当に24以上の数値がgetHoursで取得できるのでしょうか?
>>824 過去ログの見られるスレを探せば必ずあるけど。ようはDate
オブジェクトのgetTime()を読んで1970年1月1日午前0時からの
ミリ秒単位に換算し、差を求めて1か月のミリ秒数で割る。
(過去ログにあるのは何日を求めてるから1日のミリ秒数で
割ってたように思うが。)
>>825 もまえ
>>824 ちゃんと読めよ。
getTimeなんてどこにも出てこない。
>>824 getHours();は23までしか返さない。
したがってそこの管理人がアフォ。
getTime()使った方が楽だと思うけどねえ。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><title>???</title> <script type="text/javascript"> function f() { var e = document.forms.f0.elements; var old = new Date(parseInt(e.yyyy.value), parseInt(e.mm.value)+1, parseInt(e.dd.value)); var now = new Date(); var dif = Math.floor((now.getTime() - old.getTime()) / (1000*60*60*24)); alert('その日から今まで' + dif + '日'); } </script> </head><body> <form name="f0" action="#" onsubmit="return false"><p> <input type="text" name="yyyy">年<input type="text" name="mm">月 <input type="text" name="dd">日 <input type="button" value="Calc" onclick="f()"> </body></html>
このスレで答えてるやつって
>>827 みたいに質問者の言う事を
理解できないアホタレばっかりなの?
>>824 はカレンダについてとかそんなことを聞いてるわけじゃないやん。
隠しページの管理者の言ってる事がほんとかどうかきいてるんだろ?
>>827 は死ね
あれ、
>>817 が質問なんじゃないの?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function f() {
var e = document.forms.f0.elements;
var old = new Date(parseInt(e.y1.value), parseInt(e.m1.value)+1, 1)
var now = new Date(parseInt(e.y2.value), parseInt(e.m2.value)+1, 1)
var dif = Math.floor((now.getTime() - old.getTime()) / (1000*60*60*24*30));
alert(dif + 'か月');
}
</script>
</head><body>
<form name="f0" action="#" onsubmit="return false"><p>
<input type="text" name="y1">年<input type="text" name="m1">月から<br>
<input type="text" name="y2">年<input type="text" name="m2">月まで
<input type="button" value="Calc" onclick="f()">
</body></html>
似た質問が並ぶなんて良くあることじゃないか。質問者がかわいそうだ。
なんかいきり立って煽ってる奴がおかしいだけだろ。
ねーねー、
>>817 って
●年○月から■年□日までの月数でしょ?
((■*12)+□)-((●*12)-○)
じゃ、だめなの?多分わかんないのはinput要素へのアクセス方法とか、
そっちのほうなんじゃないのかな?
var tmp = document.getElementsByTagName(input);
var ans = ((tmp[2].value*12)+tmp[3].value)-((tmp[0].value*12)-tmp[1].value);
tmp[4].value = ans;
じゃだめかな?
833 :
832 :04/05/14 23:28 ID:???
あ、input はクォートが必要だった。 スマソ(><)
>>832 確かに月どうしだったらわざわざDateとか使う必要なかった ^_^;
ただ、「+」が文字列連結になったりするから、やっぱりparseInt
とかは使った方がいいと思うけどな。
835 :
832 :04/05/15 00:32 ID:???
>>834 なるほど。
私はtoString(10)とかする派だったんだけど、どっちがいいの?
836 :
832 :04/05/15 00:34 ID:???
あー! まだ間違ってるとこあったー! var ans = ((tmp[2].value*12)+tmp[3].value)-((tmp[0].value*12)-tmp[1].value); じゃなくて var ans = ((tmp[2].value*12)+tmp[3].value)-((tmp[0].value*12)+tmp[1].value); だ orz
>>835 つーか toString(10) と parseInt じゃ処理内容が逆だろ。
っていうか、スクリプトを書いてる最中には この変数が文字なのか数値なのか判らない言語ってどうよ? イヤ、関係ないので無視して続けてください。
ところで 〜.value-0 で数値化するのはダメ? 文字列化は""を足してる。
気をつけろ! keydown時とkeypress時ではevent.keyCodeの値が違うぞ!! <div id=down></div> <div id=press></div> <script> document.onkeydown=function(){ document.getElementById("down").innerHTML=event.keyCode } document.onkeypress=function(){ document.getElementById("press").innerHTML=event.keyCode } </script>
>839 動けば良いのよ、動けば
そう、ぼくらは動かし隊。
843 :
Name_Not_Found :04/05/15 08:37 ID:DePGM9on
Webサイト制作初心者用スレから誘導されてきました <script language="JavaScript"> var imglist = new Array( "画像1", "画像2" ); var selectnum = Math.floor((Math.random() * 100)) % imglist.length; var output = "<img src=" + imglist[selectnum] + ">"; document.write(output); </script> これでランダムに画像を表示させているのですが、画像ひとつひとつに 説明文をつけることは出来ますか?出来るのならどこをどういじればいいのでしょうか? 試しにTitle="文字"をいれてみたところ画像が表示されなくなってしまいました。
>>838 スクリプト言語はだいたいそうだろ。PerlもRubyもPythonも
そうなんだからJavaScriptだけ特別ってわけじゃない。
>>839 だからそんなヘンな書き方するよりNumber(値)とかの方が
見た目分かりやすい。でもフォームから受け取る場合は後ろに
ゴミがついても大丈夫なparseInt()とparseFloat()を勧める。
>>843 あのさあ、"..."で囲んである中にまた""を使ったらまずいと
思わないかなあ。変わりに''を使うとか工夫すれ。
>>838 型を調べる手段が用意されていれば充分。
846 :
843 :04/05/15 09:58 ID:DePGM9on
できました!どうもありがとうございました!
>843 JavaScriptスレからは論旨が外れるが老婆心ながら。 outputの書き出しにaltだけじゃなくてlengthとwidthも入れた方が良い希ガス。 だもんで配列は二次元配列にして imglist[i][j] i に画像番号 j にsrc、alt、length、widthを入れた方が良いと思うのだが(´・ω・`)
>>844 Number(値)は、数値変数じゃなくて、Number型オブジェクトが返ってきたような
>>848 ECMA262-3準拠の実装であれば
Number(v) は Number 型のプリミティブ値を返さなければならない。
new Number(v) と勘違いしてないか?
現在も日本でJavaScriptについての交流が活発的に行われてるサイトってありますか。 検索しましたが、最終更新日や投稿日が1,2年前のものが多かったので教えてもらいたいです。
>>851 …交流って、質問BBSみたいなのだったら
実働してるのがあちこちにあると思うが、そういうのではないの?
853 :
Name_Not_Found :04/05/15 17:14 ID:jvUYAxUz
javaスクリプトで最小化は出来るのでしょうか。 ページ読みこみと同時にツールバー(アドレスバーやリンク)を 全て非表示するため、新しいウィンドウを開いた後、元のウィン ドウを最小化したいのです。 ブラウザはIEです。 よろしくお願いします。
855 :
851 :04/05/15 23:39 ID:???
>>852 ブラウザゲームを作ってもMac使い故、Windowsでの動作など把握できないので
以前はそういった場所でお互いにチェックやクロスブラウザについての情報の交換をしていたのですが、
質問がとびかうう中飛び込むのもどうかと感じたので。
自分のサイトがもっと人気でれば訪問してくれた方が教えてくれるんでしょうけど…
JavaScriptでリンク先のウインドウの大きさを設定できるのは知っているんですが indexなどのTopページのウインドウサイズの設定はどうやればいいのでしょうか?
>>856 > ユーザーに迷惑となるスクリプトを書かない者
resizeTo()のことならこれに該当すると思われ。
>856 resizeTo(x,y) x→横幅 y→縦幅 ユーザビリティを一応考えような
別フレームからdocument.writeをすることは可能でしょうか? 例えば f1 と f2 というフレームがあるとしまして、 f1 から f2に対し document.write ということを行いたいのですが、 parent.f2.document.writeと記述しましたしたところ、 「アクセスが拒否されました」とか何とか言われてどうしたらいいんだこの野郎!
>>859 別サーバのページは書き換えられない仕様
>>859 これでどうだ?
parent.f2.document.open();
parent.f2.document.write・・・・
parent.f2.document.close();
863 :
Name_Not_Found :04/05/16 04:26 ID:DK4ok3jj
質問させてください。 最初にリストから項目を1つ選ぶと、その選んだ内容に応じて 新しく選択肢が表示されるページを作りました。 (例えば最初に「星座」を選んだら12個、「血液型」を選んだら 4個のラジオボタンが出る、という感じです) innerHTMLを使っているのですが、IE6だと正しく動作するものの Opera7でコケてしまいます。 HTMLは大体こんな感じになっていまして… <FORM NAME="type"> .. </FORM> <DIV id="space"> </DIV> <FORM NAME="result"> .. </FORM> // "type"で選んだ結果をもとに入力フォーム用のHTMLを // テキストでこさえて input_form に入っている var el = document.getElementById("space"); el.innerHTML = input_form; というふうにやっています。 これで、IE6だとうまく動くのですが、Opera7だとその後、 "document.result"(3つ目のフォーム。結果表示用) にアクセスできなくなってしまうようなのです。 このような場合、Operaの場合だけこの問題を回避する方法は あるでしょうか? ブラウザの判定などはできています。
>>863 おそらく,あなたは かなり使いこなせる人なのでしょう.
ならば,解っているはずです.
JavaScript は,それだけでは機能し得ないことを...
見ず知らずの人に意見を求めるのなら HTML+script の両方を書き出すべきです.
(ようするに JS に取って重要な object の部分は HTML の中にあるって事)
解りにくいかもしれないので,ほそく: 動作確認をストレートにできる状態で書き出した方がチェックしやすいって事. だからといって doctype から書き出す必要はないけどね.
IE6.0,win XPを使ってます。 ウインドウオープンのスクリプトでindexページから サイズ指定の新ウィンドウ(例えばwindow01)を出し、 その後window01からまた別の新ウインドウ(例えばwindow02)を出し、 window02内のリンクからwindow01を呼び出すと window01が背面に隠れたまま呼び出されます。 これを呼び出すと前面に来るようにするには どうしたらいいんでしょうか? ウインドウが前面にでっぱなし、というのは困ります。 よろしくお願いします。
あるエレメント(例えばDIVとか)のプロパティ, メソッドを継承して 新しいオブジェクトを作ることって可能でしょうか?
869 :
Name_Not_Found :04/05/16 13:35 ID:mVAxTCbB
ブラウザのサイズを取得することはできますか? screenサイズではないです。
どうしたら濃縮オレンジジュース
>>866 を1%まで希釈
>>864 できますか?
自分では以下まで書けたんですが、どうもこれ以上上手くいかないようです.
document.body.innerHTML.replace("。",".");
872 :
Name_Not_Found :04/05/16 19:00 ID:GvNSGSk/
○○発売まであと○日みたいに自動でカウントダウン出来るスクリプトありますか?
>872 あります
>>871 あのさあ、replace()まで成功したとしてその結果はどうなるわけ?
変数に入れるなりなんなりしないと結果は捨てられるだけだろ?
document.body.innerHTML = document.body.innerHTML.replace(...);
とかさ。
875 :
Name_Not_Found :04/05/16 19:17 ID:GvNSGSk/
>>873 教えてほすぃ。。
Javaスクリプトのサンプルとソースが載ってるHPだけでもどうか
877 :
Name_Not_Found :04/05/16 19:30 ID:GvNSGSk/
879 :
Name_Not_Found :04/05/16 19:44 ID:GvNSGSk/
こうだね <SCRIPT language="JavaScript"> <!-- time=new Date(2010,1-1,11); time=Math.ceil((time.getTime()-new Date().getTime())/86400000); if(time>0){document.write('○○発売まであと'+ time +'日!');} else{document.write('○○は現在発売中です。');} //--> </SCRIPT>
>>859-862 document.write()するということはまっさらにクリアして
いいわけなんだから、まず
parent.f2.location.href='about:blank';
して、一瞬待って、それからdocument.write()すればいいのでは?
881 :
Name_Not_Found :04/05/16 22:00 ID:kBgYIoMl
882 :
Name_Not_Found :04/05/16 22:11 ID:GvVpZQ3K
bookmarkletについて教えてほしいのですが・・・ いつも行くサイトでアンケート(チェックボックスのみ)を しないと次ページへ行けないんです。 今までは10個位のチェックボックスを一々チェックしていた のですが、最近bookmarkletという便利なものを知りました。 何とか望みのチェックボックスを一括でONにする方法は解っ たのですが、最後にsubmitボタンを押すのはどう書けばいい のでしょうか? 宜しくお願いします。
お願いするんならGeoのバナーぐらい外して来いヴォケ それ以前にスレ違いだけどな
>>882 「document.forms.フォーム名.submit()」だろ。
>>884 ありがとうございます。
バカでごめんなさい・・・
フォーム名とはソースで言うとどれなのでしょうか?
>885 バカじゃなくて知識が無いんだけ。卑下する必要はない。 それはともかく > document.forms.フォーム名.submit() じゃなくて document.フォーム名.submit(); ね。 んで formタグのNAME属性で喪前様が name = ○○ とした○○がフォーム名
>>886 親切にありがとうございます。
ソースを見たらname="submit"となっていたので、
教えていただいたとおりdocument.submit.submit();
としたのですが上手く行きません。
間違っていますでしょうか?
name="hogehoge" document.hogehoge.submit(); にするとうまくいく予感
今気づいた
>>882 不精せずにsubmitボタンくらい自力で押しなはれ
>>890 はい・・・
いつ言われるかとドキドキしてました。
教えてもらった事を参考に色々と試行錯誤中
ですが上手く行かないです・・・
もうちょっと頑張ってみます。
>>891 >ソースを見たらname="submit"となっていたので
本当にそうか?
submitボタンのnameじゃないぞ?
全体的にラベルが低いな もっと自力で調べろって_| ̄|○
ラベルが低いってのは何だ?
>>886 「document.forms.フォーム名.submit()」で正しいだろ。
で、フォームの名前が「document.なんとか」にある名前と
衝突しないようなら
「document.フォーム名.submit()」でも通常大丈夫だけど。
自分は安全のために必ずformsはつけるようにしてる。半可通
で間違ってるとか言わんで欲しいね。
グリニッジ標準時を取得できるようなスクリプトはあるのでしょうか? 何処から見ても同じように時間を表示させたいんです。
>>896 (new Date).toUTCString();
898 :
896 :04/05/17 10:37 ID:???
ありがとうです!さっそくやってみます!
899 :
817 :04/05/17 11:01 ID:???
皆さんありがとう。 ずいぶん勉強になりました。
900 :
896 :04/05/17 11:52 ID:???
>>900 なになに、そのページをパクってUTCを追加したいという意味?
パクったらまずいでしょ。それとも別のことがしたいわけ?
全然判らないぞ。
>>868 すっごい亀レスで申し訳ないが、
cloneNode();
引数にtrueを与えると、そのノードの子孫までそっくりコピー。
>895 formsオブジェクトの挙動とか所作ってわかってるよね? 動くから間違ってないってわけじゃないよ
>>903 はい、formsはW3C DOM2 HTMLでは次のように規定されています。
readonly attribute HTMLCollection forms;
--- A collection of all the forms of a document.
HTMLCollectionについては次のように規定されています。
An HTMLCollection is a list of nodes. An individual node
may be accessed by either ordinal index or the node's name
or id attributes.
そしてECMAScript Language Bindingsのところにはこう書かれてます。
Note: This object can also be dereferenced using square
bracket notation (e.g. obj["foo"]). Dereferencing using a
string index is equivalent to invoking the namedItem function
with that index.
なので、document.form['フォーム名'] または document.forms.フォーム名
で指定したnameのフォームが参照できると考えます。もし勘違い等あれば
後学のためご教示ください。よろしくお願いします。
それ読めばわかるんじゃないの? 「または」と言ってるけど、 document.forms['フォーム名'] と document.forms.フォーム名 は文法的に全く異なる。 あとは規定読めばわかるよ
あれ? 急に逃げたね。 どうしたんだろう。 これから2人の罵りあいが始まるかと思って楽しみにしてたのに。
どっちでもいいよー、動くなら
文法は違ってもアクセスするものは同じでしょ。JavaScriptの 場合。もしかして document.forms['フォーム名'] という書き方 を使わなければ正確でないという突っ込みなわけかなあ。 ECMAScriptのオブジェクトについては x['y'] と x.y は同じと 定められているけど組み込みオブジェクトではその限りではない と?しかし組み込みオブジェクトまで含めて両者が同じでなかった 経験はないけど、そういう経験をした人はいるのかなあ。
>>905 > 文法的に全く異なる。
…振る舞いは等価。
>>907 むしろ将来的にも動くかどうか、なんだよ。
今動けばいいだけなら何でもいいわけでさ。
今動くなら大丈夫だってー 理論だけでサポートなくせるなら<i>タグとかとっくになくなってるさー 万が一動かなくなればそれはそれで2000年問題のような特需が生まれてある意味Happy
逃げたかな?
新スレは975超えたら、テンプレは今と同じ、でいいすね? スレ立て人より。
>>909-910 そこで最初の話に戻るんだけどさ、「document.なんとか」の「なんとか」は
これからも増える可能性は大きいよね、機能増やすと増えるからさ。だから
現在使っているフォーム名と衝突して動かなくなる可能性があるわけじゃない。
まあ日本語のローマ字表記みたいに向こうの人が機能名としてつけそうにない
名前ならまず心配ないだろうけど。そんなこと心配するより「document.forms.
なんとか」と書いておいた方が安心かなと。別にそうしない奴を煽るとかじゃ
ないけど自分ではこれくらいを選択しているということで。
>>912 テンプレサイトにgoogle入れといて
将来性考えるならgetElementById()メソッド使えってのバカども
>>914 え、googleのどこっすか? URL全部書いてよ…
917 :
Name_Not_Found :04/05/17 17:02 ID:lX/binP/
>>916 「何処」とかじゃなくて、
グーグルに誘導したいってことじゃないかと思った。
「ぐぐれ」でわかる気がするけどな
ソレハ ククレ ガッ ☆ ( ・∀・)っ―[]M/ [ ̄ ̄ ̄] ヽ( ・∀・)ノ
>>917 何回も聞いたって無理ぽ。我々は暗号解読屋じゃないの。
ム板の暗号スレへでも行ってみれ。
あんごうかいどくや (暗号解読屋) と あんこおかいどくや (アンコお買い得や) は語感が似てるね
テンプレサイトすら見てこない奴にぐぐれと言っても何のことか分るわけが無い気もするがw
function C(str){ text=''; es = new Array(); j=0; for (i=0; i<str.length; i+=3){ es[j]=(str.charCodeAt(i)-40)*7396+(str.charCodeAt(i+1)-40)*86+(str.charCodeAt(i+2)-40); j++; } if (str.length!=0){ for (i in es){ if (i!=0){ p = pass[(i-1) % pass.length] + iv[(i-1) % iv.length]; c_code = (es[i]^p)^es[i-1]; text += String.fromCharCode(c_code); } } } document.write(text+'\n'); } この構文のルーチンがいまいち分かりません。 特に6行目なんですが。 助けてくださいおねがいします。
>>925 何回も聞いたって無理ぽ。我々は暗号解読屋じゃないの。
ム板の暗号スレへでも行ってみれ。
>>925 1個ずつ関数調べてみ。
素人でも解読できるから。
>>925-926 いや、それは別に説明だけならするけど。6行目はね、
strのi文字目、i+1文字目、i+2文字目の文字コード(UNICODEね)を
取り出し、40を引き算して、7396倍、86倍、1倍して足す。できた
値をes[i]に格納する。これでいいかな。
929 :
Name_Not_Found :04/05/17 20:44 ID:lcMAz31E
>>298 どうもです。
それならC(str)に文字列を入力するフォームのコードはどんなんなりますか?
<SCRIPT LANGUAGE="JavaScript">
<!--
function C(Str){
document.form1.after.value=escape(document.form1.before.value);
}
//-->
</SCRIPT>
</HEAD>
<FORM NAME="form1">
変換前:<BR>
<TEXTAREA NAME="before"COLS="40" ROWS="5"></TEXTAREA>
<HR>
<INPUT TYPE="button" VALUE="変換" onClick="C(Str)">
<HR>
変換後:<BR>
<TEXTAREA NAME="after" COLS="40" ROWS="5"></TEXTAREA>
</FORM>
こんなカンジでよいですか?
添削お願いします。
そもそもさ〜、解読アルゴリズムがバッチリ理解できたとしても
パスワードが分かるとは限らないってのは了解しているのかなあ。
世の中の大抵の暗号って、解読するプログラムはフリーソフト
なんかに内蔵されてるからアルゴリズムは既知で、ただパスワード
なしで解読するのは実質不可能、っていうふうにできているよね。
まあ
>>925 の奴がどうだかは知らんけどさ。
>>929 関数、引数についてしらべんさい。
このバカはほっといて次の質問ドゾー
>>931 まあそう言わんと。
>>929 関数C()の中でフォームから値を取り出して処理するのなら
function C() { ... }
でよいし、
onclick="C()"
でよいわけだけど。
>>929 応援してるぞ
解読した暁にはココの住人よりは賢くなってると思うぞ
>>934 {
click_count++;
if (click_count < 2){
return true;
}
else {
return false;
}
}
見たまんま
>>935 フォームの二回押し防止の為に使えますか?
>>935 それ、あまりにも冗長すぎて気色悪いよねえ。
「return ++click_count < 2;」
でいいわけでしょ?それを何行にも伸ばして書くことに何も
利点などないと思うけどな。
元の冗長な書き方だと、例えばfalseのときalert出しくなればすぐ書き加えられる。 大した利点じゃないけど、縮めて書いたって特に利点ないじゃん。 短いほうが気持ちいいのは同意だけど、好き好きでいいんじゃない?
>>939 その書き方はじめて見た。
φ(。。)メモメモ…
おいおい^^; ifの条件部分は比較してる式じゃないとダメとか思ってないか?
ifの条件部分って… true/false取れれば良いんじゃないの?(´・ω・`)
ブックマークレットを使って
「特定のページを開いて、そのページの中にあるテキストフィールドに値を入力する」
ということは可能でしょうか?
例えばgoogle.co.jpのトップページのテキストフィールドにabcという値を入力するために
javascript:window.open("
http://www.google.co.jp ","_self","");
window.onload=nyuuryoku;
function nyuuryoku(){document.f.q.value="abc"};
というブックマークレットを作ってみたのですがgoogleのページが開かれるだけで
入力はされませんでした
良い方法をご存知の方がいたらお教えください
946 :
944 :04/05/18 16:26 ID:???
>>945 例のために944でgoogle出したんですが、実際にブックマークレットを作って
使いたいところではURLクエリ使えないんですわ
だからテキストフィールドに値を入力する必要があるんです
ブックマークレットから呼び出したページの関数を使えたりしたらなお良いんですが
そんなことはできませんかねぇ
どうしてもだめなようならCGIで作ろうと思いますがもしできるようなら
どなたかお知恵をお願いします
>>946 早とちりスマン
別サーバーに対してのそういう操作は少なくともbookmarkletでは無理。
bookmarkletってあたかもそのページにそのスクリプトがあったとして動作させるようなものだから。
あ-
投稿した瞬間に思いついたけど、
外部サーバーからのPOSTを受け付けてるサイトなら
<form action=
http://hoge.co.jp/ method=post name=A>
<input type=hidden value=hoge name=B>
</form>
みたいなのをそのページに付け足してsubmit()する方法があるわ。
949 :
944 :04/05/18 17:32 ID:???
>>948 ありがとうございます
ちょっと実験してみます
950 :
944 :04/05/18 18:10 ID:???
>>948 挑戦してみましたがうまくいかないようです
諦めてCGIでやります ありがとうございました
4個目のalert()で止まってしまいます。 どうでもいいと思いながら気になって困ってるのですが。なぜでしょうか? <HTML> <SCRIPT TYPE="text/javascript"> alert(window.parent.toString()); // OK alert(window.parent.toString); // OK alert(window.clientInformation.toString()); // OK alert(window.clientInformation.toString); // ERROR </SCRIPT> </HTML>
952 :
951 :04/05/18 20:11 ID:???
>>951 を try...catch で囲んでみたら、今度は識別氏がありませんっていわれた。
多分、単純なミスなんだと思うけど、どうやってもエラーが出てくる。
なんかイライラしできた。
<HTML>
<SCRIPT TYPE="text/javascript">
try {
alert(window.parent.toString()); // OK
alert(window.parent.toString); // OK
alert(window.clientInformation.toString()); // OK
alert(window.clientInformation.toString); // ERROR
}
catch(var e) {
alert(e.description);
}
</SCRIPT>
</HTML>
スクリプトキティ共は死ね
>>953 alert(typeof window.clientInformation.toString);
を実行すると、'unknown' なんて文字列が返ってきたりする。
ホストオブジェクトでは、ネイティブオブジェクトのように振舞わないことがあっても
そうおかしな事ではないと思われ。
>>952 なにその「catch(var e)」てのは。そこにはvarは
書けないよ。「catch(e)」に直してみれ。
956 :
951 :04/05/18 21:38 ID:???
フォームのsubmitボタンの替わりに画像を使用してフォームと同じ動きをさせるにはどうしたらいいですか?
さんきゅー
960 :
Name_Not_Found :04/05/18 23:40 ID:p8eaQQIu
このサイト
ttp://www.everydayicons.jp/ の、ローディングしている時にロゴマーク上に出る
「Now Loading」
ってのは、JavaScriptなんでしょうか?
自分のサイトでも同じようなことをやってみたいのですが、
色々と調べてもわからないんです…。
963 :
960 :04/05/19 00:43 ID:???
良スレだ…
javascriptからphpへの値の受け渡し方を教えてください。
>>965 e.g.
/965.php?afo=965
<?php
echo $_GET['afo'];
?>
examle;
<img src="vaka.php?965=SureGaTigau">
1つのページ(index.php)にインラインフレーム(inline.php)とリロードボタン(reload)があるんですが、 リロードボタンをphpの$_POSTで実行するとinline.phpが表に出てしまいます。 これを回避するためにinline.phpのjavascriptから実行させようと思っているのですが、その方法を教えてください。
968 :
うう :04/05/19 05:44 ID:xzumC7s1
969 :
ううううyう :04/05/19 05:54 ID:xzumC7s1
970 :
ううううyう :04/05/19 05:54 ID:xzumC7s1
>>967 ハア? PHP用語を削除して質問してくれ。そもそも
リロードボタンはインラインフレーム内にあるのか親
ページ側にあるのかどっちよ。
親ページ >1つのページにインラインフレームとリロードボタンがあるのですが て書いてあるじゃん ぼけ
>>967 >リロードボタンをphpの$_POSTで実行するとinline.phpが表に出てしまいます。
日本語書き直してもう一度質問してみよう!
>>975 Z
980 :
977 :04/05/21 16:39 ID:???
>>979 SGMLではOKなんですか、イイ事聞いた、サンクス。
フラグメント識別子とdocument.allは関係あるのか?
そういやIE3のスクリプトは文字ケース無視だったなあ。
>>980 htmlはsgmlだよ。
xhtmlはxmlだけど。
フォームでメールを送信後、送信完了ページをサイズ指定した新規ウィンドウで表示したいんだけど どうやればいいのかわかんないので誰かご教授ください… とりあえず自分が試してみたのは↓です <FORM method="POST" action="mail.cgi" target="_blank"> <INPUT type="submit" value="送信" onClick="window.open('','','width=500,height=400');"> 〜テキストフォームやら〜 </FORM> これだとサイズ指定されてないウィンドウで送信完了ページが表示され、 真っ白な新規ウィンドウが開くだけでした よろしくお願いします。
>>984 <form onsubmit="window.open('','pop')" target="pop"
タブブラウザでは変になるかもねん
986 :
984 :04/05/22 01:16 ID:???
>985 おお!成功しました!素早いレスありがとうございましたー 良スレ…!
今後同様の質問が出たときに 喪前様が今回のを踏まえて回答してくれたらもっと良スレになる
良スレ期待
梅
(*゚ー゚)
産め!
ume
while(true){alert("松竹梅");}
ume
ume
ume
var a = null;
ume
1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。