+ JavaScript の質問用スレッド vol.47 +
【質問を書く上で】 1)ユーザ(閲覧者)に迷惑がかかる性悪スクリプトは回答されない。 例: 別窓開きまくり、閉じる/戻るのを妨害、全画面占有、etcは最悪。 答えさせようと「分からねえんだろ」と煽っても無駄(過去スレが証明)。 2)言葉でぐだぐだ書かずにソースを貼る、ただし要点を整理して。 そのまま貼って動かせると試してもらいやすい(ただし回答者に連結さすな!) 長い(1レスに入らない)場合はアップロードしてURIを貼る。 3)初心者という言葉は危険なので使わない方がよい。 初心者を言い訳に自力で調べない/考えない奴が最悪に嫌われる。 4)自分で調べたこと/試したこときちんと書く(調べもしない奴は最低)。 ただ「動きません」「エラーです」は何も情報がないため嫌われる。 エラーは「どの行で何のエラー」を書く(ブラウザをそのように設定すれ)。 ブラウザの設定すらできんヤシはFFxのJavaScriptコンソールを使え!!! OS、ブラウザ、バージョン、うまく行かない条件を明記しエラー再現可能に。 5)特に古いバージョン限定の時は必ず明記! 回答もチグハグになり回答者に2度 手間を食わせる可能性大(現行Ver.:IE5.5-6、N6-7、Opera7-8) 6)どういう時にどういう動作をさせたいのかを脳内にとどめずきちんと書く。 例:「自動ポップアップしたい」←どういう場合(マウスオーバー、クリック、 ボタン押し、select選択)に何(別窓、レイヤー、その他)が出るのか書け! 7)質問はまっとうな(他人に理解できる)日本語で。 前項の例に限らず、他人に理解できない質問文は煽られるだけで時間の無駄
【FAQ】 Q1. 開いた別窓/フレームの内容にアクセスできないのですが… A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。 Q2. JavaScriptでローカルファイルを読み/書きたいのですが… A2. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに… Q3. document.write(...)でページ内容を追加したいのですが… A3. 一度ページ表示完了後にwrite()すると内容はクリアされちゃいます。 部分的に内容変更するには(1)他フレーム/iframe/別窓への表示、 (2)textarea等への表示、(3)DOMでノード挿入、(4)innerHTMLのどれかで。 innerHTMLは非標準ですがIE、Opera、Gecko(N6/N7/Moz等)で対応済。 Q4. table/tbody/tr要素のinnerHTMLを書き換えるのがうまく行かないのですが… A4. IEはそれらの要素のinnerHTMLは変更不能。DOMを使って書き換えるしかない。 Q5. Aタグのonclickで動作指定してるのですが時々動きません… A5. 「onclick="...;return false"」としないとページ移動しちゃうから。 Q6. 変数w1、w2…を順にループで(番号をiに入れて)設定/参照したいのですが… A6. グローバル変数はwindowのプロパティだからwindow['w'+i]を読み書きすれ。 Q7. フォーム部品名を変数にした「...myform.変数名.value」が動きません… A7. 「document.forms.myform.elements[変数名].value」でどぞ。 JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。 例:「obj.p0=obj.p1=...=obj.p8=0;」⇔「for(i=0;i<9;i++) obj['p'+i]=0;」。 Q8. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが… A8. IEではe.currentStyle、Geckoではwindow.getComputedStyle()を使います。 Q9. 100*1.15の結果が114.999…998となってしまうのですが… A9. コンピュータの実数計算は全て近似値だと思え。誤差が嫌なら整数で計算。 Q10. 任意のデータをサーバ(別鯖ではない)から取り寄せたいのですが… A10. Geckoのnew XMLHttpRequest()、IEのnew ActiveXObject("Microsoft.XMLHTTP") を使えばできる。古いブラウザだと隠しフレームに読むなどのワザが必要。
【主張の対立:他人の嗜好は尊重。損得の議論は歓迎】 ・仕様を読む:回答者なら仕様の該当部分は読んでいるべき。質問者でも 仕様を読まずうだうだ書く奴は注意されて当然。読み間違いは生温く指摘。 ・英文文書:翻訳の努力を惜しむべからず。 読めないなら和訳を探し、 なければあきらめよう。翻訳サイトを知っている人はうまく誘導してあげて。 ・IE専用/アンチIE/クロスブラウザ:「○○は不要」「○○だけであと は無視」は不毛。質問者が分かって選択していれば尊重する。無知か らIE専なのは指摘してあげると親切。 ・標準準拠 vs 使えればよい:標準はブラウザが変わっても維持される 可能性大。非標準機能も損得を分かった上で使うならよい。 ・MS vs アンチMS:MS固有の情報はMSのサイトで見ないと分からないが、 そこだけ見ているとIE専になる。あとは上2件と同様。 ・別窓、イベント抑止など:一般には迷惑スクリプトだが質問者に正当 な理由があることも。尋ねて分かってないようなら煽っても可(w ・innerHTML vs DOM:それぞれに長所/弱点があるので理解した上で選 択するべき。一概にどちらは駄目、とは言えない。 ・on属性 vs addXXX():ハンドラが1つだけと分かっていればon属性 で簡単にハンドラを設定もあり。上書きが心配ならaddXXX()。
8 :
Name_Not_Found :2006/04/23(日) 20:45:58 ID:YJg5YmW4
--- css --- #hoge { width: 100px; } ---- js --- hoge=getElementById("hoge"); alert(hoge.style.width); でwidthがとれないんだけどCSSファイルで定義してるとダメ?
document
10 :
Name_Not_Found :2006/04/23(日) 21:15:08 ID:YJg5YmW4
>>8 は
hoge=document.getElementById("hoge")の間違い
hogeはとれてるけどhoge.style.widthがとれない
11 :
Name_Not_Found :2006/04/23(日) 21:16:22 ID:WUzjIPmZ
>>8 CSSファイルかstyleタグだとダメみたい
12 :
8 :2006/04/23(日) 21:20:47 ID:???
>>10 Geckoならwindow.getComputedStyle
IEならelem.currentStyle
>>8-13 おいおいおい!!! FAQ
>>3 のQ8/A8。すぐ上にあるだろうが。
FAQも読めない喪前らはどっかよそへ逝ってくれ。
イベントに関する質問です。
FF12のオフィシャルサイト [
http://www.ff12.com/main.html ]
のように、FireFoxでもウィンドウリサイズと同時にコンテンツがセンタリングされるようなスクリプトを書きたいと思っています。
以下、実験した環境は、OS:Windows Browser:FireFox です。
ここで、例えば変数 contentsWidth にあらかじめLayer1の幅が入っているとして、
function testFunc1()
{
window.captureEvents(Event.RESIZE);
window.onresize = testFunc2;
}
function testFunc2()
{
Layer1.style.left = (window.innerWidth - contentsWidth) / 2;
}
と書けばウィンドウのリサイズ完了後(マウスでブラウザウィンドウの端をドラッグし、ボタンを離した直後)、Layer1はセンタリングされます。
しかし、望む動作は
「マウスでドラッグしている最中にセンタリングが連続して行われる」
ことです。
FireFoxでinnerWidthの更新がDropした後になるのか、それともonresize自体がDrop後しか呼ばれないのかがわからないのですが、解決方法
はあるでしょうか。
# 因みに、captureEventsの引数はリファレンスにあるものを全て入れて
# みたのですが全滅でした。
よろしくお願いします。
リサイズ中に連続してやりたいのなら、onresizeはだめだろう。普通、 「終わってから」呼ばれるはず。setInterval等で短い間隔で繰り返し 位置変更するとかだとどう?
>>15 てゆーかそれってCSSじゃないのか。
fxならコンテナになるブロック要素の横marginにautoを入れれば一発だろ。
IEでも6の標準準拠モードなら以下スレ違い
setTimeoutで断続的にサイズを測るのは、駄目ですか?美しくないけど。
21 :
15 :2006/04/24(月) 14:13:02 ID:???
>>16 >>19 ありがとうございます。setTimeout/setIntervalもやってはみたのですが、FireFoxではやはりリサイズ後にしかセンタリングされませんでした。(innerWidthが書き換えられていない?)
うむむ、どんなテクを使っているのか・・・。
>>21 innerWidthを使わずに、他のプロパティを使ってみたらいいのかもしれない
って、自分で気付いているよね。
>>21 はあ?
全面 Flash なだけじゃん。
なんだ全面flashだったのか。15のページ見てなかった。 それはそうとして、自動センタリング出来そうな気がするけどね
25 :
Name_Not_Found :2006/04/24(月) 18:12:55 ID:McTx8nsp
ajaxについての質問はスレ違いですか?
Firefox1.5.0.2ですが、バージョンが同じでもOSによって挙動が違う ということはありえますか?
>>27 そりゃOSに任せてる部分に違いがあれば違うこともあるだろう。
ふつうにフォントがかわりゃレンダリングも変わるし。
時間回りの実装とかも挙動が違ってもおかしくないし。
>>28 ということはFirefox for Win と Firefox for MACでは
同じコードは使えないことがある ということですか?
場合によってはOSの種類によって処理を分岐させる必要があると。
具体的な差異について何かわかりませんか?
iframe非対応のブラウザかどうかを調べる方法はありますか?
>>29 エンジンの差とはいいがたいが、
箱の幅指定をpx指定して、フォントをOS依存にしてれば、
改行されるかもしれないしされないかもしれない。
OSどころか個人設定にさえ左右されるな。
質問するなら、このコードを2つのOSで動かしたら違いが出るんだけど、
どうなのってぐらいしぼらないとイミネーヨ。
すくなくともあんたがどのレベルの知識を求めてるのかわからんことには、
誰も何も答えようがないし、挙動が違う未知のバグがある可能性もある。
>>30 if(document.createElement("iframe"))
>>32 iframe非対応なのに、Document#createElement() を実装している、
というブラウザを挙げてみてほしいものだな。
>>33 createElement("存在しないタグの名前")って、nullかfalseかを返すんじゃないの?
JavaScriptのDOMが働く環境でiframeを表示できないブラウザって何なの って言いたいんだろ
質問です。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>プルダウンメニュー2</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css">
<script language="JavaScript"> <!-- <!-- function aweb_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.aweb_pgW=innerWidth; document.aweb_pgH=innerHeight; onresize=aweb_reloadPage; }} else if (innerWidth!=document.aweb_pgW || innerHeight!=document.aweb_pgH) location.reload(); } aweb_reloadPage(true); // --> function aweb_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=aweb_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function aweb_showHideLayers() { //v3.0 var i,p,v,obj,args=aweb_showHideLayers.arguments; for (i=0; i<(args.length-2); i+=3) if ((obj=aweb_findObj(args[i]))!=null) { v=args[i+2]; if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; } obj.visibility=v; } } //--> </script>
>>35 ユーザがiframeを制限しているとかじゃないの?ありそうだけど。
<style type="text/css"> <!-- a:link { color: #FFFFFF; text-decoration: none} a:hover { color: #FFFFFF; text-decoration: none} a:active { color: #FFFFFF; text-decoration: none} a:visited { color: #FFFFFF; text-decoration: none} --> </style> </head> <body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <div id="Layer1" style="position:absolute; left:0; top:20; width:100; z-index:1; visibility: hidden; overflow: hidden"> <div> <div align="center"> <table width="100" border="0" cellspacing="0" cellpadding="0" bgcolor="#666666"> <tr>
<td align="center" valign="top"> <a href="test_1.html" onClick="aweb_showHideLayers('Layer1','','hide')">page.01</a><br> <a href="test_2.html" onClick="aweb_showHideLayers('Layer1','','hide')">page.02</a><br> <a href="test_3.html" onClick="aweb_showHideLayers('Layer1','','hide')">page.03</a><br> <a href="test_4.html" onClick="aweb_showHideLayers('Layer1','','hide')">page.04</a><br> <a href="test_5.html" onClick="aweb_showHideLayers('Layer1','','hide')">page.05</a></td> </tr> <tr> <td align="right"><a href="javascript:;" onClick="aweb_showHideLayers('Layer1','','hide')">×</a></td> </tr> </table> </div> </div> </div> <a href="javascript:;" onClick="aweb_showHideLayers('Layer1','','show')" onMouseOver="aweb_showHideLayers('Layer1','','hide')"><img src="menu.gif" width="100" height="20" border="0"></a> </body> </html> このhtmlの中にあるjavascriptを外部スクリプト(xxx.jsファイル)にするにはどうしたらいいのでしょうか?
殺意が沸いたよwww
43 :
38 :2006/04/24(月) 22:17:32 ID:???
俺も連れてって♪
こいつ舐めとんかよ。 ドリウィの吐き出しを丸々貼ってやがる。
まるきり勉強する気がないヤシに回答するヤシはいないぞ。
>>40 そのhtmlの中にあるjavascriptを外部スクリプト(xxx.jsファイル)にすればいいよ
for(i=0;i<100;i+){ document.getElementsByTagName('div')[?].style.color=? } divが100個くらいあったとして、「0、3、6、9、12〜」「1、4、7、10〜」「2、5、8〜」と、それぞれ三つ飛ばしで得るにはどう書いたらいいですかね? 0始まりが赤、1始まりが緑、2始まりが青という風にしたいのですが。
for(i=0;i<100;i+=3){ i+0=red; i+1=green; i+2=blue; } てきと
divって何ですか?
君の事じゃないか?
「でぶ」かよ!!
54 :
Name_Not_Found :2006/04/25(火) 16:24:30 ID:uoqpUOEd
IE6のSP2でonunloadを呼ばずにブラウザを閉じたり、 他サイトへ遷移する方法を知っている人います? ==== <script type="text/javascript"> <!-- var logoutflag=false; function test(){ if(!logoutflag){ alert("out"); } } window.onunload = test; flag = false; //--> </script>
onunloadを書かない
56 :
Name_Not_Found :2006/04/25(火) 16:27:52 ID:uoqpUOEd
既に他人によって書いてあるんで。。。。
>>51-53 ttp://www.fromdfj.net/html/divsyndrome.html Google恐るべし。シャレで「divって何ですか」とやってみたのだが・・・
勉強になったw
<body>
<div id="body">
<div class="left">
<span class="fontbig">ほげほげ</span>
<div>
●ほげほげ<br>
●ほげほげ<br>
</div>
</div>
<div class="right">
ほげほげ<br>
ほげほげ<br>
</div>
</div>
</body>
DIV病患者はbody以下の要素を更に丸々divでくくることを好みます。
DIV病患者はleft/right等といったレンダリングに直結するクラス(ID)付けを好みます。
DIV病患者は<ul><p>といったタグを嫌います。
>>56 あなたが消せないなら、その他の人に消してもらえばいいと思うよ
59 :
Name_Not_Found :2006/04/25(火) 16:59:34 ID:uoqpUOEd
>>58 alert("out"); で実際はサーバに処理を戻して
ログアウト処理をしているんですわ。
時折、ログアウト処理が呼ばれていないらしく
バグとなっていて困っているんですわ。
色々やってみても、すり抜けられないので
皆様なら何かしっているかなと。
document.onunload=function(){};
61 :
Name_Not_Found :2006/04/25(火) 17:09:21 ID:uoqpUOEd
onunloadが書いてあるのは、フレーム分割している親の画面だけで 子供にはonunloadが書いていないのは確認済み。 ユーザの操作でおそらくonunloadのすり抜けが出ていると 睨んでいるのですが。 <html> <head><title>サンプル</title> <script type="text/javascript"> <!-- var logoutflag=false; function test(){ if(!logoutflag){ alert("out"); } } window.onunload = test; flag = false; //--> </script> </head> <frameset rows="100,*"> <frame src="frame_ue.html" name="ue"> <frameset cols="150,*"> <frame src="frame_hidari.html" name="hidari"> <frame src="frame_migi.html" name="migi"> </frameset> <noframes> このページはフレームを使用しています。 </noframes> </frameset> </html> こんな感じになっていてframe_migiが遷移する場所となっています。
まず、そのバグとやらを直してもらえよ
63 :
Name_Not_Found :2006/04/25(火) 17:22:57 ID:uoqpUOEd
alert("out"); が呼ばれていないことがバグなんですわ。
そりゃ信じられんバグだ罠。UAは?
65 :
Name_Not_Found :2006/04/25(火) 17:36:44 ID:uoqpUOEd
UAってなに?
onunloadをブックマークレットで書き潰したらできるねん。
>>65 おいおい… User Agent、主にブラウザだがとにかくWebサーバに
ページを取り寄せに来るソフト全般のこと。
「UAってなに?」もどうかと思うけど > 54 名前:Name_Not_Found[] 投稿日:2006/04/25(火) 16:24:30 ID:uoqpUOEd > IE6のSP2でonunloadを呼ばずにブラウザを閉じたり、 「UAは?」も要らんと思う。
70 :
Name_Not_Found :2006/04/25(火) 17:47:08 ID:K6kJOxdk
質問です。 MSフォントの「└」「├」「└」などを画像してリストマークに、 自動的に初項なら「└」中間項なら「├」終項なら「└」を割り当てて onclickでのトグル展開のメニューを作りたいと思いました。 DOMのところが分からず行き詰ってしまいました。原理的にでもアドバイス 頂けませんか。よろしくお願いします。
71 :
Name_Not_Found :2006/04/25(火) 17:54:37 ID:uoqpUOEd
>>67 User Agentの略でUAなんだ。
68の通りです。
>>69 直せたら、聞いてないんだな。
ヘッポコなアーキテクチャになってるけど、
私が赴任前に既に客とコミット済みなもので。
いまさら変えると、客がうるさいのだ。
>>70 「JavaScript メニュー」とかでぐぐって参考サイト探せば。
73 :
49 :2006/04/25(火) 18:53:28 ID:???
onunload でなんかやらせようってのが間違ってる
Memory leak の後始末とか
終了したらOSが回収してくれるじゃん
idに関しての質問 <HEAD> document.getElementById('hogehoge').innerHTML("ほげほげ"); </HEAD> <BODY> <a id="hogehoge">ここ</a> とすると、「ここ」の部分が「ほげほげ」に変わりません。(firefoxにて) たぶんidがグローバルじゃないからだと思うんですが、 idをグローバルにする方法とかありますか?
innerHTML = "シャイシャイ";
head中で実行したら、まだa要素が読みこまれてない。
innerHTMLってメソッドがあったのか
<head> <script> function w() {document.getElementById("hogehoge").innerHTML = "シャイシャイ";} </script> </head> <body onload="w()"> <a id="hogehoge">ここ</a> </body>
<head> <script type="text/javascript"> <!-- onload = function () { document.getElementById("hogehoge").innerHTML = "シャイシャイ"; }; --> </script> </head>
>>49 colors[0] = 'red'; // これJavaScriptで一気に宣言するときってどう書くの?
colors[1] = 'green';
colors[2] = 'blue';
for(i=0;i<100;i+){
document.getElementsByTagName('div')[i].style.color = colors[i % 3];
}
こんな感じじゃだめ?
<head> <script type="text/javascript"> <!-- onload = function () { document.getElementById("hogehoge").innerHTML = "シャイシャイ"; }; // --> </script> </head>
86 :
49 :2006/04/25(火) 19:58:42 ID:???
>>84 それでもできました。
50氏のi+=3とする方法と言い、84氏の除算を使う方法と言い、そういうのがパッと思いつくのがウラヤマスィ(・д・)
>>84 ...style.color = ['red','greeen','blue'][i%3];
>>74 藻前は過去スレのサンプルも何も読まないのかよ。もう
ここには来ないで欲しいね。アンタのあて推量なんて外れ
まくりだね、何も勉強してないんだから。カエレ。
88 :
27 :2006/04/25(火) 20:01:18 ID:???
>>31 もう少しテストをしておかしな部分がどこなのか
特定してきます。
>>87 JavaScript の onunload でログアウトするシステムはくそだと思うけど?
hoge = new ActiveXObject('MediaPlayer.MediaPlayer.1'); とかやってメディアプレイヤーなオブジェクト作るじゃないですか、 これってそのまま使える? windowかdocumentかにどうにかしてバインドさせないといけない?
>>89 その設計自体はあの質問者が作ったもんじゃないんだろ。
制作板的にはアリガチ。まあ気の毒だしどうにもならなさ
そうだけどね。
>>90 別にそれでグローバル変数hogeに入っているだろ。何が問題?
変数なんてグローバルとローカルしかないんだから、ちょっと
勉強すればおしまいだろ。何がバインドだ。ちょっと疑問を
感じるたびにここに質問投げて答えた奴がどれくらい分かって
いるかどうかも自分では判断できないままやるのかよ。危なすぎ。
なにこいつ 鼻息荒いな
93 :
Name_Not_Found :2006/04/25(火) 21:33:38 ID:WdPWALbD
ンガア-ッ、ンガア-ッ、ンガア-ッ なんか文句あっか?
>>90 >91は問題が理解できてないようなので無視するとして、
通常はdocument.bodyやその他のタグにappendChildします。
>>91 ↑
分かったような口を聞く自称上級者。
さてはweb先生か?
96 :
30 :2006/04/25(火) 22:58:01 ID:???
>>87 > ['red', 'greeen', 'blue'][i % 3];
わざわざループの数だけ配列を作って
>>84 を鈍化する意図が分からんな。
>>87 時間計測結果をコメントに書いておいた。どれだけアホなことか分かるだろ。
var cs = ["Red", "Green", "Blue"];
var s;
function res84() {// 422
var i = 0;
var l = 1 << 20;
s = new Date;
while (i < l) cs[i++ % 3];
return new Date - s;
}
function res87() {// 9675 *************************
var i = 0;
var l = 1 << 20;
s = new Date;
while (i < l) ["Red", "Green", "Blue"][i++ % 3];
return new Date - s;
}
function fast() {// 179
var i = 0;
var l = 1 << 20;
var q = Math.round(l - l % 3);
s = new Date;
while (i < q) {cs[0]; i++; cs[1]; i++; cs[2]; i++;}
while (i < l) cs[i++ % 3];
return new Date - s;
}
質問させてください。
以下のページを作成しました。
http://totto.srv7.biz/dogear_hiroshima001.htm このページは、ドロップダウンリストをユーザーが変更することで「写真とコメントの表示を変更」します。
で、今の状態だと「次の写真へ」「前の写真へ」みたいな操作が面倒です。
マウスホイールとかキーボードで操作可能だけど気付かないでしょう。
なので、ボタンをひとつ作りOnClickイベントでドロップダウンのSelectedIndexを操作する関数を作ってみました。
しかし、内部的に数値は変更されるんですが、ドロップダウンの表示も切り替わりません。
目的は 「次へ」ボタンでドロップダウンのSelectedIndex
100 :
Name_Not_Found :2006/04/26(水) 02:41:19 ID:LxTNfNMq
途中で送信してしまいました。スイマセン。
質問させてください。
以下のページを作成しました。
http://totto.srv7.biz/dogear_hiroshima001.htm このページは、ドロップダウンリストをユーザーが変更することで「写真とコメントの表示を変更」します。
で、今の状態だと「次の写真へ」「前の写真へ」みたいな操作が面倒です。
マウスホイールとかキーボードで操作可能だけど気付かないでしょう。
なので、ボタンをひとつ作りOnClickイベントでドロップダウンのSelectedIndexを操作する関数を作ってみました。
しかし、内部的に数値は変更されるんですが、ドロップダウンの表示も切り替わりません。
目的は 「次へ」ボタンでドロップダウンのSelectedIndexを増減させ、画像、コメントの表示も同時の切り替わる仕組を作りたいのですが、
これは可能なんでしょうか?力を貸してください。
日本語って難しいね…
>>98 divの数は100くらいなんでしょ。100回でもいちど計測してよ。
100回なら短く、1000000回なら効率よく、使い分けるだろ。
>>99 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var s0, len = 1000, idx = 0, delta = 0;
function init() {
s0 = document.forms.f0.elements.s0;
for(i = 0; i < 1000; ++i) {
var o = document.createElement('option');
o.appendChild(document.createTextNode(String(i))); s0.appendChild(o);
}
setInterval(step, 100);
}
function step() {
if(delta > 0 && idx < len-1) s0.selectedIndex = ++idx;
if(delta < 0 && idx > 0) s0.selectedIndex = --idx;
}
</script>
</head><body onload="init()">
<form name="f0" aciton="#" onsubmit="return false"><p>
<select name="s0"></select></p></form>
<p><button onmouseover="delta=1" onmouseout="delta=0">up</button>
<button onmouseover="delta=-1" onmouseout="delta=0">down</button></p>
</body></html>
104 :
Name_Not_Found :2006/04/26(水) 10:01:00 ID:pFfvWTgg
質問です。 IEでスクロールしても動かないオブジェクトを作成したいのですが、 document.all('koteiObj').style.top = document.body.scrollTop; MacOSXのIE5.2でこの処理を行なうと、JScriptエラーが出て困っています。 MacOS9のIE5.0,5.1ではエラーがでず、正常に動作します。 どうやら、document.body.scrollTop の型と、style.top の型が微妙に異なる ようで、無理矢理 parseIntで囲って+'px'を付けたら、エラーはでませんが、 意図する位置とは全然異なる位置にオブジェクトが出現しました。 IE5.x以外は、position:fixed が使用できるので問題無いのですが、 対処方法があれば教えてください。
105 :
Name_Not_Found :2006/04/26(水) 10:05:30 ID:023/J4Vp
そんなOSは切捨てろ。 Macもこういうクレームに絶え切れず今後はWindowsのOSを搭載するって発表 したよね。だから、こんなことで苦労するのは無駄な努力。時間が解決する。
>>104 どういう風に「型がちがう」のかサンプル見せれ。
エラーの内容も。そういう情報なしに相談しても無視されるだけ。
それがJavaScriptのエラーメッセージが文字化けして、判別不能なんです…。 型が違うというのは、 var a = document.body.scrollTop; document.all('koteiObj').style.top = a; と2行に分けて書くと2行目でやはりOSXのIEだけエラーが出ますし、 代入処理でのエラーからそう推測しました。
>>102 たまたま演算回数が少なく、両者に目立った差異が認められない場合でも、わざわざ遅いほうを使うのを「使い分ける」と言うのか?
>>108 目立った差はあるね。変数を別に分けるよりもその場に
書いた方が「洩れは」分かりやすい。変数は少ないほど
把握が楽。そして速度が問題でないのなら分かりやすい
方が絶対にいい。だから使い分ける。速度しか判断基準
がないっていうのはプログラマとして幅が狭すぎでは?
なお、あれが分かりやすくないというヤシには別に
勧めないよ。
>>107 だからさ、そこでalert(a)してaに何が入っているか
調べて貼ってくれってのに。「推測」が合ってるかどうか
そうやって調べなくてどうする?
あと、そのkoteiObjはdiv要素?古いブラウザだとdiv
以外で移動がうまく動かないとかいうのはあったよな。
配列変数を別途用意しただけで分かりにくいってバカじゃん。
いや、バカじゃん
嗜好なら嗜好で結構。だが配列の初期化の場所を見に行かずに ...style.color = ['red','greeen','blue'][i%3]; だけで意味が読めるのは大きなメリットだと自分は考えている。 論点(「遅い」→回数が少なければ関係ない、嗜好→それは それで結構、分かりにくい→それも嗜好の一種)は出尽くした んで、あとは使うヤシが選べばよいだろ。
------------------------- 日 月 火 水 木 金 土 ................1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 -------------------------- このカレンダーを表すJavaScriptはどう書いたらいいんですか? 1週目は1(金)2(土)です。よろしくお願いします。
118 :
116 :2006/04/26(水) 16:01:07 ID:???
ありがとうございました。
119 :
Name_Not_Found :2006/04/26(水) 18:24:59 ID:STj0uaEo
質問です。 時々、スクリプトの公開サイトで<img id="a" src=".....>のよ うな画像プロパティへのアクセスの記述で、 document.getElementBy('a').style.visibility=.... と記述するのが本来ですが、いきなり a.style.visibility = .... のように書かれたものがあります。 これって、最初のむき出しの「a」の意味は、windowオブジェ クトのプロパティということを指しているのでしょうか。 あと、これって、IE専の書き方のような気がしますけど、 一般的にどうなんでしょうか。いい書き方じゃないですよね。 くだくだしくなってしまってごめんなさい。こ教示お願いします。
>>103 さん
どうもありがとうございます。大変参考になりました!
定期的に関数が走るっていうのはリソース食いそうですけど、この際なんでもいいやw
あと幾つか解決すべき問題がのこっていますが、がんばってみます。
>>109 ,115
やたら分かりやすさを強調してるが、大した回答もせず雑言の陳列。
己のオナニー理論に沿ったコードを書かない奴は全てカス扱い。
ヤシだの洩れだの痛い文言を好んで頻用。
書きこんでる時間帯からも尋常な者じゃなさそうだが。
なー、お前Web先生なんだろ?
コテ付けてくれないから、NG効かねえじゃねえか。
> ...style.color = ['red','greeen','blue'][i%3]; > だけで意味が読めるのは大きなメリットだと自分は考えている。 一々コード追わないと変更もままならないという、それ以上に 大きなデメリットは無視なのね。
何のスクリプトスレ住人って一々 単純なアルゴリズムの事で口うるさくなるんだよな
>>123 「それを複数箇所で参照する」とか「変更することが重要」
ならどっか冒頭で宣言するのはいいんじゃないの。後から条件
増やせばどっちが有利にだってできるよな。
沢山の箇所にあらわれ、個々の場所で全部そのデータの内容が 違っているなら、いちいち別の変数に入れておくのは読みにくそうだな(w
オナニー理論って?ECMAじゃないってこと?
勝手ながら今回の議論から得た指針のまとめ: 複数のコーディング手法X、Y等があったときに、 (a) 「手法XがYより常に優っている」などということはまずない。 (b) XとYの優劣を比較する基準は複数あり、どれが絶対ということは まずない(そのコードを動かす状況によって優先すべき基準は変わる)。 (c) 従って、XとYのどちらがより望ましいかも状況によって変わり得る。 他に追加したいことあればどぞ〜。
(d) 議論では「コメント書きゃいいじゃん」という発言がなぜか出てこない
>>125 >どっちが有利にだってできるよな
埋め込み式が有利な点は見当たらない。
>>126 一覧して比較できるという点で、冒頭で変数に入れた方がよい。
「1文字でも文字数を少なくしたい」とかだとかなり有利だな(w
>>131 そんなときはやっぱり変数名は一文字にするんでつか?
スクリプトを分割して読み込みたい場合や、 誰かが作ったスクリプトを読み込みたい場合はどうしたら良いの?
>>133 ん?これは普通の質問?
<script src="URI"></script>
をいくつでも並べればよい。並んだ順番に読み込んで全体を
くっつけたもの同等に実行される。ってそういう意味じゃないの?
>>134 ありがとう。でも、Webページで使いたい訳ではないのです。
なので、HTML で呼び出すのではなく、JavaScript 内で呼び出したいのですが。
JavaScript ってライブラリの読み込みなどは無いのでしょうか?
>>135 過去スレにあると思うが、DOMでscript要素を生成すればできる。
var s = document.createElement('script');
s.src = "URI..."; document.body.appendChild(s);
別の方法として、XmlHttpRequest等でJSソースを読み込んで
evalするというのもあるかと。
XMLHt...
どっち
無い。
無いから、DOMを使ったりして間接的に読み込んだりする。
ところが
>>135 は言語仕様またはスクリプトエンジンだけについて
聞いているようだから、無いとしか言いようが無い。
強いて言えば、SpiderMonkeyのシェルに load( ) という実装がある。
// a.js
print("a"); load("b.js");
// b.js
print("b");
js> load("a.js");
a
b
イメージの読み込みに失敗した際に時間をおいて、再読込をさせたいのですが、どうしたらよいのでしょうか?
>>141 試してないけど<img>にID振って
setTimeout(function(){document.getElementById('ID名').src='URI';},1000);
>>144 え、だからonerrorが呼ばれたら再読み込みのためそれをやるんでは。
>>143 document.writeするしかないんだろ。だったら自分が真っ白は困る
から隠しiframeでも作ってその中にwriteすればいいんでは。
146 :
Name_Not_Found :2006/04/27(木) 16:03:40 ID:2l+JxDrm
質問です。 D&Dのスクリプトで複数のオブジェクトに同一の名前のIDを使わざるを 得ないのですが、問題ありませんか?オブジェクトはposition:absolute; です。
複数のオブジェクトに同一のIDを振っても、最初の以外は無視されるでしょ。 駄目だ。
チャットを作ったんですけど、 <input type="text" name="message" size="30" value=""> といった感じで、メッセージを入力するフォームがあります。 メッセージ送信後、そのフォームに継続して データを入力できる状態にしたいのですが、 これはJavaScriptで可能でしょうか?
obj.focus(); てか、意味が分からん。
150 :
148 :2006/04/27(木) 16:53:26 ID:???
>>149 説明下手ですみません。
input type="text"の部分は、この2chのフォームの名前とE-mail欄の通り、
一度そこにマウスを当ててクリックするか、
Tabを押してアクティブな状態にしてから、入力しないといけませんよね?
投稿制限間隔が設けられている掲示板なら気になりませんが、
チャットはリアルタイムに通信するので、
常にメッセージ欄を書ける状態にしたいなぁと思いまして。
obj.focus();早速調べてまいります。
> そのフォームに継続して > データを入力できる状態 これが意味不明だな 一度送信したらdisabledにでもしてるのか?
>>147 それは実装依存。
WinIE5と初期のMozillaがDocument#getElementById() を実装した時にそうしたから、
半ば慣例化しているだけで、DOM仕様には示されていない。
そもそも、それ以前に、getElementById と書いたかどうかが分からない。
IE の all などでは、複数あればコレクションを返すだろ。
document.getElementById("ID")
document.all("ID", 0)
ID(0)
のように、重複IDで最初に出現する要素オブジェクトを参照する方法がいくつもある。
でも、
>>152 の方法を使ったとしても、重複ID許容のまま漫然とやっていると、
不具合が出た時の対処が大変そうだな。
そもそも > 複数のオブジェクトに同一の名前のIDを使わざるを得ない っつーのが浅はかなような希ガス。 cloneNodeで複製されたノードのIDとか?
>>152 すいません。これどう考えればいいんですか。はじめてみました。
document.all("ID", 0)
2番目の引数はコレクション中のindex指定だよ
157 :
155 :2006/04/27(木) 21:31:33 ID:???
158 :
155 :2006/04/27(木) 22:15:31 ID:???
>>94 遅すぎるけれどthx
で、
window.onload = function(){
var wmp6 = new ActiveXObject('MediaPlayer.MediaPlayer.1');
var a = document.createElement(wmp6);
a.setAttribute('type', 'vide/x-msvideo');
document.body.appendChild(a);
wmp6.FileName="a.avi";
wmp6.play();
}
音声は聞こえるんだけれど、映像がどこにも見えなくてわけわからんです。
スタイルいじってもダメなので、何か他に抜けているところがあるんでしょうか。
160 :
Name_Not_Found :2006/04/28(金) 11:39:46 ID:dFwWpIWH
前VOLで話題だったので、ぼくも往復運動挑戦してみました。 でもうまく行きません。どうすれば戻っくるようにてきますか? var x=0; function GoBack(){ if (x > 10) { x--; setTimeout("GoBack()",500); } else { setTimeout("GoBack()",500); x++; //if (x > 10-1) x --; } document.getElementById('z').value=x }
onmousemoveで対象(taget)のどこをカプチャしてもいいように するにはどうすればいいの?今はたとえばY座標だと target.style.pixelTop=event.clientY-8; にしてるんだけど。
*秒後に自動的にページ移動、というのヘッダー内にタグを 記述する以外の方法で実行したいと考えています。 javascriptを使用するしかないかなと思うのですが、 ご教授きぼんう!
163 :
162 :2006/04/28(金) 13:00:46 ID:???
もしかしていずれにせよjavascriptのタグをヘッダーに 書かなきゃいけないとかいうオチでしょうか?
>>162 じゃあbody内の方がいいのか?
それとも最上位要素より外?
>>162-163 setTimeout(function(){location.href='行き先';},5000);
とか。別にどこにあったって動くと思うが。
>>161 すいませんが一般人の理解できる日本語でお願いします。
>>160 setTimeout()の後にごちゃごちゃ書かれてるだけで怪しいと
思うが。setTimeout()をsleep()のようなもんだと思ってない?
>>159 document.createElementの意味が分かってないように見えるが。
どういうもんだと思ってるか説明してみなよ。
質問します。 ドロップダウンのアイテム数(SelectedIndexの最大値)を取得する方法はないんでしょうか? アイテム数が可変なためスクリプトの挙動制御が上手くいかないのです。
selectName.length
>>160 折り返しが盛り込まれてない。それだと、
+ + + + + + + + + + + - + - + - ...
になってるわな。
>>161 一つ前の MouseEvent#clientY を保持しておく。
現在のものとの差を計算する。
結果を現在の位置に加える。
>>166 いやー
document.body.appendChild(wmp6);
って「インターフェースがサポートされていません」とか言われるんで、
やっぱりノードオブジェクトじゃないとダメなんだろうと思い、
どうやったらノードオブジェクトが作れるかなーと考え、
その結果、createElementの引数はStringだから、
勝手に型変換されてwmp6.toString()な文字列で要素を作るんじゃないかと思ったのだけど。
createNodeとかってIEにはないでしょう?だからわからないなぁって感じで。
>>171 なぞの <[object]> 要素を作るくらいなら、実在する <object> 要素を出力すればよいのでは。
関係ないが、createNode() みたいな MSXML のプロパティやメソッドは、WinIE で使える。
例えばこんなかんじ。
document.body.addBehavior('#default#userData');
document.body.XMLDocument.documentElement.appendChild(
document.body.XMLDocument.createNode('1', 'foo', ''));
alert(document.body.XMLDocument.xml);// <ROOTSTUB><foo/></ROOTSTUB>
>>172 もちろん
window.onload = function(){
var wmp6 = document.createElement('object');
wmp6.setAttribute('classid','CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95');
document.body.appendChild(wmp6);
}
でOKではあるのですが、
>>90 はProgIDでの呼び出しの場合はどうやるのかという試行なのです。
どうやれば
>>91 の言うようにappendChildできるのでしょう。
>>168 助かりました!!ありがとうございます!!
176 :
135 :2006/04/29(土) 03:47:09 ID:???
>>136 亀レスですみません。ありがとうございました。
一応、過去スレの検索掛けたつもりだったんですけど、すみませんでした。
……不便だなぁ orz
外部のスクリプトファイルを呼び出すときに 本文と文字コードが違う場合にはcharsetを指定する必要がある と思いますが、 たとえば本文がSHIFT_JISで外部スクリプトがUTF-8なら IE <script src="hoge.js" charset="UTF-8"></script> Gecko <script src="hoge.js" characterSet="UTF-8"></script> という感じでいいんでしょうか? 検索してもcharacterSetで文字コードを指定する というような解説がひとつも見つかりませんでした。 charset="UTF-8"という書き方しか許されていないということはありませんか?
>177 JavaScript ではなく HTML の質問だろ、それは。 ブラウザによって属性を変えるなんてしなくていいし、 characterSet 属性なんて定義されていないから そもそも Invalid、かつ無意味。 何か大いに勘違いしているようだな。 お前の言う「IE用の記述」だけでいい。
>>178 すんません。ブラウザ見て動的に書き換えるつもりだったんです。
で、分岐させるとしたらこうなのかな〜ということでした。
<script>にはcharset属性しかないということですね。
ありがとうございました。
<script>の属性 CHARSET DEFER EVENT FOR LANGUAGE SRC TYPE
>>173 >
>>90 はProgIDでの呼び出しの場合はどうやるのかという試行なのです。
スレ違いでもないだろうが、WSHスレの方が良い回答をもらえると思う。
window.onloadにイベントつけてスタイルの追加とかしてるんだけど これだとページ内の画像とかを全部読み込み終わらないと実行されない htmlだけを読み込んだところで実行させる方法は無いだろうか
>>182 ページ内の画像類を全部about:blankとかにしておき、
全部onloadイベントが発生してから読み込み開始させる。
184 :
Name_Not_Found :2006/04/30(日) 12:04:51 ID:eTiC/p7D
clipboardData.getDataで取得したら どんどんtext.datに投げ入れて保存していくのが文字化けして作れません どう書いたらいいの?
ハア???
すいません、教えてください。 if(p==q){a=0;b=1}else{a=1;b=0} というように条件判別の結果複数の命令文があるとき 「?:」演算子でどう書けばよいのでしょうか。 (p==q)?a=0;b=1:a=1;b=0;とか(p==q)?a=0,b=1:a=1,b=0;では、 うまくいきません。
>>186 遭えて三項演算子つかうのはなぜ?ファイルサイズ制限とかの問題?
188 :
186 :2006/04/30(日) 12:19:09 ID:???
自己解決しました。スレ汚し失礼しました。
189 :
質問 :2006/04/30(日) 13:04:36 ID:???
--------frameset.html--------- <head> </head> <frameset cols=10%,* frameborder=0 border=0> <frame src="framel.html" name="frame1"> <frame src="index.html" name="frame2"> </frameset> ----------------------- を開いたときに、タイトルバーにframe2のタイトルを ↓を使って表示したいんだけど top.document.title="frame2の<title>のアドレス" "frame2の<title>のアドレス" になんて書けばいいのかわからない。 助けてください。
top.document.title=document.title;
191 :
質問 :2006/04/30(日) 13:30:02 ID:???
あー、面目ない一つ書き忘れた。
frameset.html以外のファイルはいじらない。
frameset.htmlにscriptを埋め込みます。
>>190 だと、frame2のファイルに埋め込まないといけないからダメなんです。
すんません
後出しする奴は氏ね document.title=frame2.document.title;
氏ね
194 :
質問 :2006/04/30(日) 16:03:06 ID:???
氏ね やってみたけどならない <html> <head> <script type="text/javascript"> <!-- document.title=frame2.document.title; //--> </script> </head> <frameset cols=10%,* frameborder=0 border=0> <frame src="framel.html" name="frame1"> <frame src="index.html" name="frame2"> </frameset> </html> これでいいのかな。
>>194 frame2 が定義される前に実行してもできんよ
せめてこう書く
window.onload = function(){
document.title=frame2.document.title;
}
196 :
質問 :2006/04/30(日) 16:41:22 ID:???
出来ました。 説明がへたすぎて、質問してもいつも氏ねって言われてましたが やっと安心して死ねます。ありがとう
197 :
Name_Not_Found :2006/04/30(日) 20:16:08 ID:NiidEL23
if(8<=date<=23) { document.write("〜〜"); } ↑こういうのって無効ですか?
>>197 数学好きな気持ちは解るぞ
8<=date && date<=23
199 :
Name_Not_Found :2006/04/30(日) 22:18:55 ID:NiidEL23
いや、算数大嫌いですw 中2の数学の中韓テストの時、目回して倒れましたから。 それで出来るんですか? やって見ますね。 アリガトン
200 :
Name_Not_Found :2006/04/30(日) 22:23:06 ID:NiidEL23
うまくいきました。 ありがとうございます。
中韓テスト
∩___∩ | ノ ヽ / ● ● | while(i<x.length){r=RegExp(['中韓'],"g"); | ( _●_) ミ 彡、 |∪| 、`\ / __ ヽノ /´> ) (___) / (_/ | / | /\ \ | / ) ) ∪ ( \ \_)
>>184 text.dat の書き込みと読み出しでメソッドの文字コードを決める引数をそろえてるか?
それから、それはWEB板にふさわしい話か?
>>182 XBL や HTC。
あと、使い難いが、DOMNodeInserted イベントタイプで SAXライクな処理ができる。
テキストの文字数ではなく何バイトあるかを調べるのに いい方法はありませんか?
GeckoでremoveNodeのような役割のメソッドはありませんか? reoveChildは子要素しか削除できないようなので困っています。
207 :
Name_Not_Found :2006/05/01(月) 10:39:44 ID:g2zx2oXe
おはよう、神々よ。 質問があるので暇があればたのむ 楽天のアフィリの検索BOXのフォームは 新しいウィンドウで開く仕様じゃないんだが タグを一切書き換えずに javascriptだけで新しくウィンドウが開くようにできるのだろうか?
>>206 theNode.parentNode.removeChild(theNode)
ではだめなの?
>>205 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var r;
function load(uri, f) {
if(window.XMLHttpRequest) r = new XMLHttpRequest();
else if(window.ActiveXObject) r = new ActiveXObject('Microsoft.XMLHTTP');
if(!r) return false;
r.onreadystatechange = function() { if(r.readyState==4) f(r.responseText); }
r.open("GET", uri, true); r.send(null); return true;
}
function test() {
load(location.href,
function() { alert(r.getResponseHeader('Content-Length')); });
}
</script>
</head><body onload="test()">
<h1>test...</h1>
</body></html>
>>207 楽天のアフィリをやらないので答えられないね。
質問の状況をきちんと説明するかあきらめるかどっちかにしたら?
formのtarget属性を"_blank"にすればいいのでは? やったこと無いけど
>>211 それだったらそのformより後に
<script type="text/javascript">
document.forms.フォーム名.target ='_blank';
</script>
を挿入すりゃいいんでね?
213 :
Name_Not_Found :2006/05/01(月) 14:29:03 ID:g2zx2oXe
>>210 反応してくれただけでもうれしいよ、ありがとう
じゃあ詳しく説明しよう
サイトをUTF-8で作っていて楽天のアフィリ検索BOXを設置したのだが
UTF-8のせいで文字化けしてしまうんだ。
それで検索BOXだけおいたShift_JISのページを作って
iframeで設置してみたんだが新しいウィンドウで開かなかったら
その小さなiframe内に検索結果が出てしまう。
しかしタグの改変は出来ない。
となるとjavascriptでどうにか新しいウィンドウで開くようにできないか
と思ってできるかどうかだけ聞いてみた。
つまり簡単にいうと<form>にtarget="_blank"を指定するのと同じことを
javascriptを指定することで実現可能かどうかってこと。
215 :
211 :2006/05/01(月) 14:42:50 ID:???
window.インフレームのname.forms[何番目のフォーム].target = '_blank';
>>214 document.forms[番号].target = ... と番号で指定すれ。
楽天のフォームは一番上に置いてあるから <script type="text/javascript"> document.forms[1].target ='_blank'; </script> を<body>内に追加すればいいんだよな? できない…なんでだろう…
そうか1じゃなくて0か! できたよ、おまいらマジ神! 本気で感謝してます。
>>209 >if(window.XMLHttpRequest) r = new XMLHttpRequest();
>else if(window.ActiveXObject) r = new ActiveXObject('Microsoft.XMLHTTP');
>if(!r) return false;
if (window.ActiveXObject)
なんて、ActiveXコントロール無効に設定したIEには無意味だから、必ず、
try {r = new ActiveXObject( ... );} catch (...
と書く。
ただし、2006年4月に、IE6 がそのコードでも何事も無かったようにスルーするようになった。
古いIE (というかWindows95-2000) が消える時が来るまで、
JSやCSSで ActiveXObject や "progID" が出てくる時は、
必ず、例外処理を書き続けなければならない。
>>205 Shift_JISなら、JScript限定で、
var s = "侓"
var bLength;
execScript('bLength = LenB(s)', 'vbscript');
みたいに出来るが、UTF-8 や EUC-JP では、正しく3バイトが返らない。
結局、
var eucjpBitesOf = { 'あ' : 2, ... };
var utf8BitesOf = { 'あ' : 2, ... };
を作るのが手軽だろうし、いろんなブラウザで動く。
>>220 誤 var utf8BitesOf = { 'あ' : 2, ... };
正 var utf8BitesOf = { 'あ' : 3, ... };
>>205 UTF-8なら、
var s = "あ;い/う?え&=+$#お";
alert(encodeURI(s).replace(/%[0-9A-Fa-f]{2}/g, ".").length);// 23
226 :
Name_Not_Found :2006/05/02(火) 15:37:36 ID:RrU6+BEA
<meta http-equiv=Refresh content="60"> とすると60秒毎に再読込してくれますが、 例えば毎分3秒に再読込させる方法はありますか? 尚ユーザPCの時計がずれていても問題ありません。
>>226 <script type="text/javascript">
setInterval(function() { if(new Date().getSeconds() == 3) location.reload(true); }, 300);
</script>
228 :
Name_Not_Found :2006/05/02(火) 16:39:07 ID:xXwY6uDJ
function roadText() { var OBJ = parent.sbWin.document.body; var tOBJ = OBJ.createTextRange(); document.myForm.aTEXT.value = tOBJ.htmlText; } インラインフレームのソースをテキストエリアに表示したいのですが 上記のものだと<body>内部の内容しか表示できないのです <html>部からすべて表示したいのですが、どうすればいいでしょうか?
>>228 XMLHttpRequestでサーバからソース読んでくるのが
一番確実だと思う。使い方は勉強すれ。
document.documentElementじゃないの?
あー、300だった。ごめん、勘違いした。飛ばないな。
>>226 間違った指摘をしてしまったから、コード書いておこうか。
setTimeout(function () {location.reload(true);},
function () {
var d = new Date;
d.setSeconds(60 + 3);
return d - new Date;
}());
234 :
226 :2006/05/02(火) 18:16:56 ID:???
レスありがとうございます。
>>227 試しにやってみると3→4秒になる1秒の間に数回実行してしまうようです。
最後の300を1100とかにするとうまくいくようです。
>>233 こちらはうまくいきました。
>>229-230 upしようとするモノをチェックしたいのですが
jscriptだと難しいですか、DOMは思いつかなかったのでそちらもあたってみます
ある値がNaNかどうか調べるにはどうしたらいいでしょうか。 試したところでは n = NaN; n == Nan #=> false n != Nan #=> true typeof(n) #=> number となってしまい、nがNaNかどうか判定できません。 なんでNaNかどうかの判定が必要かというと、Number(value)の結果がNaNかどうかを調べたいからです。 よろしくお願いします。
>>237 うおーそんな関数があったのか。さんくす。
239 :
Name_Not_Found :2006/05/03(水) 13:52:08 ID:dfksw9tn
XSLTの中で記述したJScriptで、 XMLファイルからじゃなく、文字列からXMLを生成する方法ありませんか? var dom=new ActiveXObject('microsoft.XMLDOM'); dom.xxxx("<p><a href="#">XXXXX</a></p>"); こんな感じで。 HTMLにしてinnerHTMLを書けば良いか、と思ってnew ActiveXObject('mshtml.HTMLDocument');をやろうとしたら 「オートメーション サーバーはオブジェクトを作成できません。」と怒られてしまいました。
普通にcreateElementできんものなの? いや、よく知らんで書いてんだけど。
241 :
239 :2006/05/03(水) 14:00:31 ID:???
>240 createElementの引数は要素名だけなんですよ。 もちろんそれで不可能ではないけど、文字列を解析してタグを取り出して要素を作って… ってやってたらXMLパーサ丸ごと書く事になるので、それはカンベン。
242 :
Name_Not_Found :2006/05/03(水) 16:46:30 ID:iP5ke9nr
VBでいう[MSGBOX]に相当する命令は何になりますか?
>>242 無い
VBSと連携するなりしないと無い
245 :
242 :2006/05/03(水) 17:58:52 ID:???
var WshShell = new ActiveXObject("WScript.Shell"); WshShell.Popup("a"); でうまくいきました。俺って天才?
質問。 XmlHttpRequestオブジェクトのresponseTextをinput( text )に挿入したら、Firefoxではおkなのに、 IEだと、responseTextの後に、そのページのHTMLコードがそのまんま、くっついてきてしまいます。 どうすればいいのでしょうか? サーバーから文字列を返すときに、最後尾に文字列定数を付けて、 正規表現で除去するとか!?
DOMプログラミングで、あるエレメントの子供をすべて消去するときのうまいやり方ってありますか。 今は var n = elem.childNodes.length; while (--n >= 0) { var child = elem.childNodes[0]; elem.removeChild(child); } としています。 なんかこう、もっと一発で削除みたいな方法があるんじゃないかと思うんですが。
DOMってIE5やFOXで動かないでしょ?
innerHTML=''
>>242 DHTMLつーかDOM0ってのだなw
window.confirm()
window.prompt()
まぁalert()の仲間だ。
>>249 なにそれーそんな方法があるのー
elem = document.getElementById('ul1');
elem.innerHTML = '';
alert(elem.childNodes.length); // 0
べりーさんくすでした
JavaScriptマスターに一歩近づいた
252 :
250 :2006/05/03(水) 20:13:04 ID:???
>>246 textプロパティかIE独自のinnerTextプロパティ使えよ。
>>247 > while (--n >= 0)
もう回答してもらって満足してるところ悪いが、
自前で変数nにlengthのスナップショットを取って、そのnの値をディクリメントせずに、
while (elem.hasChildNodes()) のように書くわな、ふつう。
他言語の実装によっては、elem.childNodes.lengthが不変で困ることもあるだろうが、
J(ava)Scriptの実装は、仕様通りにlengthが現時点のDOMを反映するので、
while (elem.childNodes.length > 0) と書いても問題ない。
質問です(´・ω・`)
ここのページなんですが、
http://javimoya.com/blog/youtube_en.php ページの読み込みと同時にページ右上にある "Download" ボタンが押されるようなjavascriptを
Proxomitronでページに挿入するために 2通りのjsコードを用意したんですが、一方は動き、もう一方は動きませんでした。
このもう一方が動かなかった原因を知りたいのですが分かりませんでしょうか?
・ 動いた
<body>タグを <body onLoad="botonDownload()"> に書き換え。
※ jsが正常に動くと "最初にURLを書いてくれ" という意味の警告ダイアログが出ます。
・ 動かなかった
→ HTMLソースの一番最後に <script>document.forms[0].submit.click();</script> を追加。
※ 上記の警告が出ず、まったく反応がありません。
前者のjsには botonDownload() というこのページ固有の関数名が使われているのですが、
後者のようにそういう固有の関数名を使わずに書く方法は無いでしょうか?
これが出来れば他のページにも同じソースを挿入するだけで同じ動作がさせられ、
ページごとにjsコードを書き換えること無しに使いまわすことが出来るので大変助かります。
大変お手数で申し訳無いのですがもし分かる方がいらっしゃいましたらご教授を。m(´・ω・`)m
エラーが出てるだろ。エラーが見れない奴、エラーが報告できない奴は帰れ。 (そもそもテンプレを読んでないことになるわな。)
>>254 わざわざ意味不明な質問に回答ゴメソ、思いっきり勘違いしてたorz
content-typeがHTMLなんだから、あたりまe(ry)
首つってきますorz
ある数がintegerかfloatかを判定する関数はありますか。 今、ユーザが入力した値が整数かどうかを調べようとしているんですけど、 var n = Number(document.form1.textfield1.value); if (isNaN(n)) { // エラー処理 } else { // OK } としています。ここで、入力がfloatの場合もエラーにしたいんですけど、 どうすればいいでしょうか。 parseInt()だとfloatを勝手にintegerに変換してしまうので、これはちょっと違います。
if (Math.floor(n) == n)
>>260 どうもありがとう。floor()というのがあって、これで小数点以下を切り捨てて、それがもとの数と等しいかどうかを調べるのか。なるほど。
でも Math.floor(1.0) == 1 となるから、そこだけが問題ですね。でもこれでなんとかなりそうです。ありがとうございました。
262 :
Name_Not_Found :2006/05/04(木) 13:56:14 ID:i8psb6bp
function init() { hoge = new Hoge(); } function Hoge() { this.buz = document.getElementById("buz"); alert(this.buz); //1 this.bar = Hoge_bar; this.buz.addEventListener("mousedown", this.bar, true); } function Hoge_bar() { alert(this.buz); //2 } ↑のソースで//1のところではthis.buzは定義されているのに//2のところではundefinedです。 Hoge_bar()はthis.barとしてHogeのインスタンスメソッドにしているのでthis.buzは参照できそうな 気がするのですが、ダメなのでしょうか?
<input name="name" > というコントロールがあると、document.form1.name でコントロールがとれますが、 そうではなくてフォーム名(<form name="hoge">の"hoge")をとってくることはできますか。
>>263 <input name="name">のname属性の属性値をname以外にする
>>264 できないということっすね。了解しました。
なんか、何ができて何ができないかまだよくわかってないっす。
>>261 何が問題なのかよくわからんが、
「文字面が整数にみえるものだけ」なんだったら
文字列を正規表現で当てろ。
Id属性とName属性の違いを教えてください
268 :
262 :2006/05/04(木) 15:44:36 ID:i8psb6bp
なんかHoge_bar()のスコープのthis.buzのthisはHogeのインスタンスにはならないようです。 OOPで書くにはどうしたらいいんだ
文字列1の中に、文字列2がいくつ含まれてるか どうやったらわかりますか?
>>269 javascript:"あああ".match(/あ/g).length
>>267 id属性は、そのHTML文書の中で一意である印をつけるためのもの。複数のタグが同じid属性をもっていてはいけない。
name属性は、そのタグに名前をつけるもの。複数のタグが同じname属性をもっていてもよい。ラジオボタンとかはそうだよね。
document.form1.radio1 を参照すると、NodeListが返されますが、あるエレメントがNodeListかどうかを判定する方法はありますか。 typeプロパティやnodeTypeプロパティが使えるかと思いましたが使えないようです。(Firefox1.5で確認) var e = document.form1.radio1; e.type //=> undefined
document.form1.radio1[0].type=="radio"
>>273 さんくす。でもできればNodeListかどうかを知る方法があればいいんですが。
今は
function is_node_list(elem) {
return elem[0] && elem.length && !elem.type;
}
としているんですが、なんかこう、もっと直接的な方法があるんじゃないかと思って質問しました。
もしないようなら上の方法あるいは
>>273 の方法でやろうと思います。
>>262 thisは関数がメソッドとして呼ばれた時だけそのオブジェ
クトに束縛されるから。init()のなかで
「hoge = new Hoge(); hoge.bar();」
とすればちゃんとbuzが取れるんじゃないの。
>>274 Firefoxだけでいいんならもっとわかりやすいのはあるけど
document.form1.radio1 instanceof NodeList
277 :
256 :2006/05/04(木) 18:28:19 ID:???
>>257 テンプレ読んでなかったです、スマンコンソール。(´・ω・`)
Firefox1.5.0.3に付いてるjavascriptコンソールでエラーを確認したところ、HTMLソースの一番最後に
<script>document.forms[0].submit.click();</script>
を追加した場合、
>エラー: document.forms[0].submit.click is not a function
>ソースファイル:
http://javimoya.com/blog/youtube_en.php >行: 516
というエラーが記録されました。 追加したこのjsコードは "一番上にあるフォームのボタンを押す" という動作を
するコードで、他の大多数のサイトで正常に動くことを確認しています。 今回のサイトも対象フォームが
ページの一番上なんですが何故か認識されません。 何故このページでだけエラーが出るんでしょうか?
あと気になる部分があるのでソースを貼っておきます。
一番上のフォームの最初のタグ
<form action="
http://javimoya.com/blog/ " method="post" id="chooser_form" name="chooser_form" class="chooser_form" onsubmit="return false;">
そのボタン
<input type="submit" class="campo_entrada_submit" value="" onclick="botonDownload()" onfocus="this.blur();">
僕はこのボタンのonclickイベントに botonDownload() が指定されてるのが気になります。
これのせいで追加したjsコードが弾かれてるのではないかと思ったんですがどうですか?(´・ω・`)
>>276 ありがとう。instanceof演算子があるのか。でも確かにFirefoxでは動いたけど
IEでは動かなかった。残念。
DOMプログラミングするならinstanceofは欲しいっすね。
279 :
256 :2006/05/04(木) 21:06:32 ID:???
今までに試したことも書いておきます。(´・ω・`) 最後に挿入するjsコードを
<script>document.getElementsByName("chooser_form").submit.click();</script>
にした場合、jsコンソールに以下のエラーが記録されました。
>エラー: document.getElementsByName("chooser_form").submit has no properties
>ソースファイル:
http://javimoya.com/blog/youtube_en.php >行: 516
次に、proxomitronで<body>タグを <body onLoad="document.proxomitron.submit()" > に置換し、
ボタンに proxomitron という値のname属性を挿入して試したところ、
>エラー: document.proxomitron has no properties
>ソースファイル:
http://javimoya.com/blog/youtube_en.php 行: 1
というエラーが記録されました。 このページのボタンをjsで押したことにするというのは
botonDownload() 関数を直接呼び出す以外に方法はないんでしょうか(´・ω・`)?
参考までに、Proxomitronは実験用のフィルタ以外はすべて無効になってます。
実験はFirefox1.5.0.3とそのjsコンソールを使ってます。 他に疑問点があれば聞いて下さい(´・ω・`)
>>279 いい加減に自分の無知さを自覚して長々と書くのはやめろ。
document.form.submitって何なのか知ってるか?メソッドだよ
ツッコミ入れたい気持ちを我慢できない厨は黙ってろボケ。(´・ω・`)
J( 'д`)し ウルセーンダヨ ( ) ||
おいおい、いたぶるのが目的じゃないだろ。
>>277 document.forms[0].submit();
または
document.forms[0].elements.提出ボタン名.click();
のどちらかだろ。混ぜるなってアホ。アンタとエラーメッセージの
どっちが正しいかといえばエラーメッセージが正しいんだよ。自分の
半可通を自覚しろ。
284 :
256 :2006/05/04(木) 23:53:33 ID:???
>>283 d! document.forms[0].submit(); に直して実験したらjsコンソールにもエラーが出ませんですた。
固有の関数を使わずに書くというのはおかげさまで解決しますた。m(´・ω・`)m
しかし手動でボタンを押したときと動作が違います。(´・ω・`)
手動 → "URLを先に書け" っていう警告ダイアログが出る。
上のjsコード →
http://javimoya.com/blog/ に飛ばされる。
ボタンの onclickイベントである botonDownload() が実行されてないっぽいです。
これでは何の意味もありません(´・ω・`) これを解決する策はありませんか?
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
実験用に上記のjsコードを挿入するProxomitron用のフィルタを作っといたお。(´・ω・`)
[Patterns]
Name = "javimoya.com JS"
Active = TRUE
URL = "javimoya.com/blog/youtube_en.php"
Limit = 256
Match = "</html*>"
Replace = "</html><script>document.forms[0].submit\(\);</script>"
>半可通
js書けるくらいでいい気になってんじゃねーよクズ。(´・ω・`)
「提出ボタン名」が理解出来なかったからsubmit()の方使ったの?
286 :
256 :2006/05/05(金) 00:08:17 ID:???
>>256 に書いてある通り、最終的な目標は "固有の関数名を使わずに書く方法" を導き出すことだお。(´・ω・`)
そして手動でボタンを押したときと同じ動作になること。
これってココに常駐してる方々にも難しいことなの?(´・ω・`)
287 :
262 :2006/05/05(金) 00:21:38 ID:GDcPd9mf
>>275 >「hoge = new Hoge(); hoge.bar();」
>とすればちゃんとbuzが取れるんじゃないの。
まあそうなんですが、イベントリスナにbar()を登録してbar()の中でHogeのインスタンス変数
を弄りたいんです。
イベントリスナーに登録した関数の中で直接 this を使ったのがダメ。 実行した時には this は [object Window] になってしまうぞ
ん?this.buzに代入した要素じゃなくて?
>>287 メソッドとして設定された関数だろうがその関数を単独で取り出したら
ただの関数であってもともとのオブジェクトとは無関係になる。イベント
リスナに登録したいのならクロージャを使え。クロージャが分からないなら
勉強しろ。
>>286 固有の関数名という意味が分からんね。日本語が不自由なヤシの質問に
回答するのはなかなか困難だと思われ。JS質問スレなんだからJSが書ける
ヤシが煽るのはいいんじゃないの(w
js書けるくらいでいい気になってんじゃねーよクズ。(´・ω・`)
> クロージャが分からないなら 勉強しろ。 同意だが、ちょっと厳しい気もする
>>290 みたいなのがものすごい勢いでメモリーリーク糞コードをメモ帳や秀丸や萌ディタで書くから、
そのケツを拭くための雇用が生み出される。それなりに社会貢献になってるなw
ケツを拭く方の技術が遥かに高いので、コストも本格的な額になってしまうわけだがw
盛り上がってるとこ悪いんですけどこのソースの問題点を教えてもらえませんか? javascriptコンソールでもエラーは出ないんですが…。 <body onload="document.getElementsByName('namae').click;"> <form action="#"> <input type="button" name="namae" value="OK" onclick="alert('Hellow! World.')"> </form>
295 :
294 :2006/05/05(金) 03:25:13 ID:???
あ、「Hellow! World」 と表示されるはずなのに出ないんです。
()
document.getElementsByName('namae')[0].click とかか?
>>294 質問とは関係ないが「Hello」な。wは不要。
300 :
294 :2006/05/05(金) 03:42:51 ID:???
>>296 >>297 ありがとうございます!
document.getElementsByName('namae')[0].click() で動きました!
こんな時間に即レスで回答ありがとうございました! 感謝します!!
>>298 あは… おハズカシイ限りで…(///o///;)
無事解決しましたのでご報告。(´・ω・`)
>>284 の "手動とjsの動作が違う問題" はjsでformタグを操作するのでなく
>>294 のようにinputタグを操作することで回避出来ることが分かった。
みんなありがとうね。(´・ω・`)ノシ
変な子だったね
>>293 GCがついてるJS処理系でどうやったらメモリリークするのか
解説してくれないか、半可通。(プラグイン絡みは今回関係ない
んで念のため。)
>>304 ま だ 読 み 終 わ っ て な い の か
全 単 語 を 辞 書 で 調 べ て ん の ?
まあまあ。JSでメモリーリークするサンプル書いてみせれば 一発で解決するだろ。誰でもいいから書いてみせてよ。楽しみに 待ってるよ。(割り当てたデータ構造を決して返却しないみたい なわざと使い尽くすのはなしでたのむよ。)
JavaScriptでは文字列の前後の空白を削除する関数は標準ではないようですね。 「JavaScript strip」とかで検索したんですけど、見つかりませんでした。 どっかにstrip()のコードありませんか?
明示的にGCってどうやんの?w ひっこんでろ。ハイw
質問なのですが、透過GIFの透過部分のみ当たり判定から除外するというような方法はありますか?
>>312 ないでしょ。
>>311 単にずっと動かしておいてメモリがどんどん増えたらリークしてる
ことになるでしょ。自力でGC起動する必要なんざなし(でなかったら
GCの意味なんてないもの)。さあメモリリークするプログラムどうぞ。
>>310 str.replace(/^ +([^ ]*) +$/, '$1')
とりあえずこういうプログラム書いてみたがWin IEとUnix Mozで メモリ使用量はだいたい一定のようだね。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><title>???</title> <script type="text/javascript"> var count = 0; function test() { document.body.innerHTML = ''; for(var i = 0; i < 1000; ++i) { var t = document.createTextNode(String(++count)); var p = document.createElement('p'); p.appendChild(t); document.body.appendChild(p); } } </script> </head><body onload="setInterval(test, 1000)"> </body></html>
今度は関数クロージャ400個ずつでやってみた。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><title>???</title> <script type="text/javascript"> var count = 0; function test() { document.body.innerHTML = genc(400)(); } function genc(i) { if(i <= 0) return function() { return String(++count); }; else { var c = genc(i-1); return function() { return c(); }; } } </script> </head><body onload="setInterval(test, 1000)"> </body></html>
今度は配列10000要素ずつ作って捨てる。Winのタスクマネージャ で見るとメモリ使用量が増えたり減ったりするね。GCが起きると 減るのかな。ずーっと増えていくということはないね。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><title>???</title> <script type="text/javascript"> var count = 0; function test() { var a = new Array(); for(var i = 0; i < 10000; ++i) a.push(new Number(++count)); document.body.innerHTML = String(count); } </script> </head><body onload="setInterval(test, 1000)"> </body></html>
ほほぅ
うほっ!
ありがとう、知らなかったので勉強になった。IEのGCってアホなのね。 さすがというか。大体この手の循環参照にだけ気をつければOKってことかな。 しかしそんなに有名なら煽ってたヤシがコード書いて見せそうなもんだが。
>>320 俺はいままでの会話に参加していないのだが言わせてくれ
なんでお前みたいなアホのためにコードを書かなきゃいかんのだ
文字列の先頭または末尾にある空白を削除する方法ですが、 >313 >str.replace(/^ +([^ ]*) +$/, '$1') これ、うまくいきませんでした。 ・先頭のみ/末尾のみに空白が含まれている場合はマッチしない。 ・「 aaa bbb 」のように間にも空白が含まれている場合はマッチしない。
>>322 じゃ、その先は自分で考えるのがいいんじゃね?
正規表現の質問だったらム板の正規表現スレをお勧めする。
>>322 なら、最初からそう言えよ、ヴォケ。
>>310 でお前に尋ねられたこと
を
>>313 は書いただけだろ。後から言われる筋のものじゃない。
お前のようなヤシはまったくイラつく、もう二度と来るな。
まあまあ。こうだろ。 str.replace(/^ *(.*[^ ]) *$/, '$1') テストしてないけどさ。
こうだな str.replace(/^ω^*/, '');
^ *([^ ].*[^ ]) *$
なるほど! 有用だけど顔文字に見える正規表現ね? しかしどう見ても正規表現スレ向きな話題だな…
もはやJSじゃなくなってるよな…
>>328 それだと「 a 」なんかがダメ。3文字以上必要になるだろ?だから
>>326 。
webprogから流れてきました。 iframeの中から、親のidを操作するにはどのように書けばよいのでしょうか。 例えば、 親 <span id="xyz">hello world</span> <iframe src="xxx.html"></iframe> xxx.htmlの中のscript部分 parent.document.all["xyz"].style.color="yellow"; のような感じでアクセスしたいのですが、上記はエラーになってしまいます。 よろしくお願いいたします。
>>331 どういうエラーかを書きなさい。話はそれから。
しかし、これでダメか?まさか、allのせいじゃないよね。
>>332 レスありがとうございます。画面にエラーが出ないので、詳細にエラーの
種類が説明できませんが、その上の行と下の行ににalert("here");と入れる
と、1回だけしかalertが出ないので、これが動いていないことは確実です。
parent.document.xyz.style.color="yellow";でも動きません。
また、parent.document.getElementsByName("xyz").style.color="yellow";
も試しましたがこれもダメでした。そもそもparent.documentっていうのは
iframeを含む親を指しているのでしょうか?parent.document.bgColor="yellow";
でも動かないのですが。
>>332 , 333
すみません。原因は別のところにありそうな気がしてきました。
iframeのsrc先を同じディレクトリのhtmlにしたら動きました。
一方、src先をcgiにすると動きません。
エラーの表示のさせ方くらいは知っときなよ デバッグもろくにできんよ ドメインが違うといろいろできません
>>335 できました。ありがとうございました。
ディレクトリを同じにしたら、大丈夫でした。
>ドメインが違うといろいろできません
そうなんですね。勉強になりました。
<div onclick="hello();">xxx</div> みたいにイベントハンドラ登録の最後に 「;」 をつけたら何かまずいのでしょうか?
>>337 むしろそっちが正しい。が、洩れは読みやすくないと思うから
式1つだけだったら「;」を略しちゃうんだよね。
339 :
337 :2006/05/06(土) 16:51:48 ID:???
>>338 答えてくれてありがとうございます
どこかの記事で、
javascriptでは文の最後に ; をつけなくても
自動補完してくれる言語仕様になっているけど、
(例えばvar i = 3 と書いても実行時には最後に ; を補完する)
そんな仕様になったのは
<div onclick="hello()">xxx</div>
という記述を許すためだろうって書いてあって
どうしてわざわざそんな記述を許す必要があったのかな
と思い、考えた末、
イベントハンドラ登録の末尾には ; をつけちゃいけないのかな?
と思った次第でした
なるほど、 ; がない方が読みやすい人の方が多いのですね
「;」の扱いには2つの流儀があって… (1)「文の区切り」派(Algol、Pascal)→「文1;文2;文3」 (2)「文の終端」派(C、C++、Java、JS)→「文1;文2;文3;」 洩れは(1)が美しいと思うが、なにしろCが(2)なんでメジャーに。
IEではすんなり動くのにFireFoxではもっさり動きます。 これって書き方が悪いのですか?
DOM操作ではIEが最速
>>341 そうかもしれないし
そうではないかもしれない
何しろコードがなければ始まらない
>>341 ブラウザによってやることによる得手不得手はあるが…
ともかくそのサンプルを貼ってくれないことにはアドバイスの
しようがない。
画像もテキストも全て含めてグレースケールにする方法を教えてください。 まえにも教えてもらってIEのアドレス欄にピピッと入れてEnterを押したらできたのですが 保存していなかったので、もう一度教えてください。
<SCRIPT LANGUAGE="JavaScript" SRC="cgi-bin/tcount.cgi"></SCRIPT> <SCRIPT LANGUAGE="JavaScript"> <!-- document.write(count); //--> </SCRIPT> こんな書式で「テキスト」カウンタを運用してるんですけど、 リファラを記録したいと思いまして、document.referrerの中身を cgiに送る方法を考えたり調べてみたんですけどわかりません。 cgi側でHTTP_REFERRER取得してもカウンタ設置ページのurlなので…
>>346 javascript:document.body.style.filter="gray();";eval();
>>351 filter 自体が IE の独自拡張
画像だけでもFirefoxで動くようにならないかなぁ
>>348 カウンタを設置してるHTML要素をJavaScriptで書いてみたら?
いろんな無料カウンタのソース読んだら参考になるかもね。
355 :
Name_Not_Found :2006/05/07(日) 11:43:35 ID:TotBCcBR
初歩的な質問ですがよろしければ教えてください。 <a href="#volume2">2章</a>として同一ページ内移動させようと思うのですが <a href="#〜"></a>が使用できないためJavascriptで代用しようとしています。 調べてみたところ <a href="javascript:window.scrollTo('0,500');">2章</a> のように座標指定でスクロールさせる方法がみつかりましたが この場合モニターやブラウザの種類によって スクロールされる場所が違ってきますか? その他に<a href="javascript:window.location.hash = 'volume2'>2章</a> というのを試したのですがちゃんと移動するものの 次の瞬間#volume2と書かれた白いページに飛ばされてしまいます。 <a href="#〜">の同一ページ内移動の代替で JavaScriptを使った良い方法をご存知の方教えてください。
>>355 そもそも、なんでアンカーが使えないの?
>>355 アンタ勉強が足りなさすぎ。javascript: URIを使った場合
その最後の値がundefinedでない限りその値を文字列変換した
ものがページ内容になってしまふ。最後に「;void(0)」を
つけれ。あとhref="..." の最後の「"」が欠落してるぞボケ。
URl
その用語のは宗教論争になるから立ち入らないのが吉。 喧嘩したいのならどっかよそのスレでたのむわ。
361 :
はじめまして♪もう結婚して6年が経ちます。 :2006/05/07(日) 15:48:08 ID:ZQu7d6HM
はじめまして♪もう結婚して6年が経ちます。 若いうちに結婚したので 恥ずかしいけど主人としかエッチ経験がありません(><) 今では主人も相手してくれません。 正直エッチにはすごく興味があります。 こういうのはちょっと怖い感じがするけど、 本当にやさしい人ならと思いブログを作成しちゃいました。 私の知らないエッチを体験できますか? このまま1人の男性で終わってしまうのかと思うと なんだか虚しくなってしまいました。 主人には、絶対内緒なので常識のあるやさしい男性からの お返事お待ちしております。 本当に最初はやさしくして下さい。 宜しくお願いします。
362 :
安心してください(私が製作してるHPなん :2006/05/07(日) 15:50:30 ID:ZQu7d6HM
http://milkcocoa.yaboo.dk/free-private-room/miho-200605.htm 26才主婦のミホさんはコメントが丁寧です
///////////////////////////////////////
//@セレクト項目の設定
//////////////////////////////
/*
function setSelectOptions(elm, vals, def) {
//フォームの初期化
elm.clear;
//要素数の初期化
elm.options.length = 0;
i = 0;//配列要素のポインタ
for (var optIdx in vals) {
//要素数の設定
elm.options.length = optIdx;
//valueの設定
elm.options[i].value = optIdx;
//表示文字列
elm.options[i].text = vals[optIdx];
//初期選択項目の設定
if (optIdx == def) {
elm.options[i].selected = true;
}
i++;
}
}
363 :
Name_Not_Found :2006/05/07(日) 15:53:46 ID:ZQu7d6HM
もし・・・メルマガ登録してなく(+_+)身に覚えがないなら。。アナタのアドレ
スを解除したいので折り返し連絡ください。
解除アドレスは
[email protected] このアドレスになります。。
お手数ですが宜しくお願いします(^o^)丿メルマガと言っても、週に1度くらいの配信で、、
いたずらでメルマが登録されたと思わせ、解除アドレスにメールを送信させて
メールアドレスを収集します。あたま良いですね。業者は。
なにをいまさら。。。。
365 :
Name_Not_Found :2006/05/07(日) 17:24:22 ID:8nrTyZS1
488 名前:名無しさん@お腹いっぱい。 :2006/02/29(水) 10:19:16 竹石圭佑って名古屋の? 19くらいだろ、俺と同学年だし。 大学行ったか知らんけど…つーか話したことすら無い。あいつウザいから嫌われてたし。何か言動が気持ち悪かった。 女好きか知らんが、高校ん時、竹石が男子の後輩か何かのケツを掘ったって噂なら聞いたことならある。 噂かと思ったが、アイツかなり変な奴だったからホントかも知れないが
>>348 html内でcookieに保存して、cgi側から見たら?
367 :
(ё_ё) :2006/05/07(日) 18:54:55 ID:kyzy4Eoa
Javaスプリクトを使ってPC禁突破ソース抜き出来るって聞いたんだけど どうやるの? 知ってる人居ない?
window.openで別ウィンドウを表示してそのウィンドウを 下に。再度 window.openをすると下に隠れたままです。 どうすれば上にきますでしょうか。
371 :
355 :2006/05/07(日) 20:34:40 ID:???
>356
あるサイト内部の自分のページをHTMLで書いているんですが
<a href="#〜">とするとそのサイトのプログラムが
HTMLを書き換えて違うページに飛ばしてしまうんです。
>>357 ありがとうございます、できました〜。
そういえば以前、;void(0)を入れるっての勉強してました。
これを機にもう少ししっかり勉強してみようと思います。
kwsk()
void(0^)/
fack
376 :
348 :2006/05/08(月) 02:20:27 ID:???
>>354 javascript中で変数付けてcgi実行するってことですよね。
imgタグで呼び出す方法(cgi->jsの変数受け渡しは不可)
以外知らないんですが、とうやるんでしょう。
location.href
>>348 呼び出し元ページで referer 取得しておいて
cgi で生成した js から onload のタイミングで読み取る
document.write() だとタイミングが前後してしまうので
onload 後に DOM で書き出す
379 :
348 :2006/05/08(月) 05:33:07 ID:???
こうですか!?半分わかりました>< <すくりぷと> function counter(){ var refer = escape(document.referrer); location.href="tcount.cgi?ref="+refer; document.all("counter").innerHTML = count; } </すくりぷと> <body onload="counter()"> <div id="counter"></div> perlで生成したjsコードを不明ファイルとして保存ダイアログが出てしまいます。 スクリプトタグ内にjsコードとして出力されるわけじゃないんですか? しかしこれは人に尋ねなければ絶対わかりそうにない。 onloadでlocation.hrefとか常識なんでしょうか?
> しかしこれは人に尋ねなければ絶対わかりそうにない。 声を出してワラタ
formもhrefも、出力されたjsを実行できないんでは
>>379 location.hrefに入れてしまったらページ遷移するけど。
自分が脳内で勝手に期待したようになんてならないよ。
XMLHttpRequestでCGI呼んで返送されたJSコードをeval()
で実行するのがいいんじゃないの。その意味が分からなければ
勉強するべきだな(過去ログにもサンプルはあるだろ)。
いやこの場合はscript要素を生成しとけば良いんじゃないの。 ドメインが違ってロードできません! とかもう付き合って欄内。
XP+IE6で見た場合(他の環境での検証はしていません)、
http://www.deviantart.com/ ↑上記サイトを表示させると、
他のサイトを閲覧したときに見られる、ページ上部と左側に表示される影が
表示されていません。
自分の作るページも同様にしたい場合、どうすればよろしいですか?
よろしくお願いいたします。
>>384 スレ違い。CSS。そのページ見てないけど多分htmlタグの属性のborderだと思う…
>>385 >htmlタグの属性のborder
この用語は相応しくない。
>>387 >>385 を弁護する気持ちは皿々ないが、
document.getElementsByTagName('html')[0].style.borderColor
というのはvalidではあるよね。
確かに。今ちょっとお遊びをやってみた。 javascript:document.getElementsByTagName('html')[0].style.padding='1cm';void(0) 読みづらい(泣)
jsの解説サイトの中に ('A') という記述を見つけました。 このAAっぽい彼に名前を付けてくれませんか?
一文字クン
>>391 Aくん
(決まったね、もう来るな。ここはJavaScriptスレ)
いや、<HTML>のCSSのborder属性は、なぜかIEにはあるんだよ
removeChildで削除した要素が子要素持ってた場合、 勝手にそれも削除されるんでしょうか?
>>395 その「削除」の定義は何かね。勝手とか脳内で勝手に :-) 修飾すな。
その子要素が「自動的に」どっかに現れるのが好みなのかね?
文字化けした文字をcharCodeAt()とかで コードにしてそこから正しい文字を再構成― とかってjavascriptで可能ですか?
>>398 一般論として不可能。ただし元のエンコードが何で文字化けしたかわかっているなら理論上は可能。
しかし現実問題、JavaScriptのUTF-16BEなどに変換するには変換テーブルがいるため、若干やる気をなくすと思う。
個人的にはサーバでやることをお勧めする
>>399 そうですか。とても大変そうですね。。
とりあえずJavascriptでやるのはあきらめます。
ありがとうございました。
>>389 それは、CSSStyleDeclaration#border のことだ。
>>394 それも、DOMのCSSStyleDeclaration#border のことか、CSSのborderプロパティのことだ。
>>399 > ただし元のエンコードが何で文字化けしたかわかっているなら理論上は可能。
ブラウザの文字化けだろ。
一律に、?????? みたいな化け方をするから、対応関係が壊れてる。不可能。
ただし、WinIE限定で、XMLHTTP の responseBody プロパティ値から
文字列としてのバイト列を取得して、それを変換するのは可能だ。
Shift_JIS版を過去に書いた。過去ログが整理されていれば、探せるだろう。
あと、テーブルをつくるのなんて、10分もあればできるだろ。
適当にファイル取ってきて、JSの文法に合うように置換すれば良いだけだ。
>>402 > あと、テーブルをつくるのなんて、10分もあればできるだろ。
人の書いたソースのコピペをするところで若干やる気をなくすかな、と思った
404 :
Name_Not_Found :2006/05/08(月) 23:47:40 ID:JFLFrcO7
以下の様な仕様にしたいんですが、実現方法ありますか。 画面A,B,Cは同一ブラウザ上で遷移する。 (複数ブラウザで開くことは想定しない) 画面A,B,Cの「子画面」ボタンを押下すると、子画面Sを開くことができる。 SはA,B,Cから1つしか起動できない。 既にSが1つ開かれている場合、A,B,Cのどの画面で「子画面」ボタンを押下しても、 2つ目のSは起動しない。その時既に開かれていたSの再読み込みも行わない。
>>404 ホレ。
--- t1.html (子画面) ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title></head><body>
<div><script type="text/javascript">
window.xyz = true; document.write(Math.random());
</script></div></body></html>
--- t2.html (親画面A) ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var w = window.open('', 'test');
setTimeout(function() { if(!w.xyz) w.location.href = 't1.html'; }, 100);
}
</script>
</head><body>
<p><a href="javascript:test()">test</a></p>
<p><a href="t3.html">t3</a></p>
</body></html>
--- t3.html (親画面B) ---
t2.htmlと同様
406 :
Name_Not_Found :2006/05/09(火) 14:14:17 ID:bxDWIv1K
質問なのですが、スタイルシートの class="..." で指定される名前(クラス名であってますか?)から styleオブジェクトを取得するにはどうしたらいいですか? とりあえず今は、document.styleSheets(0).rules.item(i).selectorText が引数と一致するまで ループを回してますが、もっと綺麗な書き方があったら教えてください。
>>407 ないと思うよ。そもそも「h1.xyz」とか「p.xyz」とか沢山
あるかも知れないのにどれが取れて欲しいという仕様なのさ。
ちなみにそのあたりはIEが標準と違うAPIを実装しているので
IEと他のブラウザで互換性がないのに注意。
409 :
407 :2006/05/09(火) 19:05:58 ID:???
>>408 回答ありがとうございます。
なるほど。言われてみればそうですね。
たとえば、"h1.xyz"のスタイルオブジェクトが欲しいというときでも
やっぱり selectorText をチェックしながらループ回すしかないでしょうか。
作成するHTMLドキュメントは一部の人しか見ないので、ブラウザは IE 固定で十分です。
別の方法として、実際の要素を選んでそれに適用されているスタイルを
取って来るという方法もあるけどね。FAQ
>>3 に書かれている。
「マウスオーバーで画像が替わり、クリックすると指定されたサイズで新しいウインドウが開く」 ようにするには、これでいいのでしょうか? 文法チェッカーにかけると「<TAG> の ATTR 属性の URI に指定されているスキーム `javascript` の利用は薦められていません」とも警告されます。。。。 どうか、ご教授願います。 ※新規ウインドウの詳細設定は、個別に4種設定したいです。 ※新規ウインドウを開かず、通常のコンテンツメニューとしてもマウスオーバーを使用しています。 <script type="text/javascript"> <!-- function openWindow1() { window.open("./■■.html","","WIDTH=■■,HEIGHT=■■,scrollbars=no,resizable=yes");} //--> </script> <script type="text/javascript"> <!-- function newImage(arg) {if (document.images) {rslt = new Image();rslt.src = arg;return rslt;}} function changeImages() {if (document.images && (preloadFlag == true)) { for (var i=0; i<changeImages.arguments.length; i+=2) { document[changeImages.arguments[i]].src = changeImages.arguments[i+1];}}} var preloadFlag = false;function preloadImages() {if (document.images) { ■■_over = newImage("./images■■.gif");preloadFlag = true;}} // --> </script> <a href="javascript:openWindow1()" onmouseover="changeImages('■■', './images/■■.gif'); return true;" onmouseout="changeImages('■■', './images/■■.gif'); return true;"> <img name="■■" src="./images/■■.gif" width="■■" height="■■" alt=""></a>
JavaScript使ったサイトをfirefoxで見たら動きが もっさりなのですがこれって当たり前の事なのでしょうか?
>>411 その警告は正しいね。このスレにもその警告を受けるべきヤシがいるが。
>>412 モノによる。
スーパーマリオのやつとかは、逆にIEだと遅くてどうにもならん。
>>411 いちばんまっとうには
<a href="JSオフの時の行き先" onclick="JSの動作;return false">...</a>
まあこのスレで貼られてるのはJSのデモだからさぼってあるけど。
>>414 そうなんですか
DHTML demosのサイトだともっさりですよね。
IEだと普通に表示されるのに
417 :
Name_Not_Found :2006/05/10(水) 00:37:40 ID:+oYXot7Q
>>405 ありがとうございます。想定どおりに動きました。
ちょっと分からないんですが、
window.open('','test');
の第一引数が空なのは、この時点ではページのロードを行わないということですか?
setTimeoutを使う意味はなんですか?
418 :
Name_Not_Found :2006/05/10(水) 01:39:00 ID:wFa/E+qC
はじめまして。 よろしくおねがいします。 javascriptは、あまりつっこんで勉強したことがなく、 こういうことが可能なのかどうか教えてください。 今、以下のようなソースを書いており、 //セレクトメニュー1 <select name="memo"> <option>選択してください <option>1 <option>2 <option>3 </select> //セレクトメニュー2 <select name="memo"> <option>選択してください <option>A <option>B <option>C </select>
419 :
Name_Not_Found :2006/05/10(水) 01:40:20 ID:wFa/E+qC
//続き。 二つのセレクトメニューから、それぞれ選び サーバ側にデータを送るようにバックグラウンドで 制御されています。 通常であれば、選んだそれぞれの値がポストされると思うのですが、 サーバ側のデータの値の受け方として、以下のようにデータを貰いたいのです。 【値=セレクトメニュー1で選んだもの+セレクトメニュー2で選んだもの】 現在は、クライアント側で最後に選んだものがポストされて、 サーバ側で受け取るようになっています。 例えば、セレクトメニュー1で、2を選び、セレクトメニュー2で。Cを選ぶと、 サーバ側で、表示されるのは、Cと表示されます。 これを、【2C】というように値を返したいのです。 javasctiptで可能でしょうか? 値の流し方にコツが入ると思うんですが いかがでしょうか? ご教授ください。
>>419 できるよ
でも name を変えるのが普通のやり方だね
421 :
419 :2006/05/10(水) 03:00:49 ID:l7XaHU8T
420さん> お返事ありがとうございます。 普通のやり方ではない方法を、仕様上(設計上)とらなくてはいけなく なりそうなので、ぜひ、その通常とは違う方法のヒントをお教え 願いないでしょうか?
>>421 なんで「nameが同一でなければいけない」のか納得行く
説明が欲しいね。nameを変えていいのなら
<input type="hidden" name="memo">を作って
<form ... onsubmit="this.elements.memo.value=this.emements.memo1.value+this.elements.memo2.value;return false">
と書くだけでできるだろ。
>>417 window.open()の第一引数でURLを指定してしまうと
ボタンを押したら毎回ロードされてしまうでしょ。
ブラウザによってはキャッシュされてロードが起きない
こともあるのかも知れないけど確実じゃないと思ってさ。
setTimeout()を使うのは念のためというか、window.open()
で子ウィンドウオブジェクトを取得した「直後に」その
中を見に行くのはタイミングの問題が起きそうだから洩れは
避けるようにしている。
>>416 「自分の」問題じゃないのならほっとけば。自分のページ
を速くする必要があるとかなら具体的に質問すれ。喧嘩を
売りたいのならここでは誰も買わないと思うんでよそへ逝け。
セレクトメニュー1で1を選べば、セレクトメニュー2の内容が1A、1B、1Cに変わるようにしときゃいいんじゃない?
424 :
421 :2006/05/10(水) 14:08:03 ID:wFa/E+qC
422さん。ヒントありがとうございます。 書き方が悪かったようです。最終的に、memoという値が、 memo1+memo2の値でサーバ側に流れれば、方法は、どのような形でも構いません。 421さんが書いていただいた方法で、昨日から試しているのですが、どうもうまくサーバ側に値が送れていないようです。 それが以下のようになってます。 <TR><TD align="right" bgcolor="#ffffff" valign="middle"><FONT size="2"><B>テスト</B></FONT></TD <TD bgcolor="#ffffff"> <input type="hidden" name="memo"> <select name="memo1"> <option>選択してください <option>1 <option>2 <option>3 </select> <select name="memo2"> <option>選択してください <option>A <option>B <option>C </select> </TD></TR> <TR> <TD colspan="2" bgcolor="#ffffff" align="center"> <form onsubmit="this.elements.memo.value=this.emements.memo1.value+this.elements.memo2.value;return false"> <INPUT type="image" name="ok" alt=" O K " src="./s_ok.gif" border="0"> </TD></TR> 上記での結果は、データは受け渡されてなく、空っぽの状態になっています。 なにか、根本的に間違っているのでしょうか?ご教授よろしくお願い致します。
return false
>>424 やっぱり関数に分けてちゃんと書いた方が無難か。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function chg() {
var e = document.forms.f0.elements;
e.memo.value = e.memo1.options[e.memo1.selectedIndex].value +
e.memo2.options[e.memo2.selectedIndex].value;
}
</script>
</head><body>
<form name="f0" method="get" action="#" onsubmit="chg();return true"><p>
<input type="hidden" name="memo" value="1a"><input type="submit">
<select name="memo1">
<option value="1">1</option><option value="2">2</option></select>
<select name="memo2">
<option value="a">a</option><option value="b">b</option></select></p></form>
</body></html>
427 :
421 :2006/05/10(水) 14:48:57 ID:wFa/E+qC
423さん。提案頂いた方法でももちろんOKです。 試した方法は、javascriptで制御しているんですが、 javascript上でデータを入れ替えているところが、 うまくデータがサーバに行き渡らないようです。 以下がソースになります。 //javascript部分 <script language="JavaScript"><!-- menuItem = [["テスト1A","テスト1B","テスト1C"], ["テスト2A","テスト2B","テスト2C"], ["テスト3A","テスト3B","テスト3C"] ]; itemNum = 3;// 項目数 function setMenuItem(n) { for (i=0; i<itemNum; i++) { document.form.memo.options[i] = new Option(menuItem[n][i],menuItem[n][i]); } } // --></script> //
428 :
421 :2006/05/10(水) 14:50:22 ID:wFa/E+qC
//続き。 //html部分 <form name="form"> <select name="テスト1" onChange="setMenuItem(this.selectedIndex)"> <option value="テスト2">SHARP</option> <option value="テスト3">NEC</option> <option value="FUJITSU">FUJITSU</option> </select> </form> <form name="form"> <select name="memo"> <option value="1">テスト1A</option> <option value="2">テスト1B</option> <option value="3">テスト1C</option> </select> </form> この方法でも、データは空になります。 なにが悪いのでしょうか? よろしくお願いします。
ばりゅー
ちゃんとリロードしてるか?
431 :
421 :2006/05/10(水) 15:16:32 ID:wFa/E+qC
例えば、もっとシンプルに、 javascriptを使わずに、 以下のようなイメージで、実現できたりするのでしょうか? <select name="memo1"> <option value="1">1</option> <option value="2">2</option> </select> <select name="memo2"> <option value="memo1.value.a">a</option> <option value="memo1.value.b">b</option> <option value="memo1.value.c">c</option> <option value="memo1.value.d">d</option> </select> memo1で選んだ値は、変動値として考え、 memo2で選んだものに対して、valueに入っている値を サーバに流すという感じです。 htmlのみで実現できたりするのでしょうか?
>>431 できない。ヤマカンのデタラメでスレを浪費しないでくれ。
ちゃんと他人のアドバイスを読まない奴は帰れ。洩れはもう
あんたとつき合う気はなくなったからそのつもりで。
433 :
Name_Not_Found :2006/05/10(水) 15:31:34 ID:rkdkC/05
JSONは「ジェイソン」ですか「ジスオン」ですか?
■ ■ ↑こんな風に斜めに離れたレイヤー同士を 直線で結びたいんですが、Javaスクリプトじゃ無理なんでしょうか? 斜めの線の引き方がわかりません
>>434 アナログクロックの針のJavaScriptの書き方を見習うべし。
可能
具体的にどうやるかね。1ドットのレイヤーを作り続ける? くそ重いからいやなんだけど。
>>434 直線補完とかDDAで検索してみ。
ゲームを作る系サイトにはごろごろあるぞ。
440 :
434 :2006/05/10(水) 20:12:49 ID:???
ありがとうございましたー
>>439 さんの教えてくださったサイトとても参考になります!
後は自力でがんばってみます。
JavaScriptでパスワードかけたいのですが ソース見られたらお終いなので何か良い方法内ですか?
>>441 input password:abcde
↓
javascriptでabcde.htmlにリダイレクト
とか
<head><script language="JavaScript">
preReadImg = new Array(2);
preReadImg{0} = new Image();
preReadImg{0}.src = "Information.gif";
preReadImg{1} = new Image();
preReadImg{1}.src = "Information2.gif";
function switchImage(img){
document.b1.src = img;
}
</script></head>
<body>
<a href="
ttp://www.*** " onmouseover="switchImage('Information2.gif')"
onmouseout="switchImage('Information.gif')">
<img src="Information.gif" name="b1" border="0" style="position : absolute;
left : 10px;
top : 343px;
filter : alpha(opacity=60);"></a></body>
ロールオーバーとロールアウトで画像をチェンジしたいのですが動作しません。
どこに問題がありますでしょうか。
{}
{}吹いた
>>448 エディタで正規表現で置換すりゃいいだろ
JSでやるもんじゃねーよ
DOM の初歩だから簡単にできるけど 手取り足取りスレではないから教えないよ エディタで置換したくない理由もわからんしな
>>451 ブログのテンプレートに組み込みたいと考えています。
ブログ記事を書くときはエディタ類は使用しないので、置換処理を
スクリプトにおまかせするととても助かります。
ありがとうございました。改めて手取り足取りスレできこうと思います。
IE6のcreatePopupで作成したポップアップの背景を透過させることはできないでしょうか? cssでフィルターとかをやってみたのですが、白い背景が透過しませんでした。
javascript:A=(d=document.body).innerHTML;AA=new Array("「","<br> ∩___∩<br> | ノ ヽ<br> / ● ● | ","。?」","クマー<br> | ( _●_) ミ<br> 彡、 |∪| 、`\<br>/ __ ヽノ /´> )<br>(___) / (_/<br> | /<br> | /\ \<br> | / ) )<br> ∪ ( \<br> \_)<br>");i=0;while(i<AA.length){r=RegExp(AA[i],"g");A=A.replace(r,AA[i+1]);i+=2;}d.innerHTML=A;focus(0);
複数の関数を1つのフォームに組み込む方法を教えてくんろ
ドラッグしてボタンを離したときの上にあるレイヤーの 位置を取得したいのですが、やり方がわかりません クリックしたときにはClickElementでレイヤー名を代用できたのですが 似たようなことができないでしょうか?
日本語が不自由なヤシが多すぎ。
>>455 今どうやって1つの関数を組み込んでるのか書いてみ。
>>456 「何を」ドラグするって?「レイヤーを」ドラグしてるのなら
その位置はJS側で把握し制御してるんじゃないの?「上に」って
何の上に?どこか上下関係の問題になるところがあるの?
>>457 function Image(){---}
function Text(){---}
<a href="---" onmouseover="Image()">
Text()も<a>に組み込みたいのです。お願いします。
>>458 Text()も書いちゃえばいいのよ。
onmouseover属性の中は、JavaScriptの文法で書けば大丈夫。
>>458 onmouseove="Image();Text()"
>>461 そんな単純だったのか!ありがとうです。
通常はテーブルを非表示状態にして、ボタンをクリックすることによって テーブルを表示させるにはどのような方法がありますか。
visible/hiddenの切り替え。
465 :
Name_Not_Found :2006/05/11(木) 16:23:44 ID:etj3JXUU
質問です。 <a href="#" onclick="F(this)">test</a> <div> <span>.........</span> <span>.........</span> </div> というHTMLがあったとき、<div>のObjectに アクセスするのに function F(o){ o.nextSibling.childNodes[0] //obj //...... } としたのですが、ちがうようです。 どこがいかませんんか。
>>465 たぶん、a要素とdiv要素の間にあるテキストノード(=改行コード)を拾っちゃってる。
nodeTypeで確認してみ。
引数(n)でID名を連結させて document.getElementById('a'+n).style.... というのはダメですか?
469 :
468 :2006/05/11(木) 17:43:40 ID:???
ooooorzZZ!!!!事故解決。スレ損どうもあいすみません。
>>465-467 だからさ、そいういうときは
<div><span>....
...</span><span>...
...</span></div>
というふうにタグとタグの切れ目で改行しないように
ソースを書くのがおすすめ。ちょっと気分悪いかも知れんが。
何でJavaScriptのためにHTMLソースを見づらくせにゃならんのだ
472 :
465 :2006/05/11(木) 18:06:32 ID:???
>>466 ,
>>470 ありがとうございます。それで行きました。
このこと知ってはいたのですが思い及ばす、すいません。
慌てていて日本語もお見苦しくすいませんでした。
>>470 えええええ。
nodeTypeが1じゃなかったら再帰すればいいじゃん。
再帰とは?
「再帰処理」とか「リカーシブ」とかで検索すると説明があると思う。 ある条件を満たすまでタマネギやバウムクーヘンをはがしつづけるような処理。
つまり再帰っていってみたかっただけですよっと。 そういえば、getElementsByTagName()で戻ってくる順番って、 なんか規定あるんかな。
478 :
Name_Not_Found :2006/05/11(木) 20:47:00 ID:etj3JXUU
質問させてください。 IEだけのふるまいなのかもしれませんが、 <input type="text" name="p">に対して document.getElementById('p').value='Hello World'; で文字列が入ってしまうのはどういうことですか? IEってnameとidの区別もつかないということなのでしょうか?
>>478 もちろんIEだけで。ゴチャマゼなんてよくないと思うけどね。
480 :
Name_Not_Found :2006/05/11(木) 21:34:59 ID:2or9Wj6U
動作させたい環境:Win IE6 / Win FIrefox1.5 親ウインドウから、子ウインドウを立ち上げて、子ウインドウの中の複数ある リンクをクリックすると、それぞれ設定されたデータが親ウインドウに渡る といった動作を実現させたいのですが、どのような機能を使えば出来るのでしょうか? 子ウインドウ <a href="javascript:returnData(10-20-30)">10-20-30</a> 上記のリンクをクリックすると 親ウインドウ <input type="text" name="data1" value="10"> <input type="text" name="data2" value="20"> <input type="text" name="data3" value="30"> と3つのフォームに反映させたい
>>480 子ウインドウ側ではwindow.openerで親ウィンドウが参照できる。
ということは
window.opener.document.forms.フォーム名.elements.data1.value = '...';
ところで「10-20-30」は計算されて「-40」になるけどいいの?
>>480 小窓からみた親は
window.opener
んで、returnDataに渡す引数はハイフンでつないだ文字列にする場合、
クォートする必要がある。が、たぶんカンマで区切って、
argumentsの数を数えた方がらくちん。
483 :
482 :2006/05/11(木) 21:43:23 ID:???
だが断る。
>>481-482 おおー!ありがとうございます。
ご指摘通り、計算されてましたので、「'」でくくりました。
あとは data_array = split('-'); で区切って
window.opener.document.getElementById().value を使って値を渡しました。
t('-')/
( '_');
488 :
Name_Not_Found :2006/05/12(金) 13:28:27 ID:OPuvuXCQ
function changePic(n) { document.MainPic.src=imgPath[(n-1)].src; if(document.getElementById){ document.getElementById('changeStr').innerHTML=imgExplain[(n-1)]; } else if(document.all){ document.all('changeStr').innerHTML=imgExplain[(n-1)]; } else if(document.layers) { with(document.layers['changeStr'].document){ open(); write(imgExplain[(n-1)]); close(); } } } } <img src="1.jpg" onclick="changePic(1)">
window.open で使用できるオプションについて調べているのですが、 自分が見ているリファレンス系のサイトには、 下記の種類しか記載されていません。 directions kocation menubar scrollbars status toolbar resizable width height 最新かつ全網羅されている、ここ見れば確実、 というようなJavaScriptのリファレンスもしくは解説サイト があれば、お教えください。
あなたが見ているリファレンス系サイトが最強のようです。
492 :
490 :2006/05/12(金) 15:12:35 ID:UI5qzWOG
>>491 top, left も使用できるはずです。
495 :
Name_Not_Found :2006/05/12(金) 15:39:51 ID:OPuvuXCQ
>>489 さんありがとうございます
無事解決しました^^;
>>415 さん
教えて頂いた通りに書き換え、無事解決しました!!
本当にありがとうございました!!
497 :
490 :2006/05/12(金) 16:22:18 ID:???
>>493 初心者からすると、
自分が参照しているサイトの情報は
全て網羅されていないんじゃないだろうか? とか、
このサイトは、管理者の更新が止まったままなのでは? とか、
本筋とは関係ないところで思考をめぐらさなければなりません。
window.open で使用できるオプションは他にないのでしょうか?
他にはありますが、そこが最強と言う事に変わりはありません。
それは最新だろ。 kocation なんて知らなかったし。
500 :
Name_Not_Found :2006/05/12(金) 17:02:17 ID:MLz+/YyF
こんにちわ。文字列検索についてお聞きしたいのですが 「<hoge>ごはん</hoge>がごはんが<hoge>すすむ</hoge>くん」 という文字列の中から<hoge>で囲まれたものを取り出したいのです。 現在は m = 0; while(m < 100){ array.push(str.match(/<hoge>.*<\/hoge>/i));//検索し、array配列に格納 str = str.replace(/<hoge>.*<\/hoge>/i,"");//一致したものを削除 m++; } と1、取り出して2、削除とやっているのですが、一回の手順で全て取り出す方法はありませんでしょうか。 REGEXPを使用すると $1〜$9 で9つまで取り出せるとのことなのですが、20個程度マッチしますのでそれを全て取り出したいのです。 よろしくおねがいします。
>>490 そのdirectionsなんてのがマジあるのか?
channelmodeは知ってるのか?fullscreenは?
まず、アンタが見ているサイトのURIくらい書けよ。
リファレンスサイトは間違いも多い。数が多ければよいわけでもない。
そのoptionのusageを知らなければ何にもならんだろ。たとえば、
heightを知っていても、height=70なんてやってちゃ何の意味もないのさ。
>>500 REGEXPと書くなヴォケ
CSに無頓着なヤシはコードまでいい加減だと思われるぞ。
503 :
Name_Not_Found :2006/05/12(金) 17:12:40 ID:MLz+/YyF
500です。すいません、解決しました。ありがとうございました。
質問です。オブジェクトのメソッドの中でsetTimeoutやevalを使う場合、 function MYOBJ(){ // オブジェクト this.id = "asdf"; } MYOBJ.prototype.view_id = function(){ // メソッド setTimeout("window.alert(" + this.id + ");","100"); } (evalやsetTimeoutの中の)関数に参照を渡すにはどのようにしたらよいのでしょうか。 上記のようにしても、view_idの中で使っているthisが指すのはMYOBJではなくwindowで、 うまくいかない、というのは何となく理解できるのですが、 var a = new MYOBJ(); a.view_id(); とする前提で、メソッドの中のthis.idをa.idとして参照する方法は思いついたのですが、 何か汎用的でないというか、遠回りな気がします。 なにか根本的に間違っていることに気づいていないかもしれませんが、 よろしくお願いします。
function MYOBJ() { this.id = "AA"; var id = this.id; MYOBJ.prototype.test = function() { setTimeout(function() { alert(id); }, 100); } }
うそだった。 this.test = function() にしないとだめだ。
507 :
504 :2006/05/12(金) 19:00:23 ID:???
>>505 function() { alert(id); }
の部分は、カレントオブジェクトがMYOBJだから、無印のidでMYOBJ.idにアクセスできている、
という認識でいいですか?
508 :
504 :2006/05/12(金) 19:14:01 ID:???
あ、いやいや、 var id = this.id; の方か。
>>490 >>5 が最強じゃね?
MSDN Library JScript / DHTML
Mozilla Gecko DOM
510 :
504 :2006/05/12(金) 19:34:04 ID:???
>>504 答えておきながら自分も整理できてなかったので整理がてら。
function MYOBJ(id) { this.id = id; }
MYOBJ.prototype.hoge = function (arg) {
var id = this.id;
setTimeout(
function() {
alert(id + ":" + arg);
}, 100
)
}
(1) "id" や "arg" がなにを指すかは、定義時 (つまり構文解析時=読み込み時=見ため) に決まる。
どちらも function() {} 内にないので、もうひとつ外のブロックを探す。
var id = this.id と、引数の arg が見付かるのでそれを指す。
(*) eval や setTimeout(StringArg) で動的に定義した場合、グローバルと同じ、らしい。
(2) "this" は呼出し時に決まる。 hoge(arg1, arg2 , ... ) = CALL(hoge, OBJ(=this), arg1, arg2) みたいなもの。
OBJが何であるかは、実行系が実行時に決める。
Hoge.prototype.hoge が a.hoge() で呼ばれたときは、this として a が渡されるので、this.id は a.id を指す。
(*) eval, setTimeout, イベントハンドラ内の this は、実行系が適当に決める、っぽい?
スコープとthisが気になるようになったら、
他の言語のことはすっきりさっぱり忘れて、理解しなおしたほうがよい気がする。
512 :
504 :2006/05/12(金) 20:09:09 ID:???
>>511 丁寧にどうもです。
> eval, setTimeout, イベントハンドラ内の this は、実行系が適当に決める、っぽい?
>スコープとthisが気になる
まさにこの二つが謎ってました。勉強します。
ありがとう。
イベントハンドラのthisは仕様で決まっていたはず…
だからprototypeなんだな
515 :
Name_Not_Found :2006/05/12(金) 22:54:12 ID:4X49VCq4
質問です。 そのオブジェクトにある画像があるかどうかを判断するために obj.innerHTML=='<img src="xx.png">' としたのですが、判断できないようです。innerHTMLを使って は無理ですか。 もしダメなら、他のやり方だとどう書けばよいのでしょうか。
=='<IMG src="xx.png">'
517 :
515 :2006/05/12(金) 23:08:48 ID:4X49VCq4
ちょっとわかりました。あと自分でやってみます。すいません。
518 :
515 :2006/05/12(金) 23:15:38 ID:4X49VCq4
>>516 ありがとうございます。やってみましたが、だめでした。
obj.tagName=="IMG"とかobj.hasAttribute("src")とかobj.src=="xx.png"とか
あ、hasAttributeだとscriptもひっかかるからだめか。
obj.childNodes[0].src == "hoge.png" とか。 obj.firstChild.src == "hoge.png"ではだめ? そのobjに何個も入っているなら、 var i,cNode,chldNum = obj.childNodes.length; for (i=0;i<chldNum;i++) { cNode=obj.childNodes[i] ; if (cNode.nodeName == "IMG" && cNode.src=="hoge.png" ) { alert("めっけた") ; break; } } とか、思いつくままに書いてみたけど無保証。
522 :
521 :2006/05/12(金) 23:42:04 ID:???
あ。なにか(例えば<DIV>)に<IMG〜 が入っている訳じゃないのかな?
だとしたら
>>521 は見なかった事にしてねwww
element.getElementsByTagName("IMG") じゃいかんのかしらん? innerHTMLで当てるなら孫も当たるだろうし。
長文を挿入したいのですがperlのヒアドキュメントのようなものはありませんか?
ない
526 :
Name_Not_Found :2006/05/13(土) 10:45:34 ID:4OqKpAgM
<<488なのですが <<489さんのJAVASCRIPTで文字をスタイルシートに変えることってできますか? var imgvalue=3; var imgPath=Array(imgvalue); var imgExplain=Array(imgvalue); for (var i=0; i<imgvalue ; i++) { imgPath[i]=new Image(); } imgPath[0].src = "images/sample03.jpg"; imgPath[1].src = "images/sample04.jpg"; imgPath[2].src = "images/sample05.jpg"; imgExplain[0]="<FONT SIZE='-1'>XXX</FONT>"; →ここをスタイルシートで変更したいと思ってます imgExplain[1]="<FONT SIZE='-1'>XXX</FONT>"; →ここをスタイルシートで変更したいと思ってます imgExplain[2]="<FONT SIZE='-1'>XXX</FONT>"; →ここをスタイルシートで変更したいと思ってます どなたかよろしくお願いします
そもそもFONTタグを使っているあたりがW3C的によろしくない。
528 :
Name_Not_Found :2006/05/13(土) 11:16:34 ID:Uniy7n4y
文字をスクロールで上から下に流れさせたいのですが、 その際に上から流れてきた文字を真ん中で1秒や2秒、とめていることは出来ないでしょうか。 駅で言うと・・・。 上野 品川 上野 で流すとしたら・・・。 上野が出て2秒。動き始めて品川が出たら2秒。で、また動いて品川で2秒みたいな感じで。 それで、縦に流す方法と途中で止める方法がわからないのですが、そういうものをやるのは可能なのでしょうか? 普通に流す分には下でいいと思うのですが・・・。
529 :
Name_Not_Found :2006/05/13(土) 11:18:02 ID:Uniy7n4y
<HEAD> <SCRIPT Language="JavaScript"><!-- count = 0; str = "ここに文字"; function moveText() { document.F1.T1.value = str.substring(count++,str.length+1); if (count <= str.length) {setTimeout('moveText()',200)} count %= str.length; } // --> </SCRIPT> </HEAD> <BODY onLoad="moveText()"> <FORM name="F1"> <INPUT type="text" size="50" name="T1"> </FORM> </BODY>
530 :
Name_Not_Found :2006/05/13(土) 11:30:49 ID:4OqKpAgM
>>526 自己解決しました^^;すいませんでした
531 :
Name_Not_Found :2006/05/13(土) 12:38:54 ID:aKZppuDW
すみません知識を貸してください。 IEで文字列を選択して、右クリックからその文字列をWebOPACという 図書館のデータベースで検索をかけたいのですが、2バイトの文字列が EUC-JPでなければならないのに勝手にShift_JISに変換されて検索して しまいます。文字列をEUC-JPで渡す方法があったら教えて頂けないでしょうか?
532 :
Name_Not_Found :2006/05/13(土) 13:34:44 ID:4OqKpAgM
リンクを貼ってない文字で マウスが上に来たとき下線を表示 マウスがでたとき下線を非表示にする方法って なにかありますか? FIREFOXではできたのですが IEで表示させてみたいのでどなたか js詳しい方ご教授お願いします
>>532 FFxでどうやってるのか書いてみ。それがIEでできないなら
コンパチでない方法でやってるんだろうから。
>>531 本当にSJISで渡されているの?JSから渡すとUTF8になりそうに
思えるけどねえ。ともかくJSでコード変換は困難というのが
このスレでの結論。
534 :
Name_Not_Found :2006/05/13(土) 14:31:59 ID:4OqKpAgM
<style type="text/css"> <!-- p:hover { border-bottom:solid 1px black; } --> </STYLE> </HEAD> <BODY> <p>リンクを張っていない文字</p> </BODY> でやってます
JavaScript関係ないじゃん!
JavaScript関係ないけど答えてやろう。 リンク貼ればいいじゃん。 <p><a href="#" onclick="return false">文字</a></p>
>>532 JavaScriptではないが、どこかユーザーに迷惑となるスクリプト臭いな。
リンクのdot-lineを消したり、link-textを偽装するのはusabillity上有害といっておく。
>>533 ありがとうございます。
スクリプトをよく見てみたらVBScriptで書かれてました。済みません。
Shift_JISで変換されてしまうのはブラウザのリンクバーで確認したので
間違いないと思います。Sleipnirの検索バーに登録すればうまくいくのですが。
JSでは困難だとしてスクリプトではどうにもならないのでしょうか?
>>539 JSって何だ?JScript?JavaScript?
ブラウザって何だ?IE?FireFox?
>>531 基本的には
フォームのあるページの文字コードに依存するはず
>>540 JSはJavaScriptのつもりで書きました。
使用しているブラウザはIEとSleipnirのIEエンジンですが、Shift_JISで
変換されてしまうというのはこちらの勘違いでした。すみません。
リンクバーでは2バイト文字で表示されています。でもWebOPACの
ページで直接検索した場合と検索結果が違うんです。EUC-JPで
エンコードされていないのが原因だと思うのですが。
>>541 ありがとうございます。
ということはEUC-JPにエンコードしてあげる必要があるということですよね。
右クリックサーチ君でも出来そうな気がしますが、選択文字列に相当する
パラメータの%sの部分が強制的に最後に持って行かれてうまくいきません。
これは放置決定コースかな。 手取り足取りにでもいってちょーだい。
VBScriptでSJISに変換してるんなら、それをEUCに直すだけだろ。 ここはJavaScriptスレだから手伝うヤシはいないと思うけど。 がんばって。
>>544 ども。VBScriptなら出来るのですか?
strSelText = objFrmDoc.selection.createRange().text
のstrSelTextをEUC-JPにしてあげればいいでしょうか。
やり方がわからないのでもう少し調べてみます。
わがんね
547 :
Name_Not_Found :2006/05/13(土) 22:30:32 ID:7qA+eC63
>>537 そうではなくmarqueeタグのようなことをやりたいのですが・・・。
どなたかわかる方いらっしゃいませんか。
548 :
Name_Not_Found :2006/05/13(土) 22:38:12 ID:yOF6pEHy
marqueeタグって何?
知る必要なし<marqueeタグ
<html><head><script> function initPage() { var cnt=0; var a = document.getElementById("content"); function hoge() { if (cnt++ == 100) { cnt = 0; } a.style.marginTop = (-1) * cnt + "px"; setTimeout(hoge, 100); } hoge(); } </script></head> <body onload="initPage()"> <div style="height:1em; overflow:hidden"><div id="content"> てすと1<br><br>てすと2<br><br>てすと3<br><br>てすと1<br> </div></dvi> </body></html> あとは自分でカンガエロ
551 :
Name_Not_Found :2006/05/13(土) 23:37:10 ID:Hi4Tg3Tg
質問です。 オブジェクトが3つあって、たとえば、 <div id="d1">text-1</div> <div id="d2">text-2</div> <div id="d3">text-3</div> となっているとき、id="d2" の style を visibility:visible; にしたとき、他の2つ(d1とd2)のオブジェクトを 自動的に visibility:hidden; にする簡潔な方法って どうかけばよいですか。
>>551 イベントによって違うから、イベント書け。
>>551 そうだなあ。
var num = 1; /* or 2 or 3 */
としておいて
for(var i = 1; i <= 3; ++i) {
document.getElementById('d' + i).style.visibility = (i==n)?'visible':'hidden';
}
554 :
Name_Not_Found :2006/05/14(日) 00:04:19 ID:q9iPyKvh
>>551 <script type="text/javascript">
<!--
function change(num){
for(i=1; i<=3; i++)
document.getElementById("d"+i).style.visibility = ["hidden", "visible"][Number(i == num)];
}
// -->
</script>
</head>
<body>
<input type="button" value="1" onclick="change(1)">
<input type="button" value="2" onclick="change(2)">
<input type="button" value="3" onclick="change(3)">
<div id="d1">text-1</div>
<div id="d2">text-2</div>
<div id="d3">text-3</div>
</body>
555 :
554 :2006/05/14(日) 00:07:48 ID:???
間違えてageちまたスマソ。 ところで、 ["a","b"][Number(condition)]; と condition?"b","a"; どっちが速いと思う?
<style> #d1, #d2, #d3 { visibility:visible; } .v1 #d2, .v1 #d3, v2 #d1, v2 #d3, .v3 #d1, .v3 #d2 { visibility:hidden } </style> <div id="a"><div id="d1">...</div><div id="d2">....</div>.. 略 document.getElementById("a").className = "v1"; document.getElementById("a").className = "v2"; document.getElementById("a").className = "v3";
557 :
551 :2006/05/14(日) 00:12:08 ID:???
>>553 さん ありがとうございました。なるほどそれで行きますね。
あ、 <div class="n"><div id="a">... でくくって、 .n div div { visibility: hidden } .v1 #d1, .v2 #d2, v3 #d3 { visibility:visible } のほうがすっきりするか
>>555 そりゃ配列生成する手間のない分後者のほうが速いでしょ。
書き方としても素直だと思うし。
560 :
551 :2006/05/14(日) 00:19:40 ID:???
おっ、いつの間に。
>>554 ,556さん、ありがとうございます。
うーん、
>>556 のCSSは気がつきませんでした。
>>555 での問いかけですが、僕は配列の方だと思います。二項演算子は
比較しなければなりませんが、配列での割り当てはドンと一発で指定す
るからです。間違っているかもしれませんが。
お二人ともありがとうございました。
561 :
554 :2006/05/14(日) 00:23:04 ID:???
>>559 やっぱりか。実測してみたら?:の方が7倍速かったです
キャッシュから読み込まれずに、ページを再読込したい場合、どのようにすればよいのでしょうか?
>>562 アンタの日本語はおかしいと思う。強制リロードだったら
location.reload(true);
ここで尋ねる前に自力で何を調べたかちょっと書いてみれ。
>>556 ,
>>558 それが速さで圧勝するのは事実だが、例えば、<div id="d100">なんかもカバーできるように、
.v1 #d1, ... , .v1000 #d1000 {visibility: visible;}
くらいは用意しておいた方がいいだろう。
>>564 100個もあるなら素直にremoveFirstChild/appendChildするだろw
あぁそうか、visibilityだとだめか…。 って99個の空白うぜぇw
567 :
Name_Not_Found :2006/05/14(日) 13:02:27 ID:e5xkvmBz
こんにちは。 <a href="#" onclick="figureF(this)">Group A</a><div style="display:none;">Big Cities</div> こういうのがあって、「Group A」をクリックすると「Big Cities」の文字列を styleで操作したいです。で、このように書きました。 function figureF(div1) { var d = div1.nextSibling.childNodes[0]; (d.style.display != "block")?d.style.display = "block": d.style.display = "none"; } でも、これだと、「style.displayはnullまオブジェクトではない」と帰されてしまいます。 なんかいくらいじってもうまく消えたり出たりしてくれません。ご指導おねがいします。
>>567 function figureF(div1) {
var d = div1.nextSibling;
d.style.display = d.style.display!="block"?"block":"none";
}
.childNodes[0]を消す。
そして?:演算子の書き方が勿体無い
569 :
567 :2006/05/14(日) 13:37:25 ID:???
>>568 さん
ありがとうございます。できました!
納得です。おかげでDOMの理解不足が1つ解消しました。
DIVのペア全体を操作しなければいけないですよね。多謝。
別ファイルに、 function smenu(id,id2){ document.all(id).style.background="#4975c5"; document.all(id2).style.color="#fff"; } function smenuc(id,id2){ document.all(id).style.background="#dcdcff"; document.all(id2).style.color="#00f"; } と記述して、 <TD id="a" onMouseover="smenu('a','aa');" onMouseout="smenuc('a','aa');"><A href="./1.html" id="aa">No.1</A></TD> としてみましたが、エラーが出てしまって、意図した通りに動いてくれません。 (マウスをセルに乗せたとき、セルの背景色と文字色を変えて、セルから離したときにまた変えたい) よろしくお願いします。
allはひどいな。鎌椀のかもしれんが。
>>571 そのエラーの内容とどの行でのエラーかを書けアホタレ。次のでどうかね。
function smenu(id,id2){
document.getElementById(id).style.backgroundColor = '#4975c5';
document.getElementById(id2).style.color = '#fff';
}
function smenuc(id,id2){
document.getElementById(id).style.backgroundColod = '#dcdcff';
document.getElementById(id2).style.color = '#00f';
}
>>572-573 質問の仕方を間違えてすみません。
見直しをしていたら、外部ファイルへの指定ミスがあり、自己解決しました。
ありがとうございましたm(_ _)m
>>571 別に悪くも見えんな。まさかNNじゃ?。「非オブジェクト」の鰓ーかい?
576 :
Name_Not_Found :2006/05/15(月) 06:44:00 ID:hQUA8Csb
prototype.js にキーイベントを拾う機能はありますか?
setTimeoutとsetIntervalはどのように使い分けるのでしょうか?
setTimeoutは一定時間後に実行 setIntervalは一定時間間隔で繰り返し実行
>>577 Googleって知ってる?調べてから聞きに鯉、ヴォケ。
580 :
579 :2006/05/15(月) 12:44:57 ID:???
代わりに調べておいたゾ
【time‐out】
(活動の)小休止,中断.
【interval】
(時間の)間隔,合間; (場所の)間隔,距離
at intervals of fifty feet [two hours] 50フィート[2 時間]の間をおいて.
at long [short] intervals 時たま[しばしば].
at regular intervals 一定の時間[間隔]をおいて.
in the interval その間に.
from:
新英和中辞典 第6版 (研究社)
ttp://www.excite.co.jp/dictionary/english_japanese/?search=
581 :
Name_Not_Found :2006/05/15(月) 14:11:46 ID:eNKJEnFq
演算子のこれ→「|」。なんて読むんですか? 調べても分かりませんでした。
>>581 vertical barだから洩れは「たて棒」と呼んでいるが。
>>581 |は論理たしざん
&は論理かけざん
って俺は頭の中だけで読んでる
演算子なら オア アンド で仲間内で通じる オアオア アンドアンド とか読んでる。 一般には縦棒だろうな
>>583 logical and といったら「&&」のことで、「&」はbitwise and
だと思うのだけど。
ある特定のフレームをリロードしたい場合 document.getElementById( "frameid" ).location.reload(true); とすれば、たとえブラウザの設定が、キャッシュを確認しないになっていても キャッシュを使わずに読み込んでくれるのでしょうか?
試せばわかるんじゃないの?
IFRAMEで表示している別サイトから特定キーワードを抽出したいのですが、 可能でしょうか?
JavaScriptでF5キー(というかページの更新)を抑止する方法ありますか?
591 :
588 :2006/05/15(月) 18:10:40 ID:???
>>590 すまんです。FAQ読んでなかったです。すまんです。
>>590 迷惑スクリプトになるんですか?そうですか(´・ω・`)
しかし、サーバー側でWebアプリ向きでないミドルウェアを
使わなければならず、できれば更新を抑止したいのですが・・・
多分無理だとは思ってるんですけどね。
>>589 JavaScriptでなぜ聞こうと思ったか、それが不思議だな。
F5キーのないキーボードを使ってもらえば?さよなら。
更新機能の無いブラウザを新しく作ればイインジャナイ
無理なら無理と言ってくれればいいのに。 ここの人たちは心が病んでるの?
できるよ。 リロードボタン押すとかjavascript切るとかなんとでも方法はあるので それだけ抑止する意味はないからコード起こす気にもならんけど。
できました。ありがとう。
うぞ
>>592 だったらそのミドルウェアの通信を適当なソフトで中継して
リロードを中間でカットするとかが安全なんじゃないの。
できないとは言わないがF5抑止とか流布されるのは迷惑。
だから少なくともここでは回答されない
イントラですよ。
603 :
Name_Not_Found :2006/05/15(月) 21:51:39 ID:yL51hPOb
質問です。 JavaScriptの変数は関数の内外で意味合いがちがうのは分かるのですが、 引数にvarをつけるのは正しいのでしょうか。 function Func(var v){ var obj = document.getElementById(v) //.............................. } のようなかたちです。ご教示ください。
↑この ~oz- ってのは何を表すんですかね?
<script language="javascript"> <!-- function loginApp(){ document.form1.submit(); } --> </script> 省略 <input type="button" value="ログイン" onclick="loginApp();return false;"> で、 document.form1.submit(); で オブジェクトでサポートされていないプロパティまたはメソッドです。 というエラーが発生します。 問題はないように思うのですが・・・
なんで、<input type="submit">を作って、<form onsubmit="loginApp();return false">としないのか。
それはよくないです。
>>606 まず「どこで」form1を定義してるんだね。で、formタグに
ちゃんと「name="form1"」が書かれているものとして、正確には
「document.forms.form1.submit();」でしょ。
知恵を貸してください。 ■やりたいこと 浮動小数点を16進数表現で文字列として取得したい 例)浮動小数型の「1.234567」をIEEE754式単精度浮動小数16進数表記の「3F9E064B」として取得したい 目的)ユーザーから入力受け付けた少数を16進表記float型として記録しておき他システムへのバッチに回すため ■試したけどダメだった方法 var f = new Number(1.234567); alert(f.toString(16)); →parseFloat(f).toString(16); でもダメだった「1.3c0c9539b8887」とか訳わかんない結果が出力される さんざん探したけど具体的な方法がみつかんないので助けて;;;;;;
>>610 1.3c0c9539b8887
100%正しい。これが1.234567の16進数表記。
君の知りたいのは内部表現じゃないか?
>>611 だから元質問者は内部表現の16進表記が欲しいんでしょ。
>>611 ホレ。
1.234567以外でテストしてないからな。あと単精度で表せない
数のことは何も考えていないのでそのへんも自分で手当てすれ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<script type="text/javascript">
function conv(f) {
if(f == 0) return 0x00000000;
var shift = 0, sign = 0;
if(f < 0) { f = -f; sign = 0x80000000; }
while(f >= 2) { f = f / 2; ++shift; }
while(f < 1) { f = f * 2; --shift; }
f = f - 1.0;
for(var i = 0; i < 23; ++i) f = f * 2;
return sign | ((shift+127) << 23) | Math.round(f);
}
alert(conv(1.234567).toString(16));
</script>
</body></html>
614 :
Name_Not_Found :2006/05/17(水) 03:22:13 ID:8SNn5Ntq
まったくの初心者なのですがどうぞうよろしくお願い致します。 head内では <script language="JavaScript" src="hoge.js"></script> body内ではこのような感じで <body onload="CellColorAlternate();"> テーブルでは <table onmouseover="CellColorAll()" onmouseout="CellColorAlternate()"> 外部ファイルでは function CellColorAlternate(){ var cell = document.getElementsByTagName("tr"); for (i = 0; i < cell.length; i++) { if(!(i%2)){ cell[i].style.backgroundColor = "#CCFFCC"; } else { cell[i].style.backgroundColor = "#FFCCCC"; }}} function CellColorAll(obj){ var cell = document.getElementsByTagName("tr"); for (i = 0; i < cell.length; i++) { if(!(i%2)){ cell[i].style.backgroundColor = "#FFCCCC"; } else { cell[i].style.backgroundColor = "#CCFFCC"; }}} このようにするとカーソルを合わせた時にすべての行が 入れ子にはなるのですが上記の外部ファイルに付け加え修正・変更するような形で すべての行ではなくマウスを合わせた行の部分だけ変更するには どのようにしたらよろしいのでしょうか? マウスカーソルのある位置のtableの行番号を外部ファイル内で取得できる 関数等あるのでしょうか? どうぞうよろしくお願い致します。
>>614 このスレでは「初心者」という言葉は避けた方がいいと思う。
あんたがそうだとは言わないが「何も調べない言い訳」として
この言葉を出すヤシが過去に多すぎたのでね。
で、一番素直な変更は
(1) onmouseover/onmouseoutハンドラを<tr>につける。
(2) ハンドラから関数を呼ぶ時にパラメタとしてthisを渡す。
するとtr要素が渡る。
(3) 関数の中でその渡されたtrのstyleを設定。
というのでどうかな。
>>614-615 追加。上記が分かりにくければ、もっと簡単に<tr>につけた
onmouseover/onmouseoutハンドラから関数を呼ぶ時にtrの番号
をパラメタで渡すようにするのもありかな。パラメタってなん
ですかとか言わないでくれよ(分からないなら勉強してくれ)。
617 :
Name_Not_Found :2006/05/17(水) 08:40:35 ID:jn5odokA
文字置換について教えてほしいのですが string.replace()で置換すると置換されるのは一回なんですが 複数回数(同じ文字列)やる場合はどうすればよろしいのでしょうか? for文で回したりするしかないのでしょうか? 例:"1,234,567".replace(",","") → 1234,567 になる 実際はカンマを全部取りたい
>>617 "1,234,567".replace(/,/g, "");
正規表現について少しは勉強しておけ。勉強しない奴は帰れ。
619 :
Name_Not_Found :2006/05/17(水) 09:24:30 ID:jn5odokA
>>614 あんた06/05/17 02:01に他で同じこと質問してるだろ。
漏れが向こうで回答しといた。礼儀はわきまえたほうがいい。
テーブルタグの行の上を通過するとき、その行の色が変わって
クリックするとその行が選択されたことにしたいのですが
サンプルはありませんか?
http://www.recojapan.com/ このサイトの部品を選択するときのような動きがしたいです。
でも、このサイト、ソースが見れなくて。
>>621 function swImg(pName,pStr){
document.images[pName].src = pStr;
}
たったこれだけのことだろ。朝からそんなんじゃダメだぞ。
>>622 全然元質問の回答になってないようだが。元質問には
画像なんて出て来ないし。朝からそんな回答じゃダメだぞ。
>>623 いや。元質問者はソースを見ていないので、ロールオーバが実は画像とは
気付いていないのだろ。1つのタグにonmouseover/out, onclickを組み込んだ
だけ。朝からそんな指摘じゃダメだぞ。
動的 != 自動的 だ罠。
ダイナミックとオートマティック
童的==児童的//true
628 :
Name_Not_Found :2006/05/18(木) 21:13:20 ID:01L7MwtZ
ご教示お願いします。 ボタンをクリックするとそのウィンドウが閉じ、メーラーが立ち上がりるといった事を行いたいです。 行おうとしている詳細は以下の通りです。 1.[メール]ボタン(画像ファイル)をクリックすると ↓ 2.別ウィンドウで規約への同意画面が開き、同ウィンドウ内の[同意する]ボタン(画像)をクリックするとこのウィンドウが閉じメーラーが開く。 といったページを作成しようとしています。 上記の”[同意する]をクリックするとウィンドウが閉じ、メーラーが開く” 動作はWIN系のブラウザ IEなどのでは正常に動くのですが、 MacのFirefoxやsafariではメーラーが起動するところまで行くのですが、 新規作成画面が表示されなく、メーラーが動かなくなってしまいます。 自分なりに調べ、作成したソースは以下の通りです。 この動作をMacのFireFoxやsafariでも動くようにするにはどのようにしたら良いでしょうか? ------------- ■HEAD内 <script type="text/javascript"> <!-- function MandC(){ window.opener.location.href="mailto:xx@xxxx?subject=xxx"; window.close(); } //--> </script> ■BODY内の記述 <a href="javascript:MandC();"> <img src="images/agreement_btm.gif" width="110" height="30" border="0"></a> ------------- 何卒ご教示のほどよろしくお願いします。
>>628 速攻でcloseするのは危ういように思う。代わりに次のでどう?
setTimeout(function(){window.close();}, 1000);
630 :
Name_Not_Found :2006/05/18(木) 22:29:00 ID:IA+amWxw
質問です。 <select onchange="F(this.value)" ...> <option value="1">cat</option> <option value="2">dog</option> </select> というとき、this.valueはクロス・ブラウザでvalidと見て いいでしょうか。
はてなブックマークへのページ登録scriptletが
javascript:window.open('
http://b.hatena.ne.jp/add?mode=confirm&is_ bm=1&title='+escape(document.title)+'&url='+escape(location.href),
'_blank', 'width=520,height=600,resizable=1,scrollbars=1');undefined;
となっていますが、最後の
undefined;
はどういう意味なんでしょうか?
undefinedについて検索してみると
関数に引数を渡す際、引数が指定されていない場合に設定される値
だとありましたが上の指定はどうやらそれとは関係ないようですし。
取って試してみれば。別にイランと思うが。
void(0);の替わり
void(0) == undefined //true だね undefined最後に置くのははじめて見た 俺も使おうかな
635 :
Name_Not_Found :2006/05/19(金) 02:27:52 ID:I/4iByZd
>>629 早速ありがとうございました。
教えていただいたsetTimeoutを使って、ウィンドウを閉じるまでの時間を
延ばしてみたのですが、やはりMacのFirefox/safariでは正常に動作しませんでした。
mailtoのみで試してみたところ、正常に動作しているのでjavascriptの記述に問題が
あると思い質問させていただきました。
メーラーが起動するところまでは行くのですが、新規作成画面は表示されなく
後ろで何かを行おうとしている感じはあるのですが、そのまま新規作成画面は開かず、
強制終了することでしか閉じれなくなってしまいます。
何が原因と考えられるでしょうか?
636 :
614 :2006/05/19(金) 03:19:55 ID:kt/l72v9
615 616 620さんご回答ありがとうございますm(__)m 以後気をつけます。
>>635 openerにそのスクリプトが載ってるとみた。
親殺しや自殺はなにかと恐いのでやめといたがいい。
このあたりが落としどころかと。確かめてないけど。
---------
<html><head><script>
var c;
function killchildandmail() {
c.close();
document.getElementById("dummy").src = "mailto:
[email protected] ";
}
function openchild() {
c = window.open("","","width=200,height=100");
c.document.open();
c.document.write("<html><body><input type='button' onclick='window.opener.killchildandmail()'></body></html>");
c.document.close();
}
</script></head><body>
<input type="button" onclick="openchild()" value="confirm">
<iframe id="dummy" style="display:none"></iframe>
</body></html>
javascriptの関数群って普通<HEAD>内に書きますが <BODY>内に書くのはありですか?なしですか?
>>640 使おうとする時点で関数が定義されてさえいれば問題
ないでしょ。なぜ問題だと思うのさ。
宗教的な事?
>>4 【主張の対立:他人の嗜好は尊重。損得の議論は歓迎】
曜日画像を出すスクリプトを考えているのですがどうしても文字から抜け出せません <script LANGUAGE="JavaScript"> var today = new Date(); var months = new Array("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"); var weekDays = new Array("date/sun.gif","date/mon.gif","date/tue.gif","date/wed.gif","date/thu.gif","date/fry.gif","date/sat.gif"); function wday_1(){ document.wday.src = weekDays[today.getDay()].src; } function dateString(today) { var way = weekDays[today.getDay()] return way ; } </SCRIPT> </SCRIPT> </head> <body onLoad="wday_1()"> <center> <br /> <img src="date/sun.gif" name="wday" alt="awday" border="0"><br /> </center> これなんですが、だれか助けてください・・
>>644 アンタのキタナいコードなど読みたくない。なにがこんなんだ。
問題そのものを日本語でちゃんと説明しろ。嫌なら帰れ。
>>644 <script>document.write('<img src="date/'+['sun','mon','tue','wed','thu','fri','sat'][new Date().getDay()]+'.gif">');</script>
>>645 はい。
>>647 ありがとうございました。
僕の脳にはない答えが返ってきてまたやる気をなくしました。
どうしてもこういうのはできません・・
JavaScriptで殺されたヤシがそろそろニュースになる頃だな。
>>648 単にいちいち変数作らずその場に書いただけだっぺさ。
_[警] ( ) ('A`) ( )Vノ ) ショデハナシヲキコウカ・・・ | | | |
653 :
Name_Not_Found :2006/05/19(金) 23:07:26 ID:MwP+J1Mq
カーソルが乗ってる時、メニューのそれぞれのボタンに「→」のようなアイコンを表示させたいのですが、 これは矢印を入れたボタンを別に用意して、マウスオーバーで画像が切り替わるように設計すればいいんですか?
補足です。 それぞれのボタンにというか、カーソルが乗ってるボタンだけに矢印を表示させたいのです。 よろしくお願いします。
<input type="submit" value="ボタン" onmouseover="this.value='→';" onmouseout="this.value='ボタン';" style="width:4em;">
>>653-654 その「メニューのボタン」というのはHTML的には何なのさ。
そもそも「メニュー」というものはHTMLにはない。HTMLには
select(選択メニュー)はあるけどその項目は「ボタン」
ではない。存在しないものを言われてもわかるわけがない。
try catchか何かを使って何行目でエラーが発生したか取得できませんか?
>>653 普通のリンクだとしたらCSSだけでいけない?
要素の左側に余裕を持たせたマージンを設定しておき、
オンマウス時に「→」の背景画像を表示させる。
詳しくは自分で調べるかCSSスレいけ。
>>653 innerTextで出したり消したりでいいんじゃない?
そこら辺にあるからググッてみな。この程度じゃコードは書かんぞ。
自習しな。
>>657 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<script type="text/javascript">
window.onerror = function(msg, uri, line) {
alert('ERROR: ' + msg + ' URI: ' + uri + ' LINE: ' + line);
return true;
}
var n = null;
n.style.backgroundColor = 'red';
</script>
</body></html>
661 :
Name_Not_Found :2006/05/20(土) 00:56:11 ID:NT0NMXGN
DOMで<body>タグに<div id="hoge"></div>を追加する例を 初心者の僕にも分かりやすく例を交えて教えて下さい。 よろしくお願いします。
<body <div id="hoge"></div>> こういうことか?
>>661 自分で考えようとしないヤシは帰れ。
まず自ら考えた例を示せ。しかる後に指摘をしよう。
流れを読まずに投下
>>661 /* DOM CoreとDOM HTML */
var div = document.createElement('div'); //divつくる
div.id = 'hoge'; //divにidふる
document.body.appendChild(div) //body要素にdiv追加する
665 :
Name_Not_Found :2006/05/20(土) 02:09:57 ID:NT0NMXGN
>>664 ありがとうございます。
おかげさまで実現したいことができました。
本当に感謝です。
次は消したいときかな〜 それとも途中に入れたいときかな〜 wktk
667 :
Name_Not_Found :2006/05/20(土) 08:18:18 ID:w4dkE6vH
おはようございます。 質問なのですが、index から leftとrightにフレーム分割しているのですが、 left内から発生させたjavascriptアラートボタンを押すと rightフレームをページ更新 + leftはページ移動 という動作をさせたいのですがどのようにすればよいでしょうか? どうぞよろしくお願いします。
>>667 別に普通にできるじゃないか。自フレームはwindow、隣フレームは
paernt.frames.フレーム名だから
parent.frames.right.location.reload(true);window.location.href='行き先';
になるわけだな。勉強すりゃすぐ分かるだろ。そんなのも調べ
られないヤシは2度と来ないで欲しい。
>>668 厳しいながらも教えて頂きありがとうございます。
HTMLタグと合わせて徹夜で調べたのですが、Reload にすら当たりませんでした、、
とにかく、ありがとうございました!
>>669 徹夜するくらいならJavaScript本を1冊買って読めってば。
人生の無駄だよ。
JavaScriptを外部ファイルから読み込ませるにはどうすればいいですか?
外部ファイルとは?抽象的なことを言われても困る。
673 :
671 :2006/05/20(土) 10:54:31 ID:???
解決しちゃったかも(^^ゞ
674 :
Name_Not_Found :2006/05/20(土) 11:44:57 ID:G1AMPiX6
質問させてください。 テキストやバナーをクリックすると、 指定した他のサイトが複数開くようにしたいのですが どのように記述すればいいでしょうか? よろしくお願いします。
それブラクラやん
676 :
Name_Not_Found :2006/05/20(土) 12:11:37 ID:G1AMPiX6
ブラクラではなく、違う2,3のサイトに飛ばしたいだけです。 ヤフーやインフォシークをいちいちお気に入りから読み込むのは面倒なので こちらでHPをつくり、1クリックでサイトを開きたいんです。 よろしくお願いします。
678 :
Name_Not_Found :2006/05/20(土) 12:15:39 ID:G1AMPiX6
すいません、もうちょっと詳しく教えてもらえないでしょうか?
>>676 ほんじゃ、ナビ付きのframeにしてスパスパ好きなだけ開けばいいだろ。
全画面で見たかったらtopに飛ばして見る。
どこか別の場所をクリックしたらラジオボタンがONになるようなことが書いてあるページを教えてください。
function radio(No){ return document.form1.id[NO].checked = true; } <? echo "<tr onMouseOver=this.style.backgroundColor='#ECECEC'; onMouseOut=this.style.backgroundColor='#FFFFFF'; onClick='radio(\"{$i}\");'>"; echo "<td><input type=\"radio\" name=\"user_id\" value=\"{$data['user_id']}\" id=\"{$i}\"></td>"; ?> わからないす みたいな事かいたけど JavaScriptはこれぽっちも分からないのでむりぽ もう少し教えてください
function radio(No){ return document.form1.user_id[No].checked = true; } <? echo "<tr onMouseOver=this.style.backgroundColor='#ECECEC'; onMouseOut=this.style.backgroundColor='#FFFFFF'; onClick='radio(\"{$i}\");'>"; echo "<td><input type=\"radio\" name=\"user_id\" value=\"{$data['user_id']}\"></td>"; ?> これで出来ました。 助言をくれたおにいたまありがとう
C言語で int n; char buf[256]; char addr[256]; sscanf(&buf[2], "%02x", &n); addr[2] = n; な場合どう書けばいいのでしょうか? addr[2] = buf[2] + '0'; 的な感じにできますか?
687 :
Name_Not_Found :2006/05/20(土) 14:37:11 ID:Fbx/AURy
innerHTMLとDOMの実効速度の差っていかほどなものですか?
>>685 javascript をひととおり勉強してからまたおいで。
>>687 やりたいことの内容やブラウザによる。
リンク上で右クリするとプロパティ(R)ってところでリンク先のURLが表示されますが、 これを非表示にする方法ってありますか?
>>689 評判の悪い右クリック禁止スクリプトでダイアログそのものを出させなくする
691 :
Name_Not_Found :2006/05/20(土) 23:38:15 ID:3yAALCW7
質問です 掲示板の下の方や、検索サイトなどの下のほうに表示されるように << NEXT[1][2][3][4][5]BACK >> なんかこんな感じで表示、利用できるものはないでしょうか? また、できればページが増えるたびに[]内の数字が増えるような… ディレクトリ内にあるそのページから近いページを探し出してリンクさせる、など… (ここまできたらCGIですかね…) こういうのはブログのプラグインとかでは見つかるのですが、 スクリプト用では見つけられなかったので… わかりづらい文章で申し訳ありませんがよろしくお願いいたします。
>>691 クライアントサイドスクリプトとは....じっくり考えてみよう。
ファイル一覧の配列作ってjsファイルにしておいたらどうか
694 :
Name_Not_Found :2006/05/21(日) 01:39:21 ID:xIibPsPi
スレ違いかもしれませんが、ほかに聞けるところがなかったので教えてください JavaScriptとJavaサーブレットってどういう風に違うのでしょうか? wikiを参照してみたのですが、よく違いがわからなかったので また、サーブレットについて質問をしたいのですが 板検索してみたのですが見つかりませんでした
695 :
Name_Not_Found :2006/05/21(日) 01:51:52 ID:oDfkh5Nk
そもそもJavaとJavascriptは違う ぐぐれ
ぐぐれ
>>692-693 すいません!単に勉強不足だったようです…
ヒントいただけて助かりました。ありがとうございました!
698 :
685 :2006/05/21(日) 10:16:06 ID:???
>>694 サーブレットスレはWebProg板だ。それすら分からないヤシが
質問しに逝っても役に立つかどうか疑問だけどね。
どうせURIが規則的になっていたりするんだから、404返されるまでチェックすればJSでも作れるだろ。
>>700 何百ものURIを順に試していくわけ?そんなのろい上にサーバ迷惑
なのを実用にしてるヤシなんかいるかね?
>>701 じゃあ、最大5個とかで終われば?
つうか、HEADリクエストが何百か連続する程度は大して迷惑じゃないからwww
だがキモい
2分探索として5個では32記事か。役に立たんのじゃないの。
705 :
Name_Not_Found :2006/05/22(月) 12:08:17 ID:dr0/1XOL
>Q1. 開いた別窓/フレームの内容にアクセスできないのですが… >A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。 これ逆に言えば、ページ内容が同サーバの場合だと どんなページでもアクセスできちゃうってことですよね 実験した試してみたところ実際に/~hoge/以下のスクリプトから /へも/~hoge2/へもアクセスできるようなんですが、 これはセキュリティ上問題ないんですか?
>>705 あることもあるだろうね。ブラウザの設定によっては不可能かもしれないね
アクセス制限かければいいじゃん
>>707 そういう話じゃないんです。ぼくは通常のセキュリティの問題を言っているんですよ。
アクセス制限の仕方もしらないアホは世の中にゴマンといます。知ってますか?
クロスドメインのアクセスだって、設定を変えれば許可されるしな
>>708 >通常のセキュリティの問題
おいおい、アクセス制限って特別なセキュリティなのか?
いくらお前がアホだからって世の中全部がアホって訳じゃないんだぞ。
>>708 別ディレクトリのドキュメントにアクセス出来るか、とか、別ファイルのドキュメントに
アクセスできるか、とか、結局どこで線を引くかってことでしょ?
んで、規格としては、ドメインで線を引いておくので、後は利用者・運用側でうまいこと
やんなさいね、って事になったわけだけど、何が問題かね?
712 :
Name_Not_Found :2006/05/22(月) 13:13:01 ID:NnLAND9L
<form action="job.cgi" method="post"> <input type=text name="id"> <input type=submit value="書込" name="update"> <input type=submit value="削除" name="delete"> </form> 上記のように、複数のsubmitにnameの値を持たせ、次のページでnameの値毎に処理を変更しています。 で、submitボタンで無く、<a href〜>のリンク文字で処理を行いたく、 色々調べてみたのですがjavascriptでのサンプルは、a hrefの数だけformを作る感じのしか見つかりませんでした。 type=textの値を共通して渡したいので、1つのformに纏めたいのですが、いい方法は無いでしょうか?
色々ググったのですが、なにぶんJavaScriptに関する知識がないせいかどうも解決ができなかったので質問させてください。 普段は折り畳まれていて、クリックすると開くという 以下のような単純なスクリプトを書いたのですが、 function show(id){ var t = document.getElementById(id); // terget if (t.className=='hide') t.className = 'show'; else t.className = 'hide'; } css pre.show { display:block } pre.hide { display:none } このままだと初期状態ではdisplay:blockが適応されます。 これを初期状態はdisplay:none, クリックするとdisplay:blockになるようにするにはどうしたら良いでしょうか? CSS側(もしくはHTML側にstyle属性を持たせることで)で pre { display:none } とするとCSSが適応されてJavaScriptを切っている環境だと内容を見ることができないので それは避けたいです。 HTML側を汚すことなく外部JavaScriptのみでこれを実現することはできないでしょうか? 対応するブラウザは最近のだけで良いです。
>>712 javascriptでやりたいのなら、適当なスクリプトをかいた上で、
<a href="#hoge1">foo</a>
<a href="#hoge2">foo</a>
を好きなところに埋め込めばいいと思うのだが。
例示されたようにCGIでやりたい場合は、
<a href="job.cgi?id=update">foo</a>
<a href="job.cgi?id=delete">foo</a>
こんな感じに尻尾をつければいいと思われ。
715 :
705 :2006/05/22(月) 13:40:10 ID:dr0/1XOL
レスありがとうございます 結局、問題があるかもしれないけど、 突き詰めるとキリがないので ドメインまでで手打ちをしたってすかね 納得しました
>>714 <input type=text name="id">で入力した数字も一緒に送りたいのですが。
postできないんでしょうか?
718 :
Name_Not_Found :2006/05/22(月) 14:27:31 ID:I9/S9Jpf
お世話になります。 先日、ボタンをクリックするとそのウィンドウが閉じ、変わりにメーラーが 立ち上がりるとようにしたいとのことで、お世話になりました628です。 629さんや637さんにご教示いただいた方法にて動作を試したのですが、 safariでどおしても上記の動作ができません。 私なりにですがいろいろ調べ試してみたところ、Firefox対策のためmailtoタグの 「subject」をURLエンコードするとsafariでは動かないようなのですが、 Firefoxとsafariの両方で動作させるにはどのようにすればよいでしょうか。 下記がソースとなります。 ------------- ■HEAD内の記述 function mailto(){ setTimeout(function(){window.close();}, 1000); ■BODY内の記述 <a href="mailto:xxx@xxxx?subject=%96%e2%82%a2%8d%87%82%ed%82%b9"> <img src="images/agreement_btm.gif" width="110" height="30" onClick="JavaScript:mailtooo();"></a> ------------- ご教示のほどよろしくお願いいたします。
ヒント:mailtooo
>>718 ブラウザ判別してSafariのときだけhrefを取り換えるとかは?
>>713 それぞれのpreの直後に
<script type="text/javascript">hide('id名');</script>
を入れておけばいいんでないの。hideというのを作ったとしてさ。
>>712 普通nameを一緒にしてvalueを分けるんじゃないの。その場合
<button type="submit" name="command" value="区別用の値">ラベル</button>
が使いやすいと思うが。JavaScriptと関係ないけどね。
721 :
Name_Not_Found :2006/05/22(月) 15:30:44 ID:QXlKLoCV
すいません、
>>691 で質問させていただいた者です…
申し訳ありませんが、もう少しヒントか何かいただけないでしょうか…
>>721 どこが分からないのか言わないと、答え様がないんだが。
723 :
721 :2006/05/22(月) 15:36:06 ID:QXlKLoCV
あ、すいません、まだ
>>691 で書いたことと同じことで悩んでます
>>723 どの回答を見て、それをもとに自分で何を調べたのか。
何が理解できなくて、どんなことを理解して、どんな疑問点が浮かんだのか。
「何もかも分かりません」なんて言われても同じことの繰り返しになるだけだろ。
>>723 単に1、2、3、4、5という数字を表示させるのなら簡単だよね。
JavaScriptさえ不要。で、何がやりたいのかやっぱり分からん。
日本語でちゃんと説明する気がないのならよそへ逝ってくれ。
726 :
721 :2006/05/22(月) 16:34:34 ID:MXFOyCc5
すいません…いろいろ調べて考えたつもりなのですが結局何にもならなかったんです…
仮にsubというディレクトリがあるとします
その中には1、2、3、5、6、7…とhtmlファイルがあります
今いるページが5.htmlだとします
<<BACKクリックでこれの前のページに当たるところ…4.htmlにジャンプするのですが、その4.htmlがなく、
自動的に同じディレクトリの中にある近い数字を拾って3.htmlに飛べるようにしたい、という感じです…
…なんか
>>691 と全く違うような内容になってしまいましたが、まとめてみるとこんな感じです…
やっぱりわかりづらそうですいません…
727 :
Name_Not_Found :2006/05/22(月) 16:47:23 ID:0Z203vxw
ボタンでウインドーを閉じるスクリプトを作りたいのですが、 デフォルトのボタンでなく、自分で用意した画像ファイルを使うことは可能でしょうか。 また、それが出来る場合、どこに画像を指定する記述をすればいいのでしょうか。 よろしくお願いします。
728 :
727 :2006/05/22(月) 16:51:29 ID:???
<a href=javascript: window.close()"><img src="xxx.jpg></a> で出来そうですね。。
スクリプトを記述するとき <script language="JavaScript"> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <!-- ここにスクリプト // --> </script> と書くか <script type="text/javascript"> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <!-- ここにスクリプト //--> </script> と書くか どちらが正しいのでしょうか? ぐぐってみたが答えらしきものは見当たらない また両者の違いについても知りたいです
javascriptで動的にテキストボックスをenabled/disabledを切り替えることは できますか? document.form1.txt1.disabled = true; のようにできればよいのですが、できないようです。
>>729 ぐぐってみたが答えらしきものは見当たらない?
>>730 本来できるけどね。アンタの単純ミスと思われるが。
>>729 languageは古い書き方で、W3Cの標準ではtype。それだけ。
それが探せないアンタはダメダメだと思うな。
>>726 へえー、そりゃここを読んでる全員にとって意外な内容だね。
そんなの超能力者じゃなきゃ分かるわけないじゃん。で、
ディレクトリの中身を調べるなんてサーバ側(CGI等)でなければ
不可能。どうしてもJSでやるなら 404 Not Foundを検出して
番号を飛ばすんだけど欠落ページが連続してるとのろそうで
やめといた方がいいと思うね。
>>728 その糞コード持ってさっさと帰れ。
糞コードの意味がわかるまで10年はかかるんだろうな。
736 :
731 :2006/05/22(月) 18:00:46 ID:???
>>734 見つかるもなにも洩れはぐぐるまでもないよ。常識だろ。
自分がそうだからといって一緒にするなヴォケ。帰れ。
>>735 thx
確かに言われてた希ガス
手に負えなくなって
子供科学図鑑とかなんとかいうのを買ってこられた覚えがある
#結局それで満足しちまったんだがな
738 :
735 :2006/05/22(月) 18:13:36 ID:???
もうどうでもいいことだけど、
>>735 で書いた検索だと一番じゃないかも。
ググり結果の揺らぎに始めて出会った。
<★★> ______________________________ (´−`) <もういいんじゃない?| ( ) ~~~~~~~~~~~~~~~~~~~~ .∪ ∪
740 :
713 :2006/05/22(月) 20:11:59 ID:???
>>720 すみません
>>713 でも書きましたができればHTML側は弄らずに実現したいのですが……
もちろん折り畳むときのイベントハンドラとして
<h3 onclick="show('id001')" onkeypress="show('id001')">hoge</h3>
<pre id="id001">
</pre>
というものは置いていますが。
教えて頂きたいのですが、今猫のライブカメラをdyndnsを使って流しています。
メインページからライブの映像のみの小窓を表示するボタンを付けているのですが、
メインページを表示したまま小窓を見られる方がたまにいて回線が重くなってしまうので、
小窓ボタンを押すとメインのページを自動で閉じるようにしたいのですが、つまずいております。
ソースはこんな感じです。
<IFRAME SRC="
http://xxx.com:8080/ " NAME="LiveCam"WIDTH="320"HEIGHT="240"MARGINWIDTH="0" MARGINHEIGHT="0"ALIGN="top"
SCROLLING="no" FRAMEBORDER="0">
</IFRAME>
<br>
<input type="button" name="komado" value="小窓" onClick="window.open('
http://xxx.com:/live.html ','','width=320,height=260,location=no,menubar=no,scrollbars=no,status=no,toolbar=no')">
<br>
onClick=の後に”window.close()",と付け足したものの反応はありませんでした。
要は”小窓”ボタンを押すとライブ映像の小窓が表示され、メインのウインドウが閉じるようにしたいのです。
どうかよろしくお願いします。
小窓側で if(window.opener || window.opener.closed != false){ window.opener.close(); } としてみるとか。
744 :
721 :2006/05/22(月) 22:48:53 ID:kiYAby5O
>>741 純粋に見たいと思ってしまいましたねこ…
連続するテキストボックスの入力チェックをしたいとき、onblurでイベント発生させ、問題があったとき、alertでメッセージを出して、その欄にfocusしさらにselectさせたいのですが、 <form name=l> <input name=test1 onblur="alert('test');document.l.test1.focus();document.l.test1.select();"> <input name=test2 onblur="alert('test');document.l.test2.focus();document.l.test2.select();"> <input name=test3 onblur="alert('test');document.l.test3.focus();document.l.test3.select();"> </form> とやっても、タブやマウスクリックで別の欄を選択したときに、イベントは発生するのですが、指定したエレメントにfocusされません。 どなたか実現方法を教えてください。
>>746 まず本質的か否かはともかくthisとか使うとスマートだよね。
748 :
Name_Not_Found :2006/05/23(火) 02:02:43 ID:rVUqc+OU
何度も申し訳ありません、
>>721 です。
あのあと、またいろいろ探してみると、スライドショーというものを見つけました。
それは画像(jpg.gifなど)を次々と表示していくものでしたが
それをhtmlに応用するなどはできないでしょうか?
必要でしたらあとでソースを貼ります お願いいたします
スライドショーのURLを貼れ
<html> <body> <script language="JavaScript"> function wait() { document.write("a"); } </script> <input type="button" onclick="wait();"></body> </html> このファイルをfirefox1.5.0.3で表示して、 buttonをクリックするとページを読み込み中のまま 完了しません。 なぜですか? IEだと問題なかったです
>>748 大してスレを読まずに書く。
方法1
・配列に全ページのURLを格納して、
・ドキュメントのURLと比較して、前後のページのURLを割り出し、
・a要素を生成して出力する。
方法2
・dir_name/page_01.html、dir_name/page_02.html…のように加算的な
ファイル名を付ける前提で、
・ドキュメントのURLから前後のページのURLを割り出し、
・以下同じ
方法3
・サーバサイドでやった方が楽で簡単で確実。
>>750 どういう動作を期待しているのか。
writeするにはopenしてcloseするのが処理系の動作としては自然。
close済みの文書をいぢるのならDOMをいじるのが自然。
行ってることの意味がわからないならまず基本を勉強してから。
>>753 フォーム部品にもいろいろあるぞ。selectならできない。代替案はググれ。
755 :
748 :2006/05/23(火) 09:09:27 ID:ppN8OVAw
>>749 とりあえずこちらのページのを…
tp://www.synapse.ne.jp/~ehehe/slideshow.html
これは画像だけが変わるんですよ…
それで、フレーム外せば理想にかなり近いソフトを発見したのでこちらもDLしてみたのですが
tp://www.vector.co.jp/soft/other/java/se135397.html
(これも画像だけ変わるものです)
>>751 その方法2の方も試してみたいです…
>・ドキュメントのURLから前後のページのURLを割り出し、
これはどうすればいいのでしょうか…
>>755 結局やりたいことが未だに分からんね。ファイル名が
全部分かっているのならどれだって簡単にできるんだが
どうなの?普通スライドショーは(1)ファイル名が0、
1、2…の連番で上限がいくつか分かっているか(2)ファイル
名のリストを予め全部持たせるようにしているかどっちか。
これらが可能ならさっさとそう言え。
757 :
748 :2006/05/23(火) 10:00:48 ID:KQ/zvw6d
とりあえずファイル名は連番になるようにしてありますが
>>755 ウザイから帰れ。スライドショーって何か知ってる?
あんたの無知に巻き込まれるのはごめんだ。はっきりと自分の意思を
伝えられる日本語を習得して出直せ。
>>757 じゃあ、「やりたいことが明確に説明できるなら」ここの常連
なら誰でも簡単に作って見せられると思うね。しかしアンタには
明確な説明は困難だと思うな。まあがんばって。
760 :
748 :2006/05/23(火) 10:45:19 ID:+f3WbHIq
…そうですね、ここに来て自分の説明力のなさが本当にわかりました きちんと「こうやりたい」というのをリンク貼って説明すると 「今まで言ってたのと違うだろう」ということになりそうなんですが一応… tp://miyukihatakeyama.jugem.jp/ 最近どこのブログでも見かけるのですがこの画面の一番下、 << page >>と書かれている部分のものをhtmlで使いたかったんです… ブログでは独自タグを使ってすぐできるのですが、htmlだとできず… これでも届かないようでしたらもう無理です…言われたとおり帰ります…
>>760 <div class="page"><a href="./?page=0"><<</a> | 2/8PAGES | <a href="./?page=2">>></a></div>
……ああ、そうですか。ソースぐらい見ろ。
もう二度とくるなよアホが。
762 :
748 :2006/05/23(火) 10:51:50 ID:+f3WbHIq
いや、ソース見てもわからなかったから聞いてるんですけど… 普通の人ならこれでわかるものなんですね…わかりました…
だからサイトいくら挙げてもやりたいことの説明にはならないだろ。 それも処理自体はサーバの中でやってるわけだしね。例示に頼らず 日本語で全部仕様を説明しろって。
764 :
713 :2006/05/23(火) 11:25:56 ID:???
(´・ω・`) あんま答えてもらえない…… 未だに悩んでます a. 基本すぎてだれも答える気がしない b. そういうことは外部JavaScriptだけでの実現は難しい c. 何をしたいのかが分かってもらえていない/情報が足りない d. なんとなく黙殺 のどれかでしょうか?
>>764 すでに答えてもらってるのをお前が無視してる。
766 :
713 :2006/05/23(火) 11:33:12 ID:???
>>765 え、マジっすか? 見つからない……。
>>720 は自分の求めていたのとは違う気がします。
768 :
748 :2006/05/23(火) 11:39:46 ID:???
そんなに説明しないと全く伝わらないようなスレだったんですね リンク先のものをそのまま応用できないのか、だけじゃだめなんですね
769 :
748 :2006/05/23(火) 11:40:23 ID:???
すいませんでした
マジな話、未だに「何が」やりたいのか分からんね。 まったくの推測で記述するなら。「page000.html〜page999.htmlという 1000個のファイルがサーバ上にある。それを20個ずつiframeに埋めて 表示したい。最初は000〜019が表示されているが、Nextリンクを踏むと 020〜039の表示に、さらにNextを踏むと040〜069の表示に、と切り変わる。 Backリンクで戻る。」たとえばこういう感じで書いてもらえれば明確に 分かるし即作れるんだよな。
771 :
712 :2006/05/23(火) 12:01:54 ID:0rV4ou/f
何だかウマくいかないので別の方法で考えてみたんですが、 hiddenに値を動的に持たせて、次の画面に投げようと思ってるんですが、 次の画面でvalueの値は""のままです。 何がマズいんでしょうか? <script language="javascript"> <!-- function Submit(flag){ document.myFORM.job.Value = flag; document.myFORM.submit(); } // --> </script> <form action="send.cgi" method="post" name="myFORM"> <input type=text name="id"> <input type=hidden name="job" value=""> </form> <a href="javascript:Submit('write')">書込</a> <a href="javascript:Submit('delete')">削除</a>
あのなあ、DOM関係では大文字小文字は意味があるんだよ。 Valueをvalueに直せボケ。
そんな何の保証もないリンク書いてうまく行かないもないもんだ。 DOM以前だろ。
>>748 >そんなに説明しないと全く伝わらないようなスレだったんですね
スレナメとんのか、ゴルァ。もう二度と来るな。
ぐだぐだよけいなこと言うだけで、肝心の何がしたいのかは意味不明なまま、 しかもコロコロ変わってたしなあ。 どないせいちゅうねん。
> どないせいちゅうねん。 スルー
スライドショーだと「画像形式」が変わるところをhtml(ページ)を変えたいんじゃないの?
となると
>>770 の推測が近いんじゃね
>「画像形式」 「形式」抜かしてくれ…スマソorz
もしくは一定時間経つと自動的に次のページに移るとか? どちらにせよ具体的に言えば即行終わるような質問をよくもまあこんなにだらだらと。
780 :
713 :2006/05/23(火) 14:57:32 ID:???
>>767 いや、
>>740 に書いたけど外部JavaScript側だけで実現したいけんだけど、
>>720 はHTML側に書き足す案(に私には見える)なので自分の求めていたのとは違う。
781 :
751 :2006/05/23(火) 16:25:57 ID:???
>>755 >
>>751 > その方法2の方も試してみたいです…
> >・ドキュメントのURLから前後のページのURLを割り出し、
> これはどうすればいいのでしょうか…
えー。例えば今見ているページがpage_05.htmlだったら、
前のページはpage_04.htmlで、後ろのページはpage_06.html、でしょ。
どうすれば、って
・「page_」と「.html」を削って、
・数字部分が%02dのフォーマットになってるからそれをなんとかして、
・1足したり引いたりするだけじゃん!
いま思ったけど、このスレは努力というものをしない人間には 過去ログ検索さえ甘くないね。実はこれはすばらしいことだね。
テーブルの背景色をランダムで出力するスクリプトを書いたのですが、 ・IE6では全く問題なく表示され、 ・FireFox1.5では、要素のが本来より黒く、緑がかっている。 この互換性の無さの原因は何でしょうか。 もし原因がIE6に依存するのといった方法でしたら、それを回避するようなアドバイスを下さい。 ↓ソース丸投げ <html> <head> </head> <body> <script type="text/javascript" language="JavaScript"> var SquareSize=20; var SquareLength=4*5; function TableWrite(){ document.write('<table border="0" cellpadding="0" cellspacing="0" height="'+(SquareSize*SquareLength)+'px" width="'+(SquareSize*SquareLength)+'px">'); for(var TRcnt=0;TRcnt<SquareLength;TRcnt++){ document.write('<tr>'); for(var TDcnt=0;TDcnt<SquareLength;TDcnt++){var color=Math.floor(Math.random()*100)+100; document.write('<td height="'+SquareSize+'px" width="'+SquareSize+'px" bgcolor="rgb('+ color +','+ color +','+ color +')"> '); document.write('</td>'); } document.write('</tr>'); } document.write('</table>'); } </script> </body> </html>
>>780 初期状態はCSSに任せて、
JavaScriptからは、getComputedStyleかcurrentStyleでそれを取り出せばいいじゃん。
786 :
784 :2006/05/23(火) 16:34:54 ID:???
うへぇ、俺の日本語がおかしくて変態っぽくなってやがるぜ。 orz 脳内修正よろしく。
>>784 - そもそも「本来」ってなに?
- 外部アプリでキャプったピクセル値は確かめた?
788 :
784 :2006/05/23(火) 16:44:00 ID:???
>787 本来というのは、ピクセル値の輝度が全て100以上になっている事を言っているのです。 firefoxだと、もの凄い黒くなります。 実際にソースをファイル化してその違いを見てみれば分かると思います。
>>784 とりあえず色を作るところだけ。
var num = (Math.floor(Math.random()*100)+100).toString(16);
var color = "#" + num + num + num;
色の番号はRGBそれぞれ一緒で
64(100)からC8(200)まででいいんでしょ?
790 :
748 :2006/05/23(火) 16:57:53 ID:???
すいません、また懲りずにやってきてしまいました…
はい、説明的には
>>770 さんのものをやりたいのです
それが20個ずつではなく、1ずつ、なのですが
そうやって説明すればよかったんですね本当に申し訳ありませんでした
791 :
713 :2006/05/23(火) 17:01:22 ID:???
>>785 それも
>>713 に書いてあって
> CSS側(もしくはHTML側にstyle属性を持たせることで)で
> pre { display:none }
> とすると 'CSSが適応されてJavaScriptを切っている環境' だと内容を見ることができないので
> それは避けたいです。
>>788 bgcolor="rgb(100,100,100)"をIEとFirefoxで見比べてどうよ。
CSS2的には、rgb()はsRGB色空間であり、
それをどのように表示装置上で表現するかの曖昧性は許されている。
IEはOS設定のカラープロファイルを見て補正している
(もしくはカラープロファイルを参照するモジュールを利用している)
可能性はある。
そしてそれに依存する話ならjavascriptな話題ではないのでスレ違い。
>>791 じゃあ、window.onloadのタイミングで初期状態を決めてあげればいいじゃん。
>>791 俺が昔似たようなスクリプトを書いたときは
CSSでメニューを表示状態で整える。
↓
JSを読み込んだときのみ適用されるCSSでメニューを隠す。
↓
JSで表示させる。
ってやった。
これが気に食わなきゃ知らん。
っていうかわがままばかりいうのに自助努力がないのはどうよ。
>>788 と思ったがHTMLな話だったなっと。
bgcolor="rgb()"を理解するのはIE独自仕様。
>>789 でいける。
ただしbgcolor自体HTML4.0的にはそろそろやめてくれんか状態なので、
style="background-color:"を使うのが今どきの表記。
そしてやっぱりスレ違い。
796 :
789 :2006/05/23(火) 17:38:13 ID:???
>>795 もっと言うと、style属性も消えゆく存在だから、
生成したtdを拾ってstyle.backgroundColorに代入したい。
そしてやっぱりすれ違い。
797 :
!null :2006/05/23(火) 17:39:21 ID:???
手取り足取りに誘導すればいいじゃん。
わーtrueさんこんにちは
799 :
784 :2006/05/23(火) 17:57:41 ID:???
style="background-color:rgb(x,x,x);"で ・firefox+javascript出力と ・firefox+ソース手書き を比べてみたが、やっぱりfirefoxでjavascriptだと異様に黒ずんで緑がかっている。 javascriptが絡んでいないとしたらなんだろう。 これでもやっぱりスレ違いなのか。
>>799 xがかららずしも10進で読んでもらえているとは限らんでしょ。
#ffffffのカタチじゃいかん理由でもあんの?
数値を16進に直して文字列連結するのめんどくね?
は?
803 :
713 :2006/05/23(火) 18:53:10 ID:???
>>793 , 794
できました!
↓を同じ外部JavaScriptに書き足しました。
window.onload = onload;
function onload() {
document.getElementById('hoge').className = 'hide';
}
いやほんとJavaScriptは初めて書くに近い状態だったのでなにがなんだかで……。
お騒がせいたしました。
ありがとうございます。
804 :
713 :2006/05/23(火) 18:54:05 ID:???
なんか関数名が良くないですね。これは書き直します。
>>799 <html><body><div style="background-color:rgb(100,100,100)">
あああああ
<script>
color = 100;
document.write("<div style='background-color:rgb(" + color + "," +
color + "," + color + ")'>いいいいい</div>");
</script>
ううううう
</div></body></html>
少なくとも俺のfirefoxでは境界線は見えない。
806 :
753 :2006/05/23(火) 22:48:55 ID:???
>>754 おっしゃるとおりSelectです
レイヤーのようにまったく違う方法で同じことがフォームの上で出来たり
もしくは出てくるテーブル領域が重なった場合フォームを消すように出来るのでしょうか
807 :
754 :2006/05/23(火) 23:07:27 ID:???
808 :
753 :2006/05/24(水) 04:02:16 ID:???
iFrameをSelectを隠すだけのレイヤとして同じ位置に表示させ、z-indexでその上に書くように設定したところ出来るようになりました ありがとうございます そしてもう1個問題が・・ ポップアップする内容によってポップアップウィンドウの幅、高さが変わるのですが iframeのほうは初期段階では絶対値でしか指定できないので変化した値を代入したいのですが 初期値しか取得できません ポップアップ内容によって変化したwidth、heightを取得する方法はないでしょうか?
809 :
Name_Not_Found :2006/05/24(水) 08:58:53 ID:YITiPxG6
質問です。 x='1,2,3'をx=[1,2,3]に型変換するにはどう書けばよいのでしょうか。 次のようにしていろいろ試してみましたが、だめでした。 for(var i=0;i<3;i++){ x[i]=x.split(',')[i] } alert(x.length)//5 not Array ご教示よろしくお願いします。
x=x.split(','); でよくね?splitは配列返すから。
811 :
809 :2006/05/24(水) 09:32:47 ID:???
>>810 さん
できました。なるほど、です。ありがとうございました。
>>808 「現在の」幅や高さはoffsetWidth/offsetHeightで参照できるでしょ。
>>790 ホレ。こんなの常連には速攻で書けるぞ。
日本語で説明したくない奴には2度と来てほしくない。このサンプル
について洩れは何も説明する気になれないから質問もしてくれるな。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var cur = 0, lim = 999;
function move(d) {
cur += d; if(cur < 0) cur = 0; if(cur > lim) cur = lim;
frames.i0.location.href= 'page' + String(1000+cur).substring(1) + '.html';
}
</script>
</head><body>
<p><button onclick="move(-1)">Back</button>
<button onclick="move(+1)">Next</button></p>
<iframe name="i0" src="page000.html"></iframe>
</body></html>
フレームで上下に分割して、上部はメニューを置きたいと思います。 上部メニューはonmouseoverで下方向にポップアップされるものになってるのですが (style="position:absolute;visibility:hidden" をonmouseoverでvisibility:visibleに) 当たり前ですがフレーム外へは表示させれません。 何か良い方法はありますでしょうか? <frameset rows="50,*" frameborder=0 border=0 noresize> <frame src="menu.php" name="menu" id="menu" scrolling=no> <frame src="body.php" name="body" id="body"> </frameset>
>>814 framesetをやめて下フレームをiframeにするのはだめ?
817 :
814 menu.phpのHTML :2006/05/24(水) 12:00:15 ID:JzgIl9cJ
<script type="text/javascript"> function menuControl ( id ) { var menu = document.getElementById(id); var flag = ( menu.style.visibility == "hidden" ) ? "visible": "hidden"; menu.style.visibility = flag; } </script> <span style="position:absolute; top:25; left:40px; height:25" onmouseover="menuControl('menu1')" onmouseout="menuControl('menu1')">メニュー</span> <span style="position:absolute; top:50; left:40px; visibility:hidden;" id="menu1" onmouseover="menuControl('menu1')" onmouseout="menuControl('menu1')"> <a href="test1.php">メニュー1</a><br> <a href="test2.php">メニュー2</a><br> <a href="test3.php">メニュー3</a><br> <a href="test4.php">メニュー4</a><br> </span>
>>816 window.open()かselect.sizeとframes['body']のsizeを連動でどうよ。
819 :
814 :2006/05/24(水) 12:09:50 ID:JzgIl9cJ
>>816 ありがとうございます
iframe を試してみて期待の動作でなければ window.createPopup() を検討してみます
>>818 全ての下部フレームに .js 埋め込んで
上フレームのonmouseoverで下フレームに表示させるということでしょうか?
820 :
814 :2006/05/24(水) 12:29:55 ID:JzgIl9cJ
iframeで動作しましたがスクロールバーが縦横2つ出る場合があるので駄目でした。
821 :
814 :2006/05/24(水) 12:37:37 ID:JzgIl9cJ
スクロールバーの問題は <body scroll="no"> にすることで回避できそうです。 <iframe name="body" src="body.php" width="100%" height="100%" frameborder="0"> フレーム側の境界線も消すことで、framesetと同等の概観を実現できました。 ありがとうございました。
>>821 > スクロールバーの問題は <body scroll="no"> にすることで回避できそうです
ヒント:overflow
もうHTML(CSS)の範疇になりますが、こんな感じにしました。 <body style="margin:0;overflow:hidden">
825 :
753 :2006/05/24(水) 13:46:07 ID:???
>>812 その方法で解決できました
ありがとうございます
余談ですが、onMouseMoveで表示させるとマウスにくっついて移動させれますが
CPU利用率が凄いことになりますね・・
ファイル操作についてです。違うファイルから1行取ってくる操作をしています。 このとき、 aaaa(改行コード) bbbb(改行コード) cccc(改行コード) というファイルAをsplit("\n")で取ってきているのですけど、このとき最後の配列には何が入っているかわかりますか? "EOF"かなと思ったのですが、if(配列の最後=="EOF")としても条件の中に入らないので違うのかなと。 aaaa(改行コード) bbbb(改行コード) cccc というファイルBでは、最後の配列は「cccc」となるので問題ないのですけど、 汎用的にするためにファイルAの状態であれば最後の配列を無視したいのです。 何が入っているかまででなくとも、文字コードを判断するような関数があれば それを使ってalertで調べたいと思うので教えてください。
>>826 splitする前の文字列の末尾に改行コードがあったらそれを
削除して、それからsplitすれば。
828 :
826 :2006/05/24(水) 15:36:39 ID:???
>>827 ちょっと理解できていないかもなのですけど、ファイルAはresponseTextに入っているので、
if(responseText[responseText.length-1]=="\n"){reponseTextの最後の文字を削除}
で、そこからsplitということでしょうか?
何だか処理的に大変な作業しているような気がするのですけどそんなでもないですか?
829 :
826 :2006/05/24(水) 17:40:00 ID:???
自己解決です。 ためしにif(配列の最後=="")としたら分岐しました。 お手数をおかけしました。
テーブルの行を上下カーソルキーで移動して enterキーで決定するよなナイスなスクリプトの サンプルありませんか?
ラジオボタンがチェックされたらチェックされたボタンのみの色が変わって 今までチェックされて色が付いてたボタンの色が消えるっていうサンプル教えてください。
832 :
Name_Not_Found :2006/05/24(水) 19:04:11 ID:WcsfvtuJ
javascriptでサーバーにあるファイルを 操作(読込)をすることはできますでしょうか? CreateObjectメソッドでファイルの作成・削除などはできますが、 サーバーにあるデータファイルを読み込み、中身(?)を得たいのです。 宜しくお願いいたします。
XMLHttpRequest
>>832 を読めば Windows JScript の話だと分かる。
>>833 は IE7 という苦しい言い訳を始めると思う。
いや、Ajaxでやり直せ、ということかと。 JavaScriptスレだし。
Ajaコングとやり直せ
>>831 サンプルじゃなくてそのくらい自分で書けんのか?
>>830 何を決定するんだか。日本語を最後までちゃんと書け。
Enterを押すと「何が」「どう」なるって?
IEだとスクロールバーが表示されないで、Firefoxだと表示されるようにすることはできますか? フレームを通して背景画像がつながるようにしているのですが IEではつながって見えますが、Firefoxだとスクロールバーがでない(必要ない)ほうが ずれてしまって画像がうまくあわないので、こんな方法しかないのかなぁと思っているんですが、 検索してもなかなかみつからないのです。。
>>839 そんなのはHTMLとCSSの問題だ。
JSで強引に解決させようとするなよ。
セレクトメニュー<select>のonchangeイベントを強制的に コードから起こす方法はありませんか?
>>841 で、自分ではどーゆーふーにやってみたの?
843 :
841 :2006/05/25(木) 11:40:04 ID:???
>>842 <script type="text/javascript">
function change {
document.form.select.option.click();
}
window.onload = change();
</script>
<form name="form">
<select name="select onchange="alert('i')";>
<option name="option">a</option>
</select>
</form>
とやってみたけどだめでした
844 :
841 :2006/05/25(木) 12:04:32 ID:???
リファレンス総当りしていたら fireEventなんてのがあった けど何故かうまくいかないどうして〜 <script type="text/javascript"> function change { document.form.select.fireEvent('onchange'); } window.onload = change(); </script> <form name="form"> <select name="select onchange="alert('i')";> <option>a</option> </select> </form>
function change { document.form.select.option.selected="selected" } でいいだろ。
>>844 たしかそれIE専じゃなかった。そんな糞メソどうする気だ。
document.form.select.onchange();じゃないの?
なんか余分じゃないか?
>>846 そうだったっけ?わるいわるい。
じゃあ、これ。multipleだとそのままじゃダメだけど。
function change {
document.form.select.value="opt1"
}
(ry)
<option value="opt1">a</option>
個人的に document.form を使うのは違う気がする。 もともと下位互換のために存在するdomだし、formだけ特別扱いされる理由も弱い。 document.getElementsByTagNameあたりを使うべきだと思う。
>>845-849 藻前らちゃんと試しているのか? どれも選択肢は切り替わるけど
onchangeハンドラは動かないようなんだけど。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function chg() { document.forms.f0.elements.s0.value = '2'; }
function test() { alert(document.forms.f0.elements.s0.selectedIndex); }
</script>
</head><body onload="setTimeout(chg,1000)">
<form name="f0" action="#" onsubmit="return false"><p>
<select name="s0" onchange="test()">
<option value="1">1</option><option value="2">2</option>
<option value="3">3</option></select></p></form>
</body></html>
てか、オブジォクト特定してファイアするなら function onchange_handler(obj) { hoge(); hoge2(); } //勝手にファイア onchange_handler(); <select onchange="onchange_handler();" で良いんでねぇの?
>>851 いいや全然w
なんで、onchangeを動かさなければいけないんだ?
843でonloadから呼び出しているように、やりたいのは、
onchangeが起こった結果としての値の切替だろ。
と、ここまで書いて気がついたんだが、onloadと同時に、
「選択項目がべろーっと出る状態」にしたいのか?
それを「onchangeハンドラ」などと呼ぶやつは誰もいないが。
>>849 そんなコードはどこにも保証されていない。
まずまともに動くコードを書くことから勉強するのが先では?
最近追っかけが出るんですよww
なんか流れが全然わからんのだが、841=851=854?
857 :
841 :2006/05/25(木) 17:12:15 ID:???
fireEventはIE専用だったのね。firefoxで試してしまっていました。 でもこれでいいです ありがとうございました。
作った関数の中で関数を宣言するのって文法的には間違ってないの?
>>858 だから、何度も言ってるだろ。それをどう書いたんだ、そのボケナスあたまで。
ボケナスあたまって言われました。
(⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒⌒ Ο ( やっぱおれはボケナスあたまだったのか ο ( __ 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 ___/⌒ \__ / | |( ) | ……… | | | ∨ ̄∨ヽ │ __| | | \ | _|_| ヽ、(_二二⌒)__) \ ____| | \二 ⌒l. \ | | ̄ ̄ | | ̄ ̄|| | | | | .|| | |_ | |_ .|| (__) (__) .||
function boke(){ function nasu(){ window.alert("ぼけなす"); } nasu(); }
”あたま”ひらがなかよwww
>>861 きみきみ、ちゃんとかんじもつかいなさいよ。
865 :
Name_Not_Found :2006/05/25(木) 21:23:11 ID:B8p1rcRL
いまから このスレは かんじが きんしだぞ このやろー
>>862 onborn=function boke(){
...................
...................
867 :
831 :2006/05/25(木) 22:49:31 ID:R7FBs+Vh
つまり、JavaScriptでは サーバー上のファイルは操作できないということですか?
>>831 あんたがひとにきくまえにじぶんでどれだけしらべたのかをと
いたい。ぐぐってはみたのか?せかいじゅうのかんしんじだぞ。
横から便乗質問で申し訳ないんだけど、ECMAって ・いいしいえむえい ・えくま どっちで読むのが正解ですか?
あくま(嘘)
function passwordKeyUp() { if (event.keyCode == 13) { login(); } } パスワード欄でEnterキーが押されたらログイン処理をしているのですが パスワード欄でEnterキーを押すと「ぽーん」と音がしてしまいます。 この音を消すにはどうすればいいでしょうか? VBなどではkeycode = 0とすれば消せますが event.keyCode = 0; としても消えませんでした。よろしくお願いします。
875 :
Name_Not_Found :2006/05/26(金) 10:26:11 ID:CQoqhUVm
へんなこざいく つかわずに すなおに ぱすわーどらんを formたぐでかこんで onSubmitつかいなさい
それは美しくないです。
そもそもVBとjavascriptをごっちゃにして、それを何の違和感も無くつらつらと質問文に書くお前の頭がおかしい。
keypressにして event.returnValue = false; にしたらできました。
疑問が浮かんだんだが、falseが0で、trueが0以外なのはJavaScriptも同じ?
>>874 つうか音が出るのは根本的にはUAとOSの仕様だろうが。
>>879 プログラムの真偽値判定では大抵そう。
そもそも二進法で1/0を真/偽としたのが最初だから。
これなら1バイトで判定できる。
882 :
Name_Not_Found :2006/05/26(金) 12:59:47 ID:vfDKA7Vj
配列が使いたい... <input name="Str[1]" type="text"> ↑の"Str[1]" はJavaScript で使う時どう記入すればいいかわからない。 document.form.Str[1].value = "AAAAA"; と書いたらエラーになってしまいました。 だれか教えて下さい。<(_ _)>
883 :
Name_Not_Found :2006/05/26(金) 13:05:30 ID:quZtnh8H
ボクシング界はみんな亀田さんにおんぶに抱っこ状態だな 亀田の名前出さないと注目してもらえないからなwww 情けないな〜天下のチャンピオンベルト持っている男でさえ 亀田さんの名前使っちゃうからな〜www
>>879 はそういう意味じゃないだろ
falseが1でtrue=0とか、Cなんかと違ったりしないか聞いてるだけだろ
>>886 だから「同じ」で、その理由を答えたんじゃないの?
いや、理由になってないし
falseが0ならtrueは-1
>>882 エンジンを困らせるようなそんなもんをドット記法したらどうなるか
エンジンの気持ちになってみれば分かるだろ。だいいち正しくもない。
892 :
882 :2006/05/26(金) 14:16:57 ID:???
半年ぶりにここきたんだけど、なんか半年でJavaScript界で変わったことってあった?
IE7.0β2 のJS具合はどう? IE6.0 より標準に近くなった?
おまえが今日顔を出したことだ。もう来るな。
・・・(´・ω・`)
>>889 どんな数値もインクリメントすると真になると赤坂さんが言ってたような気がするが、
-1じゃfalseになっちまうな。
でも-1は2進では1の塊だという罠。
ごめんね、赤坂さんじゃなかったみたい。ごめんね、赤坂さん、ごめんね。
> -1は2進では1の塊 なるほどなあ、二進数は計算機でしか使わないから、計算機内での表現イコール二進数での表現、と憶えてるわけだ。
かたまりじゃなくかたよりだわな
JacaScriptとJavaって何が違うんですか やってて皆に自慢できる方をしたいです。 やっぱりJavaCsriptはスクリプトだからJavaの方が良いんですかね?? もし、仕様が、JavaScriptはJavaと比べて簡単なだけなら、ボトムアップ式にJavaDcriptを勉強して、その次にJavaをやりたいんですが、 アドバイスください。
だいたい2進数なんて関係ないものを持ち出してくる奴がバカだろ
904 :
Name_Not_Found :2006/05/26(金) 16:23:14 ID:cbPH4/sZ
みなさん、こんにちは 将来の予約語「enum」と「volatile」ってどういう意図ですか?
>>902 全然違う。どっちもできたからって自慢になるようなもの
ではないだろ。まあWebページに仕込んでおいて動かして
見せるのが簡単だからJavaScriptをやるっていうのはありかな。
JavaとJavaScriptはまったく別の言語。JavaScriptが簡単な
Javaだというようなことはまったくない。最終的にJavaを学習
したいのならJavaScriptなんて寄り道はしない方が速い。
>>904 C言語のenumとvolatileの解説でも嫁。単にCにあるから予約
したんだと思うな。
じゃなんでjavaScriptはjaVaの名前を使ってるの???ややこしいですね。
>>902 :.. | JavaとJavaScriptの区別もつかんくせに
:.. | この小僧 お前のような奴はムカつく
:::.. | とっと帰れ
;;;,,,ノ それとも 楽になりたいか
、 ヽ,_ いま一件始末してきたところだ
)l ヾヽ ) ̄ ̄ ̄ フ
_ノノノノ ̄|;,;..;∴,;;ノ;
´  ̄ ̄ ̄
| ;
:| ・、'
:|
:| ‘
:| ' 。
:|
;| ,.
;|,、 ,.;'::.;
'|,;、;∴;';'゙',
;| 。・。
_|⌒) \・゚・ 。・゚・・/
>>907の足元にあるのはチャーハンですか? チャーハンのAAなら良く見かけます。
>>906 JavaブームのときにNetscapeがSunと交渉してJavaScriptって
いう名前にしたんだよね。それまではLiveScriptっていう名前
だったんだけど。まあその名前でポピュラーになったっていう
面はあるんだから成功したんじゃないの。今になれば混乱しや
すいよくない名前だけどね。
NetscapeがSunと交渉したのか。初めて聞いた。
912 :
910 :2006/05/26(金) 16:55:36 ID:???
>>911 常識なのか。で、どんな交渉をしたわけなの?
「Java」という名称の使用権を買ったとか?いくらで?
交渉の中身を教えてくれ。知らない事実だ。
最初NetScapeが作っていたが、後々になって開発を組んだんだろ。 使用権を買った訳ではない。
914 :
910 :2006/05/26(金) 17:03:06 ID:???
じゃ交渉じゃないじゃん。どこが交渉なの?ガセネタかますなよ。迷惑。
>>913 SunがJavaScriptを開発したことはこれっぽっちもないぞ。
もしかしてJDK 1.6に入れるヤツのことかな。
>>914 自分の無知が明らかになりそうな事実はガセだと思いたいよねえ(w
おお、2ちゃんらしい煽りだな。
次スレは975越えたら。テンプレの変更はとくになし?
おお、インプレスのhtml,css,javascript辞典には「組む」と表記されている・・・、違ったのか。
>>915 の翻訳(Exiteのエンジン)
-------------------------------------------------------------------
JavaScript is a registered trademark of Sun Microsystems, Inc.,
used under license for technology invented and implemented by
Netscape.
JavaScriptはNetscapeによって発明されて、与えられた技術にライセンス
の下に使用されるサン・マイクロシステムズ・インクの登録商標です。
-------------------------------------------------------------------
なるほどねえ。とすると、「JavaScript」はSunの商標だから、勝手に
そこらへんに書いて使ってはいけないということなんだろうなあ
Sunに商標使用権を払わなければならないことになる。ホントか?!
JavaScript®
®
J[ava]AS[cript]RAC
©
>>920 ンじゃ、そこらへんのネットのJavaScript関連のサイトみんなダメじゃん。
どーすんの?訴えられる?おれも降ろしとこうかなぁ。
>>920 >>925 その点ではJavaという名前の使徒が制約されると同程度以下に
制約されると思えばいいんじゃないの。SunとしてはJavaという
名前が勝手に使われるのには厳しいだろうけどJavaScriptは
そんなに力入れてないだろうしね。それともそこらへんの
Javaのサイト皆ダメだと言いたいのかね。
以降このスレではコンプライアンスを遵守すべく、すべての書き込みを対象に JavaScript® とすることになりました。 JavaScriptは法令により罰せられることがあります。 ※ 以下の行為は、商標権法違反となります。 無断、もしくは許可なく商標権を有する文字、名称、図形、 記号、立体、またこれらを結合した商標、これに色彩が結 合した商標をいかなる状況においても使用すること。
f*ckみたいにJ*vaS*riptでよくね?
「JS」でいいんじゃねw 言われたら JapanSc(ry てか、もしライセンス料発生するなら、JSを認識して実行してくれるIEとかが払ってくれてるだろうからユーザーは関係ないんじゃないの? 実行してくれるのがなかったらただのテキストだしなあ。 前だって、GIFを作ったり表示させるツールを勝手に作るのはNGだったけど、フォトショとか買ってそれでGIF作るのはOKだったしね。
ちょうどいい。洩れもJavaScriptは長ったらしく間に大文字も入るんで 気に入らなかった。かといってJSはいやだった。この際2ちゃん風に 何か作るべきかな。要するにちがう言葉でそれがJavaScriptを指してる ってことならいいわけだろ。ああ、JavaScript®ね、ごめん。
>Sc(ry Sonyに見えた
>>930 じゃあジャバスとかどうよ?
いいscript書いたら 「
>>950 に10万ジャバス」 とか、
エセscript書いたら 「うぇwww テラジャパスwwwww」 (paになってる ref: エクスカリパー) とか使う。
ECMAScriptとJScriptでいいじゃない。
ECMAS または ecmas では?(s=script)
ドイツもこいつもスレタイをもう一度読んでこい。 ↓次の質問どうぞ。
ドイツはW杯やるとこだよね。こいつって国は聞いたことがないな。
938 :
Name_Not_Found :2006/05/27(土) 02:41:34 ID:qwXjYcZ+
<img src="rollover01a.gif" width="147" height="60" alt="" border="0" onmouseover="RollOver(this, 'rollover01b.gif');" onmouseout="RollOver(this, 'rollover01a.gif');"> えっと、
939 :
Name_Not_Found :2006/05/27(土) 22:54:38 ID:Jj15dg1D
質問です。 もっとも確実な乱数発生ルーチンのスクリプトってどんな風に 書けばいいんですか?1を絶対に出さないようにしたいです。
>>939 Math.random()。これは1は絶対出ない。0以上1未満の一様乱数
だから。今更「そうじゃない乱数」とか言いださんでくれよ。
質問を何回も修正されるのはやりきれん。
941 :
939 :2006/05/27(土) 23:14:29 ID:???
>>940 回答ありがとうございます。ブラウザによってスペックがちがうために、
厳密には「1」が出ると聞きました。ちがうんですか?
>>941 組み込み乱数が信用できないなら、自分で組めばいいじゃない。
乱数発生ルーチンなんてそこかしこに転がってるじゃん。
>>941 心配なら、1以外が出るまで繰り返し発生させればいいんじゃない。
944 :
939 :2006/05/27(土) 23:38:34 ID:???
回答ありがとうございます。
>>942 分かりました。おっしゃるとおりです。
>>943 年とっちゃいます。なんでも、数学的には2^23に1回らしいです。
もちろん確率的には2回目に出るのも一緒なのですが。
945 :
939 :2006/05/27(土) 23:41:10 ID:???
>>943 あれれ。お答えを読み間違えたかもです。すいません。忘れてください。
ありがとうございました。
なんつーか、 function rand() { var r; do { r = Math.random(); } while(r >= 1) ; return r; } こんな関数書きたくない
そんな小さい確率で例外になって困るのって 何か凄い重要な物作ろうとしてるの?wktk
もし939のいう事が本当なら、946のようなコードを俺も書きたくなるが、 俺はそんな話を聞いたことが無いから信用できない。 どのブラウザのどのバージョンで起こるんだろう。うそじゃないか?
本当なのかなぁと思いながら
>>946 見てたら
function guruguru() { var r, i = 0; do { r = Math.random(); i++; } while(r != 1); return i; }
変な方向へ行ってしまった。
950 :
Name_Not_Found :2006/05/28(日) 01:59:17 ID:lSoYIgCd
たった今Java Scriptを勉強しはじめたのですが、 document.write((new Date()).getHours()); と記述すれば今の時間が表示できますよね? new Date()で今の年月日時分秒を取得するのはわかったのですが、 new Date()に.getHours()を追加すれば時間のみが取得できるという 一種のオプションみたいなものなのでしょうか?
みたいなものですね。
952 :
Name_Not_Found :2006/05/28(日) 03:44:01 ID:lSoYIgCd
フォームに出力することをやっているのですが <script language="JavaScript"> <!-- a="あいうえお"; b="かきくけこ"; document.myform.myforma.value = a; document.myform.myformb.value = b; // --> </script> <form name="myform"> <input type="text" name="myforma"> <input type="text" name="myformb"> </form> これだと表示されません。 どこが間違っているのか指摘をおねがいします。
フォームが登場する前にスクリプトが実行されてるからだね。
954 :
Name_Not_Found :2006/05/28(日) 05:01:56 ID:lSoYIgCd
>>953 理解できました。ありがとうございました。
955 :
Name_Not_Found :2006/05/28(日) 05:41:51 ID:lSoYIgCd
<script language="JavaScript"> <!-- count=1; function cn(){ document.cform.time.value=count+"秒"; count=count+1; } // --> </script> <form name="cform"> <input type="text" name="time"> <script language="JavaScript"> <!-- setInterval("cn()",1000); // --> </script> </form> このようにフォームを使うと1秒ごとにカウントされるのですが、
956 :
955 :2006/05/28(日) 05:42:35 ID:lSoYIgCd
<head> <script language="JavaScript"> <!-- count=1; function cn(){ count=count+1; } // --> </script> </head> <body> <script language="JavaScript"> <!-- document.write(count+"秒"); setInterval("cn()",1000); // --> </body> とやるとカウントされません。 カウントをするような時はフォームを使わないといけないのでしょうか? それとも記述が間違っているのでしょうか? よろしくお願いします。
手取り足取りスレにいっといで
>>956 ボケ!!! FAQ
>>3 をまず読め!!! つinnerHTML
>>957 ボケ!!! FAQで解決するもんを誘導すな!!!
りんご みかん メロン 上記のように DIV や TABLE などで縦方向1列にデータが入っている状態で、 ドラッグ&ドロップで簡単に並べ替えができるスクリプトありますでしょうか? 並べ替えした後に決定ボタンでデータの順番を保存したいと思います。 各データには PRIMARY KEY が設定されていて、 その数値を GET で送信の予定です。例( *.php?3-5-1-2-4-6 )
960 :
959 :2006/05/28(日) 13:03:20 ID:zXmn2f1t
<script type="text/javascript"> function move ( direction, num1 ) { var input = document.getElementsByTagName("input"); var num2 = (direction=='u') ? num1-1: num1+1; var value1 = input[num1].value; var id1 = input[num1].id; input[num1].value = input[num2].value; input[num1].id = input[num2].id; input[num2].value = value1; input[num2].id = id1; } function order_submit() { var input = document.getElementsByTagName("input"); var order = new Array(); for (i=0; i<input.length; i++) { order[i] = input[i].id; } alert( order.join('-') ); } </script> <button onclick="order_submit();">決定</button><button>キャンセル</button><br> <input type="text" id=1 value="りんご" readonly><a href="#" onclick="move('d',0)">↓</a><br> <input type="text" id=2 value="みかん" readonly><a href="#" onclick="move('u',1)">↑</a><a href="#" onclick="move('d',1)">↓</a><br> <input type="text" id=3 value="メロン" readonly><a href="#" onclick="move('u',2)">↑</a><br>
961 :
959 :2006/05/28(日) 13:06:08 ID:zXmn2f1t
簡素化してありますが、現在は上記のような方法にしています。
>>959 のありましたら宜しくお願いします
963 :
Name_Not_Found :2006/05/28(日) 13:34:43 ID:zXmn2f1t
おお!これは凄いです。ありがとうございます zipに色んな種類のソートスクリプトがありました。 これを参考に作ってみようと思います。
>>959 面白そうなので洩れも作ってみたけど。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var data = ['りんご','みかん','メロン','バナナ','いちご'];
var elts = new Array(data.length);
var d0, d1, drag = null, over = null;
function init() {
d0 = document.getElementById('d0'); d1 = document.getElementById('d1');
for(var i = 0; i < data.length; ++i) {
var t = document.createTextNode(data[i]);
var e = document.createElement('div'); e.appendChild(t); elts[i] = e;
e.onmouseover = over1; e.onmouseout = out1; e.onmousedown = down1;
e.key = e.num = i; d0.appendChild(e);
}
d0.onmouseup = up1;
}
function over1() {
if(!drag) { this.style.background = 'yellow'; }
else{ d1.style.top = this.offsetTop+'px'; d1.style.visibility = 'visible'; }
over = this; return false;
}
function out1() {
if(drag!=this) this.style.background = 'none'; return false;
}
function down1() {
d1.style.top = this.offsetTop + 'px'; d1.style.visibility = 'visible';
drag = this; this.style.background = 'pink'; return false;
}
function up1() { if(drag && over && drag != over) { if(drag.num < over.num) { for(var i = drag.num; i < over.num; ++i) elts[i] = elts[i+1]; } else { for(var i = drag.num; i > over.num; --i) elts[i] = elts[i-1]; } elts[over.num] = drag; for(var i = 0; i < elts.length; ++i) { elts[i].num = i; } d0.removeChild(drag); if(drag.num == elts.length-1) d0.appendChild(drag); else d0.insertBefore(drag, elts[drag.num+1]); } drag = over = null; d1.style.visibility = 'hidden'; var s = ''; for(var i = 0; i < elts.length; ++i) s += ' '+elts[i].key; alert(s); return false; } </script> </head><body onload="init()"> <div id="d0" style="width:80px;overflow:clip"> <div id="d1" style="position:absolute;visibility:hidden;width:80px;height:1em;border-bottom:s\ olid black 2px"> </div></div></body></html>
>>966 なにその言いかた。
じゃあ、あんたの技を見せてもらおうか。使いやすいんだろうな。
>>967 Firefoxで実行するといいんだけど、IEだと使いにくいよ。
!DOCTYPE 氏ってまだいたんだな。おひさしぶりです(´・ω・`) 何年くらい住人してるんだろう。
いま手元にIEないんで… 何年いるかというと、vol.4の中程からです。 ああ過去スレ全集って偉大だ。
ホレ氏(DOCTYPE氏)は、2001年の初夏から2chのJavaScript質問スレの常連 として回答している。明確にホレ氏と判断がつくレスの最初は、2001/06/28(木) 。 しかし、ホレ氏は最初の頃から<!DOCTYPE HTML PUBLIC...>を入れていたわけではない。 ホレ氏が<!DOCTYPE ..>を入れるようになったのは、2001/07/06(金)以降のこと。 ホレ氏は、一時あまりに的確に回答のスクリプトをホレといって投げ出すので、 自演疑惑も持たれた。ホレ氏に批判的な常連もいるが、スクリプトを愛する氏の 精進とたゆまぬ姿勢とは評価されていい。
2001年からwww よく回答続けられるなあ。 ソースは相変わらずルーズみたいだけど、これも味かな。 これからもがんばってちょ。
>>971 ストーカー?(´・ω・)ヽ
ちょっと面白いw 確かに回答早いよな。初心者には助かってると思。
974 :
959 :2006/05/28(日) 17:00:48 ID:???
>>966 自分からしたら、
>>962 のと変わらないくらい凄いっすね
自分はCとかPerl・PHPとかは悩むことあんまりないけど、
Javascriptは何気に難解で逆にやりがいがありますな
でも、ほれ氏に関しては、ソースが読みづらいという重大欠点があるよね。 しかし多分本職のプログラマではないだろうし、何よりかなりすばやく 質問者にサンプルソースを見せてあげてくれるから、 読みにくいソースを解読するのくらいは質問者の義務だな
977 :
Name_Not_Found :2006/05/28(日) 17:28:43 ID:10Xq69UI
固定アドレス+「文字入力」+固定アドレス
でJAVAスクリプトでサイトに飛ばしたいのですが、
入力文字を、「A」ならそのままで問題ないですが、
「A B」のようにスペースを入れた場合、スペースを自動的に「%」に
変えたいのですが、どんな風に作ればいいでしょうか?
現在
href='
http://www.google.co.jp/ '+u.value+'/sample/index.html';
の
+u.value+ が入力場所です。どこに入れればいいですか?1単語なら正常に動いて成功するんですけど、
スペース入った場合は失敗なので、自動的にスペースを%に変えたいです。
%20
>>977 全体をURIEncodeComponent通した方が吉かと。
>>976 はい本職じゃないです。ソース汚いのは直らないので
すみません。綺麗なソースの人がいたら自分も勉強に
なるのでよろしこ。
980 :
Name_Not_Found :2006/05/28(日) 18:11:52 ID:10Xq69UI
function{
u=document.getElementById('url');
location.href='
http://www.google.co.jp/ '+u.value+'/sample/index.html';
をどのように変えればいいですか?
「A B」と入れた場合、「A%20B」と自動的に変換されて入るようにしたいのです。
わたしJAVAスクリプトがわからないので、作ってください。
981 :
Name_Not_Found :2006/05/28(日) 18:13:26 ID:10Xq69UI
983 :
Name_Not_Found :2006/05/28(日) 18:33:04 ID:10Xq69UI
勉強したいけど、まだ初歩をやってるのでそのレベルまで追いつかないし、 このスクリプトが1日でも早くほしいので、そのために1ヶ月仕事をさぼるわけにはいかない。 わからないことをわからないと言って、何が悪いんですか? これは人に作ってもらったものですが、ここの人がちゃんとやってくれましたよ。
984 :
Name_Not_Found :2006/05/28(日) 18:39:14 ID:10Xq69UI
このスクリプトでやってみましたが、自動的に「%20」に変換されるみたいです。 わたしの要求するものは、自動的に「%20」ではなく「%」に変換してほしいので、 失敗でした。
あなたの1ヶ月分の仕事を節約するだけの 報酬があるならやってあげましょう。 つかさ、5時間本よみゃできるからさ、そうしとき。 自分の能力に余る仕事をもらっちゃった自分の責任。 人から与えられた課題なら勉強するのも仕事のうち。 教えてもらえたのはたまたま運が良かっただけだ。
ってか A はいいけど B に数字 (
あれ?途中で消えた('A`) 『A はいいけど B に数字 (「2000」とか)入れたらどうなるか分かって言ってるのかしら。』
分からないのを分からないというのは悪くないよ。こちらも 丸投げな回答はしないと言っているだけだからあしからず。
990 :
Name_Not_Found :2006/05/28(日) 18:55:02 ID:10Xq69UI
一番近いんですが、%20 になってしまいますね。「20」が余分でエラーになってしまいます。 2000 にしても大丈夫でした。 %になる方法を検索で考えます。
>>990 本当に「 」を「% 」にしたいのなら
location.href =(現在の文字列).replace(/ /g, '% ');
しかしGoogleってそんな仕様だっけ?
あのさあ、2ちゃん初心者かよ。最初の質問はageてくれていいけど 次からはsageるんだよ。ageとsageが分からないなら2ちゃんの入口に 説明あるだろ。
993 :
Name_Not_Found :2006/05/28(日) 18:59:27 ID:10Xq69UI
たった5時間でできるもんなんですか? びっくりですね。
995 :
Name_Not_Found :2006/05/28(日) 19:03:36 ID:10Xq69UI
encodeURI → %20 失敗 decodeURI → %20 失敗 encodeURIComponent → %20 失敗 decodeURIComponent → %20 失敗
alert(996);
alert(997);
alert(998);
999 :
Name_Not_Found :2006/05/28(日) 19:15:21 ID:10Xq69UI
alert(999);
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。