+ JavaScript の質問用スレッド vol.68 +

このエントリーをはてなブックマークに追加
━━━本スレに書く事を許される者は以下の通り━━━━━
 一、JavaScriptはJavaとは別物であると知っている者
 一、自ら学んでJavaScriptコードを書く意思を持つ者
 一、ユーザに迷惑となるスクリプトを書かない者
 一、質問を分かる日本語できちんと説明できる者
 一、トラブルを再現する最小限のサンプルを貼れる者
 一、テンプレ+FAQ>>2-10/過去ログ/関連資料を読める者
━━━━━━━━━━━━━━━━━━━━━━━━━━━
自力で書く気がない人は他のスレへ(テンプレ末尾参照)。
前スレ http://pc11.2ch.net/test/read.cgi/hp/1223618153/l50
[必読]過去スレ全集 http://wing2.jp/~mirrorhenkan/2ch/javascript/
  (ずべて同一)  http://www2.atpages.jp/mirror/2ch/javascript/
          http://usamimi.info/~mirrorhenkan/2ch/javascript/
[必読]ガイド http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide
(GuideをReferenceに→Netscape版言語仕様。多くの実装が準拠:ECMA-262.ed3)
FAQ・注意・過去ログ・仕様書・関連資料・関連スレ>>1-10
【質問を書く上で】
1)ユーザ(閲覧者)に迷惑がかかる性悪スクリプトは回答されない。
 例: 別窓開きまくり、閉じる/戻るのを妨害、全画面占有、etcは最悪。
 答えさせようと「分からねえんだろ」と煽っても無駄(過去スレが証明)。
2)言葉でぐだぐだ書かずにソースを貼る、ただし要点を整理して。
 そのまま貼って動かせると試してもらいやすい(ただし回答者に連結さすな!)
 長い(1レスに入らない)場合はアップロードしてURIを貼る。
3)初心者という言葉は危険なので使わない方がよい。
 初心者を言い訳に自力で調べない/考えない奴が最悪に嫌われる。
4)自分で調べたこと/試したこときちんと書く(調べもしない奴は最低)。
 ただ「動きません」「エラーです」は何も情報がないため嫌われる。
 エラーは「どの行で何のエラー」を書く(ブラウザをそのように設定すれ)。
 ブラウザの設定すらできんヤシはFFxのJavaScriptコンソールを使え!!!
 OS、ブラウザ、バージョン、うまく行かない条件を明記しエラー再現可能に。
5)特に古いバージョン限定の時は必ず明記! 回答もチグハグになり回答者に2度
 手間を食わせる可能性大(現行Ver.:IE5.5-6、N6-7、Opera7-8)
6)どういう時にどういう動作をさせたいのかを脳内にとどめずきちんと書く。
 例:「自動ポップアップしたい」←どういう場合(マウスオーバー、クリック、
 ボタン押し、select選択)に何(別窓、レイヤー、その他)が出るのか書け!
7)質問はまっとうな(他人に理解できる)日本語で。
 前項の例に限らず、他人に理解できない質問文は煽られるだけで時間の無駄
【FAQその1】
Q1. 開いた別窓/フレームの内容にアクセスできないのですが…
A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。
Q2. JavaScriptでローカルファイルを読み/書きたいのですが…
A2. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに…
Q3. 同じタグの中でonclick="foo()"とonclick="bar()"を同時に使いたいのですが…
A3. セミコロンで複数の文を区切れます。onclick="foo();bar();"としましょう。
Q4. document.write(...)でページ内容を追加したいのですが…
A4. 一度ページ表示完了後にwrite()すると内容はクリアされちゃいます。
 部分的に内容変更するには(1)他フレーム/iframe/別窓への表示、
 (2)textarea等への表示、(3)DOMでノード挿入、(4)innerHTMLのどれかで。
 innerHTMLは非標準ですがIE、Opera、Safari、Gecko(N6/N7/Firefox等)で対応済。
Q5. table/tbody/tr要素のinnerHTMLを書き換えるのがうまく行かないのですが…
A5. IEはそれらの要素のinnerHTMLは変更不能。DOMを使って書き換えるか
 <div><table>...</table></div>とでもしてdivのinnerHTMLを書き換えましょう。
Q6. DOMでtable要素にtr要素を追加しても表示されないのですが…
A6. DOMでは(XHTML 1.x除く)tbody要素にtr要素を追加する必要があります。
 tbody要素はtbodyタグを書いていなくても自動的に作成されます。
 またはtable.insertRow()/tbody.insertRow()を使いましょう。
Q7. 変数w1、w2…を順にループで(番号をiに入れて)設定/参照したいのですが…
A7. グローバル変数はwindowのプロパティだからwindow['w'+i]を読み書きすれ。
Q8. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A8. 「document.forms.myform.elements[変数名].value」でどぞ。
 JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
Q9. Aタグのonclickで動作指定してるのですが時々動きません…
A9. 「onclick="...;return false"」としないとページ移動しちゃうから。
【FAQその2】
Q10. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A10. 取得には document.defaultView.getComputedStyle() を使う必要あり。
 IEでは要素オブジェクトのプロパティcurrentStyleを使う。
Q11. 100*1.15の結果が114.999…998となってしまうのですが…
A11. コンピュータの実数計算は全て近似値だと思え。誤差が嫌なら整数で計算。
Q12. 任意のデータをサーバ(別鯖ではない)から取り寄せたいのですが…
A12. IE7/Gecko/Opera/Safariのnew XMLHttpRequest()、IEの
 new ActiveXObject("Msxml2.XMLHTTP.6.0") (または"Msxml2.XMLHTTP.3.0")
 を使えばできます。古いブラウザだと隠しフレームに読むなどのワザが必要。
Q13. setAttribute("class","foo")、setAttribute("onclick","bar()")が動きません…
A13. IEではそれは不可。「obj.className="foo"」「obj.onclick=bar」でどぞ。
 複数の関数を呼びたいときは obj.onclick=function(){foo();bar();};
 という風に無名関数を作りましょう。中に書かれたコードが実行されます。
Q14. タイマーやイベントハンドラに設定するコードにthisを含めたいのですが
 「"...this..."」とか「function(){...this...}」ではうまく行きません。
A14. それらが実行されるときはthisは別のもの(window等)を指してしまってる。
 「function(x){return function(){...x...};}(this)」のようにthisを別の変数に
 束縛しその変数を使って。循環参照によるメモリリーク問題あり(この項記述検討中)
Q15. 文字列の置き換えをするときにコードを使いたい(Perlのs///e)のですが…
A15. string.replace(/.../,function(str,p1,p2,...,offset,s){...})としましょう。
 正規表現にマッチした文字列がreturnで返された文字列に置き換えられます。
 各引数はstrがマッチした部分文字列、p1,p2,...が1番目、2番目、…の()の中身、
 offsetがマッチした位置、sが置き換え前の文字列全体になります。
Q16. input type="file"の値を設定(参照)できないのですが…
A16. セキュリティ制約のため設定は絶対に不可。参照はブラウザにより不可。
Q17. getElementById('ID名')や$('ID名')で要素が取れないのですが…
A17. コード実行時点でHTMLがそこまで読まれてない。onload中でやるとか。
【主張の対立:他人の嗜好は尊重。損得の議論は歓迎】
・仕様を読む:回答者なら仕様の該当部分は読んでいるべき。質問者でも
 仕様を読まずうだうだ書く奴は注意されて当然。読み間違いは生温く指摘。
・英文文書:翻訳の努力を惜しむべからず。 読めないなら和訳を探し、
 なければあきらめよう。翻訳サイトを知っている人はうまく誘導してあげて。
・IE専用/アンチIE/クロスブラウザ:「○○は不要」「○○だけであと
 は無視」は不毛。質問者が分かって選択していれば尊重する。無知か
 らIE専なのは指摘してあげると親切。
・標準準拠 vs 使えればよい:標準はブラウザが変わっても維持される
 可能性大。非標準機能も損得を分かった上で使うならよい。
・MS vs アンチMS:MS固有の情報はMSのサイトで見ないと分からないが、
 そこだけ見ているとIE専になる。あとは上2件と同様。
・別窓、イベント抑止など:一般には迷惑スクリプトだが質問者に正当
 な理由があることも。尋ねて分かってないようなら煽っても可(w
・innerHTML vs DOM:それぞれに長所/弱点があるので理解した上で選
 択するべき。一概にどちらは駄目、とは言えない。
・on属性 vs addXXX():ハンドラが1つだけと分かっていればon属性
 で簡単にハンドラを設定もあり。上書きが心配ならaddXXX()。
【チュートリアルサイト・サンプルサイト】
規格が読めないならまずはチュートリアル。サンプルサイトも沢山ある。
(とほほは間違いが多いためこのスレでは批判的意見が多い)
(以下は精選すべきとの議論あるが進んでいないので玉石混淆)
MetaGraphic Cell
http://www2u.biglobe.ne.jp/~oz-07ams/prog/
どら猫本舗のリファレンスカウンター
http://www.doraneko.org/
はぎさんちのページ Mozilla's DOM Sample Project
http://cgi.din.or.jp/~hagi3/JavaScript/JSTips/Mozilla/mds.cgi
オブジェクトなJSの基礎講座
http://chaichan.web.infoseek.co.jp/src/2ndthema.htm
【関連スレ】
板違い、スレ違いに注意!サーバ側での処理はWebProg板へどぞ!
Webサイト制作初心者用質問スレ Part 205
http://pc11.2ch.net/test/read.cgi/hp/1230131512/l50
CSS /* CSS・スタイルシート質問スレ 上級者用【71th】 */
http://pc11.2ch.net/test/read.cgi/hp/1205680031/l50
CSS/DHTMLバグ辞典スレッド 【第5版】
http://pc8.2ch.net/test/read.cgi/hp/1144494359/l50
役に立つ書籍は? 4冊目
http://pc11.2ch.net/test/read.cgi/hp/1172823674/l50
1行javascriptプログラミング
http://pc11.2ch.net/test/read.cgi/hp/1066750037/l50
WSH(・∀・)スレッド! Part 3
http://pc11.2ch.net/test/read.cgi/tech/1208948450/l50
8Name_Not_Found:2008/12/30(火) 22:58:11 ID:???
9Name_Not_Found:2008/12/30(火) 22:58:43 ID:???
10Name_Not_Found:2008/12/30(火) 22:59:17 ID:???
11Name_Not_Found:2008/12/31(水) 01:30:56 ID:???
テンプレ乙!
12Name_Not_Found:2008/12/31(水) 01:48:29 ID:???
1おつ
13Name_Not_Found:2008/12/31(水) 02:23:46 ID:???
>>9
日本語でおk
14Name_Not_Found:2008/12/31(水) 14:25:16 ID:???
複数のラジオボタンを順番に選んでいって
最後に「診断」ボタンを押すと、何かしらの結果が出る診断テスト系のページを作ってみたいです。

単純に診断ボタンを押したら、フォームにテキストが表示されたり
innerHTMLでページを書き換えることならできそうなのですが、
多くのページでは、診断ボタンを押すと、カチッと別ページに移動する音がして
そこに結果が表示されています。
これはどのようにやっているのでしょうか?
15Name_Not_Found:2008/12/31(水) 15:34:53 ID:???
例えば、a.htmlにインランフレームがあって、そこにb.htmlが表示されていて、
b.htmlのjavascriptには、test_b()っていう関数が定義されてる場合。
a.htmlのjavascriptからtest_b()を実行するのはどうすればいいのでしょうか?
試しに、a.htmlのscriptに
function test_a(){
test_b();
}
ってaとbのページが同時に表示されているしできるかなと思ってやってみたんだけどダメでした。
test_b();の前に何か指定してやるものがあるのか、
それともまったく別のやり方があるのか
よろしくお願いします。
16Name_Not_Found:2008/12/31(水) 16:06:30 ID:???
いろいろやってたら
parent.フレーム名.test_b();
でいけました
17Name_Not_Found:2008/12/31(水) 17:02:32 ID:???
まぁフレームごとにwindowオブジェクトがあるからな
1815,16:2008/12/31(水) 17:12:51 ID:???
ちょっと追記です。
parentで呼び出せるのはいいのですが、
iframe src="b.html"
        ↑
     ここが親子関係?のない階層に変わってしまうと上手くいきませんでした

具体的には、b.htmlをa.htmlがあるフォルダの、一つ上のフォルダにbフォルダを作った場合、iframe src="../b/b.html"のときです。
これとは別で、a.htmlのあるフォルダにbフォルダを作って、iframe src="b/b.html"のときは成功しました。
解決方法があれば教えてください。
19まとめ:2008/12/31(水) 19:44:46 ID:???
sample
┣a
┃┗a.htm
┣b
┃┣b.htm
┃┣c
┃┃┗c.htm

【b.htmからparent】
操作成功 c/c.htm
操作失敗 ../a/a.htm
20Name_Not_Found:2008/12/31(水) 20:21:03 ID:???
ディレクトリ(フォルダ)階層を上にあがるのはセキュリティ上の
制約があるから。その制約を緩めるのはdocument.domainでぐぐれ。
21>>19:2008/12/31(水) 20:45:54 ID:???
>>18と中の人が違う>>19です

<HEAD></HEAD><BODY>
<A onClick="parent.A.cd(1);">a</A>
<A onClick="parent.B.cd(1);">b</A><BR>
<IFRAME src="../a/a.htm" name="A"></IFRAME>
<IFRAME src="b.htm" name="B"></IFRAME>
</BODY>

ブラによるかもしれませんが
(注意:ローカルならば)上で各IFRAME内のcd()が実行できます
2218:2009/01/01(木) 02:07:39 ID:???
>>20-21
なるほど、素直に下の階層をつかておいた方がいいみたいですね
ありがとうございました
23Name_Not_Found:2009/01/01(木) 19:54:37 ID:???
createElementでtrやtdタグを作る時は、使用回数だけtr、tdを作成しなければなりませんよね?
(tr、tdを一つ作り、その使いまわしは出来ませんよね?という質問です)
24Name_Not_Found:2009/01/01(木) 21:34:06 ID:???
winXp,IE6ですが、今書き込んでるこの機材では
javascript:window.resizeTo(800,600);
とアドレスバーに打ち込むとそのとおりウィンドウサイズが変わるのですが、
別の借り物のPC(やはりwinXp,IE6)では「無効な構文エラー」となって何もできません。
考えられる原因をお教えいただければありがたいです。よろしくお願いします。
25Name_Not_Found:2009/01/02(金) 06:59:43 ID:???
>>23
cloneNode
26Name_Not_Found:2009/01/02(金) 10:40:21 ID:???
>>25
そんな便利なものがあったんですね・・・
ありがとうございます。
27Name_Not_Found:2009/01/02(金) 16:56:03 ID:???
>>24
JavaScriptが無効になってるんじゃないの?
28Name_Not_Found:2009/01/02(金) 21:08:22 ID:???
それぞれ独立した動きをする↓のスライダーを2つ以上作りたく、
http://developer.yahoo.com/yui/examples/slider/slider-ticks_clean.html


↓のようにしたのですが、
http://a-draw.com/uploader/src/up8322.zip.html
i =0;
i=1;
で、slider[0],slider[1]
それぞれのスライダーが動いてくれるのですが、
片方が動かない。

for(i =0;i<2;i++){}
だと、両方とも動いてくれません。

どのようにしたらいいのでしょうか?よろしくお願いします。
29Name_Not_Found:2009/01/02(金) 21:10:20 ID:???
>>28直リン禁止でした。すみません。
http://a-draw.com/uploader/upload.html
up8322.zipです。
30Name_Not_Found:2009/01/03(土) 02:58:20 ID:???
>>28
めんどくさいからちゃんと呼んでないけどとりあえず

<script type="text/javascript">
(function() {
(略)
})();
</script>

この書き方だと(ライブラリ次第だけど)<script>の外に与える影響は低いから
<script>を二つ並べてidだけ変えてみれば動きそう。
31Name_Not_Found:2009/01/03(土) 03:05:05 ID:???
ごめん>>30は取り消し。
Event.onDOMReadyが一個しか登録できない仕様で
上書きが起きてるとかそんな感じがしてきたけど
packedなコードなんて読みたくないw
32Name_Not_Found:2009/01/03(土) 13:55:01 ID:???
javascriptだけでradioボタンを作りたいのですが動作が上手くいきません。

var tag = document.createElement('input');
tag.setAttribute('type','radio');
tag.setAttribute('id','index');
tag.setAttribute('name','index');
tag.setAttribute('value','tes');
var text = document.createTextNode('tes');

var tag2 = document.createElement('input');
tag2.setAttribute('type','radio');
tag2.setAttribute('id','index');
tag2.setAttribute('name','index');
tag2.setAttribute('value','tes2');
var text2 = document.createTextNode('tes2');

以上が構文なのですが、tag、tag2どちらにチェックを付けても
indexの値は必ずtagの方になってしまいます。
どこか間違っていますでしょうか?
33Name_Not_Found:2009/01/03(土) 14:46:06 ID:???
>>32
id が重複。
34Name_Not_Found:2009/01/03(土) 14:49:32 ID:???
>>32
複数の要素に同じIDつけたら不正。
35Name_Not_Found:2009/01/03(土) 15:40:29 ID:???
idは重複しないようにしないといけないんですね・・
nameと混同していました。
どうもありがとうございます。
36Name_Not_Found:2009/01/04(日) 03:15:55 ID:???
外部jsファイルでHTML側で読み込まないものと読み込むものがあるのは何故ですか?
jsファイル自体は公開ファイルでパスなど書き換えの必要がないものの為、何もいじっていません。
同じディレクトリに入れたAは読み込まずBは読み込んでいます。
内容はロールオーバーで、
読み込まない方はimg属性にclass定義し、hsrc + オーバー時の画像名をHTML側に渡すもの。
読み込んだのはプリロードでHTML側にimgchangeをそれぞれ書いたもの。
読み込まなかった方が読み込みたい方なのでものすごい凹んでいます。
どうぞよろしくお願いします。
37Name_Not_Found:2009/01/04(日) 03:27:38 ID:???
>>36
>読み込まなかった方が読み込みたい方なのでものすごい凹んでいます。
38Name_Not_Found:2009/01/04(日) 03:28:26 ID:???
単に鯖が重いだけかもね
個人的に人様の鯖のファイルを読み込むのは
ちょっとどうなんだろうって思う
たとえ作者がそうしろと言ってても

そんだけの情報じゃまともな回答は期待できないと思うよ
39Name_Not_Found:2009/01/04(日) 06:00:50 ID:???
文字コードとか。
40Name_Not_Found:2009/01/04(日) 07:37:47 ID:???
>>36
そのJSファイルのURIをブラウザのアドレスバーで直打ちして
両方とも読み込まれる(普通に表示される)かどうかチェックしてみて。
41Name_Not_Found:2009/01/04(日) 12:16:56 ID:???
質問していい?

他人が作ったソフトなんだけど、
SQLitemanagerって名前のソフトなんだけど、
自分が作ったデーターベースのファイル名とパスを指定して
サーバーにアップロードするって機能があって、
そこでたぶんjavascriptのコードだと思うんだけど、
どこにでもあるような、ごく普通のファイルアップローダーとかと
見た目は同じで、ボタンを押すと、自分のローカルのハードディスク内の
ディレクトリが表示されて、そこからお目当てのファイルを選択して、
って流れなんだけど、どうもIEとfirefoxで挙動が違う。

これってバグなんだよね?IEだとファイルをクリックするとパスが
ちゃんと表示されるが
C:\xampp\htdocs\src\php\aaa.db
みたいの。

ところが、同じことをfirefox上でやると、
aaa.db
しか表示されないの。これってjavascriptのコードに
問題があると思うんだけど?
42Name_Not_Found:2009/01/04(日) 12:32:03 ID:???
JS からパスにアクセスできるわけねーだろ
43Name_Not_Found:2009/01/04(日) 13:58:41 ID:???
>>41
お前はJSの仕様をよく読んだ方がいい
JScriptと混同すんなよ。ActiveXとか使えないからな。
44Name_Not_Found:2009/01/04(日) 19:08:56 ID:???
>32
>indexの値
45Name_Not_Found:2009/01/04(日) 20:48:47 ID:???
>32
<FORM name="info">
<SCRIPT><!--
function RC(){alert("選択肢は"+document.info.index.length+"個")
for(i=0;i<document.info.index.length;i++){dii=document.info.index[i];
if(dii.checked){
alert([i]+"はon/"+dii.checked+"でvalue="+dii.value)
}else{
alert([i]+"はoff/"+dii.checked+"でvalue="+dii.value)
}
}
}
//--></SCRIPT>
<INPUT type="radio" name="index" value="tes1">a
<INPUT type="radio" name="index" value="tes2">b
<INPUT type="radio" name="index" value="tes3">c
<BR><A onClick="RC()">test</A>
</FORM>

こんな感じで
4636:2009/01/04(日) 20:49:10 ID:???
36です。
レス下さった>>37-40の皆さん、どうもありがとうございます。

>>37
失礼な言葉使いで申し訳ありませんでした。

>>38
書き方が悪かったですね。
公開者のサイトからDLできるようになっており、スクリプトはDLして自分が契約したレンタル鯖におきました。
試しに公開者の動作サンプルに読み込まれてるスクリプトのソースも確認しましたが、DLしたものと全く同じでした。

>>39
HTMLはUTF8にしてあります。
スクリプトに文字コード設定が必要とは知りませんでした。
少し調べてみます。
HTML側にRSS用にXML記述があるのですがそれは関係ないでしょうか?

>>40
URIというのがよく分からず検索してみたらURIエンコードというのがいくつかありました。
調べて試してみます。
ブラウザーで普通に表示されれば問題ないということでしょうか?
47Name_Not_Found:2009/01/04(日) 21:01:37 ID:???
>>46
外部JSがJSライブラリを使用しないと動かない付属部品で
それ単体だとエラー起こして意味がないとか
48Name_Not_Found:2009/01/04(日) 21:14:34 ID:???
/*
| ここはそれぞれにあわせて
| 書き直してください
*/

みたいなのを見逃してたり
49Name_Not_Found:2009/01/04(日) 21:37:06 ID:???
動作サンプルは動くの?
50Name_Not_Found:2009/01/06(火) 20:16:52 ID:???
質問です

var argument = location.search;
var param = argument.slice(1).split("/");
a = param[0];
b = param[1];
c = param[2];

こんな形で3つのサーチデータを読み込もうとしているのですが
test.html?1/2 のように足りなかった場合

if(c == [足りなかった場合にcに入るもの]){エラー処理};

のようにやりたいのですが上手くいきません
足りなかった場合にはcに何が入っているのでしょうか?
もしくは他の方法で判別できるのでしたらその方法を教えてください
51Name_Not_Found:2009/01/06(火) 20:19:24 ID:???
if(typeof(c) == "undefined")
52Name_Not_Found:2009/01/06(火) 20:38:38 ID:???
>>51
動きました!
すばやい回答ありがとうございます
53Name_Not_Found:2009/01/06(火) 23:45:34 ID:???
atob()、btoa()の分かりやすい動作サンプルってないでしょうか?
54Name_Not_Found:2009/01/06(火) 23:51:19 ID:???
http://mobile-search.yahoo.co.jp/search?p=2ch&carrier=imode&module=mobilesite&b=1&safe=1&left=open
このyahooの検索結果から、サイトのurlを取得したいのです。例えばこのurlだと、
http://i.2ch.net/
http://www.dblog.jp/2ch2ch2ch/
http://2ch.kaomoji.info/
などです。どっから追ったらいいでしょうか・・
55Name_Not_Found:2009/01/06(火) 23:55:08 ID:???
>53
たとえば

a=new Array("","a",1+2);
a[0]=String(typeof(a))+"<BR>";
a[1]=String(typeof(a[1]))+"<BR>";
a[2]=String(typeof(a[2]))+"<BR>";
a[3]=String(typeof(a[3]));
document.write(a.join(""));

みたいな
56Name_Not_Found:2009/01/07(水) 00:08:17 ID:???
xamppをインストールした環境で

html ⇒ *.js ⇒ php

php ⇒ *.js ⇒ html

と、Ajaxを利用してphp内で出力した値をinnerHTMLとして書き換えるロジックを書いて
いるのですが、全角文字を入力すると文字化けしてしまいます。
mb_convert_stringとか色々試しているんですけどどうすれば直りますか?

※htmlページ内は、sjisに文字コードを明示しphpを含むソースファイルはサクラエディタ
からsjisとして保存済です。

57Name_Not_Found:2009/01/07(水) 00:10:40 ID:???
>>56
UTF-8統一
58Name_Not_Found:2009/01/07(水) 00:14:48 ID:???
>>57
ありがとうございます。
UTF-8にして試してみます。
でも個人的にsjisが好きなんですよね。
なぜにutf-8が使われているのか不思議です。
59Name_Not_Found:2009/01/07(水) 00:51:07 ID:???
何故にトラブる Shift_JIS を敢えて使うのか
60Name_Not_Found:2009/01/07(水) 01:11:37 ID:???
↑日本人だから。
61Name_Not_Found:2009/01/07(水) 01:31:59 ID:???
日本語しか使わないならunicodeの恩恵がないと思っているあたり救いようがない
62Name_Not_Found:2009/01/07(水) 01:41:11 ID:???
そのうち Shift_JIS がクソに思えてくるよ
MySQL 使ってるなら特に
63Name_Not_Found:2009/01/07(水) 14:18:11 ID:???
質問です。
lightwindowのキャプション内にURLリンクを設置したいんですけど
lightboxのようにうまくいきません。一体どうすればよろしいでしょうか。
64Name_Not_Found:2009/01/07(水) 18:54:33 ID:???
>>62
しかしながら携帯向けは未だにShift_JISが基本だからな。

まあSBみたいに部分的にutf-8を強制するクソキャリも有るが、3Gのみに
なれば解決するとは思うけど。
65Name_Not_Found:2009/01/08(木) 00:25:07 ID:???
AjaxってUTF-8じゃないといけないんじゃなかったっけ?
66Name_Not_Found:2009/01/08(木) 09:12:49 ID:???
XML でも指定すれば UTF-8 以外も使える。
67Name_Not_Found:2009/01/08(木) 11:14:08 ID:???
勝者 >>66
68Name_Not_Found:2009/01/08(木) 12:10:36 ID:JipimcGL
AとBのinputに数字を入力するとボタンを押さなくても勝手に計算してくれるようにしたいのですが
ヒントをいただけないでしょうか?
69Name_Not_Found:2009/01/08(木) 12:24:08 ID:???
>>68
onchange
70Name_Not_Found:2009/01/08(木) 12:24:49 ID:???
onkeydown
71Name_Not_Found:2009/01/08(木) 12:25:15 ID:???
onkeyup とか onblur あたりで
でも IME オンの場合にビミョーな動作になると思うよ
72Name_Not_Found:2009/01/08(木) 12:28:53 ID:???
<INPUT type="text" onChange="Calc();">
73Name_Not_Found:2009/01/08(木) 12:49:03 ID:JipimcGL
ありがとうございました
チャレンジしてみます
74Name_Not_Found:2009/01/08(木) 12:53:49 ID:???
<FORM onChange="alert(code1.value+'/'+code2.value);">
<INPUT type="text" name="code1" value="tes1"><BR>
<INPUT type="text" name="code2" value="tes2"><BR>
</FORM>
75Name_Not_Found:2009/01/08(木) 13:21:50 ID:ZFYVDkQ0
変数h,a,cに整数を代入しました
alert(eval(h)+eval(a)+eval(c));
このような数式を書いたのですがなるべくevalを複数書かなくて済む方法はございませんか?
76Name_Not_Found:2009/01/08(木) 13:33:33 ID:???
>>75
alert(h+a+c);
7775:2009/01/08(木) 14:25:32 ID:???
getで得た整数をh,a,cに代入すると文字列となってしまい
evalを書かないと計算ができませんでした
78Name_Not_Found:2009/01/08(木) 14:53:12 ID:???
alert((h-0)+(a-0)+(c-0));
79Name_Not_Found:2009/01/08(木) 14:56:27 ID:???
alert((h+0)+(a*1)+(c/1));
80Name_Not_Found:2009/01/08(木) 15:01:57 ID:???
+は無理じゃないか?
8175:2009/01/08(木) 15:03:01 ID:???
計算式の形は壊したくないので素直にevalを使うしかなさそうですね
すみませんでした
82Name_Not_Found:2009/01/08(木) 15:03:12 ID:???
>>77
関数なりメソッドで値を返すときに整数にすれば?
83Name_Not_Found:2009/01/08(木) 15:14:57 ID:???
>>58
ワロタww
84Name_Not_Found:2009/01/08(木) 17:22:59 ID:???
h="1",a="2",c="3";
for(i=1,Num=new Array(0,h,a,c);i<Num.length;i++){
Num[0]+=eval(Num[i]);
}
alert(Num[0]+"/"+h+a+c);
85Name_Not_Found:2009/01/08(木) 17:27:35 ID:???
ary = eval(new Array(h,a,c));
alert(h+a+c)
86Name_Not_Found:2009/01/08(木) 17:36:54 ID:???
>85
ブラウザ次第なんだろうか
87Name_Not_Found:2009/01/08(木) 17:49:28 ID:???
ぜんぶ文字列に置き換えた方が早い

h="1",a="2",c="3";
alert(eval(h+"+"+a+"+"+c));
88Name_Not_Found:2009/01/08(木) 18:32:01 ID:???
h="1",a="2",c="3";
alert(eval(Array(h,a,c).join("+")));
89Name_Not_Found:2009/01/08(木) 18:44:26 ID:???
みんながevalばかり書いてるからそれなりの理由があるのかと思ったけど、
>>75の形ならparseIntでもいいじゃん
evalなんて滅多なことじゃ使わないってここで習って、確かに今までほとんど使ったことない
90Name_Not_Found:2009/01/08(木) 18:45:39 ID:???
h="1",a="2",c="3";
alert(eval([h,a,c].join("+")));
91Name_Not_Found:2009/01/08(木) 18:48:36 ID:???
ちょっと気になったんだが>>75の計算式が複雑な場合
alert(a+(b*100)/5-10*c);みたいなときはeval使うしかないのかな?
92Name_Not_Found:2009/01/08(木) 18:56:50 ID:???
>>91
それならevalいらんだろ・・・
93Name_Not_Found:2009/01/08(木) 18:57:00 ID:???
>>89-91
evalを使うべきでないと思うね。別に複雑だって数値を変数に入れて
あとはそのまま書けばいいんじゃないの。
94Name_Not_Found:2009/01/08(木) 19:07:43 ID:???
変数の中が文字列型整数だった場合はevalをしないと無理だね
他に方法が思いつかん
phpみたいにintvalとかで整数に変換できればjsも便利なんだけどね
95Name_Not_Found:2009/01/08(木) 19:16:04 ID:???
>>94
parseIntでおk
式が文字列だった場合はeval
96Name_Not_Found:2009/01/08(木) 19:22:22 ID:???
だからphpのintvalはJavaScriptではparseIntになるわけでしょ。
97Name_Not_Found:2009/01/08(木) 19:25:55 ID:???
parseIntで>>75の式を書くとしたら
どういう形になりますか?
98Name_Not_Found:2009/01/08(木) 19:37:20 ID:???
parseInt(変数)は便利だけど配列に一気にできればのう
9975:2009/01/08(木) 19:38:21 ID:???
>>97
alert(eval(h)+eval(a)+eval(c));のevalをparseInt変えるだけです(´・ω・`)
100Name_Not_Found:2009/01/08(木) 20:39:57 ID:???
>>99
わかってるのかよw
何でparseIntを話に出さないんだ
101Name_Not_Found:2009/01/08(木) 20:59:07 ID:???
足し算だけなら0から引いていって最後に-1かけたら
102Name_Not_Found:2009/01/08(木) 23:10:11 ID:???
0を引くって良く使うけど判り難い?
103Name_Not_Found:2009/01/08(木) 23:19:39 ID:???
そもそも何でevalってつかったらダメなの?
なんでこんなにevalって嫌われてるの?
104Name_Not_Found:2009/01/08(木) 23:20:50 ID:???
またこの流れか
105Name_Not_Found:2009/01/09(金) 00:18:17 ID:???
別にどっちでもいいんじゃない?
変わった事しないと発見なんてないし
失敗も成功も経験した方がよっぽど身に付く

相手が間違えてる場合だってあるし
コードを短くしたい為とか
あえてやりたい人もいる
106Name_Not_Found:2009/01/09(金) 02:18:00 ID:???
alert((+h) + (+a) + (+c));
107Name_Not_Found:2009/01/09(金) 07:45:17 ID:qrcNeHTF
質問なのですが、リンクでサブウインドウを開きたいのですが
そのサブウインドウ内のロケーション表示欄が非表示になりません(IE7です)。
ネット上で調べてみると「新しいブラウザではセキュリティの観点で非表示にならない」
のような事が書かれていたのですがURLを見せなく無い場合、
何か対処方法ありませんか?

それと、リンクからサブウインドウを開いた場合じゃなく、
URLを直接入力してページを開いた場合にも
メニューバーなど表示しないように設定する事ってできないでしょうか?
108Name_Not_Found:2009/01/09(金) 08:12:48 ID:???
>>107
最新IEではできないし、仮にそんな方法があったとしても、
それは発見者がM$にバグ報告して修正されるのを待つべきものだから、
今ここで誰かがあなたにその方法を教えたとしても、
1か月もすりゃ使えなくなるから意味がない。



どーしてもやりたいなら、ユーザーに、
それができる古いブラウザ使ってもらうようにお願いすればいいんじゃね?w
「何で出来なくなったのか」を考えないバカなユーザーなら従ってくれるかもよ。
もちろん、そんなお願いをするなら「こいつバカだw」と晒されるのを覚悟した上でな。
109Name_Not_Found:2009/01/09(金) 08:15:16 ID:???
>>103
evalは任意のプログラムを実行できる。だから入力欄にユーザが
本来のプログラムの動作内容を勝手に変更するコードを打ち込むと
それがevalで実行されてしまうようなことが起こる。これは
一般のプログラムでは絶対に許されないこと。

JavaScriptの場合、bookmarkletを使えば同じことができるので
他の言語のプログラムほど「いけない」とは言えないという議論も
あり得るけど、上のようなことがあるので普通は使わないようにしてる。
110Name_Not_Found:2009/01/09(金) 10:25:18 ID:???
>>107
フィッシング対策のための制約。
URLを見ないのは愚かだし、URLを見せないのも愚か。
>>107がフィッシングをやるつもりじゃなくても、ブラウザ制作者は
だれもそれを保証してやることなんてできないから一律禁止。
111Name_Not_Found:2009/01/09(金) 11:49:47 ID:???
evalで実行したらあぶないコードなんてないでしょ
112Name_Not_Found:2009/01/09(金) 12:11:40 ID:PAV6//oT
c:\text.htmlなどのオフラインでhtmlをjavascriptで書き換えたいのですが
ajaxはオンラインでしか書き換えられないと知りました
そこでinnerHTMLかDOMを使用して書き換えたいのですが
両者ともオフラインで動作しますか?
113Name_Not_Found:2009/01/09(金) 12:37:10 ID:???
>>111
サーバにデータを保持するようなシステムで
誰かの入力値を eval() するような作りになっていたら?
114Name_Not_Found:2009/01/09(金) 13:01:57 ID:???
>>112
ブラウザ仕様によるかもしれない
ウチのは問題なくできる
115Name_Not_Found:2009/01/09(金) 13:08:10 ID:???
>>113
サーバでevalするならアホ。
evalだろうがなんだろうが、クラからのデータをノーチェックで
受け取るサーバもアホ。

そういうアホを除くと、クラでevalして困るのはクラ自身。
たしかにevalして危ないコード自体は存在してる。
人間の操作が必要とはいえ、XSSそのものだから。
でも>>109も言ってるように同じことがbookmarkletで出来てしまうから
evalを制限したところでどうにもならない。

evalがなんでダメだと言われてるのかをわかった上で
ブラウザ上のjavascriptで使うなら、好きにすればいい。
116Name_Not_Found:2009/01/09(金) 13:18:36 ID:???
いまevalが熱い2009年
117Name_Not_Found:2009/01/09(金) 14:17:16 ID:???
たとえばさ、「このページのこの入力欄にこういうものを
コピペしてボタン押すとこんな便利になります」なんていうのを
流されて、その通りやったクラがひどい目にあうとするよね。
そりゃクラもあほなんだけど、そのページ作った奴もよくない
と思うのね。bookmarkletより敷居が低くなるからね。
118Name_Not_Found:2009/01/09(金) 14:26:45 ID:???
・可読性が低くなる
・処理速度が遅い
・セキュリティ

この辺かな 少なくとも積極的に使う理由は見当たらない
119107:2009/01/09(金) 14:49:42 ID:qrcNeHTF
>>110
確かにそうなんですが
実際何をしたいかというと別に外部公開のサイトを作りたいのではなく
LAN内で使うデータベースの操作をするページを作りたいのです。

派遣の人とか出入りが激しい職場なので
万が一ウェブに詳しい人が操作をした場合
URLを直接打ち込まれて IEのメニューバーの“表示”→ ソース でjavascriptを見られたら
パクられる可能性も無くもないですし。

かといってIE7は使いたいんですよね。
120Name_Not_Found:2009/01/09(金) 14:52:42 ID:???
urlが見えなくてもブラウザで開けた時点でPCにはurlの記録はあることを知れやbk
121Name_Not_Found:2009/01/09(金) 15:03:56 ID:???
>>119
別にURLが表示されていなくてもソースは見られるし
HTML上に書かれているコードは誰だって見ることが前提でつくるもの。

それを否定したいなら、一人でコード書いてニヤニヤしてればいい。

ま、どうせお前のコードなんか誰もパクったりはしないよ
お前が書けるものは、他の人でも朝飯前で書ける。
122Name_Not_Found:2009/01/09(金) 15:04:21 ID:???
>>119
理由言われてもIE作ってる人間じゃないしさ・・・。


つーかIEコンポーネント使えばいいじゃん。
123Name_Not_Found:2009/01/09(金) 15:06:40 ID:???
定期的にむっつりさんが沸くね
124Name_Not_Found:2009/01/09(金) 16:05:46 ID:UYmPWvcn
配列arrayにaからzまでのスペルを格納したいのですが
a,b,c・・・と全部打つより楽をしたいので以下のように書きましたが
array = new Array("a".."z")

しかしこれをdocument.write(array[2]);としても表示されません
arrayにはa~zまでのスペルが格納されてないからでしょうか?
125Name_Not_Found:2009/01/09(金) 16:10:41 ID:???
>>119
フレームとCGI使ってJavaScript使わず別サーバで運営
マスターは別室で鍵してサブしか触らせない

それが嫌ならJavaScript程度じゃ到底無理だから
潔くあきらめる
126Name_Not_Found:2009/01/09(金) 16:26:14 ID:???
>>124
javascriptには範囲演算子のようなものはないので
自分でa,b,c...と打つか
自分で範囲演算子に似た機能を持つ関数をつくるかくらいしかない
127Name_Not_Found:2009/01/09(金) 16:27:46 ID:???
>>124
arrayを全部出力してみれば分かるじゃん
JSにそんな書き方はないよ
128Name_Not_Found:2009/01/09(金) 16:39:19 ID:UYmPWvcn
phpに慣れてたせいでできると思ってました
すいませんでした
129Name_Not_Found:2009/01/09(金) 16:42:55 ID:???
array=[];
for(i=0;i<26;i++){
array[i]="abcdefghijklmnopqrstuvwxyz".substr(i,1);
}
alert(array);
130Name_Not_Found:2009/01/09(金) 16:46:04 ID:gRbq56mK
md5の勉強をしてます
ttp://www.onicos.com/staff/iz/amuse/javascript/expert/md5.txt
上記ソースをみてるのですがmd5はこれで合ってますか?
131Name_Not_Found:2009/01/09(金) 17:04:34 ID:???
>>123
オープンソース厨もなw
132Name_Not_Found:2009/01/09(金) 17:24:20 ID:???
         / ̄(S)~\  <                      >
       / / ∧ ∧\ \<  ソース見るな! ソース見るな! >
       \ \( ゚Д゚, ) / /<                      >
         \⌒  ⌒ /  ノ Y´`Y´`Y´`Y´`Y´`Y´`Y´`Y´`Y´`Yヽ
          )_人_ ノ  
          /    /
      ∧_∧ ■□ (    ))
     (   ; )■□  ̄ ̄ヽ
   γ⌒   ⌒ヽ  ̄ ̄ノ  ノ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
133Name_Not_Found:2009/01/09(金) 17:55:00 ID:???
   *   *
 *   + うそです
  n ∧_∧ n
+ (ヨ(*´∀`)E)
  Y   Y  *
134Name_Not_Found:2009/01/09(金) 17:56:20 ID:???
135Name_Not_Found:2009/01/09(金) 18:00:51 ID:???
>>129
これでよくね?
array="abcdefghijklmnopqrstuvwxyz".split("");
136Name_Not_Found:2009/01/09(金) 18:07:54 ID:???
なる
137Name_Not_Found:2009/01/09(金) 18:32:02 ID:???
>>135
これって配列なの?
new Arrayかまさなくてもおkなの?
138Name_Not_Found:2009/01/09(金) 18:46:01 ID:???
>>137
splitが配列を返す
139Name_Not_Found:2009/01/09(金) 23:22:58 ID:zFUV5/PJ
a=[1,2,3,4,5]
for(var i in a){
if(i==3)i="";
}
document.write(a[2]);

forをforeachのようにしたときです
配列aの値が3の時、3を消して空にしたいのですがdocument.writeで出力すると3のままです
どのようにして3を消せるのでしょうか?
140Name_Not_Found:2009/01/09(金) 23:33:59 ID:???
>>139
if(a[i]==3)a[i]="";
これでいいんかな?
141Name_Not_Found:2009/01/10(土) 10:38:15 ID:???
JavaScriptの勉強始めようと思うんだけど良い本とかある?
スレ住人のお勧めあれば教えて。
142Name_Not_Found:2009/01/10(土) 11:03:35 ID:???
オライリーの「JavaScript 第5版」ただしぶ厚い。
My UNIXシリーズの「入門JavaScript」Ajaxとかはのってない。
143Name_Not_Found:2009/01/10(土) 11:29:37 ID:???
>>141
必殺javascriptのweb版でおk
144Name_Not_Found:2009/01/10(土) 11:36:44 ID:???
オライリーは、本の後で解説される内容が普通に出てきたり初学者の学習には向かんと思うな
書いてるほうもそんなつもりで書いてないでしょ
145Name_Not_Found:2009/01/10(土) 12:02:27 ID:???
買う必要はない
WEBで公開されてるいろんなサンプル書き写して
いろいろイジりながら感覚的に覚えた方が
わかり易いし面白い
146Name_Not_Found:2009/01/10(土) 12:12:18 ID:???
オライリーはある程度できるようになったら買うといいよ
147Name_Not_Found:2009/01/10(土) 12:18:06 ID:???
オライリー作者必死だな
148Name_Not_Found:2009/01/10(土) 12:26:59 ID:???
オラ、イリません。
149Name_Not_Found:2009/01/10(土) 12:27:32 ID:???
必死と言うほどあまり奨められてない件
俺もオライリーを最初にかうより
簡単な実例がのってるリファレンス一冊買った方がいいと思う
150141:2009/01/10(土) 13:24:07 ID:???
サイ本はちょっとな・・・食わず嫌いかもしれんが
逆引きで機能に一通り目を通しておいて、
必要な時に必要な機能使うってのはどう?
やっぱりなんでそうなるのか基本から覚えんといかんかね
151Name_Not_Found:2009/01/10(土) 13:34:55 ID:???
ただ解答側は必読だと思う>サイ本
言うまでもないだろうが
152Name_Not_Found:2009/01/10(土) 14:03:34 ID:???
>>150
一撃必殺javascriptはおまえのお望みとおりの逆引きだろksg
153Name_Not_Found:2009/01/10(土) 14:05:59 ID:???
JavaScriptはCなど既習前提で体系的解説本は稀なので分厚いものが
素人に有り難がられているってことでしょ。素地のある人間にはサイ
本は不要。ベンダのリファレンスがあれば十分。
154Name_Not_Found:2009/01/10(土) 14:59:58 ID:???
だからCやJavaやPHPやPerlやRubyと同じだと思ってやっていて
違うところが分かってない奴が沢山いるんだよね。おなじオライリーでも
JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス
を読むといいんじゃないだろうか。
155Name_Not_Found:2009/01/10(土) 15:04:22 ID:???
"a".."z"が使えると思ってるprog上級者もいるしな
156Name_Not_Found:2009/01/10(土) 15:16:42 ID:???
MDC(英語版)
157Name_Not_Found:2009/01/10(土) 17:42:18 ID:???
>>153
お前がサイ本読んでないことだけは分かった
158Name_Not_Found:2009/01/10(土) 18:30:58 ID:???
まあMDC日本語版で事足りるさ
159Name_Not_Found:2009/01/10(土) 18:33:37 ID:???
個別のリファレンスじゃ足りないだろ。クロージャとか
プロトタイプチェーンとかちゃんと載ってる?
160Name_Not_Found:2009/01/10(土) 19:23:55 ID:???
>>159
MDC になはいな > クロージャとか
サイ本には載ってるが、分量的にはそんなに多くない

結局もっと詳しいこと知りたかったら、個人サイトなり何なりを探すしかない?
161Name_Not_Found:2009/01/10(土) 20:15:38 ID:???
>>148
…どうされたいの?
162Name_Not_Found:2009/01/10(土) 22:17:38 ID:WKnxGjs3
document.write("\n"); で改行されないんですが、
何が悪いんでしょうか?
全文はこんな感じです。

<body>
<script type="text/javascript" language="javascript">
var ret = "";
try{
ret = document.cookie;
} catch(e) {
document.write(e);
}
document.write(">>document.cookie");
document.write("\n");
document.write("\"" + ret + "\"");
</script>
</body>
163162:2009/01/10(土) 22:20:28 ID:WKnxGjs3
こうすると改行されずに、
>>document.cookie "0925786NQ=cdzaemzpdzaepnmaaac&00aaac"
と表示されてしまいます。

ブラウザは、IE7です。
164Name_Not_Found:2009/01/10(土) 22:22:35 ID:???
html として表示されてるなら
それで正常では?
165Name_Not_Found:2009/01/10(土) 22:27:54 ID:???
>>162
まさか\nと<br>を一緒だと思ってないだろうな
166162:2009/01/10(土) 22:29:52 ID:???
すいません。勘違いしてました。
htmlの改行は\nじゃなくて<br>でした。
167Name_Not_Found:2009/01/10(土) 22:33:20 ID:???
165みたいな人尊敬するわw
168Name_Not_Found:2009/01/10(土) 22:40:35 ID:???
クソワロタ
169162:2009/01/10(土) 22:42:37 ID:???
上のソース全体が、別フレームのdocument.write で書いたものなので、
混乱してしまいました。
170Name_Not_Found:2009/01/10(土) 22:55:41 ID:???
いかにもIBMの新入社員がいそうなスレだ
171Name_Not_Found:2009/01/11(日) 01:23:50 ID:???
textareaの高さと幅を100%みたいにするにはどうすればよかね?
172Name_Not_Found:2009/01/11(日) 01:30:30 ID:???
クロージャやプロトタイプチェーンは小難しい話になるから
初心者は読まない方がいい。やりたくなくなる。
どうせ複雑なものを作ろうとすると、そこで躓くからその時調べればいい。

まずは基礎から
「JavaScript+Ajax プログラミング・テクニック」はお勧めだけど
自分の好きなものを見ればいいと思う
173Name_Not_Found:2009/01/11(日) 02:56:56 ID:???
>>171
CSS か style オブジェクトで width を 100% に指定。
174Name_Not_Found:2009/01/11(日) 03:38:24 ID:???
>>172
内容はともかく、少し誤字やら記述ミスが多くて読みづらかった気がする。

VBScript の本は世話になったが。
175Name_Not_Found:2009/01/11(日) 04:00:45 ID:???
素朴な疑問なんですが幾らWebでAjax(JavaScript + 各種WEB言語)を実装した
としてもクラサバには操作性・パフォーマンスでは劣ると思うのですが、
この点について皆さんはどう思われますか?

それに、WEBサイトでAjaxなんて頻繁に使えばWEBサーバに無駄に負荷が掛かる気がします。

176Name_Not_Found:2009/01/11(日) 04:09:53 ID:d5SkpBmV
AJAXやJavaScriptのことなのでここで聞かせてていただきます。

下記サイトのライブラリのようなJavaScriptでtableを拡張して
Excelのようなグリッドを実現するライブラリを探しています。
dhtmlxGrid - Ajax-enabled DHTML grid with rich Javascript API
http://dhtmlx.com/docs/products/dhtmlxGrid/

特にソート、フィルター機能(<=100とかすると100以下のもののみ表示)、
と言った機能を重視しています。
オススメはありませんでしょうか?
177Name_Not_Found:2009/01/11(日) 09:19:23 ID:???
178Name_Not_Found:2009/01/11(日) 10:43:30 ID:/ZkZCwWm
変数iの値が100とします
このiの-20%〜+20%の増減があるときの最大値と最小値を求めるコードを書きました

i=100;
b=i*1.2;
s=i*0.8;
answer= "最小値"+s+"最大値"+b;

もっとスマートに記述する方法はございませんでしょうか?
どなたかご教授お願いいたします
179Name_Not_Found:2009/01/11(日) 11:31:05 ID:???
つられてみるか
>>175
クラサバって何のことなのか分からないけど専用クライアントを作って
それとサーバーで通信するシステムの事だと仮定して答える

・操作性
 実装者のセンス次第だとは思うが、ユーザーがシステムを扱い始めた初期ではwebと共通のインターフェースを持つ方が学習速度が速いと思われる

・パフォーマンス
 そうかもね 確かにGoogleMapsとか触っててもイライラするし
 ただ世の中ってそんなにパフォーマンスが重要な事ばかりが必要とされてるわけじゃないよね

・WEBサイトでAjaxなんて頻繁に使えば…
 必要な度に通信するんならAJAXもクライアントサーバー形式も負荷は一緒でしょ
180Name_Not_Found:2009/01/11(日) 12:12:38 ID:Cu6T96J1
<a>タグのクリックでフォームを送信するときに、
nameつきのsubmitを押したのと同じ状態にできますか?

<a href="javascript:document.form1.submit();">送信</a>
だとnameがつけられなくて困ってます。
181Name_Not_Found:2009/01/11(日) 12:14:35 ID:???
>>180
できるかできないで答えるならgetElementなんとかをうまく利用すれば出来ます
182179:2009/01/11(日) 12:22:57 ID:???
>>179
所詮ブラウザ上で出来る操作性なんてたかがしれてるとは思います。

> ・WEBサイトでAjaxなんて頻繁に使えば…
>  必要な度に通信するんならAJAXもクライアントサーバー形式も負荷は一緒でしょ
例えば、どこぞのサイトで使われている様に郵便番号を入力したタイミングで
住所を取得する、という処理をAjaxで行うだけでもかなりのサーバ負荷になると思います。

私、個人としてサーバ側で時間の掛かる一括処理を行う場合には、Ajaxを使用して
処理状況をブラウザに表示する位しかメリットがない気がしてなりません。

例えば、Ajaxを使用する場合にこんな場合に便利だよ、というのがあればお教え下さい。


183Name_Not_Found:2009/01/11(日) 12:23:39 ID:Cu6T96J1
できるかどうか分かりませんが、

<input type="hidden" id="dummysubmit" name="submittype" value="">

これをgetElementByIdでとってきて、typeをsubmitに変更して、
click(); で押す?
184180:2009/01/11(日) 12:27:10 ID:Cu6T96J1
>>181
display="none" のsubmitボタンを作っておいて、javascriptからclick()しても、
できそうな感じがしなくもないです。
スマートなやり方を知ってたら教えてもらえませんか?
185Name_Not_Found:2009/01/11(日) 12:36:08 ID:???
>>180
nameを指定してないのは仕様ですか
186180:2009/01/11(日) 12:44:40 ID:???
>>185
すいません。意味が分かりません。
nameをつけてsubmit()できるんですか?
187Name_Not_Found:2009/01/11(日) 12:45:57 ID:???
バロス
188Name_Not_Found:2009/01/11(日) 12:46:44 ID:???
俺様がヒントをだしてやるから省略しないで該当部分のhtmlを書け
189Name_Not_Found:2009/01/11(日) 12:57:28 ID:???
>>182
> 住所を取得する、という処理をAjaxで行うだけでもかなりのサーバ負荷になると思います。

鯖側でデータを保持してるならどちらもさして変わらんと思うが
190Name_Not_Found:2009/01/11(日) 13:02:03 ID:???
データを正規化すれば付加は減らせます
191180:2009/01/11(日) 13:14:45 ID:???
>>188
簡単に書くとこんな感じ。

<javascript>
function expand(fileid) {
  document.getElementById("fileid").value = fileid;
  //name="expand" のsubmitボタンを押した状態にしたい
}
function view(fileid){
  document.getElementById("fileid").value = fileid;
  //name="view" のsubmitボタンを押した状態にしたい
}
</javascript>
</head>

<body>
<form action="/TreeAction" method="post">
  <input type="hidden" name="token" value="XXXXXXXX" />
  <input type="hidden" name="fileid" id="fileid" value="" />
  -------この部分が任意回数ループする-------------
  <div>
  <img class="icon" onclick="expand(ループカウント);" /><!--
  --><img class="icon" /><!--
  --><a class="filename" href="javascript:view(ループカウント);">ファイル名XXX</a>
  </div>
  -------------------------------------------------
</form>
192180:2009/01/11(日) 13:16:00 ID:???
Windowsのエクスプローラのツリー部分みたいなのを作ってます。
193172:2009/01/11(日) 13:35:47 ID:???
>>174
それには同意せざるを得ない
VBScriptのやつをそのまま書き換えた感が否めないしね
いい本ではあるんだが
194Name_Not_Found:2009/01/11(日) 13:38:52 ID:???
>>191
aが出てこない件
195180:2009/01/11(日) 13:53:59 ID:???
出てくるよー。下から4行目。
196Name_Not_Found:2009/01/11(日) 15:09:23 ID:???
>>173
さんきゅ
197Name_Not_Found:2009/01/11(日) 15:25:52 ID:???
jqueryで $('<div><span id="hoge">HOGE</span></div>').getElementById('hoge');
のような作動を再現するにはどうすればよいですか?
198Name_Not_Found:2009/01/11(日) 15:33:04 ID:???
>>197
divの属性が空にフイタ
199Name_Not_Found:2009/01/11(日) 20:08:44 ID:???
>>180
type="hidden" name="piyo" を作ってやればよくね?
200Name_Not_Found:2009/01/12(月) 10:32:01 ID:???
>>119
確かにcookie名を見られると何をサーバーに送っているかが分かるからログ記録されるデータとか推測できると思うが
派遣とかなら頭悪いし大丈夫じゃね?あいつらバカだし。

っつーかアプリ作るならJAVAでやれや。
頭悪くて作れないならjavascriptで我慢しろやボケ!
201Name_Not_Found:2009/01/12(月) 11:13:25 ID:???

お前が一番頭悪そうに見えるのは俺だけ?
202Name_Not_Found:2009/01/12(月) 14:26:41 ID:???
俺は、頭悪そうには見えないな。



見た目はただのバカに見える。
中身を察するに、頭悪い奴だってことは分かった。
203Name_Not_Found:2009/01/12(月) 14:27:10 ID:lPlCKNK8
リンクをクリックしたら指定のURLに移動させたいと思います。

scriptのソース
function urlJump(){
location.href="test.html";
}

HTMLのソース
<a href="javascript:void(0);" onclick="urlJump();">移動</a>

としたのですが、IE6だと全く反応がありません。Firefoxは移動しました。
IE6の場合、どういう書き方をすればいいのでしょうか?
204Name_Not_Found:2009/01/12(月) 14:34:23 ID:???
>>203
FAQ >>3-4 のQ9/A9の問題ではない?
205203:2009/01/12(月) 15:13:07 ID:???
>>204
203に書いたソースを
<a href="javascript:void(0);" onclick="urlJump();return false">移動</a>

としてみたのですが、動作しません・・・
206Name_Not_Found:2009/01/12(月) 15:17:58 ID:???
>>205
urlJumpの中にalert突っ込んでみるとどうなってる?
207203:2009/01/12(月) 15:30:18 ID:???
>>206
後出しですみません。実際は
urlJump('test.html';return false)

として、移動先のURLをurlJump内に追記しています。
リンクをクリックしたらそのファイルに移動するイメージです。

この書き方がいけないのでしょうか?
208203:2009/01/12(月) 15:32:32 ID:???
あと、function urlJump()の中にalert();を追加して
リンクをクリックしたところ、何もメッセージがないアラートが表示されました。
209Name_Not_Found:2009/01/12(月) 16:06:01 ID:???
おいおい! >>207 は構文エラーだぞ。エラーが出たまんま
相談してるわけじゃないだろうな? 面倒だからサンプル貼るぞ。
これでIE6が動作しないとなると洩れにもわからんな。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test(uri) { location.href = uri; }
</script>
</head><body>
<div><a href="javascript:void(0)"
onclick="test('http://www.yahoo.com');return false">X</a></div></body></html>
210203:2009/01/12(月) 17:11:20 ID:???
>>209
できました!
onclick="urlJump('test.html') ;return false"

こうするべきだったんですね。勘違いしていました。
ソースも書いていただき、大変助かりました。ありがとうございました。
211Name_Not_Found:2009/01/12(月) 17:23:23 ID:???
<A href="" onClick="urlJump();return false">移動</A>
212Name_Not_Found:2009/01/12(月) 18:12:17 ID:???
<a href="javascript:urlJump(); void 0;">移動</a>
213Name_Not_Found:2009/01/12(月) 22:56:12 ID:???
Jugemkey 占いAPI
http://jugemkey.jp/api/waf/api_free.php 
(「利用規約に同意」を押すと仕様が見れます)

{
"horoscope":
{
"2006/07/01": //(A)
[
{
"content" : "義理や人情に囚われていると自分の居場所を無くし、苦労に終わりがありません。適度な要領のよさを持つことが必要です。",
"item" : "五百円玉",
"money" : 2,
"total" : 1,
"job" : 1,
"color" : "茶色",
"love" : 1,
"rank" : 12,
"sign" : "牡羊座"
},

このJSONを変数hogeもらったとして
この(A)のノードにアクセスするにはどう書けばいいんでしょうか
trace(hoge.horoscope.2006/07/01); としてもノード名の先頭が数字なため
エラーになりますし、 trace(eval("hoge.horoscope."+2006+"/"+07+"/"+01));
としてもうまくいきません
214Name_Not_Found:2009/01/12(月) 23:26:36 ID:???
>>213
先頭が数字の場合は >>3 の A8.
215Name_Not_Found:2009/01/12(月) 23:27:34 ID:???
>>1のガイドを読んでから出直せ
216Name_Not_Found:2009/01/13(火) 01:17:05 ID:???
@囲み記号
何番目の始点で始まり何番目の終点で終わる範囲を拾うか
A分割記号
何番目の破片を拾うか

@/{}/0/0&A/{/2&A/改行/1&A/:/0
+
@/{}/0/0&A/{/2&A/改行/1&A/:/1

node[0]="content"
node[1]= "義理や人情に囚われていると自分の居場所を無くし、苦労に終わりがありません。適度な要領のよさを持つことが必要です。",
217Name_Not_Found:2009/01/13(火) 01:26:24 ID:???
B抽出
innerかouterか

node[0]→@/""/0/0=in
node[1]→@/""/0/0=out

node[0]=content
node[1]="義理や人情に囚われていると自分の居場所を無くし、苦労に終わりがありません。適度な要領のよさを持つことが必要です。"
218(php_java)男:2009/01/13(火) 03:55:28 ID:???
現在、WEBページを左右に分割しており、左側のリンクがクリックされた場合に
右の部分にリンク先のページを表示させようと思い、次のコードを記述しているのですが
なぜか右側("migi")に表示されません。一体何が原因でしょうか??

<a href="" onclick="location.href = 'http://' + location.host + ':8080/test/sample.html'" target="migi">Java用に作成したページ</a>

1※次のコードの場合は正常に右側に表示されます。
   <a href="hoge.html" target="migi">php用に作成したページ</a>
2※ポート番号を指定しているのは、Java用のページはApacheTomcatの関係で8080でアクセスさせる為です。
219Name_Not_Found:2009/01/13(火) 04:04:26 ID:???
>>218
当たり前だろ。
少しは自分で考えろ
220Name_Not_Found:2009/01/13(火) 04:18:26 ID:???
>>219
分かりません。。。
っかもう眠たいのでそろそろ寝ます。
221Name_Not_Found:2009/01/13(火) 06:30:24 ID:???
location てのは、省略せずに書けば window.location なんだぜ?
222Name_Not_Found:2009/01/13(火) 08:00:52 ID:???
>>218
HTMLのtargetとかはこの場合JavaScript側には何の効力も
及ぼさない。JavaScript側でフレームや窓を参照する方法
あるから。それくら自分で勉強してこい。テンプレに参考サイト
とかあるでしょ。
223Name_Not_Found:2009/01/13(火) 12:07:32 ID:???
ありがとうございます。

>>214
フォームとJSONのノード名のアクセス法は同じということなんでしょうか。
trace(hoge.horoscope.elements['2006/07/01']);など色々やってみたのですが
うまくいきませんでした。

>>215
質問する前に見てみたのですがよくわからなかったのです。
すいません。

>>216-217
申し訳ないのですが
どれが組み記号でどれが囲み記号なのか分からなかったです。


とりあえず教えていただいた内容で
もうちょっと頑張ってみます。ありがとうございました。
224Name_Not_Found:2009/01/13(火) 12:23:07 ID:???
>>223
elements イラネ
225176:2009/01/13(火) 14:10:27 ID:???
>>176 ですが、大なり小なりやカラムでソートするJavaScriptのライブラリを見つけました。
お騒がせしましたありがとうございました。

デモ
frequency decoder ~ table filter demo
http://www.frequency-decoder.com/demo/table-sort-revisited/filter/

解説
frequency decoder ~ Unobtrusive Table Filter Script
http://www.frequency-decoder.com/2008/03/14/unobtrusive-table-filter-script
226218:2009/01/13(火) 14:55:15 ID:???
>>221 >>22
レスありがとうございます。
ちょっとヒント(参考になるURL等)を頂けないでしょうか?
227Name_Not_Found:2009/01/13(火) 15:08:26 ID:???
なんか今時Javascriptって古いよね。
みんなはCGIが使えないから仕方なくJavascriptしてるんでしょ?
228Name_Not_Found:2009/01/13(火) 15:14:34 ID:???
さっさとお引取り願うのがいいと思った

>>226
onclick="parent.migi.location.href = 'http://' + location.host + ':8080/test/sample.html'"
めんどくさいから「左のフレーム」と「右のフレーム」が同一のフレームを分割しているものと仮定

あとこれJavaScriptで書く意味あんの?
普通にhtmlでベタ書きすればいいじゃん
229Name_Not_Found:2009/01/13(火) 18:06:42 ID:???
<SCRIPT><!--
function RC(){alert("On!")
arisu=eval(
{"horoscope":{
"2000/01/01":[
{"content":00,"item":01,"sign":"牡羊座"}
,{"content":10,"item":11,"sign":"牡牛座"}
]
,"2000/01/02":[
{"content":00,"item":01,"sign":"牡羊座"}
,{"content":10,"item":11,"sign":"牡牛座"}
]
}
}
);
alert(arisu["horoscope"]["2000/01/01"][0]["sign"]+"と"+arisu["horoscope"]["2000/01/02"][0]["sign"]);
}
//--></SCRIPT>
<A href="" onClick="RC();void 0;">test</A>
230Name_Not_Found:2009/01/13(火) 18:26:35 ID:???
<body onKeyDown=K=event.keyCode><script>X=[Z=[B=A=12]];h=e=K=t=P=0;function Y()
{C=[d=K-38];c=0;for(i=4;i--*K;K-13?c+=!Z[h+p+d]:c-=!Z[h+(C[i]=p*A-Math.round(p/
A)*145)])p=B[i];!t|c+4?c-4?0:h+=d:B=C;for(f=K=i=0;i<4;f+=Z[A+p])X[p=h+B[i++]]=1
if(e=!e){if(f|B){for(l=228;i--;)Z[h+B[i]]=k=1;for(B=[[-7,-20,6,17,-9,3,6][t=++t
%7]-4,0,1,t-6?-A:-1];l--;h=5)if(l%A)l-=l%A*!Z[l];else for(P+=k++,j=l+=A;--j>A;)
Z[j]=Z[j-A]}h+=A}for(i=S="";i<240;X[i]=Z[i]|=++i%A<2|i>228)i%A?0:S+="<br>",S+=X
[i]?"■":"_";document.body.innerHTML=S+P;Z[5]||setTimeout(Y,99-P)}Y()</script>
231Name_Not_Found:2009/01/13(火) 18:28:08 ID:???
正規表現とJavaScriptはどっちが難しいですか
232Name_Not_Found:2009/01/13(火) 18:42:39 ID:???
>>230
で?
233Name_Not_Found:2009/01/13(火) 19:22:50 ID:???
>>231
正規表現の方が JavaScript よりも難しかったら、それは比較できるものではないですね。
234Name_Not_Found:2009/01/13(火) 19:26:22 ID:???
>>227
悪いことは言わん。素直に帰っとけ。
あまりに痛々しい。

>>231
数学と微積はどっちが難しいと思う?
235Name_Not_Found:2009/01/13(火) 19:40:42 ID:???
お前ら手厳しいな。

やっぱ2ちゃんよりもWeb制作管理板の方が怖いと思った{{(+_+)}}
236Name_Not_Found:2009/01/13(火) 19:56:13 ID:Fr6AiwPK
>>234
数学の中に微分積分や関数が入ってると言うことですね。
つまりjavascriptに限らず正規表現なんか出来て当然って言うことですか?
プログラムの人は何でいっぱい色んな種類の作ったり、使ったり出来るのですか。
すごすぎてすごいんですけど。
今思いついただけでも、正規表現とjavascriptとperl/PHP/Delphi/C/C++/Eclipse
他にもいっぱいあるじゃないですか。
全部理解できますか?出来てる人いますか?
それはもうCSSすら、それ以前にタグとかあなたたちは一体どういうすごいです。
237Name_Not_Found:2009/01/13(火) 20:05:47 ID:???
ageているということは、力作(のつもり)だったんだな。
238Name_Not_Found:2009/01/13(火) 21:17:59 ID:???
なんでJavascriptは
文字列結合に必要以上に+ を使うのか。

"http:+//+ハゲ+バカ
239Name_Not_Found:2009/01/13(火) 21:56:58 ID:???
>>238
言ってる意味がわからないんだけど、それ言ったら例えばperlなら + が . に変わるだけじゃないの?
240Name_Not_Found:2009/01/13(火) 22:01:20 ID:???
>>224
ありがとうございます。できました。
241Name_Not_Found:2009/01/13(火) 22:26:17 ID:???
>>236
自然言語(日本語、英語、仏語、独語etc...)と違って
プログラミング言語は明確な目的があって作られたものだから、
その目的やらといった概念を理解してしまえば修得は簡単。

今の高級言語なんて大抵は兄弟言語だから、1つできれば
他の修得も早いし、1つの言語が新しい機能を実装すると、
他もそれを取り込むなんてのも少なくない。
それぞれの言語は、それぞれの目的に特化してはいるけど、
同時に「プログラマが使いやすくなるような」改善も続けているわけ。
自然言語のマルチリンガルはすごいけど、
プログラミング言語のマルチリンガルはむしろできて当たり前。


んで、誤解を訂正しておくと、正規表現はプログラミング言語じゃない。
プログラミング言語のいくつかで、正規表現を機能として実装しているだけで、
「修得は必須でもないけど、使えれば相当便利」というくらいのシロモノ。
「使えるのはスゴイ」という発想はおかしいな。言語設計者が
「こういう機能あったら便利じゃね?」と思ったことをそのまま実装してるだけだから、
前述の通り、目的やら概念やらを理解してしまえば、何もむずかしいことはない。

CSSはさらに全く別のシロモノ。こんなのただの表現記述法でしかないw
242Name_Not_Found:2009/01/13(火) 22:32:11 ID:???
釣果1人
243Name_Not_Found:2009/01/13(火) 23:41:35 ID:???
unicode→sjisの変換テーブルを下のように作ったんですが、
100KBほどになり動作も遅いです。。。

function encodeSjis(n) {
 return { 0x005C:0x815F,
      0x00A2:0x8191,
      0x00A3:0x8192,
        ・
        ・
      0x00A3:0x8192}[n];
}

この変換方法以外に良い方法ないでしょうか。

244218:2009/01/14(水) 00:00:45 ID:???
>>228
ありがとうございます。
これで問題無く動くと思います。

因みに>location.host
と遇えてJavaScriptで書いているのは、自宅サーバで外部に公開している場合、
自分から見た場合には
http://localhost:8080/test.jsp
ですが、外部の人から見た場合には
http://my_server:8080/test.jsp
となる為です。

245Name_Not_Found:2009/01/14(水) 00:38:00 ID:???
>>244
そんなこったろうと思ったよ

それはJavaScriptで解決するべき問題じゃなくて
ヘアピンNATを実装してるルータを用いるか、
自分のPCのhostsファイルにmy_server→127.0.0.1(IPv6なら::1)への解決を書いておくか、
あるいはLAN内のDNSでmy_server→127.0.0.1の解決を行うか
が本質的な解決策だと思うぜ
246Name_Not_Found:2009/01/14(水) 00:47:11 ID:???
>>245
残念ながらネットワークについてあまり詳しくありません。。。
って事でJavaScriptで解決しようと思っています。
247Name_Not_Found:2009/01/14(水) 00:51:15 ID:???
>>228
先程ご教授頂いたコードを試したところ正常に右側のフレームにJSPのページを表示する事が出来ました。
ありがとうございました^^;

248Name_Not_Found:2009/01/14(水) 16:39:09 ID:o83clCoC
>>182
> 例えば、どこぞのサイトで使われている様に郵便番号を入力したタイミングで
> 住所を取得する、という処理をAjaxで行うだけでもかなりのサーバ負荷になると思います。

住所入力の場合、ユーザが、郵便番号が分かっていて住所が分からない場合、前者でも問題ないんだけど、
一般に、郵便番号も住所も微妙に不正確、というパターンが多い。漢字やスペル間違いとかも。
そこで入力した端からユーザの補助となる候補を提供することで、その不正確さを補完したりできて便利だよ、と。

あと、コンピュータは人間が便利に使う為の道具なので、
サーバ負荷を気にして人間が不便な思いをするのは本末転倒な気がする。
サーバ性能まで全部ひっくるめて、サービスの質だから。
249Name_Not_Found:2009/01/14(水) 16:55:08 ID:???
ForとIfの質問です。
ウェブページを見る人に特定の数値を入力させて
奇数、偶数、5の倍数のどの計算結果を求めるのかを指定させて計算結果を
表示するプログラムと作りたいです。例えば偶数であるならば特定の数値12と入力したならば
12までを偶数で足し(2+4+6+12)で計算結果は24となるようしします。

http://www1.axfc.net/uploader/He/so/182361.txt PASSは11です。
ソースを見ていただければわかると思いますが、ここまで作りました。
ご教授よろしくお願いします。
250Name_Not_Found:2009/01/14(水) 17:07:51 ID:???
>>249
まぁ…、その…、あれだ。


「HomuPage」じゃなくて「HomePage」だ。
251Name_Not_Found:2009/01/14(水) 17:08:24 ID:???
>>249
学校の宿題か?
ちゃんと自分で考えような。
252Name_Not_Found:2009/01/14(水) 17:12:39 ID:???
>>249
宿題は自分でやりましょう
253Name_Not_Found:2009/01/14(水) 17:15:38 ID:???
>>249
宿題乙。
254Name_Not_Found:2009/01/14(水) 17:28:58 ID:KoP/Y2Mp
バロタ
255Name_Not_Found:2009/01/14(水) 17:42:58 ID:???
>>249
新宿の○○専門学校乙
課題がいっしょなんだよ同じクラスかおまえw
256Name_Not_Found:2009/01/14(水) 17:57:01 ID:???
相手にしてもらえないので去ります。
257Name_Not_Found:2009/01/14(水) 19:30:54 ID:???
全く宿題くらい自力で何とかしろよ。

その専門の仕事に就く気がないなら未だしも、してから同じ様に助けて貰うつもりなのやら。
258Name_Not_Found:2009/01/14(水) 20:48:06 ID:???
>>249
エラー処理が全然出来てない
括弧の対応が変、インデントをちゃんと入れろ
limitに代入後、何故keiで場合分けしてるのか意味不明
43行目のsiteiiはスペルミス

最初から作り直せ
259Name_Not_Found:2009/01/14(水) 21:10:32 ID:???
>>258
ありがとうございます。ご指摘いただいた所を直してみました。
ttp://www1.axfc.net/uploader/He/so/182443.txt PASS11
しかしエラー処理がなかなかわからないです。
奇数なのか偶数なのかをウェブを見る人に指定させるとき変数の"GU"を
つかっていいものなのか、それとあまりにJavascript勉強はじめたばかりなんで
括弧の対応もいまいちです。所謂「入れ子構造」がややこしくて閉じる}をどこにおいたら
良いのかが判断できません。
260Name_Not_Found:2009/01/14(水) 21:25:40 ID:???
>>259
少し自分で考えた方がいい
アドバイスを求める以前のレベル
261Name_Not_Found:2009/01/14(水) 21:30:22 ID:???
了解しました。自分で考えてきます。
262Name_Not_Found:2009/01/14(水) 21:31:52 ID:???
考えてきました
分かりませんので解答書いてください>>263
263FOR ◆Gv599Z9CwU :2009/01/14(水) 21:45:26 ID:???
ほかの人になりすまされてしまうのでコテを出しておきます。
264FOR ◆Gv599Z9CwU :2009/01/14(水) 21:54:11 ID:???
解決しました><
265Name_Not_Found:2009/01/14(水) 21:55:38 ID:KoP/Y2Mp
                  _,.. -‐―‐-- .. __
                /´   .      `ヽ 、
               / 、、: ヘ :::::::.....      \
              ./ ‐-_ヽ!:...__>;::;;;;;;;::::::::...._   \
             /   /  \!´   \::::::::! ̄ ヽ、 ヽ,
             `‐rt-'....,,,___」     \::!    .ソ_,ノ
               !:.\::::..  ヽ      >、:.、../_,、!、
     , --v‐- 、 _   ヽ::.ヽ::::..  `、    /  ニ,:',.':::::::(´
   , - ';;/::ノ.:::// l ̄`―`-:;;\::..  ヽ   /   /jヽ:::::::::::)-‐'チ、
 //.:::;ィ'":;∠;_/.:::!::::::.............  トr-;;_ `、 / ,.-=';`-- -‐ii'   ミ!ユ、
..:ヽ-'⌒/::;;-‐'´ └‐┴‐-----=;;:.ヽ;:::::..:;ノ::.::.ヽ;:::::::....... .. .oo!!_,,..-"-┘.....
     `┘
266FOR ◆Gv599Z9CwU :2009/01/14(水) 21:56:35 ID:1YEgTNOh
あれれ・・・・コテってまねできちゃうのですか・・・
>>264
邪魔をしないでください。
267FOR ◆Gv599Z9CwU :2009/01/14(水) 21:57:35 ID:???
>>266
この人は、別人です・・・
268Name_Not_Found:2009/01/14(水) 22:32:23 ID:???
芬銓蓚?? 鞐髑袱茆 芬銓蓚?? ?鴈 窶諷鞳? lunka?4 闔齏? 齬蓚褂 ?髓逶? 闔齏? ?鴈
蒟轢驤謗矗辷? 轢 dvd 闔?鉗闔齏? 謫迥? 瘉諤鞐 痳髀諤鴉? 關鉐跪鴃 闔齏?
博銓蓚?? 謫迥? 闔齏 粤鴆褌? 竇? 闔齏? 竇? 闔齏? 礦粤? 痳髀諤鴉? 闔齏? 苣繼?
籥踵 闔齏? 琿蓐? 痳髀諤鴉? ?鴈 竏辣褌謗窶 ??齏? ?鴈 粤碆?? 痳髀諤鴉鈬
粮赭?繞 闔齏? 礦粤? 袱韜蒻? 闔齏? 闔齏? 芬銓蓚鉅 粤鴆褂? 闔齏? 窶諷鞳? 藁侏? ?
肆碆鴉??? 痳韋鈞? 驫瑾瑩? 痳髀諤鴉? 闔齏? 韲謌褂 闔齏? ? 肆碆鴉??? 芬鉐繩? 闔齏?
芬銓蓚?? 芬? 闔齏?
269FOR ◆Gv599Z9CwU :2009/01/14(水) 23:45:52 ID:???
#11
270for ◆5OlG8FTnGo :2009/01/14(水) 23:50:37 ID:1YEgTNOh
簡単な数列だとパスワードがばれちゃんですね。勉強になりましたー
271Name_Not_Found:2009/01/15(木) 01:07:50 ID:???
入れ子の問題はJavaScriptに限ったことじゃないだろ
CだろうがJavaだろうが一緒   基本中の基本

GUと"GU"は変数と文字列で全く別ものだから使っても問題ない
29〜30行目や38〜39行目みたいに変なところに改行入れるとエラーになって動かないぞ
それと43行目のスペルミスも直ってない

もう眠いから寝る
272Name_Not_Found:2009/01/15(木) 07:19:07 ID:???
>>258, >>271
学生が学校で出された宿題なんだから、自分で解決するのが当然。

お前らが一生こいつのプログラム見ていくならかまわんが、
それならここじゃなくて別の場所でやってくれ。
そうでないなら、これ以上かまうなよ。


>FOR ◆Gv599Z9CwU
プログラムの入門サイトでも適当に探して自分でやれと。
273Name_Not_Found:2009/01/15(木) 11:41:03 ID:???
スレのテンプレに書いてないようなこと主張されてもな
質問する奴がいて、答える奴がいたんなら周りが口挟むことじゃねーよ
274Name_Not_Found:2009/01/15(木) 12:36:18 ID:???
>>1
> 自力で書く気がない人は他のスレへ(テンプレ末尾参照)。
に抵触しているように見えるね。だから洩れは放置と決めた。
まあ各自判断すればいいんでは。
275Name_Not_Found:2009/01/15(木) 13:00:33 ID:???
答えたい奴は答えて答えたくない奴は答えないで野次飛ばしたい奴は飛ばせば良いじゃん
プログラムをやってると白黒と1か0しか見えない人間味のない人が多いんだよな
もっとコミュニケーションをとろうぜ
276Name_Not_Found:2009/01/15(木) 13:41:18 ID:???
VIPでやれ
277Name_Not_Found:2009/01/15(木) 15:35:39 ID:???
初心者スレへ池!
278Name_Not_Found:2009/01/15(木) 15:41:01 ID:???
質問です。DOMのnodeValueって壊れてますか?代入できません。inner...は使
いたく無いんですが、その辺の情報いただければ有り難いです。
279Name_Not_Found:2009/01/15(木) 15:49:04 ID:???
貴様の知識が壊れてるに100ペソ
280Name_Not_Found:2009/01/15(木) 15:59:30 ID:???
すいません。278です。すごく荒れてるときに来たみたいです。少し勃ってか
ら来たいたいと思います。でも、何でここの人ってこんなに精神が汚いんですか。
281278:2009/01/15(木) 16:06:20 ID:???
>>280
おいこら!なめてんじゃねえぞ!
人を騙ってんじゃねえぞクズがっ!
282Name_Not_Found:2009/01/15(木) 17:25:03 ID:6+6edHyY
とりあえずここのスレ民度の低さはわかった。
糞しかいない。というわけでさよなら
283Name_Not_Found:2009/01/15(木) 17:45:52 ID:???
ザコに興味はねえ
とっとと失せろ
284Name_Not_Found:2009/01/15(木) 18:35:55 ID:???
>>283
何故スルーできない
285Name_Not_Found:2009/01/15(木) 18:38:47 ID:???
真・スルー 何もレスせず本当にスルーする。簡単なようで一番難しい。
偽・スルー みんなにスルーを呼びかける。実はスルーできてない。
予告スルー レスしないと予告してからスルーする。
完全スルー スレに参加すること自体を放棄する。
無理スルー 元の話題がないのに必死でスルーを推奨する。滑稽。
失敗スルー 我慢できずにレスしてしまう。後から「暇だから遊んでやった」などと負け惜しみ。
願いスルー 失敗したレスに対してスルーをお願いする。ある意味3匹目。
激突スルー 話題自体がスルーの話に移行してまう。泥沼状態。
疎開スルー 本スレではスルーできたが、他スレでその話題を出してしまう。見つかると滑稽。
乞食スルー 情報だけもらって雑談はスルーする。
質問スルー 質問をスルーして雑談を続ける。
思い出スルー 攻撃中はスルーして、後日その思い出を語る。
真・自演スルー 議論に負けそうな時、ファビョった後に自演でスルーを呼びかける。
偽・自演スルー 誰も釣られないので、願いスルーのふりをする。狙うは4匹目。
3匹目のスルー 直接的にはスルーしてるが、反応した人に反応してしまう。
4匹目のスルー 3匹目に反応する。以降5匹6匹と続き、激突スルーへ。
286Name_Not_Found:2009/01/15(木) 18:42:13 ID:???
プライド高ぇー
287Name_Not_Found:2009/01/15(木) 19:35:19 ID:???
まあいいや戻ってきてやったよ。だから次のプログラム作ってくれ
1 4 6 16 25 36 49 64 81 100
n*nの法則に基づく数字をforを使って順番に表示させるプログラムを作成してちょ
2通りの考え方があるにょ

教えてくれたら私のおっぱい(F)をうpするね
288Name_Not_Found:2009/01/15(木) 19:35:51 ID:???
間違えちゃった//
6→9ね//
289Name_Not_Found:2009/01/15(木) 19:40:06 ID:0nlUOT1e
>>275
if(Your.feeling == "答えたい"){
// 答える
}
else if(Your.feeling == "答えたくない"){
// 答える
}
else if(Your.feeling == "野次飛ばしたい"){
// 野次る
}
else{
// おっぱい
}

こうですか?
290Name_Not_Found:2009/01/15(木) 19:41:41 ID:???
Google、Google VideoのアップロードやJaikuなど6サービスを終了 - ITmedia News
http://www.itmedia.co.jp/news/articles/0901/15/news095.html
291Name_Not_Found:2009/01/15(木) 19:52:38 ID:???
>>278
何のnodeValueを変更しているの?モノによるから。
複雑なことするのなら、ノードを削除したり挿入したり
して変化させることが必要だと思うよ。
292Name_Not_Found:2009/01/15(木) 23:39:11 ID:???
次のページへ、又は前のページへと戻るリンク部分の文字を
「戻」「進」 とか 「前」「後」 とか。もしくは「<<」「>>」にするか今だ決めかねています。
決めてから普通に書けばいいのですが、200ページ以上はあるので
後でやっぱり・・・となった場合や単純に模様替えした際に更新作業が楽になる方が良いのです。
そこで
prev = "戻";
next = "進";
と外部jsに変数として書き込んでおいて、後で変えたくなった時、簡単に変えられるようにしたいのですが、
この程度の事にjavascriptを使うのはWebアクセシビリティ?的にどうなのでしょうか?
それか他に何か良い方法ありますか?
293Name_Not_Found:2009/01/15(木) 23:53:17 ID:???
http://www.nicovideo.jp/watch/sm5261431

これのブックマークレットみたいの、作らね?
過疎ってるページにタンブラーが転がるの。
294Name_Not_Found:2009/01/16(金) 00:56:34 ID:???
>>293
…なにがいいたいんだ
295Name_Not_Found:2009/01/16(金) 01:09:15 ID:???
過疎ってるページに、
タンブラーが転がるような
ブックマークレットを作ろうぜ、って話。
296Name_Not_Found:2009/01/16(金) 01:38:33 ID:???
そうか
がんばれ
297Name_Not_Found:2009/01/16(金) 01:48:38 ID:???
>>292
変えたくなったらテキストエディタなり専用ソフトなりスクリプトなりを使って一括で置換したらいいのではないでしょうか。
「複数ファイル 置換」とかでぐぐるといろいろ情報が出てきますよ。
あとそのJavaScriptに修正なり変更なりが生じたらどうすんの〜とか思います(冗談みたいなもんですけど)。
298Name_Not_Found:2009/01/16(金) 02:28:59 ID:???
>>292
アクセシビリティが心配なら
JavaScriptオフにして戻ったり進んだり
検索サイトから飛んだときのように適当なページを突然開いても
支障なく閲覧できるか自分で試しゃいいだろ。

支障がないってことは、本質的にそんなナビいらねってことだけどな。ただの飾り
299Name_Not_Found:2009/01/16(金) 10:02:16 ID:???
>>297
レス遅れましたがありがとうございます。
こんな便利なソフトがあったんですね・・・全然知りませんでした。
早速いくつか目に付いたの試してみます。
ちなみに、javascriptの記述自体を編集する可能性はまったく考えていませんでした・・・。

>>298
よく考えたら、質問の仕方がおかしかったですね。
javascriptオフの人も居ると考えれば、
移動手段になる部分を表示出来ない可能性のある方法で書くのは、どう考えても支障ありまくりでした。すみません。
300Name_Not_Found:2009/01/16(金) 10:03:45 ID:???
>>292
1.適当な言語でHTMLの整形雛形を用意する
2.ページの内容文章を書く
3.2を1の雛形に通してHTMLにする
4.3をうpする

X.リンクの文字を変えたい
 →整形雛形の該当部分を書き換えて3を再実行すれば全部書き換わる。


別解
条件:PHPが使える。全ページPHPにしても処理量は問題ない。
   →全ページPHPで吐くようにすれば、固定部分の変更は一瞬



JSはクライアント側で処理せにゃならん。
JSには不向きなことだと分かってるなら、
JS以外で処理することを考えりゃいい。
301Name_Not_Found:2009/01/16(金) 10:20:37 ID:???
アクセシビリティを無視したGoogleの新Favicon何とかしろや
302Name_Not_Found:2009/01/17(土) 01:23:55 ID:4PNieZOC
以下のときに function itemClickに引数idを渡したいんですが、
どうにかする方法を知ってる人がいたら教えてもらえませんか。

<html>
<head>
<script type="text/javascript" language="javascript">
onload = function() {
   document.onclick = clickGround;
   for ( var i = 0; i < 3; i++) {
     document.getElementById(i).onclick = itemClick;
   }
};

function clickGround() {}
function itemClick(e) {
   //引数でdivのidが欲しい
   e.preventDefault();
   e.stopPropagation();
}
</script>
</head>

<body>
<div id="0">AAA</div>
<div id="1">BBB</div>
<div id="2">CCC</div>
</body>
</html>
303302:2009/01/17(土) 03:15:20 ID:4PNieZOC
色々試したらできた。なんて分かりづらい仕様だ。

<html>
<head>
<script type="text/javascript" language="javascript">
document.onclick = clickGround;
function clickGround() {}
function itemClick(evt, id) {
if (typeof evt.stopPropagation == "function") {
evt.stopPropagation();
} else {
evt.cancelBubble = true;
}
}
</script>
</head>
<body>
<div onclick="itemClick(event,'arg');">AAA</div>
</body>
</html>
304Name_Not_Found:2009/01/17(土) 04:18:32 ID:gtRZ2H/V
>>302
idが数字で始まるのはダウトじゃ。それはさておき、

document.getElementById(i).onclick = function(){
alert(this.id);
}

では手抜き過ぎかね。
305Name_Not_Found:2009/01/17(土) 12:25:04 ID:4PNieZOC
thisでとるのはスマートですね。どうもありがとう。

試してみたけど、thisがタグ要素になるのは、
script中で タグ要素.onclick = したときだけみたい。
タグの中に <div onclick=""> って書くとダメだった。

>idが数字で始まるのはダウトじゃ
なんでですか?
306Name_Not_Found:2009/01/17(土) 13:06:35 ID:???
>>305
idの一文字目は英字のみっていうがのHTMLのお約束だから。
307302:2009/01/17(土) 13:25:18 ID:???
そうなんだ。今度から気をつけます。
308Name_Not_Found:2009/01/17(土) 15:25:13 ID:???
>>302-303
IDを自分で決めてるってことは、HTMLはいじっていいんだよな?
onclick直書きするよりは、こんな感じの方が変更が楽になるかも

<html><head>
<script type="text/javascript" language="javascript">

onload = function() {
 var list = document.getElementById('idlist').getElementsByTagName('div');
 for (var i = 0; i < list.length; i++) {
  if (!list[i].id){ continue; }
  list[i].onclick = func(list[i].id);
 }
}
function func(id) {
 return function(e){ itemClick(e, id) };
}
function itemClick(evt, id) {
 if (typeof(evt.stopPropagation) == 'function') {
  evt.stopPropagation();
 }
 else {
  evt.cancelBubble = true;
 }
}
</script></head><body>
<div id="idlist">
<div id="id0">AAA</div>
<div id="id1">BBB</div>
<div id="id2">CCC</div>
</div>
</body></html>
309Name_Not_Found:2009/01/17(土) 15:38:33 ID:???
質問させて下さい。
var 変数名 = 何らかの式
みたいにvarは変数宣言のようですが、
for ( var i=0 i<5 i++){
何らかの式
310Name_Not_Found:2009/01/17(土) 15:41:50 ID:???
JavaScript言語の入門書を買って読んだ方がいいよ。
あんたのfor文の書き方めちゃくちゃだし。
311Name_Not_Found:2009/01/17(土) 15:45:08 ID:???
すみません・・・間違えてシフト+エンターを押してしまいました。続き↓

前レスの式みたくforなどのカッコの中にvarを入れてるのはi=0; i<5; i++)  //←さっきは;も書くの忘れてました・・・
という5回だけ繰り返すのはこの関数内だけでしか使わないよって意味なのでしょうか?

とある初心者講座のサイトで、今までvar変数=○○の形でしか使われてなかったのに
突然こんな位置に来ててどう解釈していいのかよくわかりません。
312Name_Not_Found:2009/01/17(土) 15:47:51 ID:???
>>311
そのfor文の中だけでしか使わないという意味。
313Name_Not_Found:2009/01/17(土) 15:51:39 ID:???
即レスありがとうございます。やっとスッキリしました!
314Name_Not_Found:2009/01/17(土) 16:11:39 ID:???
a = 10;

function a() {return var a= ;}

document.write(a);
document.write(a());
315Name_Not_Found:2009/01/17(土) 16:26:10 ID:???
>>312
C++ だと、そのとおりだけどJavaScriptは外でも使えるぞ。
316Name_Not_Found:2009/01/17(土) 17:42:34 ID:???
evt.target.id
317Name_Not_Found:2009/01/17(土) 19:33:01 ID:???
Cでvarしたらエラッた。
318Name_Not_Found:2009/01/17(土) 22:46:41 ID:rPBDyrq0
<script type="text/javascript">
<!--
function tokei(){
dd = new Date();
document.form/.text1.value = dd.ToLoCa|String() ;
window.setTimeout("tokei()",1000);
}
//--></script>

dd.Toloca って関数が違いますか?
319Name_Not_Found:2009/01/17(土) 22:55:16 ID:???
>>318
その「|」(たて棒)は何さ。その他にも怪しいところがあるし。
文法デタラメでは動かないよ。入門書で文法の勉強してから
出直した方がよい。
320Name_Not_Found:2009/01/17(土) 23:08:09 ID:rPBDyrq0
即レスありがとうございます。
|でなく!でした。
仰る通りだと思います。出直してきます。
321302:2009/01/18(日) 00:19:39 ID:???
色々参考になります。

>>308
>function func(id) {
> return function(e){ itemClick(e, id) };
>}

こんなんできるんだ。
function(e){ itemClick(e, id) }; を定義するときに、
idの値が保存されて、後で実行されるとき暗黙に使えるってことだよね。
じゃあ、function(e){ itemClick(e, id) };は、
関数だけど、idの数だけ実体があるオブジェクトみたいなものなのか。

>>316
それもいいですね。
ちょうど、eventの中に何入ってるか、調べてみようと思ってました。
322Name_Not_Found:2009/01/18(日) 01:11:38 ID:???
>>311
for (var i=0; i<5; i++)

var i;
for (i=0; i<5; i++)
はJavaScriptでは全く同じ
323Name_Not_Found:2009/01/18(日) 02:12:48 ID:???
>>321
event.target(IEはevent.srcElement)がclickされた要素
それが欲しいidを持つ要素か、あるいはその内部にある要素かを調べればいい
イベントリスナーはdocumentに付ければいい。onloadとかいらない。
>>308だとidを変更したりだとか、divを後で増やしたときとかに対応しづらい
324Name_Not_Found:2009/01/18(日) 08:54:32 ID:???
>>323

>>>308だとidを変更したりだとか、divを後で増やしたときとかに対応しづらい

どういうこと?
HTML側でID変えたりdivが増えても>308は問題なく動くように見えるけど。
「ID名'idlist'が変わることがある」って意味なら、さすがにそこまで面倒みる必要はないっしょ。
他に使うはずのないID名なんだから、変える理由がない。
それを変えるなら自分で面倒を見るのが当たり前だし。



まさか実行中にID変更するだとか、divをappendChildするなんて想定してるわけじゃないよね?
そうなら設計が根本的に違う。そこまで複雑なもの考えてたら、ここで完璧な回答なんて不可能っしょ。
325Name_Not_Found:2009/01/18(日) 11:55:30 ID:???
>>323
documentにイベントリスナって、document.onclick = function にして
関数内でどこから呼ばれたか全部条件分岐するのか? 俺的には未知の発想なんだがw。
やったことないから出来るのかどうかすら知らんが、それができるとしても、
むしろそんなワケ分からん設計の方が、あとで追加変更あったときに対応キツいだろ。
326Name_Not_Found:2009/01/18(日) 12:16:42 ID:???
XMLをDOMにして操作したいのですが、なぜかIEでうまくいきません。
どなたかアドバイスお願いします。
// xmlTextにXMLを入れる
function parserXML(xmlText) {
var XMLDom = null;
alert("input " + xmlText);
if(window.ActiveXObject){ // IE側の処理
  XMLDom = new ActiveXObject('Msxml2.DOMDocument');
  XMLDom.async = false;
  XMLDom.loadXML(xmlText);
} else if(window.DOMParser) { // IEじゃないほう
XMLDom = (new DOMParser).parseFromString(xmlText, "text/xml");
}
alert("domDocument " + XMLDom);
return XMLDom;
}
alert("2 " + domDoc);

こんな処理で内容を確認しているのですが、
1つ目のアラートでは問題ないのですが2つ目の所では出てきません。
ちなみにFirefoxではちゃんと2つ目で[object Element]と出てきます。
どなたかアドバイスお願いします。
327Name_Not_Found:2009/01/18(日) 12:49:42 ID:???
>>326
IE側の処理だと、変数 XMLDom に ActiveXObject が入っている様だけど。
328326:2009/01/18(日) 13:33:27 ID:+CrFSz/L
>>327
ActiveXObjectではダメなのでしょうか?
どこかのサイトではこのような書き方をしていたので参考にしたのですけど
329Name_Not_Found:2009/01/18(日) 13:40:18 ID:???
>>328
alert するところで XMLDom(ActiveXObject)のままではまずいんじゃない?
使ったことないから知らないけど。
330Name_Not_Found:2009/01/18(日) 13:51:20 ID:???
>>326
まさかとは思うけど全角空白は入れてないよね?

XMLDom.loadXML(xmlText); を XMLDom.load(xmlText); にしてみたら

あと alert("domDocument " + XMLDom); を
alert("domDocument " + (typeof XMLDom)); にすれば
一応Objectとは表示されるよ
331330:2009/01/18(日) 14:05:41 ID:???
load()の引数はXMLファイルへのパスだったゴメン
XML文字列の解析はやっぱloadXML()か
332326:2009/01/18(日) 14:09:33 ID:+CrFSz/L
Objectとは出ましたが、その後がうまく行きません。
説明不足でしたがAjaxを利用しサーバからXMLを取得し、
サーバ処理がうまくいかなかった場合はエラーメッセージを出すという処理の一部でうまくいきません。

eXML = parserXML(text);
// エラー処理
if(eXML.getElementsByTagName("error_comment").length > 0){
alert( eXML.getElementsByTagName("error_comment")[0].textContent );
exit;
}

>>330-331の方法を参照させていただきましたが、if文で処理が止まってしまいます。
333Name_Not_Found:2009/01/18(日) 14:18:57 ID:???
>>332
IE の場合、変数 eXML に ActiveXObject への参照が返っているとしか思えない。
検索してみたけど、IE の場合、XMLDom.xml プロパティを返すべきなんじゃ?
334Name_Not_Found:2009/01/18(日) 15:18:03 ID:???
>>324
文書を使うのが自分だけだと思うなよ。
それにイベントリスナーはcloneNodeで複製すれば消える。
innerHTMLで書き換えただけでも消える。
「そんなことはしない」と考えているなら単なる経験不足。

>>325
お前の発想にはなかったかもしれんが、
DOMイベントやIEイベントモデルはそこまで考えて設計されてんだよ。

アホ外人見なくなったな
335Name_Not_Found:2009/01/18(日) 16:53:34 ID:???
alert(document.cookie)とするとFirefox、Opera、IE7などでは正常にCookieが表示されますが、
IE6では空のアラートが出てしまいます。CookieはONになっていますし、存在していますし、4KBを超えてもいません。
何か考えられる原因はありますか?
336Name_Not_Found:2009/01/18(日) 18:09:41 ID:???
>>335
alert出したあと、一回ブラウザを更新してまたalert出してみろ
337Name_Not_Found:2009/01/18(日) 18:30:24 ID:???
>>323
それだと確かにonloadはいらないけど、その考え方で設計していくなら、
onchangeとかonmouseoverとかも同じように考えるのが自然だよね。
ということは、何でもないform送信のボタンとか、selectボックスの選択とか、
ただのマウス移動とか、発生するイベント全部自分で面倒見るの?

その設計、以前、遥か昔にGUI研究してた人から教えてもらったことあるけどさ。
(言語はC。インターネットがまだ日本で一般的ですらない頃ね。)
とてもじゃないけど気が狂うって言ってたよ(笑)

何で個々のオブジェクトにイベントリスナがつけられるように設計されてるのか
考えてみたことある? 個々のオブジェクトでイベントの面倒見ないなら、
それぞれにイベントリスナつけられるようにする必要ないじゃん。

自分で全部処理しなきゃならんのは変。
基本機能に任せてしまえることなら任せてしまって、自分は手出ししない方がいい。
338Name_Not_Found:2009/01/18(日) 18:31:17 ID:t9ckLPDB
Javascriptの書き方で

var str = 'aaa';
ならエラーになりませんが
var str ='
aaa
';

とするとエラーになります。改行した方がソースが見やすくて
こうしようと思ったのですが、無理なのでしょうか?
339Name_Not_Found:2009/01/18(日) 19:05:19 ID:???
>>337
お前さんの勘違いをいちいち訂正する気はないから
ttp://msdn.microsoft.com/en-us/library/ms533023.aspx
ttp://www.w3.org/TR/DOM-Level-3-Events/
で基礎知識を覚えてから出直して来い。
もしくはevent delegationでググれ。

木構造でのイベントの伝播と頑強性の話をしているのに
数十年前のGUIの話を持ち出されてもアホかとしか言いようがない。
340Name_Not_Found:2009/01/18(日) 19:10:29 ID:???
>>338
下の str には改行が含まれるよね
341339:2009/01/18(日) 19:23:54 ID:???
DOM/IEイベントモデルが遅いのは否定しない。
一般的なGUIにそぐわないことも否定はしない。
俺が問題にしているのはブラウザ上での頑健性の一点な。
遅いと言っても今のスペックではほとんど問題にならない。
ライブラリ化が流行ってんだからこれぐらい考慮すべきだろ。

>>338
改行位置に\を入れれば改行込みで可能。ただしECMA違反。
342Name_Not_Found:2009/01/18(日) 19:43:17 ID:???
>>339
とりあえず>>308を書き換えてみてくれないか?
343Name_Not_Found:2009/01/18(日) 19:52:49 ID:???
>>336
レスありがとうございます。何回更新してもダメなんですよね……。謎です。
344Name_Not_Found:2009/01/18(日) 20:28:37 ID:???
339じゃないけど

document.onclick = function(evt){
  var tgt = evt ? evt.target : window.event.srcElement;
  if (tgt.id != '' && tgt.parentNode.id == 'idlist') {
    itemClick(evt, tgt.id);
  }
};

addEventListener使え言われるかもしれないが
345Name_Not_Found:2009/01/18(日) 21:58:30 ID:???
>>334,339,341
D「Object」Mを分かってない初心者乙。

そんな方法でonmouseoverやonmousemoveを実装してたら使い物にならなくなる。
これらのイベントだけをオブジェクトに直接設定するなら、
お前の言うcloneNodeやinnerHTML云々の話が起きるのは変わらない。

イベントの一元管理を勧めるとか意味不明。
オブジェクト指向についても少し勉強してみな。言語の実装じゃなくて、概念の方。
346Name_Not_Found:2009/01/18(日) 22:10:20 ID:???
>>334
設定したイベントを他のプログラムが消したなら、テスト中にすぐ分かるし。
ID名勝手に書き換えるような行儀の悪いライブラリなんて使いたくないしw

「他人がイベント設定してる可能性は考慮する」。「ID名は一意」。
こんなのは、どんなプログラムだって当然前提にしてること。
これを無視してるクズプログラムとの整合性まで考慮した
素晴らしいプログラムを目指すぐらいなら、自分で全部書いた方が万倍効率いい。
347Name_Not_Found:2009/01/18(日) 22:39:27 ID:???
>>345
IE4の時点でそこそこ使い物になってた。でなきゃMSDNに載らない
DWですら昔からそういうコードを吐いてるよ
オブジェクト指向で言うならObserver?chain of responsibility?
>>344がそんなに難しいとは思えないけど

>>346
「クズプログラム」ばかりだからライブラリの衝突なんて起こってるんじゃん
DOMなんだから、それこそドキュメントの変更なんて普通にあるよ
変更に左右されたくなければ自然と発生源から遠のいた所で監視することになる
そうなれば自然とイベントオブジェクトに問い合わせることになる
至って自然な発想だと思うけど

個々の要素にハンドラ取り付ける方がVB脳というかDHTML脳だと思うがなあ
348Name_Not_Found:2009/01/18(日) 23:00:21 ID:???
>>338
var str = 'aaa' +
'bbb' +
'ccc';
349Name_Not_Found:2009/01/18(日) 23:08:14 ID:AWWNbZM0
IEのアドレスバーにjavascript:alert("OK")と打つとアラートが表示されますが
これと似たようなことで、アドレスバーに貼り付けてページ上の〜という文字を別の文字に置き換えて表示できる
スクリプトを書きたいのですがヒントだけいただけないでしょうか?
350302:2009/01/18(日) 23:19:17 ID:???
>>345
>>347
お二人のソースは両方とも参考になりましたが、
結局、>>344 とだいたい同じ感じにしました。
イベント2種類しかないし、増える予定もないし、innerHTML書き換えるし、
document.onclickで一括管理が簡単でいいかなと。

とはいえ入口一個にするのと、個々にリスナつけるの、
一般的にどっちが好きかと言われれば、個々にリスナ付ける方が好き。
351Name_Not_Found:2009/01/18(日) 23:21:25 ID:???
>>349
「innerHTMLのガイドライン」で検索だ。
352Name_Not_Found:2009/01/18(日) 23:26:37 ID:AWWNbZM0
自己解決しました
body内をのぞいて検索置換して解決しました
353Name_Not_Found:2009/01/19(月) 00:29:56 ID:???
イベントデリゲーション自体をここまで鼻息荒く否定するのワロタ
自分が正しいと思ってる分質問厨よりも始末悪いわw

>>345
オッサン あんたのコードはもう時代遅れだよ…
354Name_Not_Found:2009/01/19(月) 04:01:30 ID:???
両極端だとは思うんだよな。

>>346
例えば、>>346がイベントベースの何かを作ったとする。
俺が別の何かでノードを生成して文書木に追加したとする。
さて、俺が生成したノードは>>346のイベントシステムに関与すべきだろうか?
それを知る術が、俺にはない。

仮に、運良く俺が>>346のソースコードを事前に入手できたとする。
さて、俺は生成したノードにイベントリスナを取り付けることができるだろうか?
>>346が行儀良くカプセル化すればするほど、それは不可能になる。
>>346がノード選別&ハンドラ取付け用APIを用意してくれれば別だが、期待する方が無理だろう。

もっと言えば、俺が>>346のイベントリスナを壊してしまうかもしれない。
繰り返すが、俺にはそれを事前に知る術がない。

結局、>>346が言う『クズプログラム』にならないようにするには、俺からできることはない。
>>346自身に、自分のイベントシステムに関与するノードをその都度選別してもらうしかないんだ。
だからこそ「バブルするイベントは上位ノードで監視するようにしてくれ」なんだ。

バブルしないイベントなら(別にバブルするものでも構わないんだが)
HTMLのイベント属性として書けば、複製されようがinnerHTMLで書き換えられようが生き残る可能性が高い。
addEventListenerによるイベントリスナは複製されないことになっているし、
node.onclickのようなイベントプロパティがどうなるかは予測できないしすぐ上書きされる。
イベント属性が格好悪いものだという風潮は、この意味では少し困る。
355Name_Not_Found:2009/01/19(月) 10:12:38 ID:???
>>354
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
| わかり辛いから |
| 3行にまとめて!|
|________|
`∧∧ ‖
(゚д゚)‖ 残り15秒でCMいきまーす
/  づΦ
356Name_Not_Found:2009/01/19(月) 11:07:27 ID:W9WABiGt
body内の特定の文字を------------に変換したいのですがうまく変換できません
firebugでdocument.body.innerHTML=document.body.innerHTML.replace('1','--------------');がdocument.body is nullとエラーがでました
IEのアドレスバーにこのjsを貼り付けるとうまくいくのですが、htmlにアクセスすると変換できません
どなたかご教授お願いいたします
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=sjis" />
<title>js</title>
<script type="text/javascript"><!--
document.body.innerHTML=document.body.innerHTML.replace('1','--------------');
// --></script>
</head>
<body>
<p>1</p>
<p>2</p>
<p>3</p>
</body>
</html>
357Name_Not_Found:2009/01/19(月) 11:09:29 ID:???
>>356
onload
358Name_Not_Found:2009/01/19(月) 11:32:06 ID:???
ありがとうございます
window.onloadで解決できました
359Name_Not_Found:2009/01/19(月) 11:32:37 ID:W9WABiGt
↑id出し忘れました
ありがとうございました
360Name_Not_Found:2009/01/19(月) 11:51:06 ID:bewNFv+n
テーブル内の2番目の列の値を取得したいのですが取得できません
取得したい値は「金額、10500、1000、3980」です
どなたかご指摘よろしくお願い致します

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>テーブル内の金額にカンマを付ける</title>
<script type="text/javascript"><!--
window.onload = function(){
str = document.getElementById("money").innerHTML;
alert(str);
}
// --></script>
</head>
<body>
<table>
<colgroup>
<col id="name">
<col id="money">
</colgroup>
<tr><td>名前</td><td>金額</td></tr>
<tr><td>テレビ</td><td>10500</td></tr>
<tr><td>USBケーブル</td><td>1000</td></tr>
<tr><td>ラジコン</td><td>3980</td></tr>
</table>
</body>
</html>
361Name_Not_Found:2009/01/19(月) 12:40:27 ID:???
>>360
innerHTMLは「HTMLソースの一定範囲を」取り出すだけでしょ。
あんたはcolタグのidを指定してるからそのcolタグの中身(空)
だけが取り出されている。脳内仕様でHTMLやDOMに自分の都合
いい動作を期待しても無駄。
362Name_Not_Found:2009/01/19(月) 12:43:24 ID:bewNFv+n
colにidを付けて一気に取るのは不可能なのですね、諦めます
すみませんでした
363Name_Not_Found:2009/01/19(月) 12:45:59 ID:???
このソースから360が何をしたいのかよく分かったなw
364Name_Not_Found:2009/01/19(月) 13:29:17 ID:???
普通に HTMLTableElement 使えばいいのに。
ただし同じ形のテーブルで常に2行目から値を抜くなら、正規表現一発で抜いたほうが楽ちんかもね。
365Name_Not_Found:2009/01/19(月) 14:29:35 ID:???
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var tbl = document.getElementById('t0');
for(var i = 1; i < tbl.rows.length; ++i) {
var n = tbl.rows[i].cells[1].childNodes[0]; n.nodeValue = chg(n.nodeValue);
}
}
function chg(s) {
for(var a,o=''; a=s.match(/^(.*)(...)$/); s=a[1]) o =','+a[2]+o;
return s+o;
}
</script>
</head><body onload="test()">
<table id="t0"><tbody>
<tr><td>名前</td><td>金額</td></tr>
<tr><td>テレビ</td><td>10500</td></tr>
<tr><td>USBケーブル</td><td>1000</td></tr>
<tr><td>ラジコン</td><td>3980</td></tr>
</tbody></table></body></html>
366Name_Not_Found:2009/01/19(月) 15:07:36 ID:???
ごく稀にくるすご腕回答者だなw
俺には何書いてるのかさっぱりだぜ
367Name_Not_Found:2009/01/19(月) 16:30:41 ID:???
>>347
>IE4の時点で

わらかすなwwwwww
10年前で思考止まってるのかyp!
そらDOMなんて理解しようって気すらないわな。

百歩譲ってメンテならそれは必要だが、
古くて効率悪い考え方は新しい方法で置き換えろよ。
368Name_Not_Found:2009/01/19(月) 17:14:30 ID:???
IE6とIE7で、リストボックスの selectedIndex の値が異なります。
リストボックスの選択された場所を onClickイベントハンドラで取得しようとしています。
IE7ではこちらの想定通りに行番号を取得しているのですが、
IE6の場合は1つ前に選択した値が返ってしまいます(1回目のクリックでは "-1" が返る)
これって IEのバージョン違いによる仕様なのでしょうか?
もし仕様である場合、どのようにすればIEのバージョンに関係なく期待どおりに動作させられるでしょうか?
よろしくお願いします。
369Name_Not_Found:2009/01/19(月) 17:54:35 ID:???
ソース。
370Name_Not_Found:2009/01/19(月) 18:48:13 ID:eLeTGWCA
Firefox3ですが、外部ファイルにしたjsを読み込まないって事はないですよね?

試しに外部ファイルに

test(){
alert('test');
}

とかいたのですが、IE6ではアラートが表示されるのに、
Firefoxでは表示されず、エラーコンソールには「test is not defined」
と表示されています。
371Name_Not_Found:2009/01/19(月) 18:51:33 ID:???
selectにonchangeでthis.form.***.selectedIndex
0を空処理にして末尾で=0
372Name_Not_Found:2009/01/19(月) 18:53:25 ID:???
ふぁんくしぉん
373Name_Not_Found:2009/01/19(月) 18:54:04 ID:???
>>370
見るからに動きそうにないな
374Name_Not_Found:2009/01/19(月) 18:57:21 ID:7muSy9kf
大阪市天王寺区烏ケ辻2-3の文字数はどう出したらいいですか?
375Name_Not_Found:2009/01/19(月) 19:00:28 ID:???
alert(("僕ドラえもん").length)
376Name_Not_Found:2009/01/19(月) 19:22:02 ID:???
>>375
alert("僕ドラえもん".length)
これで良いんじゃない?
377Name_Not_Found:2009/01/19(月) 19:49:29 ID:???
>>367
かわいそうに
378Name_Not_Found:2009/01/19(月) 21:59:40 ID:???
最近学び始めた者だけどjavascript学び始めたらActionscriptの理解がしやすくなってきた。
更にC言語の超入門書読んだらさらにjavascriptが理解しやすくなった。
というか、こんだけ似たり寄ったりの言語をイチイチわけるなよって思ったり…
379Name_Not_Found:2009/01/19(月) 22:00:59 ID:RMCGIylb
Firefoxのコードを読んでいたんですがわからない箇所があったので質問します。
\Mozilla Firefox\modules\JSON.jsmの中のコードです。

var JSON = {
 toString: function JSON_toString(aJSObject, aKeysToDrop) {
 〜
となっていますが、toStringメソッドにJSON_toStringという別名?がついているのですが
これの意味がわかりません。
toString: function (aJSObject, aKeysToDrop) {
だけでいいと思うのですが上記のようにしている理由を教えて下さい。
380Name_Not_Found:2009/01/19(月) 22:13:19 ID:???
ttps://developer.mozilla.org/ja/JavaScript_style_guide#.e3.82.b3.e3.83.bc.e3.83.89.e3.82.b9.e3.82.bf.e3.82.a4.e3.83.ab
>インライン関数はそのデバッグが楽になるように名前を付けてください。
381379:2009/01/19(月) 22:57:50 ID:RMCGIylb
debug用でしたか。
処理が早くなったりするのかなとか考えてました。
どうもありがとう。
382Name_Not_Found:2009/01/19(月) 22:59:12 ID:???
>>365
遅くなりましたがありがとうございました
383Name_Not_Found:2009/01/20(火) 01:37:38 ID:???
javascriptの課題を質問させてください。。。
提出期限は今日の9時。
まじでやばい。

だれかやさしいひとおねがいします
384Name_Not_Found:2009/01/20(火) 01:38:55 ID:???
いや
385Name_Not_Found:2009/01/20(火) 01:45:02 ID:???
情報の提供に対する対価は、無償では無いということを日本人は知らなさすぎる
386Name_Not_Found:2009/01/20(火) 05:32:12 ID:???
すみません。>>335で質問し、>>336の方にレスをいただき、>>343のレスをした者ですが
もう少し試してみました。
・PHPの$_COOKIEでは受け取れています
・JavaScriptはONになっています
・URL欄に直接javascript:document.cookieと打ち込んでも表示されません
IE6ではdocument.cookieが使えないという話も聞きませんし
他に考えられる原因はありますか?
387Name_Not_Found:2009/01/20(火) 07:26:21 ID:???
>>386
手元にIE6環境ないから確認できないんだが、
「Cookieを受け取る時に確認ダイアログを表示する」とかなんとかの設定なかったっけ。
これチェックしてからCookieを発行して、そもそも受け取れているかどうかを確認。

>>383
課題ができない=単位を取得するだけの水準に達していないんだから、
今期の単位落として講座再受講が当然じゃ?
388Name_Not_Found:2009/01/20(火) 07:34:23 ID:???
JavaScriptは数年前に簡単な処理をするために初歩的な部分だけ勉強しました
本当に数日適当にやっただけなので何もできないに等しいのですが
最近使いたい場面が増えてきたのでまた勉強しているのですが
ここ最近のメジャーなライブラリ・APIのソースをみていると
従来(古い?)とはおそらく異なった特殊な書き方が多数でてきて理解ができません
obj.property(
 "hoge",
 "hogehoge"
);
こんなのとか(配列?構造体?)
hoge = { // = {のとこが({})のも
 a: function(){
 }
 b: function(){
 }
}
(function(){})()みたいなやたら()を多様したような記述や
複雑そうなので便利ではありそうだけど難読解そうなソースが多いです
自分が知らないだけで従来からこういう書き方があったのかもしれないですが
多くの個人レベルのJavaScriptの解説サイトだと
こんな難しそうな書き方はでてきません
こういうソースを何をしてるかがなんとなく理解できる程度に読めるようになりたいのですが
どのようなサイトで勉強すればよいのか
どのようなキーワードで検索すればいいのか教えてください
389Name_Not_Found:2009/01/20(火) 08:10:30 ID:???
>>388
キーワード…。「JavaScript 入門」かなぁ。

1つ1つは単純なことで、それが組み合わされて複雑に見えるだけだから、
1つ1つに分解するコツというか、見方を覚えればいいんだけどね。

たとえば
var hoge;
hoge['a'] = 12;
hoge['b'] = 5;

var hoge = { a : 12, b : 5 };
と書いても同じ。ただの変数代入。

また
var func = function(str1, str2){ alert(str1 + str2); };

function func(str1, str2){ alert(str1 + str2) }
と(差異はあるけど)だいたい同じ。関数は変数に入れられると考えていい。
390Name_Not_Found:2009/01/20(火) 08:11:19 ID:???
(続き)
で、上2つを合わせると
var hoge = { a : function(str1, str2){ alert(str1 + str2); } };
という書き方もできる。

この関数を呼ぶには、
hoge.a("文章1", "文章2");
という書き方をする。

例で挙げてもらってるのは、これを改行してるだけだと考えていい。
入門サイトでは、個々の説明はしてるだろうけど、
それを組み合わせて紹介してる例は少ないだろうし、
望んでるような複雑な例を勉強できるサイトは思いつかないなぁ。
391388:2009/01/20(火) 08:28:01 ID:???
>>389
わかりやすい詳細な解説どうもありがとうございます
例にあげた部分がとくにわからなかったので助かりました
入門サイトに個々の説明をしているところがあるとのことなので
色々調べまわってみたいと思います
書き方もいろいろあるしやたらfunctionを多用するめんどくさそうな言語だなぁ
と思いましたがだんだん面白くなってきました
392Name_Not_Found:2009/01/20(火) 10:51:50 ID:???
>>383
単位だけ取れればいいと思ってる甘っちょろい学生はくたばれクズ
393Name_Not_Found:2009/01/20(火) 15:06:30 ID:???
@・name値が同じ複数のチェックボックスがある
A・@のチェックボックスのいずれかがクリックされる
B・そのとき@のチェックボックスがひとつでもcheckedになっていればTRUEを返す

こんな動作をするコードを書きたいんですが、
Bの判定をするにはチェックボックスの情報をByNameで取得して、
配列をforなどの繰り返し処理で一つ一つ調べるしかないのでしょうか?
PHPでいうところのin_arrayやarray_searhのような
配列内の要素を参照する方法はないのですか?
394Name_Not_Found:2009/01/20(火) 15:14:39 ID:???
>>388
サイ本読めばいいじゃん
オブジェクトリテラルとか関数リテラルとか
解説載ってるぞ
395Name_Not_Found:2009/01/20(火) 15:53:16 ID:???
>>380
横やりだけど、インライン関数っていうのを初めて知ったから使い方教えて。

http://www.google.co.jp/search?hl=ja&safe=off&client=firefox-a&rls=org.mozilla%3Aja%3Aofficial&hs=dW&q=javascript+%22%E3%82%A4%E3%83%B3%E3%83%A9%E3%82%A4%E3%83%B3%E9%96%A2%E6%95%B0%22&btnG=%E6%A4%9C%E7%B4%A2&lr=lang_ja
それっぽい情報が出てこなくて使い方良く分からない。
イメージ的には下のような感じでmyObj.fn2('test')とかやるのかと思ったけど、
違うみたいだからどういうものなのかな?と。
var myObj = {
 fn: function inlineFn (str) {
  alert(str);
 },
 fn2: function (str) {
  inlineFn(str);
 }
};
396Name_Not_Found:2009/01/20(火) 16:18:35 ID:???
>>395
javascriptの関数は値としても振る舞う。
var fn = myObj.fn
var fn2 = myObj.fn2
alert(fn);
alert(fn2);
IEは知らないけどFxならinlineFnという名前を含めて表示されるはず。
397Name_Not_Found:2009/01/20(火) 16:21:34 ID:???
あとインライン関数っていうのはおそらくオブジェクトリテラルの
「インライン」に記述する「関数」だと思われ。
var obj = { key: function(){} };
やってることはこれと同じ。
var obj = {}; obj.key = function(){};
398Name_Not_Found:2009/01/20(火) 16:29:53 ID:???
>>395
横やりだけど、それでうまくいかないのは this がないからじゃに?


fn2: function (str) {
 this.inlineFn(str);
}
399Name_Not_Found:2009/01/20(火) 16:31:06 ID:???
馬鹿の一つ覚えで無名関数だの匿名関数だの言う輩が後を絶たないが
JavaScriptの関数式は名前付きでも構わない
名前を使えるのはその関数内に限定される
再帰に便利
Firebugでは関数名を表示するから名前があると追跡しやすい
それだけの話
400398:2009/01/20(火) 16:39:32 ID:???
間違った・・・・。


fn2: function (str) {
 this.fn(str);
}
401Name_Not_Found:2009/01/20(火) 16:42:07 ID:???
>>399
>名前を使えるのはその関数内に限定される
まじか、いいことを聞いたありがとう
内部でワーカー関数を生成して再帰とかやってた
402395:2009/01/20(火) 16:54:16 ID:???
おぉ。すげーレスついてる。ありがとう。
>>400
それだとinlineFnって付ける意味ないからどういう風に使うんだろう?って思ってたのです。

>>399
再帰とかFirebugの名前追跡か。なるほど。下のようにやったら上手くいった。
var myObj = {
 i: 0,
 fn: function inlineFn (str) {
  alert(str);
  for (var i=this.i;i<1;++i){
   inlineFn(str);
  }
 }
};
myObj.fn('test');
403Name_Not_Found:2009/01/20(火) 17:02:01 ID:???
再帰目的"だけ"なら、arguments.calleeで十分だけどね。
404Name_Not_Found:2009/01/20(火) 17:24:00 ID:ccBnDmq1
すいません再帰ってどういう意味ですか?
405Name_Not_Found:2009/01/20(火) 17:30:06 ID:???
再帰呼び出し でググれ
406Name_Not_Found:2009/01/20(火) 19:37:47 ID:???
>>402
これは上手くいったというのか?
2回目のthis.iがundefinedで止まるんでない?
407Name_Not_Found:2009/01/20(火) 19:47:28 ID:???
ローカルで関数などの一覧作ってるんだけど
F={}とF=[]を同じグループで他と分けるとしたら
どんなタイトル付ける?

たとえば今は「命令文」枝で
//,/* */,;をコメント/ブロック
FOR,WHILE,CONTINUE,WITHをループ/連続処理
IF,SWITCHを分岐
等のタイトルで分けてる
408Name_Not_Found:2009/01/20(火) 19:55:57 ID:???
タイトル ;
{}型:複文(内包した複数スクリプト行を一つのブロックとして扱えます)
;型:単体で空文(何もしない)、前に式がつく事で式文(スクリプト一行分の終り)

みたいな分け方で
409Name_Not_Found:2009/01/20(火) 20:03:49 ID:???
略式代入とかじゃ意味違っちゃうかな?
410Name_Not_Found:2009/01/20(火) 20:37:58 ID:???
>>407
リテラル。それぞれがオブジェクトリテラルと配列リテラルだから。
数字がNumberオブジェクトを、"string"がStringオブジェクトを生成する延長。
ttps://developer.mozilla.org/ja/Core_JavaScript_1.5_Guide/Literals#.E9.85.8D.E5.88.97.E3.83.AA.E3.83.86.E3.83.A9.E3.83.AB
411Name_Not_Found:2009/01/20(火) 21:38:11 ID:???
すみません、誰か>>393願いします。
412Name_Not_Found:2009/01/20(火) 22:07:41 ID:???
>>411
1つずつ調べるしか方法はない。
413Name_Not_Found:2009/01/20(火) 22:16:36 ID:???
>>411
各ブラウザの独自先行仕様や各種JavaScriptFrameworkでは、
indexOfとかcontainsなどの、配列の中に指定の値があるのかチェックする関数(Arrayオブジェクトのメソッド)があるけれど、
標準的には未実装。
414Name_Not_Found:2009/01/20(火) 23:30:06 ID:???
>>386
・URL欄に直接javascript:document.cookieと打ち込んでも表示されません
手元のIE6では表示されるからおまいさんの環境が悪いとしか言えない
415Name_Not_Found:2009/01/20(火) 23:35:08 ID:???
>>386
まさかスレイプニルとかルナスケープとかfirefoxにietabかましてるとかじゃないよな
IEを立ち上げてアドレスバーに貼り付けるんだぞ
416Name_Not_Found:2009/01/21(水) 01:10:57 ID:???
>393
アドレスクエリをindexOfで評価してみるとか
417Name_Not_Found:2009/01/21(水) 08:33:10 ID:???
javascript:alert(document.cookie);void(0)
が一番確実なんじゃないだろうか。
418395:2009/01/21(水) 10:03:56 ID:???
>>406
ありがとう。勘違いしてた。2回目のthisはinlineFnに入った後だから自分自身になってるのか。
iはその上で定義しないとダメなのね。
var i = 0;
var myObj = {
 fn: function inlineFn (str) {
  alert(i);
  alert(str);
  if (i < 1) {
   ++i;
   inlineFn(str);
  }
 }
};
myObj.fn('test');

そもそも再帰の例作るのにfor文使うのが間違いだった。
419Name_Not_Found:2009/01/21(水) 19:23:51 ID:jQCkv2Nl
>>418
var myObj = {
    fn : function(str){
        alert(i);
        alert(str);
        if(i < 1){
            ++i;
            arguments.callee(str);
        }
    }
}

なんてすると、名前付ける必要すらない。
420Name_Not_Found:2009/01/21(水) 19:35:12 ID:???
>>419
大元がデバッグ用に名付けろって話なんだから削る必要もないw
421Name_Not_Found:2009/01/21(水) 22:37:44 ID:jQCkv2Nl
>>420
ああ、頭悪いな、俺が。
422Name_Not_Found:2009/01/22(木) 21:46:55 ID:???
if ( value = func( ) ) { ・・・

このような関数の返り値を変数へ代入する式を条件式にしてるのを見るんですが
これってどういう意図があるんでしょう??

例えば返り値のチェックとして

value = func( );
if ( value ) { ・・・

とするなら理解できるのですが。。
423Name_Not_Found:2009/01/22(木) 22:13:25 ID:???
2つとも同じ意味。
たまに1文字でも短く書きたいときがあるんだ。
ブックマークレット書くときとか。
424422:2009/01/22(木) 23:19:08 ID:???
>>423
なるほど。
425Name_Not_Found:2009/01/23(金) 15:17:41 ID:???
たまに見るけど == と勘違いしがちなんでやめた方がいいよね
426Name_Not_Found:2009/01/23(金) 15:45:18 ID:???
そんな勘違いをする奴は===の存在も知らないんじゃないかな
合わせてやる必要ないだろ
427Name_Not_Found:2009/01/23(金) 16:08:20 ID:???
>>425
普通はしない。
423が言ってるように、字数制限のきついbookmarkletでは
やむを得ず使うこともある。

>>426
どこから===が出てきた?
428Name_Not_Found:2009/01/23(金) 18:23:56 ID:???
if (value = func())
この場合ってfunc()の返り値が評価されるの?
それとも代入後のvalueの値が評価されるの?
それとも式の評価がfunc()の返り値なの?
429Name_Not_Found:2009/01/23(金) 18:55:48 ID:???
>>428
演算子の優先順位が、関数呼び出し()の方が代入=よりも高いので、
まずfunc()が評価され、その戻り値がvalueに代入され、代入されたvalue値がifの条件として評価される。

赤の他人に読まれる事を前提とするならば、紛らわしい文脈は避けた方が良いのは当然なので、
俺も下記の記法に従ってるな。
ttps://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Statements/if...else#Example.3a_Assignment_within_the_conditional_expression
430Name_Not_Found:2009/01/23(金) 22:42:58 ID:???
じゃあさ、
var str = 'hogehogehoge';
var rx = /h(og)e/g;
var res;
while((res = rx.exec(str))){
  ...
}
こういうのも
while(1){
  res = rx.exec(str);
  if(res) {
    ...
   continue;
  }
  break;
}
と書いた方が良いのか?
431Name_Not_Found:2009/01/23(金) 22:48:53 ID:???
>>430
そりゃwhileの慣用句でしょ。
>>422のケースでの使用は大したメリットがないくせに
バグの温床になりやすいからやめとけということ。
432Name_Not_Found:2009/01/23(金) 23:04:14 ID:???
慣用句なら知ってる知らないの問題だけのような。
バグ回避なら比較のときは定数を左に置く(1 == a)コーディングルールも見たことがある。
俺も読みづらいんだけどメリットもあるのかと思ったんだ。
433Name_Not_Found:2009/01/23(金) 23:16:43 ID:???
・こんな書き方が分からないという奴を想定する必要はあるかないかでいえば無いと思う
・しかしデバッグのことを考えれば避けるべきだとは思う
・一方でバグとりおわったコードでこのような書き方を避ける理由は無いと思う
・しかしそれは人間様がわざわざ書き直すことではなくてコンプレッサーが果たすべき仕事だろうと思う
・つまり人間が>>422のような書き方をするのは>>423が言うようにブックマークレットなど特殊な条件のみだと思う
434Name_Not_Found:2009/01/23(金) 23:32:24 ID:???
>>432
へー
それおもしろいな
435Name_Not_Found:2009/01/24(土) 08:46:30 ID:???
>>430
いや、そういう書き方が必要になるとしても、
それをやるなら

while(1) {
 res = rx.exec(str);
 if (!res){ break; }
 ...
}

と書くでしょ。

例外処理が処理を抜けるだけで終わるなら、
それはbreakやreturnで終わらせりゃ済む話。
正常処理部分を無駄に字下げすることはない。

別の、もっと単純な理由を挙げると、
while(1)は「無限ループ作って特定の条件の時だけ抜ける」慣用句だから、
その「特定の条件= !res」ははっきり明示した方がいい。
436Name_Not_Found:2009/01/24(土) 14:42:33 ID:???
うんうん
437Name_Not_Found:2009/01/24(土) 16:30:51 ID:???
ベテランだな。
438Name_Not_Found:2009/01/24(土) 16:54:52 ID:???
複数の画像を1枚のHTMLで順に見ていくスクリプト(スライドショーみたいな)。
GIF・PNG・JPGが多数混在するので、どれがGIFでどれがPNGかをひとまとめに
設定して動かせるようにしたいのですが、JavaScriptで可能でしょうか?
一通りレファレンスは見ましたがIFで続けるかCASEで続けるかしかなく
3枚くらいならいいけど10枚とか100枚とか行くとJSファイルが巨大化・・・。

例えばperlみたいに
@giftype=('1','2')と続けて書いて、@giftypeにある数値と一致したら
GIFと認識するみたいな書き方・・・
439438:2009/01/24(土) 16:56:21 ID:???
今のところこんな感じ
switch (Num) {//NUM=ファイル名(数字)が1なら、2なら、3なら
case 1:
Type=".png";
break;
case 2:
Type=".jpg";
break;
default:
Type=".gif";
break;
}
440Name_Not_Found:2009/01/24(土) 18:24:29 ID:???
>>438
for(i in ["A.GIF","C.PNG","B.JPG","J.JPG","Z.PNG"]){
内で

i.split(".")[1]
の拡張子をswitch、自動振り分けで
GIF_INDEX+="<IMG src='"+i+"'><BR>";
各ボックスに順に追加
441Name_Not_Found:2009/01/24(土) 18:32:25 ID:???
拡張子が大文字小文字混在なら
toLowerCase(i.split(".")[1])
で小文字統一すればいいかも
442Name_Not_Found:2009/01/24(土) 18:37:10 ID:???
あ、スライドショーなら配列追加か
443Name_Not_Found:2009/01/24(土) 18:51:46 ID:???
ゴメン寒すぎてミスった

f=["A.GIF","C.PNG","B.JPG","J.JPG","Z.PNG"];
for(i in f){alert(toLowerCase(f[i].split(".")[1]));}
これをswitch
444Name_Not_Found:2009/01/24(土) 18:59:15 ID:???
alert(f[i].split(".")[1].toLowerCase())
445Name_Not_Found:2009/01/25(日) 01:09:56 ID:???
これを、
for(var i=0; i<contents.length; i++) {
}

こうしたらめっちゃ処理速度上がったんですが、
var max = contents.length;
for(var i=0; i<contents.length; i++) {
}

IEのJavaScriptエンジンあほじゃないですか?
446Name_Not_Found:2009/01/25(日) 01:10:36 ID:???
間違えた、下段はこう。
var max = contents.length;
for(var i=0; i<max; i++) {
}
447Name_Not_Found:2009/01/25(日) 01:24:43 ID:???
すさまじく今更な件
448Name_Not_Found:2009/01/25(日) 01:34:25 ID:???
そうなのかー。

ところで、class属性値を取得したいんですが、
下の方法より、もっといい方法ありませんか?

var obj = document.getElementById("file");

for(var j=0; j<obj.attributes.length; j++) {
  if(obj.attributes[j].nodeName == "class") {
    return obj.attributes[j].nodeValue;
  }
}
449Name_Not_Found:2009/01/25(日) 01:34:43 ID:???
for の中で length が変わったらどうするの

--
JIT でどれくらい最適化されるのか楽しみだね
最適化の度合いを強くするほど解釈にかかる時間は増えてしまうわけで
450Name_Not_Found:2009/01/25(日) 01:58:30 ID:???
>>445
巨大配列でのforループでは、前もって配列のサイズを取得しておいた方が良いというのは定石。
ttp://www.prototypejs.org/api/array

が、IE6,7で文字列結合が糞遅いというのと同様に、あまり知られてないようだけど。
451Name_Not_Found:2009/01/25(日) 02:58:11 ID:???
>>448
return document.getElementById("file").className;
452448:2009/01/25(日) 03:11:23 ID:???
>>451
どうもありがとう。"className"なんだね。
ずっとgetAttribute("class")でとろうとしてました。
453Name_Not_Found:2009/01/25(日) 03:25:28 ID:???
>>452
getAttribute("class")で取れないのはIEのバグだね。念のため。
454Name_Not_Found:2009/01/25(日) 10:31:47 ID:???
横からすみませんが、

>>450
> 巨大配列でのforループでは、前もって配列のサイズを取得しておいた方が良い
> IE6,7で文字列結合が糞遅い

↑こういうこと知りませんでした。

「javascript 高速化」でぐぐったらこんな↓サイトがありましたが、
http://cast-a-spell.at.webry.info/200604/article_10.html

どなたか、もっと詳しく書いてあるサイト知りませんか?



455Name_Not_Found:2009/01/25(日) 15:00:02 ID:???
質問させて下さい
javascriptで10秒のカウントダウン表示を行いたいんですが

<html>
<script type="text/javascript"><!--
var startDate;
function start(offset) {
startDate = new Date();
startDate.setSeconds( startDate.getSeconds() - offset);
tick();
}
function tick() {
currentDate = new Date();
diffDate = new Date(startDate - currentDate);
var second = diffDate.getSeconds();
if(second == 0) {
document.getElementById("time").innerHTML = "OK";
} else {
document.getElementById("time").innerHTML = second;
setTimeout("tick()", 1000);
}
}
// --></script>

<body onLoad="start(50)" >
<span id="time"> </span>
</body>
</html>

これで一応出来ているっぽいんですが、bodyでのonLoadを行わずに、
scriptの中で数値を指定するにはどのようにすればいいんでしょうか。
456Name_Not_Found:2009/01/25(日) 15:31:09 ID:???
>>455
body タグの onLoad消して、window.onload=function() { start(50) } を加える
457Name_Not_Found:2009/01/25(日) 15:51:53 ID:???
なんで50ひく?これじゃあかんの?

<script type="text/javascript"><!--
  onload = function() {
    start(10);
  };
  var startDate;
  function start(offset) {
    startDate = new Date();
    startDate.setSeconds( startDate.getSeconds() + offset);
    tick();
  }
以下略
458Name_Not_Found:2009/01/25(日) 19:11:53 ID:kveHd+wN
function func(arg) {}

こういう関数で引数が渡されたかする場合、
以下の3つの方法を見かけるんですが、
どの方法がいいんでしょうか?

if (arg) {}
if (arg != null) {}
if (typeof arg != "undefined") {}
459Name_Not_Found:2009/01/25(日) 19:18:40 ID:???
>>458
厳密には(汎用としては)arguments.lengthをチェックするべきだろうけど
想定された引数にfalse扱いされるものを含まないなら一つめで十分。
460Name_Not_Found:2009/01/25(日) 19:32:28 ID:???
なるほど。特に問題ないならヒトツメが簡単でいいですね。
どうもありがとうございます。
461Name_Not_Found:2009/01/25(日) 19:58:36 ID:???
0や""はどうすんだ
462Name_Not_Found:2009/01/25(日) 20:17:14 ID:???
0や""ならデフォルト値という仕様でおk
463Name_Not_Found:2009/01/25(日) 20:55:11 ID:???
>>460
潜在的なバグとなる危険性大なので、引数の存在をチェックするなら、
最低でもif ( arg != null )にしておいた方が安全。
464Name_Not_Found:2009/01/25(日) 21:12:47 ID:???
チェック自体要らないんじゃないの?
arg=arg||defaultValue;
でいいんじゃないの?
465Name_Not_Found:2009/01/25(日) 21:26:00 ID:???
型変換を期待しているならな
型変換されて嫌なときはtypeofやinstanceof
引数の省略時にデフォルト値にするならarguments.length
関数のsignatureに合ってるか確認するならFunction.length
466Name_Not_Found:2009/01/25(日) 22:56:35 ID:???
どうせ自分しか使わないんだからどうでもいい。
467Name_Not_Found:2009/01/25(日) 23:34:33 ID:7oGfdWR+
だれか下のコードをFirefoxでも動くように書き直してください
お願いします。

var obj = new ActiveXObject("Msxml2.DOMDocument");
obj.async = false;
obj.load("hoge.xml");
var obj_root = obj.documentElement;
var obj_child = obj_root.childNodes;
for (i=0; i < obj_child.length; i++) {
var obj_node = obj_child.item(i);
window.alert(obj_node.xml);
}
468Name_Not_Found:2009/01/26(月) 00:05:54 ID:fHmeGciL
perlの BigFloat のような浮動小数点を扱える JavaScript の
ライブラリ (prototype.jsのような) はないでしょうか?

宜しくお願いします。
469Name_Not_Found:2009/01/26(月) 09:56:05 ID:???
470Name_Not_Found:2009/01/26(月) 15:55:48 ID:???
>>467
いますぐLANケーブルを抜きたまえ
471Name_Not_Found:2009/01/26(月) 19:11:48 ID:???
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
を指定した時、jsからアクセスすると
<div id="info"></div>と
<div id="info" / >は完全に等価だと思っていたのですが、違うのですか?
472Name_Not_Found:2009/01/26(月) 19:14:20 ID:tBRrWZbM
>>471
エレメントノードとしては等価だろうけど、
文字列としては別物だろうよ。
そういうことじゃなくて?
473Name_Not_Found:2009/01/26(月) 19:22:38 ID:???
>>472
エレメントノードとして です
やっぱ等価だよね…
474Name_Not_Found:2009/01/26(月) 20:18:48 ID:???
HTMLで等価なわけがない
475Name_Not_Found:2009/01/26(月) 21:08:22 ID:???
>>471
xhtmlじゃないただのhtml4で<elem />は厳密には書けないはず。
だからパーザがどう解釈するかは不定。
476Name_Not_Found:2009/01/26(月) 23:44:43 ID:???
だね
<div id="info" /> が <div id="info" /="/"> こうなるパーサには好感が持てる
477Name_Not_Found:2009/01/27(火) 00:22:32 ID:???
/はHTML4の名前文字ではないしNET文字になって
<div id="info" >>
になるんじゃね?
478Name_Not_Found:2009/01/27(火) 02:14:22 ID:2LsN7CzE
URLを別のURLに置換する方法を試しています。

url = url_list.replace('/(http://yahoo.co.jp/)/','http://google.co.jp');

としているのですが、全く置換されません・・・
かれこれ数時間悩んでいます。どうすればいいのでしょうか?
479Name_Not_Found:2009/01/27(火) 02:24:21 ID:???
>'/(http://yahoo.co.jp/)/'
文字列か正規表現かはっきりするんだw
replaceは文字列でも処理してくれるからこれでいい。
"http://yahoo.co.jp/abcdefg".replace('http://yahoo.co.jp','http://google.co.jp');

正規表現でやりたいなら
"http://yahoo.co.jp/abcdefg".replace(/(http:\/\/yahoo.co.jp)/,'http://google.co.jp');

あといくつかツッコミいれとくと、末尾の/が非対称。
url_listって変数名からして配列(Array)っぽいけど
replaceは文字列(String)のメソッドだから取り出さないとダメ。
480Name_Not_Found:2009/01/27(火) 02:25:11 ID:???
list って付いてる時点でなんか怪しいんだが

var str = 'http://yahoo.co.jp/index.html';
document.write(str + "<br>\n");

str = str.replace(/(http:\/\/yahoo\.co\.jp\/)/, 'http://google.co.jp/');

document.write(str + "<br>\n");
481480:2009/01/27(火) 02:26:06 ID:???
やってもーた
482Name_Not_Found:2009/01/27(火) 02:32:59 ID:???
url = url_list.replace(/http:\/\/yahoo\.co\.jp\//,'http://google.co.jp');

1.正規表現は 「/」 で囲むだけでOK.
2./ で囲った中では「/」「.」など、特定の記号はそのままでは使えない。\記号でエスケープする
3.ただ文字列を置換したいだけなら、正規表現をつかわなくても
   url = url_list.replace('http://yahoo.co.jp/','http://google.co.jp');
  でOK.
4.あなたさんの文だと、「/(http://yahoo.co.jp)/」という“文字列”を探しているから置換されない。
483482:2009/01/27(火) 02:33:26 ID:???
やってもーた;;
484Name_Not_Found:2009/01/27(火) 02:36:16 ID:???
warota
485Name_Not_Found:2009/01/27(火) 02:37:56 ID:2LsN7CzE
すみません・・・なんだか混乱してきました・・。

url_listに深い意味はなくて、実際の仕様はPHPと連動して

url = url_list.replace('<?=$before?>','<?=$after?>');

みたいな事がやりたいんです。
479さんが、「末尾の/は非対称」と書かれていますが、
replaceする前に/が付かないようにする必要があると言う事でしょうか?
486479:2009/01/27(火) 02:39:35 ID:???
>/(http:\/\/yahoo.co.jp)/
/(http:\/\/yahoo\.co\.jp)/
やってもーたorz
487479:2009/01/27(火) 02:41:34 ID:???
>>485
やればわかると思うけど、検索対象に/があって置換文字列に/がないと
http://yahoo.co.jp/abcdefg

http://google.co.jpabcdefg
になる。
488478:2009/01/27(火) 02:44:04 ID:???
//で囲まなかったら出来ました
みなさん、ありがとうございました
489Name_Not_Found:2009/01/27(火) 18:52:29 ID:RCG3w0oq
ずこー
490Name_Not_Found:2009/01/27(火) 23:49:09 ID:???
何かキーを押した時に音がでるプログラムおしえてくだしあ><
491Name_Not_Found:2009/01/28(水) 00:08:35 ID:???
強く叩く
492Name_Not_Found:2009/01/28(水) 05:19:56 ID:???
うちのは普通に叩いても音でるよ
493Name_Not_Found:2009/01/28(水) 14:19:46 ID:???
ttp://www.typographyserved.com/
このサイトみたいに、画像をスルッと順番に表示したいのですが
こういうことはJavascriptで可能でしょうか?
ソース内のJavascriptを見ても理解不能だったので
宜しくお願いします!
494Name_Not_Found:2009/01/28(水) 17:57:13 ID:???
>>493
ソース内にあるこれじゃね?
var listItems = $('gallery-row-list').select('li');
Effect.multiple( listItems, Effect.Appear, { delay:0.7, duration : .3 });
あとはググればすぐわかると思うよ
495493:2009/01/28(水) 18:25:14 ID:???
>>494
本当にありがとうございます!
検索してどこをいじればいいか勉強してみます!
496Name_Not_Found:2009/01/28(水) 20:51:25 ID:C8UemTpv
javascriptでウィンドウのサイズが変更されたときに実行される、
イベントリスナーってありますか?
onWindowSizeChanged みたいな感じの。
497Name_Not_Found:2009/01/28(水) 20:55:24 ID:???
onresize
498Name_Not_Found:2009/01/28(水) 21:46:57 ID:???
alert内の文字の大きさって変更できる?
499496:2009/01/28(水) 21:51:23 ID:???
できました。ありがとうございます。
500Name_Not_Found:2009/01/28(水) 22:42:03 ID:???
http://epg.2ch.net/tv2chwiki/subject.txt
から
スレの勢いとスレ名を取得して表示させることってできますか?
501Name_Not_Found:2009/01/28(水) 22:54:07 ID:???
>>500
自分のサイトでという話なら、クロスドメインになるから無理。
502Name_Not_Found:2009/01/29(木) 14:30:05 ID:???
すみません恐ろしく初歩的なんですが、

if(aa == 0) {

これを「aaが0か100の場合」に直したい場合は、

if(aa == 0 or aa == 100) {

これで合ってますか?
503Name_Not_Found:2009/01/29(木) 14:37:13 ID:???
>>502
百聞は一見にしかず、実行してみたほうが早い。
FxではSyntax Errorが出た。

発想自体は正しいから、他言語の知識だけでやろうとはせずに
リファレンスを見ましょう。
https://developer.mozilla.org/ja/Core_JavaScript_1.5_Reference/Operators/Logical_Operators
504Name_Not_Found:2009/01/29(木) 14:39:20 ID:???
>>502
恐ろしく初歩的なら、初歩的な本なりホームページなりを見ればいいだろ。

自分で調べずに人に聞く人は、今後一切進化しない。
505502:2009/01/29(木) 14:51:25 ID:???
リファレンスも見て解決しました。
単に演算子の優先順位間違えてただけでしたね。どうも。
506Name_Not_Found:2009/01/29(木) 15:25:02 ID:???
507Name_Not_Found:2009/01/30(金) 03:20:34 ID:???
これは流石に釣りだろ
508Name_Not_Found:2009/01/30(金) 11:09:13 ID:lggv6qxo
jqueryの$.ajaxでxmlを読み込み込んだ時に
success: function(data){
alert(data.responseText);
cutXml(data);
}
とここまでは期待どおりの結果が得られるんですが

function cutXml(data){
$(data).find("item").each(function(){
var item_text = $(this).text();
alert(item_text);
});
}
これだとfirefoxでは出るけど、IEではalertが出ないんです
一日かけてググったりして調べたけど、解決出来ず
環境は、UNIXサーバー(ローカル環境でやってました・・というドジはありません)
xmlファイル、jsファイル、htmlファイルすべてUTF-8でファイル自体のエンコードもUTF-8
実行時のjsエラーもなし
お願いします。どなたかご教示ください
509Name_Not_Found:2009/01/30(金) 11:23:40 ID:???
すいません、javascriptで開いているhtmlドキュメントの
DTタグの背景色だけ変更する方法って何かないでしょうか?
cssの変更以外であればお願いします
510Name_Not_Found:2009/01/30(金) 12:16:21 ID:???
jQuery で $("dt").css.({backgroundColor:"yellow"}) すれば。
511Name_Not_Found:2009/01/30(金) 14:41:50 ID:???
document.getElementById("hoge").innerHTML = "hoge";
だとhogeに変わるんですが
var elem = getElementById("hoge");
document.elem.innerHTML = "hoge";
にすると変わりません
なんでですか?
対処法あったら教えてください
512511:2009/01/30(金) 14:48:43 ID:???
すみませんなんか勘違いしてました
getElementById("hoge")でhogeの指定された箇所の中身
<div id="hoge">ほげ</div>だったら『ほげ』を取得できると思ってました
このほげを取得する方法があったら教えてください
513511:2009/01/30(金) 14:51:35 ID:???
すみません・・・自己解決しました
innerHTMLでとるんですね
なんか一人で混乱してすみません
514Name_Not_Found:2009/01/30(金) 15:40:02 ID:XyyCUBDP
質問です。
配列で以下のようにすると長さを取得できますが、
var a = new Array();
a[5] = 1;
alert(a.length); //6と出る

ハッシュを使う場合どのように取得したらいいのでしょうか?
var a = new Array();
a["foo"] = 1;
alert(a.length); //0と出る
515Name_Not_Found:2009/01/30(金) 16:06:50 ID:???
>>514
JavaScriptにハッシュというものはない。Arrayをハッシュの
代わりに使うのは普通じゃない。Objectを使う。そして「長さ」
というのはとくに定義されていない。何個入れたかの値が欲しい
なら、新しいものを入れるたびにカウントするしかない。
516514:2009/01/30(金) 16:33:53 ID:???
>>515
レスありがとうございます。
Objectを使うというのが意味がわからないので、
(最近はじめたのですみません)
アドバイスどおりカウントすることにします。
517Name_Not_Found:2009/01/30(金) 18:19:33 ID:???
Objectという全ての基本となるオブジェクトがHashとしての役割を兼ねる。
//生成
var obj = new Object();
var obj = {};

//セット
var obj = {key: 1};
var obj = {}; obj.key = 1;
var obj = {}; obj["key"] = 1;

//ゲット
alert(obj.key);
alert(obj["key"]);

ハッシュ的にObjectを利用したときの大きさは、やっぱ数えるしかないのかな?
var i = 0;
for(key in obj) { i++ };
alert(i);
518514:2009/01/30(金) 19:19:19 ID:???
>>517
レスありがとうございます。
早速参考にしてArray()で実装したものと置き換えてみます。
519Name_Not_Found:2009/01/30(金) 19:22:24 ID:???
>>517
誰かがArrayと同様にHashを実装しようとしたとして、
最初に配列サイズを返すメソッド length の仕様を考えた時に、
その人は気付くわけだ。

文字列 "length" がキーとして使えなくなる。
これではハッシュとして役に立たん、と。
520Name_Not_Found:2009/01/30(金) 19:31:45 ID:???
>>519
(DontEnumな)組み込み関数でやれないのかという話。
jsレベルなら名前以前に、同じ実装に行き着くでしょ。
521Name_Not_Found:2009/01/30(金) 19:59:18 ID:???
>>508
cutXml($(data).get());

としたらどうなる?
522Name_Not_Found:2009/01/30(金) 20:16:33 ID:???
これからJavaScriptやろうとおもうんですけど
jQueryを覚えればJavaScriptやらなくていいですか?
523Name_Not_Found:2009/01/30(金) 20:22:06 ID:???
>>522
jQueryを覚えるという行為にJavaScriptが含まれる。
524Name_Not_Found:2009/01/30(金) 22:44:58 ID:???
>>520
lengthがDontEnumかどうか、なんてのは関係ないんだけど…。
仮に Hash が実装されたとして、

var hash = new Hash;
hash['weight'] = '重さ';
hash['length'] = '長さ';

としたとき、hash['length'] は 2 なのか '長さ' なのかってこと。
525Name_Not_Found:2009/01/30(金) 23:10:57 ID:???
>>524
もしかしてObjectがメソッドなにも持ってないとか思ってる?
526Name_Not_Found:2009/01/30(金) 23:17:08 ID:???

アラートで
「結果:変数(a)
得点:変数(b)」
みたいな感じで表示させたいんだけどどうすればいい?

alert("結果:"+a"\n得点:"+b);
では無理だし・・・
527Name_Not_Found:2009/01/30(金) 23:22:30 ID:???
無理なのか?
528Name_Not_Found:2009/01/30(金) 23:45:47 ID:???
ワラタ
無理に決まってんだろwwwwwwwwwww

+a+
529Name_Not_Found:2009/01/30(金) 23:56:57 ID:???
524と525の噛み合わなさに乾杯
530Name_Not_Found:2009/01/31(土) 01:12:51 ID:???
>>528
サンクスw
531Name_Not_Found:2009/01/31(土) 10:21:15 ID:???
onKeyPressのときに入力されたものを変数に記憶したいのですが、
最後の文字が記録されません。

<html>
<head>
<script type="text/javascript">
var str = "";
function setTest() {
str = document.getElementById('test').value;
}
function getTest() {
return str;
}
</script>
</head>
<body>
<input type="text" id="test" size="10" onKeyPress="setTest()">
<input type="button" onClick="alert(getTest())" value="get">
</body>
</html>

aaaaaと5回入力してからgetを押すと、aaaaと4回までしか出てきません。
5回目の入力もちゃんと出したいのですがどのようにしたらいいのでしょうか?
532Name_Not_Found:2009/01/31(土) 11:31:01 ID:???
ヒント:aaaaaと5回入力してから1度空打ちしてgetを押すとaaaaaと5回出る。
533Name_Not_Found:2009/01/31(土) 11:36:34 ID:???
>>531
確認してないけどたぶん、テキストエリアに文字が収まる
(valueで取り出せるようになる)直前にイベントが発生してる。
getTestでvalueを取得するか、キーを離したときでやってみて。
534Name_Not_Found:2009/01/31(土) 11:43:55 ID:???
>>532-533
どうもありがとうございます。
>>533のおっしゃるとおりonKeyUpにしたところできました。
どうもありがとうございました。
535Name_Not_Found:2009/01/31(土) 14:51:29 ID:???
イベントの順番は
onKeyPress → onKeyDown → onKeyUp
536Name_Not_Found:2009/01/31(土) 16:08:24 ID:???
あのう。初心者向けのスレがなかったので、こちらに書き込みします。

corner.jsを使い、ブログにアップする画像を全て角丸処理したいのですが、
cssで画像マージンの設定ができなくなってしまいます。
できれば四角い画像のままアップしたいので、回避方法はあれば教えてください。
ブログサービスはjugemです。

jugemに関係あることだったらスレ違いになってしまうかもしれませんが、
ヒントだけでもお願いします!
537Name_Not_Found:2009/01/31(土) 17:04:18 ID:???
prototypeという用語について調べてるんですが、
Javascriptの言語仕様としてのprotoypeと、
もう一つ、prototype.jsというライブラリは別物ですよね?
538Name_Not_Found:2009/01/31(土) 17:30:36 ID:???
>>537
同じだよ。
539Name_Not_Found:2009/01/31(土) 17:45:02 ID:buzfdDHU
>>537
別物だよ

"prototypeオブジェクト" -"prototype.js"

上のキーワードでぐぐればいいと思うよ
540Name_Not_Found:2009/01/31(土) 18:26:13 ID:???
>>537
同じだということもできるし別物だということもできる。
541Name_Not_Found:2009/01/31(土) 19:41:47 ID:???
>>537
同じだとはいえないが別物とも言えない。
542Name_Not_Found:2009/01/31(土) 20:16:50 ID:???
コナン=新一
543Name_Not_Found:2009/01/31(土) 22:58:32 ID:LxG6+p9n
>>521
レス遅くなりました
cutXml($(data).get());
入れてみたんですが、ダメでした・・

544Name_Not_Found:2009/02/01(日) 02:15:35 ID:???
>>543
一部のソースだけじゃなんとも。。
dataTypeはちゃんとxmlになってる?
応答データのヘッダの文字コードはどうなってる?
545Name_Not_Found:2009/02/01(日) 18:48:32 ID:???
>>537

Prototype.js XMLHttpRequestのラッピングやJavaScriptによる開発全般のフレームワーク

とある。
よって別物なんじゃね?
546Name_Not_Found:2009/02/01(日) 20:33:46 ID:???
prototype.js はMITライセンスのJavaScriptのフレームワークの1つ
prototype は関数オブジェクトのPrototypeオブジェクトを参照するためのプロパティ
547Name_Not_Found:2009/02/01(日) 22:45:27 ID:???
JavaScriptはprototypeベースの言語
548Name_Not_Found:2009/02/02(月) 00:36:40 ID:???
prototype.jsの中身はJavaScript
549Name_Not_Found:2009/02/02(月) 04:21:38 ID:???
煮詰まったので質問させて下さい。

子ノードの中の子ノードの属性ノードを変更する方法はどうしたら良いのでしょうか?
id等を付けて識別するしかないのでしょうか…
550Name_Not_Found:2009/02/02(月) 05:40:23 ID:???
>>549
普通の属性ならsetAttributeで変更できると思うが。
どんな場面なのかその質問だけからじゃ分からないので
HTMLの断片を貼ってどう変更したいか説明してみて。
551Name_Not_Found:2009/02/02(月) 07:24:24 ID:???
>>550
すいません、外出先から書いてるもので手元にソースが無いです;
どんな感じかと言うと、<table>に沢山ある<td>の一つの中に<a>が沢山あり、
<tr>をonclickして、その<a>の属性を変更したいのです。

わかりにくくて申し訳ありません…説明しにくいorz
552Name_Not_Found:2009/02/02(月) 08:11:21 ID:???
手元にソースがないんならどっちにしても修正できないんだから帰ってからでいいだろ
553Name_Not_Found:2009/02/02(月) 09:28:24 ID:???
こういうのかね。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function chg(i) {
var tbl = document.getElementById('t0');
tbl.rows[i].cells[1].firstChild.style.backgroundColor = 'pink';
}
</script>
</head><body>
<table id="t0" border="2"><tbody>
<tr onclick="chg(0)"><td>A</td><td><a href="#">XXX</a>YYY</td></tr>
<tr onclick="chg(1)"><td>B</td><td><a href="#">XXX</a>YYY</td></tr>
<tr onclick="chg(2)"><td>C</td><td><a href="#">XXX</a>YYY</td></tr>
</tbody></table></body></html>
554Name_Not_Found:2009/02/02(月) 11:01:20 ID:???
>>549>>551 から読み取れたのはこれだけ
クロスブラウザ用コード書いたのは久しぶりだから間違ってるかも

document.getElementById('id').onclick = function (event) {
event = event || window.event;
var target = event.target || event.srcElement;

var row;
while (target && target !== this) {
if (target.tagName.toLowerCase() === 'tr') row = target;
target = target.parentNode;
}
if (!row) return;

var cells = row.cells;
for (var i = 0, cell; cell = cells[i]; i++) {
// var child = cell.childNodes, anchors;
// for (var j = 0, a; a = child[j]; j++) {
// if (a.tagName.toLowerCase() === 'a')
// anchors[anchors.length] = a;
// }
var anchors = cell.getElementsByTagName('a');
if (!anchors.length) continue;

for (var j = 0, a; a = anchors[j]; j++) {
var cn = (a.className || '').split(' ');
cn[cn.length] = 'selected';
a.className = cn.join(' ');
}
break;
}
};
555Name_Not_Found:2009/02/02(月) 11:12:39 ID:ND6KnwdV
>>544

$.ajaxのオプションは
url: filepath,
dataType: 'xml',
cache: false,
contentType:"application/xml",
async: false
です。

応答データは、中身のitem以外は
<?xml version="1.0" encoding="utf-8"?>
を一番上に付けてるだけです

ちなみに、html,js,xmlの文字コードは
utf-8です。(ファイル保存時も)

firebugのリクエストヘッダーで
Accept-Charsetが
Shift_JIS,utf-8;q=0.7,*;q=0.7
だったんですが、これも関係ありそうですか?
556Name_Not_Found:2009/02/02(月) 11:40:35 ID:???
each使わないでやってみたらどうだろうか?
557Name_Not_Found:2009/02/02(月) 16:13:36 ID:???
>>555
こっちでもそのソースで試してみたけど問題なし
特におかしいところは見当たらないんだけどなぁ

.htaccessに
AddType application/xml .xml
AddType text/xml .xml

を追加、あとはゴミ(BOM)が入ってないか確認
558Name_Not_Found:2009/02/02(月) 16:46:18 ID:ND6KnwdV
>>557

むむむ、responseXMLにしたら
IEでも結果が返って来たんですが、
ふつうはresponseTextでもいけますよね?
559Name_Not_Found:2009/02/02(月) 19:15:25 ID:???
>>549
どーでもいいが「煮詰まる」は「行き詰まる」という意味ではないぞ。
560549:2009/02/02(月) 19:39:58 ID:???
>>552-554
ありがとうございました。参考にさせていただきます<(_ _)>
561549:2009/02/02(月) 19:40:46 ID:???
>>559
すいません、グツグツ言ってたものですからorz
562Name_Not_Found:2009/02/03(火) 04:15:02 ID:???
htmlタグを、例えば<b>を<a>に変えるということは出来るんでしょうか?
<table><tr><td></td><td></td></tr></table>を<table><tr><th></th><th></th></tr></table>とかこんな感じです。
563Name_Not_Found:2009/02/03(火) 05:37:40 ID:???
できます
564Name_Not_Found:2009/02/03(火) 06:24:52 ID:???
>>562
なんのためにそういうことしたいの?見え方を変える?
それならCSSで見え方を指定してクラスを変更する方が簡単では。
565Name_Not_Found:2009/02/03(火) 07:13:19 ID:???
Operaでdocument.title = 'hoge';
としてもタイトルが変わってくれません。
他のブラウザでは変わってくれます。
Operaでは書き方が違うのでしょうか?
566Name_Not_Found:2009/02/03(火) 17:46:15 ID:???
>>565
それが駄目ならgetElementsByTagNameを使えばいいじゃん
567Name_Not_Found:2009/02/03(火) 18:01:16 ID:???
>>556
できましたよ。ありがとん。
568Name_Not_Found:2009/02/04(水) 17:59:19 ID:???
jqueryのdraggableの勉強をしています。質問させてください。
ドラッグはできるのですが、
ドラッグ終了時にalert()が呼ばれません。
何か勘違いしているのでしょうか?
ドラッグ中に半透明になる(opacity:0.5が効いている模様)ので、
設定はあっていると思うのですが。

下記等を参考にしています。
ttp://allabout.co.jp/internet/javascript/closeup/CU20080115A/index2.htm

よろしく

<head>
<script type="text/javascript" src="js/jquery-1.3.1.js"></script>
<script type="text/javascript" src="js/ui.core.js"></script>
<script type="text/javascript" src="js/ui.draggable.js"></script>
</head>
-------------
<body>
<div id ="target">draggable</div>
<script type="text/javascript">
$('#target').draggable({
opacity:0.5,
cursor:"move",
stop:function(){alert("foo");}
});
</script>
</body>
569Name_Not_Found:2009/02/04(水) 19:11:14 ID:???
function test() {
}
のようにして、
<div class="a" onClick="test()"></div>
という感じで呼び出しているのですが、
実際のソースは
<div class="a" onClick="test()"></div>
<div class="a" onClick="test()"></div>
<div class="a" onClick="test()"></div>
こんな感じになっていて何回も呼び出す形になっています。

class="a"の所でonClickをしたときにtest()を呼び出すというルールがあるのですが、
わざわざイベントを呼び出さないでも、
class="a"のときにonClickすればtest()が呼び出されるようにするという
書き方はできないでしょうか?
570Name_Not_Found:2009/02/04(水) 19:30:16 ID:???
>>569
そのdivを含む範囲全体(ないしwindow全体)にイベントハンドラを
つけてそのイベントハンドラでtargetがclass="a"なdivだったら
test()を呼ぶとかすればいいんでは。>>554 が参考になるかも。
571Name_Not_Found:2009/02/04(水) 20:06:20 ID:???
>>568
IE6,Fx3ともにalert出たけど。
ソースコピペして、読み込みのscriptは以下にしたけど。
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="http://ui.jquery.com/testing/ui/ui.core.js"></script>
<script src="http://ui.jquery.com/testing/ui/ui.draggable.js"></script>
572Name_Not_Found:2009/02/05(木) 01:25:15 ID:???
(画像などのURLを指定して)ファイルが存在するかしないかJavaScriptで判定する方法はありますか?
573Name_Not_Found:2009/02/05(木) 01:38:58 ID:???
あるよ。
574Name_Not_Found:2009/02/05(木) 03:37:26 ID:???
>>573
どのようにするのでしょうか?
575Name_Not_Found:2009/02/05(木) 03:47:55 ID:???
同じ鯖のファイルならXMLHttpRequest使ってレスポンスヘッダを見る
576Name_Not_Found:2009/02/05(木) 10:04:11 ID:???
>>571
ありがとうございました。
こちらでも読み込みスクリプトをご指摘の方法に変更したらできました。
577Name_Not_Found:2009/02/05(木) 11:23:04 ID:???
JSで自身のhtmlにウインドウ名の設定ってできたっけ?
578Name_Not_Found:2009/02/05(木) 12:23:19 ID:???
>>577
ウィンドウ名って?
<title>相当ならdocument.titleをいじればいいけど
ウィンドウタイトルが<title>をどう表示するかはブラウザ次第。
579Name_Not_Found:2009/02/05(木) 12:56:05 ID:???
window.nameじゃないの?
580Name_Not_Found:2009/02/05(木) 13:44:44 ID:???
テンプレ読みにくいな
項目や番号ごとに改行したほうが良くね
581Name_Not_Found:2009/02/05(木) 15:41:44 ID:TyJuWEkR
これからAjaxやってみようと思って
ライブラリを使おうと思うんですが、
jQueryとprototype.jsってどっちがいいんですかね?
ありがちな質問ですみません
582Name_Not_Found:2009/02/05(木) 15:48:09 ID:???
>>581
まずはライブラリを使わないでやろう
583Name_Not_Found:2009/02/05(木) 16:48:00 ID:???
>>575
難しそうですが、調べてみます
584Name_Not_Found:2009/02/05(木) 16:51:06 ID:???
>>581
いまどき、ライブラリを使わないで実装する意味なんてないよ。
好きなほう使えよ。
585Name_Not_Found:2009/02/05(木) 18:33:14 ID:???
>>578,579
window.nameです。
別のウインドウからjsのfocus()で手前に出したいのだが
参照元のウインドウがblankなので、はてどないしよかと・・
586Name_Not_Found:2009/02/05(木) 19:11:20 ID:???
呼び出し元ならwindow.parentみたいなので無理?
587Name_Not_Found:2009/02/05(木) 20:05:42 ID:PToTS1YR
PHPのlist()のように変数代入を一気にやりたいのですが
javascriptではできるのでしょうか?
588Name_Not_Found:2009/02/05(木) 23:24:12 ID:???
>>585
_blankで新規ウィンドウがでるなら最初からフォーカスしてないかな?
589Name_Not_Found:2009/02/05(木) 23:26:33 ID:???
>>584
Ajax(非同期通信)だけならコード書いたほうが短く軽く済む。
ガリガリDOM操作したりアニメーション使うなら話は別だが。
590Name_Not_Found:2009/02/05(木) 23:32:54 ID:pe1vPZ03
ニコニコ動画みたい文字を右から左に流れる動作をさせたいのですが
あれをjsでやりたいのですが文字を右から左に流す仕組みをどう書いたらいいのかわかりません
ヒントだけ頂けないでしょうか?
時間を見て文字を流すタイミングについては組めるのですが文字を流す動作に突っかかって困り果ててます
591Name_Not_Found:2009/02/05(木) 23:43:50 ID:???
js+cssでleft--
592Name_Not_Found:2009/02/06(金) 01:04:59 ID:???
(サンプル)ttp://javascript.neyric.com/wireit/test/jsBox/jsBox.html
(ソース)ttp://javascript.neyric.com/wireit/test/jsBox/jsBox.js

上記このソースを読んで勉強しているのですが、
下記の冒頭の意味が今ひとつわかりません。
/**
* @class jsBox
* @constructor
*/
var jsBox = function(config, layer) {
jsBox.superclass.constructor.call(this, config, layer);

2行目のjsBoxは1行目のvar jsBoxを示しているのですか?
基本的には関数リテラルを使っているので、Functionオブジェクトということでしょうか?
その場合jsBos.superclass.constractorで呼び出しているものはどこで定義されているのでしょうか?
コメントにはclass(のコンストラクタ)とあるのに、関数リテラルを使っているようなので、
混乱してしまいました。
宜しくお願いします。
593Name_Not_Found:2009/02/06(金) 01:37:19 ID:???
俺も難しくてわかんないけど、superclass=prototype なのかな・・・?
YUIの方でそれっぽいのは色々定義されてた。
誰か頼みますた。
594Name_Not_Found:2009/02/06(金) 02:44:17 ID:???
jqueryのload関数でtableを非同期で書き換えているのですが、
IE7で描画が極端に遅いのは仕様ですか?
595Name_Not_Found:2009/02/06(金) 03:22:01 ID:???
>>593
コメントありがとうございます。
ttp://d.hatena.ne.jp/zorio/20080216
その後、上記のページをみたら何となく理解できました。
YUIの拡張メソッドを使うための書き方のようです。
ですが、
YAHOO.extend(jsBox, WireIt.Container, {(以下略)
の処理前にそのような書き方をしてなぜ有効なのか?は依然として疑問なのですが。

どなたか解説して下さると助かります。
よろしくお願いいたします。
596Name_Not_Found:2009/02/07(土) 02:13:47 ID:???
今javascriptでカレンダー作ってるんですけど
年と月をフォームで入力すればその月から
12ヶ月分いっぺんに表示されるようにしたいんですよ。

一応入力した年のカレンダーは表示されるようになったんですけど
2009年の2月を入力すると、2009年の12月までしか
表示されません。。。
目標としては上のように入力したら、
2010年の1月まで表示できるようにしたいんです。

お助けください。よろしくお願いします
597Name_Not_Found:2009/02/07(土) 02:29:47 ID:???
そりゃ1年は12月までしかないからな。
13月とか14月の数字わたされても出ないだろうよ。
598Name_Not_Found:2009/02/07(土) 02:34:40 ID:???
>>597
レスさんくすです

そのとおりなんですよ。
だから翌年の表示をしたいんですけど
どこになにを入れればいいか、今日一日悩んでも
できなかったんですよ。。。

ご教授ください
599Name_Not_Found:2009/02/07(土) 02:38:28 ID:???
>>598
12越えたら12引いて1年足せばいいじゃん。
600Name_Not_Found:2009/02/07(土) 02:39:10 ID:???
釣りじゃなかったのか。
if(month > 12) { year++; month = month-12; }

他がどうなってるか分からんからこんだけな。
601Name_Not_Found:2009/02/07(土) 02:42:13 ID:???
>>599
>>600
レスありがとうです

釣りじゃないです!
リアルに困ってたとこでした。。。

とりあえずやってみます!!!
602Name_Not_Found:2009/02/07(土) 02:59:07 ID:???
どこに入れるかわからない。。。

晒しますが
ttp://www.geocities.jp/join_inthe_laugh/

今できてるのはここまでなんです
603Name_Not_Found:2009/02/07(土) 03:13:39 ID:???
頼むからDOM使ってくれw
604Name_Not_Found:2009/02/07(土) 03:15:41 ID:???
>>603
DOMとは??
605Name_Not_Found:2009/02/07(土) 03:23:32 ID:???
何回もスマン

正直これ勉強したてでなんにもわからないんですよ。。。
とりあえず作れと言われまして、基礎だけやってるわけなんです

みにくくて申し訳ない・・・
606Name_Not_Found:2009/02/07(土) 03:25:06 ID:???
>>597
はぁ?
ふつうに13月でも100月でも渡せばちゃんと出ますが?
607Name_Not_Found:2009/02/07(土) 03:30:28 ID:???
function calender(year,month){
yearname(year)
document.write("\n<table border=1>\n");
document.write("<tr>\n");
for (var i=0; i<12; i++){
var printMonth = ((i+month) >= 12) ? (i+month-12) : (i+month);
document.write("<td>");
document.write("<img src=images/" + (i%12) +".jpg width=165 height=150>");
alert(printMonth);
displayMonth(year, printMonth);


document.write("</td>\n");
if ((i % 4 ==0 ) && (i != 12)) document.write("</tr>\n<tr>\n");
}
document.write("</tr>\n");
document.write("</table>\n");
}
608Name_Not_Found:2009/02/07(土) 03:30:48 ID:???
正規表現でidをキーにしてタグを抽出する方法をおしえてplz
609Name_Not_Found:2009/02/07(土) 03:31:02 ID:???
段組は自分でなおしてくれー。
610Name_Not_Found:2009/02/07(土) 03:34:55 ID:???
>>607
ありです!!
やってみます

でもなぜにアラート?
611Name_Not_Found:2009/02/07(土) 03:37:22 ID:???
ごめん、チェック用に入れてたのが残ってるだけw
消してくださいー。
612Name_Not_Found:2009/02/07(土) 03:39:02 ID:???
>>611
わかりましたーw

もうひとつ¥n ってなにを現わしてるんですか?
613Name_Not_Found:2009/02/07(土) 03:43:44 ID:???
>>612
改行。

>>608
document.getElementById('test').tagName;
これじゃだめなの?正規表現を使う意図がわからんー。
614Name_Not_Found:2009/02/07(土) 03:55:12 ID:???
>>613
改行なんですね!
勉強になります

でもこれだと、2009年の2月でフォームに入力した際に
2009年の2月からカレンダーはじまって、最後が2009年の1月になっちゃう・・・
2010年の1月にするにはどこを変えればよろしいですか?

なんどもすいません。
615Name_Not_Found:2009/02/07(土) 04:01:54 ID:???
あ、年足してなかった。

var printMonth = ((i+month) >= 12) ? (i+month-12) : (i+month);
↓↓修正↓↓

var printMonth = i+month;
var printYear = year;
if((i+month) >= 12)){
printMonth = i+month-12;
printYear = year+1;
}


displayMonth(year, printMonth);
↓↓修正↓↓

displayMonth(printYear, printMonth);


関係ないけどなんでprintなんて名前つけたんだろ・・・。
616Name_Not_Found:2009/02/07(土) 04:04:16 ID:???
あらエラーでる・・・チェックしてから書くべきだね!ごめんねちょっとまってね
617Name_Not_Found:2009/02/07(土) 04:10:48 ID:???
>>616
だめだーって書こうと思ったところでしたw
すいません・・・
618Name_Not_Found:2009/02/07(土) 04:11:33 ID:???
今度こそ大丈夫なはず・・・

<script language="javascript">
function calender(year,month){
yearname(year)
document.write("\n<table border=1>\n");
document.write("<tr>\n");
for (var i=0; i<12; i++){
var printMonth = (i+month);
var printYear = year;
if((i+month) >= 12){
printMonth = i+month-12;
printYear = Number(year) + 1;
}
document.write("<td>");
document.write("<img src=images/" + (i%12) +".jpg width=165 height=150>");

displayMonth(printYear, printMonth);

document.write("</td>\n");
if ((i % 4 ==0 ) && (i != 12)) document.write("</tr>\n<tr>\n");
}
document.write("</tr>\n");
document.write("</table>\n");
}
</script>
619Name_Not_Found:2009/02/07(土) 04:17:04 ID:???
>>618
できたー
再うpしてみました

みてみてください♪
620Name_Not_Found:2009/02/07(土) 04:18:02 ID:???
どうせやるなら .getDay() も使うなよw
621Name_Not_Found:2009/02/07(土) 04:24:47 ID:???
>>620
.getDay() 使ってます?
622Name_Not_Found:2009/02/07(土) 04:25:06 ID:???
上の関数は全く見てないから分かりません。

ついでに直した。
if(((i+1) % 4 ==0 ) && ((i+1) != 12)) document.write("</tr>\n<tr>\n");
623Name_Not_Found:2009/02/07(土) 04:27:43 ID:???
うぉーだめだ>>620にまかせてもう寝る
>>619今更だけど他の画像にしとけよw
624Name_Not_Found:2009/02/07(土) 04:30:58 ID:???
>>622
ぼくもそれを直したくていじってましたw

あと、画像が月ごとに連動するように直しました。
うpしたので確認お願いします!
625Name_Not_Found:2009/02/07(土) 04:32:04 ID:???
>>623
画像まずかったですか??w

本当に遅くまでありがとうございました!
感謝してます!!
626Name_Not_Found:2009/02/07(土) 04:47:02 ID:???
これはひどい
627Name_Not_Found:2009/02/07(土) 08:52:59 ID:???
おまえら宿題は自分でやってこそ意味があるんだぞ
628Name_Not_Found:2009/02/07(土) 12:06:14 ID:???
ruby触ったことないのに、jQueryに慣れてくるとrubyが普通に読めてしまう
jQueryってrubyを意識してたんだな、知らなかったわ
629Name_Not_Found:2009/02/07(土) 12:09:44 ID:???
>>625
じゃ次はクロスブラウザ対応にしてみようか
630Name_Not_Found:2009/02/08(日) 20:19:08 ID:CHcEG8cG
教えてください。

ホームページによくある
同時に○人見ています。

みたいなJavaScriptってありますか?
CGIがダメな環境なもので、紹介してください。
631Name_Not_Found:2009/02/08(日) 20:22:20 ID:???
>>630
ない。
632Name_Not_Found:2009/02/08(日) 20:31:40 ID:???
正規表現でidをキーにしてタグを抽出する方法をおしえてplz
633Name_Not_Found:2009/02/08(日) 20:53:34 ID:n/yYFfb2
「りんご 山本商店 78円」
商品名、販売店、価格(数字のみ)をクッキーに保存したいのですが
思うように保存されません
どなたかご教示お願いいたします

document.cookie="name=item1;shop=山本商店;yen=78";
634Name_Not_Found:2009/02/08(日) 20:54:06 ID:???
>>632
史ねカス
635Name_Not_Found:2009/02/08(日) 21:18:20 ID:???
>>633
でたらめすぎ
基本から出直してください
あと文字列はエンコードして入れる
636Name_Not_Found:2009/02/08(日) 21:20:00 ID:n/yYFfb2
すいませんdocument.cookieを2つ使って解決しました
文字列は独自ライブラリでエンコードしなくてもいいようにしてあります
お騒がせしました
637Name_Not_Found:2009/02/08(日) 22:03:00 ID:CHcEG8cG
>>631
ありませんかぁ。

残念です。
でも、探します。頑張る。
638Name_Not_Found:2009/02/08(日) 22:09:09 ID:???
探しても無駄だよ
技術的にできないから
639Name_Not_Found:2009/02/08(日) 22:38:54 ID:???
設置した掲示板の板毎に来訪者人数を表示するphpスクリプト

というのがありました。
640Name_Not_Found:2009/02/08(日) 22:40:27 ID:???
php は ok なんだ
641Name_Not_Found:2009/02/08(日) 23:37:57 ID:???
要素の高さを取得する方法って無いでしょうか?
現在firefox3を使用していて、<a 〜><img 〜></a>のA要素の、IMG要素で膨らんだ後の高さを取得したいのですが
clientHeight等では0ですし、offsetHeightだと16や20等の文字列?の高さしか取得できません。
幅の方は上手くいったのですが、高さについてのご教授をお願いします。
642Name_Not_Found:2009/02/08(日) 23:57:45 ID:???
>>641
インライン要素に高さは無いから、
aをstyle="display: block;"にしてやればOK。
offsetHeightならIE、Fxどちらも取得できると思う。
643Name_Not_Found:2009/02/09(月) 00:51:17 ID:???
>>642
ありがとうございます!
blockでは新たに問題が出てきたのでinline-blockにしてみたところ、
期待したとおりの動作・見た目になりました。
知識も養え、本当に助かりました。
644Name_Not_Found:2009/02/09(月) 01:15:46 ID:???
inline-blockはブラウザによっては効果ないからちゃんと確認してなー。
645Name_Not_Found:2009/02/09(月) 04:19:40 ID:???
computedStyle 使え
646Name_Not_Found:2009/02/09(月) 09:02:45 ID:???
>>631,638
質問者の本当の要求は
CGIやPHPが使えないサーバで現在の接続人数を表示する方法だろ

第3者がJavascriptとCGIで接続人数を表示するサービスを提供している可能性はある
だから探せば見つかるかもしれない、が

>>630
ここはJavascriptを勉強するためのスレなのでお前さんはスレ違い
一つ言っておくと「現在の接続人数」なんて表示されても閲覧者は嬉しくないよ
ページ製作者のオナニーでしかないよ
本当にそれ必要なの?
647Name_Not_Found:2009/02/09(月) 10:31:25 ID:???
>>646
うれしくないというか気持ち悪いよね
二度と行きたくない

まあ、業務システムなら必要な場合があるかもしれないけど
648Name_Not_Found:2009/02/09(月) 13:33:13 ID:UBig2szy
りんごの金額を取得したいのですがalertするとobject HTMLTableCellElementとエラーが出てしまいます
どのようにしたらテーブル内のりんごの金額(100円)を取得できるのでしょうか?
どなたかお手数ですがご教示お願いいたします

function yen() {
alert(document.getElementByid("yen1"));
}

<table>
<thead>
<tr>
<th>商品</th>
<th>金額</th>
<th>説明</th>
</tr>
</thead>
<tbody>
<tr>
<td>りんご</td><td id="yen1">100</td><td>赤い果物です</td>
<td>ぶどう</td><td id="yen1">350</td><td>粒がおいしいです</td>
<td>パイナップル</td><td id="yen1">300</td><td>酸味が効いてます</td>
</tr>
</tbody>
</table>
<button onClick="yen()"></button>
649Name_Not_Found:2009/02/09(月) 13:36:58 ID:???
>>648
>どのようにしたらテーブル内のりんごの金額(100円)を取得できるのでしょうか?

勉強し直す
Google で調べる
諦める
650Name_Not_Found:2009/02/09(月) 13:38:43 ID:???
そういう煽りは荒れる原因になるからやめようぜ
651Name_Not_Found:2009/02/09(月) 13:42:43 ID:???
教えて君に教えないだけで
煽りだとか荒れるとか、バカかと。

そんなやつは林檎の値段なんかとれなくて良いんだよ
652Name_Not_Found:2009/02/09(月) 13:42:54 ID:???
alert(document.getElementByid("yen1").text);
653Name_Not_Found:2009/02/09(月) 13:44:48 ID:???
>>648
document.getElementById("yen1")でidが"yen1"の要素を取ってきてるので、
その中身が欲しければinnerHTMLとかで取りださないとダメ。
なのでdocument.getElementById("yen1").innerHTMLってやればいい。

でも、この辺の知識から質問しだすと先に進むの結構大変だから、
>>649が言う通りgoogleとかで似たようなサンプル探すとか、テンプレに書いてあるサイトとか見た方がいいと思うよ
654Name_Not_Found:2009/02/09(月) 13:45:06 ID:???
>>651
ここは質問スレッドだから君は無理して来なくてもいいんだよ
655Name_Not_Found:2009/02/09(月) 13:46:29 ID:???
質問スレッドだから(笑)
来なくて良い(笑)

あのさー、大丈夫かなぁ
将来的に
656Name_Not_Found:2009/02/09(月) 13:48:55 ID:???
<td>りんご</td><td id="yen1">100</td><td>赤い果物です</td>
<td>ぶどう</td><td id="yen1">350</td><td>粒がおいしいです</td>
<td>パイナップル</td><td id="yen1">300</td><td>酸味が効いてます</td>

これにはつっこまないのかw
657656:2009/02/09(月) 13:51:20 ID:???
つーか表吹いたw
658Name_Not_Found:2009/02/09(月) 13:52:59 ID:???
>>648
それエラーじゃないよ。
getElementByIdは
<td id="yen1">100</td>
の部分をまるごと取ってくる。それをオブジェクト(≒内部表現)に
したものがHTMLTableCellElementで、ひねりもせずに直接文字列に変換すると
object HTMLTableCellElement
になるせいで、alertの出力がそれになる。

でもほしいのはその中にある100の部分だけだから
>>>653のように中身を取り出す。

idはそのHTML文章のなかで唯一無二である必要があるから
id="yen1"の乱発はダメ絶対。
659Name_Not_Found:2009/02/09(月) 13:55:46 ID:DJ1TwEGc
getElementByid
getElementById
660Name_Not_Found:2009/02/09(月) 14:03:07 ID:UBig2szy
お陰さまで無事解決できました
お時間を割いて回答を教示してくださり助かりました
ありがとうございました
661Name_Not_Found:2009/02/09(月) 14:35:36 ID:dWyMQdWs
DOMを使ってドキュメントに要素を挿入するとき、
挿入された要素はすべてメモリ上で処理されるのですか?
JavaScriptはローカルファイルにアクセスできないはずなので、
ブラウザのキャッシュは変更できないですよね

そうすると何もないHTMLをブラウザに読み込ませて、その中身を
すべてJavaScriptで作成した場合は、メモリの無駄使いということに
なるのですか?
662Name_Not_Found:2009/02/09(月) 14:46:07 ID:???
>>661
私はバカです。まで読んだ
663Name_Not_Found:2009/02/09(月) 14:51:05 ID:???
******** 今日は一名キチガイが降臨してますが触らないで上げてください **********
664Name_Not_Found:2009/02/09(月) 14:58:21 ID:???
               .|   |  | |   |    |  | |   |   |   || | |
               .|   |  | レ  |    |  | |   |  J   || | |
    ∩___∩    |   |  |     J    |  | |  し     || | |
    | ノ\   ,_ ヽ  .|   レ |      |  レ|       || J |
   /  ●゛  ● |   .J      し         |     |       ||   J
   | ∪  ( _●_) ミ             .|    し         J|
  彡、   |∪|   |              .J                レ
 /     ∩ノ ⊃  ヽ
 (  \ / _ノ |  |
  \  "  /  | |
   \ / ̄ ̄ ̄ /
      ̄ ̄ ̄ ̄
665Name_Not_Found:2009/02/09(月) 15:34:52 ID:???
最近見かけないJS終った君が、さらにアホになって戻って来たのでは。
666Name_Not_Found:2009/02/09(月) 16:52:28 ID:YyuEaaLg
html内のinputのvalueを以下のhtmlとjsで取得しました

document.form1.text1.value
<form name="form1">
<input type="text" name="text1" value="string">
</form>

このdocument.form1.text1.valueのtext1の部分を変数にしたいのですが
var hensu = text1;
document.form1.hensu.value;
このようにやりたいのですが値を取得することができませんでした
text1の部分を変数に置き換えて値を取得できる方法に詰まってます
どなたかアドバイスお願いします
667Name_Not_Found:2009/02/09(月) 16:55:40 ID:???
>>666
せめて>>3にあるQ8とか読んでみたらいいと思うよ
668Name_Not_Found:2009/02/09(月) 17:02:28 ID:???
JavaScriptの変数や関数はすべて連想配列に入っているのです。
669Name_Not_Found:2009/02/09(月) 17:11:05 ID:YyuEaaLg
ありがとうございます
誘導していただきましたQ8を参考に書いてみたのですがどうしても動きません
どこかおかしいところを発見されましたらご指摘おねがいします

function string(){
var str = "text1";
var o = document.form1.elements["str"].value;
alert(o);
}
function string(){
var str = "text1";
var o = document.form1.elements["str"].value;
alert(o);
}


<form name="form1">
<input type="text" name="text1" value="hello javascript">
</form>
670Name_Not_Found:2009/02/09(月) 17:15:57 ID:???
すいません以下のようにしたら解決しました
すいませんでした

function string(){
var str = "text1";
var o = document.form1.elements[str].value;
alert(o);
}
671661:2009/02/09(月) 18:38:07 ID:???
で、結局分かる人はいないんですか?
672Name_Not_Found:2009/02/09(月) 18:54:21 ID:???
>>671
sage無いでIDを出したら答えましょう。
673Name_Not_Found:2009/02/09(月) 18:57:36 ID:???
HTMLをブラウザで描画させること自体、メモリは浪費する。
DOMをHTMLからではなくJSから構築したとしても
おそらくメモリ使用量に大差はない。CPU負荷は変わるだろうけど。

ただ正確なところはブラウザの実装に依存するから測ってみないとわからん。
674Name_Not_Found:2009/02/09(月) 19:13:16 ID:fxU11wP6
>>672
内部的に実ファイルに書き込んでいるかどうかは実装による。
それが無駄か否かは、そのコンテンツの性格やユーザの価値観による。

俺個人は、ユーザがいつでもストレスなくそのコンテンツにアクセスできるなら、
キャッシュされるかどうかは、あまり意味のあることではないと考える。

以下余談。DOM操作じゃないし、昔話なので参考になるかどうか分からんが。
Netscape4系は、Document.write()とかした内容をキャッシュに保持してた。

その際の文字コードがソースの文字コードに依存しなかったことと、
ウィンドウをリサイズするとキャッシュを読み直すというイミフな仕様が相まって、
リサイズすると盛大に文字化け、タグが巻き添えになって画面がぼろぼろになった。

キャッシュの文字化けが原因、という結論になかなかたどり着けなかった当時の
多くのJS書きは、
window.onresize = function(){ self = top /* reload()は怖いので避けた */ };
といったことをおまじないのごとく書いて、cgiを叩くようなページでは難儀した。
98〜02年頃の話。
675674:2009/02/09(月) 19:36:12 ID:fxU11wP6
アンカまちがえた。
>>674>>671,661宛
676Name_Not_Found:2009/02/09(月) 20:34:07 ID:???
将来的にgetTimeメソッドがオーバーフローして日付関数の起算点が変更さ
れることはありますか?そのときは新しいメソッドが用意されるのでしょうか。
677Name_Not_Found:2009/02/09(月) 20:47:26 ID:???
自分でライブラリで実装してるから別に変更されても困らない件
678Name_Not_Found:2009/02/09(月) 21:03:22 ID:xcjf8Zyc
文字列中の特定の文字列にのみタグを追加するにはどうすればいいんでしょう?
途中の文字の色を変えたくてこう書いてみたのですが、タグがそのまま文字として表示されてしまうのです。

momi = getElementsByTagName("h2");
momi.item(0).firstChild.nodeValue.replace("momimomi","<font color=\"red\">momi</font>");

文の中のmomimomiという文字だけが赤くなるはずだったのですが、
<font color=red>momi</font>
と表示されてしまいました。
679Name_Not_Found:2009/02/09(月) 21:17:39 ID:???
>>678
innerHTMLでやってごらん
680674:2009/02/09(月) 21:23:22 ID:fxU11wP6
>>678
replaceの第二引数を関数にしてDOM操作をする。

matchの結果が関数に渡されるから、検索したテキストノードを、
マッチしたワードの前後に切り分けて、ワードを入れたタグを作って
切り分けたテキストノードで挟んで、もとに戻す。

というのを繰り返す。

自分用に作った文字列→要素の関数あるんだけど、
長くて一度に貼れないし、つまり駄作だろうから、要望があれば。
681Name_Not_Found:2009/02/09(月) 21:26:50 ID:???
>>679-680
ああああああできましあたああああああああああああああ
ありがとうございます。ずっと悩んでて諦めかけていたのでとても嬉しいです。
大好きです!
682Name_Not_Found:2009/02/09(月) 21:50:28 ID:???
>>681

女性ですか?
683Name_Not_Found:2009/02/09(月) 21:52:26 ID:???
>>676
そらまあ
なんかしないと 2038 年以降は扱えないよね

unsigned になるか 64bit になるか
どういう実装になるかは知らないけど
684676:2009/02/09(月) 22:25:55 ID:???
>>683
そうですか。確かな年までは求めてみなかったのですが、ミリ秒でやって
たらこれはヤバイと思いました。unsignedになったらカウントダウンでき
ませんよね。やはりbit拡張で後方互換なのでしょうか。30年後はもっと
パソコンも進歩はしてると覆いますが。ご回答ありがとうございました。
685Name_Not_Found:2009/02/10(火) 00:15:51 ID:gE3cF38/
質問! 以下のサイトについて!

JavaScriptを洗練させるPrototype.js
http://www.thinkit.co.jp/cert/article/0702/15/7/2.htm

"リスト26:要素をドラッグ可能にするクラス" に書かれているコードが動かないのは何故なんだぜ?

"// 移動メソッド" のところが

× 'top': y + 'px',
○ 'top': y + 'px'

になっているのは修正出来たんだけどこれをやっても何も起こらない。
このソースはテンプレとして保存しておきたいんで解決出来る人がいたらお願いします><
686Name_Not_Found:2009/02/10(火) 00:26:28 ID:???
試してないから分からないんだが、結構古い記事だからprototype.jsのバージョンとか?
687Name_Not_Found:2009/02/10(火) 00:35:42 ID:???
試してみたら1.50で動いたよ。
http://www.thinkit.co.jp/free/article/0702/15/1/
こっちの使い方の上のとこから落とせるようになってた。
688685:2009/02/10(火) 00:35:58 ID:???
>>686
なるほど、記事作成時には1.4.0だったらしいのでこれを使えば動くかも。
ありがとうございます! 今からすぐに試してみます><

ちなみに記事の第一回に書いてあるリンクからダウンロードしたらversion 1.6.0.2が落ちてきました><
689685:2009/02/10(火) 00:38:07 ID:???
>>687
どうもありがとうございます>< 今から試してみます!!><
690685:2009/02/10(火) 00:50:32 ID:???
>>686-687
version 1.5.0に入れ替えたら動きました!!><
ありがとうございました!><

しかし最新のバージョンで動かないということは保存する価値がない>< うわーん><
691685:2009/02/10(火) 08:00:22 ID:gE3cF38/
すみません、再び http://www.thinkit.co.jp/cert/article/0702/15/7/2.htm のコードで質問です。
上記ページのコードの中から以下のコードを消し、

----------------------------------
// クラスメソッド
Object.extend(Draggable, {

create: function(elem, opts) {
return new Draggable(elem, opts);
}
});
----------------------------------

その代わりに Draggable.prototype = { 〜 } の { } の中の最後に

------------------------------------
, create: function(elem, opts) {
   alert("create method is colled."); // createメソッドが呼ばれたらアラートを出す。
return new Draggable(elem, opts);
}
------------------------------------

を追加してみたのですが動きません。 alertさえ出ないことから、createメソッドがまったく
機能していない ( 呼ばれていない ) ようなのですが、 Draggable.prototype = { 〜 } の中で
create メソッドの定義をしたらどうして動かないのかが分かりません。
もし分かる方がおられましたらご教示いただけたら幸いです。^^;

環境: winXP SP3, IE7, Prototype.js 1.5.0

Prototype.js 1.5.0
ttp://prototypejs.org/assets/2007/1/18/prototype.js
692685:2009/02/10(火) 08:10:28 ID:???
あれ、もしかして prototypeプロパティの中で定義してるのがいけないのかな。
すみません、もうちょっと考えてみます。m(__)m
693685:2009/02/10(火) 08:38:12 ID:???
出来てしまいました>< やはり prototype プロパティの中で定義していたのがいけなかった。
var Draggable = Class.create(); の後ろに以下のコードを入れたら動きました。

-------------------------------------
Draggable.create = function(elem, opts) {
return new Draggable(elem, opts);
};
-------------------------------------

また、prototypeプロパティの中で create メソッドを定義した場合は Draggable.prototype.create と呼び出せば
動くことが分かりました。 お騒がせしてすみませんでした!><
694Name_Not_Found:2009/02/10(火) 12:51:29 ID:???
>>685
prototypeベースやprototypeチェーンについて勉強汁。
(過去ログにもあるけどここでいう"prototype"とprototype.jsは別物)

簡単に言うと、
Draggable.prototype = { create: function(){} };
はこうやって使う。

var obj = new Draggable(); // javascript本来の書き方
// var obj = Draggable.create() // prototype.js定義にClassならこっち

obj.create(); // Draggable.prototype.createが呼ばれる

Classベースの言語で例えるなら
Draggable.create クラスメソッド
Draggable.prototype.create インスタンスメソッド
695Name_Not_Found:2009/02/10(火) 16:41:40 ID:???
あるページに一箇所しかない

</OBJECT>
<BR>

という部分を

</OBJECT>
<BR><HREF="http://www.google.co.jp/">グーグル</A>

というふうに書き換えたいのですがなかなかうまくきません
document.body.innerHTML=document.body.innerHTML.replace(/</OBJECT>\s<BR>/,'</OBJECT>\n<BR><HREF="http://www.google.co.jp/">グーグル</A>');focus();

いろいろ削ってみたりして試したのですが
見よう見まねなのでどこが悪いのかすら全然わかりません・・・
696Name_Not_Found:2009/02/10(火) 16:47:21 ID:???
これで動くかしらないけどとりあえず

>/</OBJECT>\s<BR>/
/<\/OBJECT>\s<BR>/
697Name_Not_Found:2009/02/10(火) 16:49:05 ID:???
>>694
Prototype.jsと言えば、
version1.6での、オーバーライドしたスーパークラスのメソッドを呼び出したい場合には、
一々サブクラスのメソッドの第一引数で$superを指定する必要がある。
という妙な仕様が何故受け入れられているのかが非常に謎。
698695:2009/02/10(火) 17:05:11 ID:???
>>696
変化ないみたいです

前半はここまで削るとそれっぽい動きにはなるのですが
(/</OBJECT>\s<BR>/

(/OBJECT\s<BR>/
グーグルがリンクにならなかったりと、全体的にいろいろ間違ってるみたいなんです
699Name_Not_Found:2009/02/10(火) 17:08:26 ID:???
>>698
>グーグルがリンクにならなかったり

<HREF="http://www.google.co.jp/">

こんなんでなるわけがないw
700Name_Not_Found:2009/02/10(火) 17:10:07 ID:4NdK6URZ
jqueryの解説が一番わかりやすいサイトをおしえてください
701695:2009/02/10(火) 17:13:40 ID:???
>>699
あああ、いろいろ削ってるうちに消えてたいです
後半はうまくいきました!
702Name_Not_Found:2009/02/10(火) 17:20:13 ID:???
>>700
リファレンスが一番いいよ
APIリスト見ればサンプルがのってるでしょ
あれを見ればどういうものか直感的にわかるはずだ
それがわからないなら経験不足かな
703695:2009/02/10(火) 17:34:26 ID:???
何度もすいません・・・

/OBJECT
<BR>     → (/\/OBJECT\s<BR>/
まではうまくいったのですが

</OBJECT>のどちらか片方でも<>をつけると
うまく動かなくなってしまうみたいです
\< \> などもやってみたのですがダメみたいで何か原因わからないでしょうか?
704Name_Not_Found:2009/02/10(火) 17:58:55 ID:???
>>703
一度テキストエリア作ってそこのvalueにdocument.bodyinnerHTMLを
吐き出してみて。
"</OBJECT>\n<BR>".replace(/<\/OBJECT>\s<BR>/,'</OBJECT>\n<BR><A HREF="http://www.google.co.jp/">グーグル</A>')
は正しく動くから、元が"</OBJECT>\n<BR>"になってない可能性がある。
705Name_Not_Found:2009/02/10(火) 18:15:05 ID:???
ブックマークレット?
706661:2009/02/10(火) 18:32:07 ID:???
>>673-674
遅くなりましたが、お答え頂きありがとうございました。
ブラウザの実装に依存するんですね。
今はメモリも大量に積んでるPCが多いと思うので
あまり気にしないことにしました。
707695:2009/02/10(火) 18:49:19 ID:???
>>704
ありがとうございます!
やってみたところ</OBJECT><BR>となっていて
\sを削除してみたところうまくいきました
ソースに改行が入っていたので\sが入るものだと思ったのですが・・・
<>をはずしてみると /OBJECT <BR>となりました
なんだか不思議ですがとりあえずうまくいきました
ありがとうございました
708685:2009/02/10(火) 18:54:58 ID:???
>>694
prototypeプロパティとprototype.jsがまったく違うものということは分かっていたんですが、
prototypeプロパティでcreateメソッドを宣言してもnewでオブジェクトに格納されるまでは使えない
ということを知らなくて混乱してしまいました。^^;

prototypeプロパティのことをまだ全然理解出来てないので勉強してきます、ありがとうございました。m(__)m
709Name_Not_Found:2009/02/10(火) 23:32:37 ID:???
質問です。cloneNodeってどういうとき便利なんですか?これって、ノードに
ノードを入れ込みますよね。階層深くなるだけで使いづらいです。何かこれ
が威力を発揮する場合とかあるんでしょうか。
710Name_Not_Found:2009/02/10(火) 23:48:42 ID:???
お前がどういう使い方をしてるか知らないが、cloneNodeはNodeを複製するだけ。
HTMLに追加しなきゃ実在しないものだから別が階層深くなることはない。

いい使い方かは分からないが、iGoogle的なドラッグ&ドロップを作るのに使った。
711Name_Not_Found:2009/02/11(水) 00:07:39 ID:UtDktrE0
prototypeやjqueryに挫折しました
これより簡単なライブラリってありませんか?
712Name_Not_Found:2009/02/11(水) 00:09:28 ID:???
>>711
adobe spry使えばいいよ
713Name_Not_Found:2009/02/11(水) 00:10:49 ID:f/IVUGjR
spryって評判悪いですけど良いですか?
714Name_Not_Found:2009/02/11(水) 00:18:56 ID:???
>>これより簡単なライブラリってありませんか?
jQueryでダメならないんじゃ。
715Name_Not_Found:2009/02/11(水) 00:33:23 ID:???
確かに
716Name_Not_Found:2009/02/11(水) 04:51:22 ID:???
部分集合構成法において、Parsingの状態遷移で動くように書いてあるものをSubsetConstructionの状態遷移で動くように書き換えるのは、どのようにすればよいのでしょうか?
717Name_Not_Found:2009/02/11(水) 08:31:16 ID:???
>>711
よくある勘違いだけど、ライブラリは「簡単にする」ものじゃなくて「単純にする」もの。

マンガ家は、人物や背景全部自分で描くこともできるけど、手間を省くために要所にトーンを使う。
それで手間を軽減できるし、陰なんかは手書きするより綺麗に見せることもできる。

ライブラリも同じ。全部自分で書ける人が、手間省くために使うもの。
それで定型文を自分で書かずに済ませられるし、プログラムの本筋が見やすくなる効果もある。

結局、動作を理解してなけりゃ使えないのは変わらないよ。
プログラムという意味のわからん言語を翻訳してくれる、通訳みたいなものを
期待しているのなら、そんなものはまだないから。
718Name_Not_Found:2009/02/11(水) 10:38:07 ID:???
仕様書からプログラムが自動生成されればどんなに楽か・・・
719Name_Not_Found:2009/02/11(水) 10:50:58 ID:???
>>718
「仕様書 プログラム 自動生成」でぐぐれば。そういう研究は沢山
ある。使われてないのはプログラムがちゃんと書けない奴は仕様書
もちゃんと書けないからだと思うね。
720Name_Not_Found:2009/02/11(水) 10:57:20 ID:???
要するに電動自転車じゃないってことだね。
721Name_Not_Found:2009/02/11(水) 11:14:31 ID:???
>>ライブラリも同じ。全部自分で書ける人が、手間省くために使うもの。
これは御幣があるな。
仕組みを知らない人でも使えるようにしたものだろ。
722Name_Not_Found:2009/02/11(水) 11:57:46 ID:cCPIgk2h
>>721
それはどうだろう。>>708 なんかは、仕組みが分かってないから
うまく使えなかった典型だと思う。

すべてはObjectオブジェクトの派生であることと、prototypeについて
理解していないと、すぐに手詰まりになるでしょ。
723Name_Not_Found:2009/02/11(水) 12:11:14 ID:SeLMV1iP
仕様書の書き方を覚えたいのですがどちらで質問したらよろしいでしょうか?
724Name_Not_Found:2009/02/11(水) 12:13:09 ID:???
>>719
研究はいくらでもあるけど、実際に実用されてるもんなんてあんのか?
自動生成するプログラムにバグでもあったら酷い損害になると思うが。
725Name_Not_Found:2009/02/11(水) 12:32:27 ID:???
「ソースコードが仕様書」というセリフがあってだなw

>>722
二種類あるんだよ。

prototype.jsやjQueryのようなコアなライブラリはどちらかといえば
お前さんの言う通り。深い部分で絡んでくることと
コードが比較的シンプルに書かれているから、挙動を理解することの
コストパフォーマンスが高め。

それに対してスライドショウとかグラフ生成やらは>>721の言うタイプ。
一発芸的な目的だったり、コードの質がいまいちだったりして
問題がなければブラックボックスとして使うことが多い。
726Name_Not_Found:2009/02/11(水) 13:01:34 ID:???
>>719
>718の言ってるのは、仕様(日本語)⇔プログラム(プログラミング言語)の
完全な翻訳ができるシロモノのことだと思うが。

今あるのは、ただのコメント自動抽出機能でしかない。
テストデータを自動作成してくれたりもするが、それだって、
コメントの修正漏れ1つでボロボロ。
ぶっちゃけ実用に耐えるマシなシロモノじゃない。
まあ、上に報告する紙束作るために、必要ではあるんだけどw

プログラム修正したらコメントも直して、仕様変更依頼があれば
またプログラムとコメントも直して・・・なんてのを苦もなくできるのは、
「プログラミングとは、コメントを保守することだ」と心から信じてる人だけ。
普通に考えれば、こんなの二重管理でしかないんだけどね。
何かを一元管理するためのシステムを開発しているのに、
開発工程が二重管理とか、見てるだけなら面白い話で済むんだけど。
見てるだけなら・・・。

>718はさすがに無茶だけど、プログラム→仕様書の完全な翻訳だけだって
もし完成させられたなら、十分すぎるほど便利なんだよね。
「プログラムはともかくコメント保守は嫌いだ」という人にとって必要十分だから。

作れたならバカ売れ確実なんだけど、誰か作ってくれないかねw
727Name_Not_Found:2009/02/11(水) 14:18:49 ID:???
既存のライブラリにパッチを当てて、jQueryに対応させたいと思っています。
jQueryのあるなしで分岐させる方法はどんな方法がありますでしょうか?

上記に関して余談なのですが、実はExCanvasを使っているグラフ生成ライブラリBluffを
jQueryに対応させようとしています。
ExCanvasは、onreadystatechangeイベントの readyState == "complete" の時に初期化処理を行うのですが、
jQueryの$(function(){ 〜〜〜 });でロード時にグラフを生成しようとすると(=ExCanvasを使おうとすると)、
ExCanvasの初期化がよばれていないため、エラーがでます。
ExCanvasの初期化処理をグラフ生成時にグラフのelementごとに手動で呼んでやるか、
もしくは、ExCanvasの初期化処理をjQueryのロードイベント処理時に書いてやればよいのではないか、
ということがわかりました。

JavaScriptは最近弄り始めたばかりなのですが、こういうライブラリごとの競合はけっこう起こるものなのでしょうか?
728Name_Not_Found:2009/02/11(水) 14:25:49 ID:???
>>727
if(typeof(jQuery) == "undefined")

当然、jquery.jsが読み込まれる前では判定できない。
729Name_Not_Found:2009/02/11(水) 14:28:47 ID:???
if(typeof jQuery != 'undefined')
730Name_Not_Found:2009/02/11(水) 14:29:29 ID:???
おおう、リロードしてから書くべきだった。すまん。
731Name_Not_Found:2009/02/11(水) 15:40:04 ID:???
>>728-729
ありがとうございます。やってみます!
732Name_Not_Found:2009/02/11(水) 16:37:04 ID:???
form内にあるButton要素を押したときにSubmitさせたくないんですが
そういう場合はどうしたらいいんでしょうか
733Name_Not_Found:2009/02/11(水) 16:40:56 ID:???
>>732
onclickとかの話なら、return false;しとけ。

そもそも<input type="buttom">を<input type="submit">に
してしまってる気がするけど。
734Name_Not_Found:2009/02/11(水) 16:41:06 ID:???
>>732
ボタンをボタンにすればいい
735Name_Not_Found:2009/02/11(水) 23:10:16 ID:???
HTMLはこんな感じになってます。
<h2 id="cake">ケーキ</h2>

このケーキの部分を太字にしたくて、

node = document.getElementById("cake");
node.firstChild.nodeValue = "<B>ケーキ</B>";

と書いたのですが、画面には<B>ケーキ</B>とそのまま表示されてしまいました。
じゃあinnerHTMLを使おうと思って

node.firstChild.innerHTML = "<B>ケーキ</B>";

としてみると、innerHTMLがundefinedになってしまいました。
どうすればいいのでしょうか?
736Name_Not_Found:2009/02/11(水) 23:11:31 ID:???
node.innerHTML = "<B>ケーキ</B>";
737Name_Not_Found:2009/02/11(水) 23:31:24 ID:???
<style type="text/css">
#cake {
font-weight:bold;
}
</style>
738Name_Not_Found:2009/02/11(水) 23:59:25 ID:???
Hnだから何もしてなければ太字だと思うんだけどな・・。
739Name_Not_Found:2009/02/12(木) 00:07:22 ID:???
>>738
HTMLを知らないのか。
740Name_Not_Found:2009/02/12(木) 00:09:21 ID:???
741Name_Not_Found:2009/02/12(木) 01:44:39 ID:KzOr0DNp
既存のブックマークレットを参考にして、自分で使うためのブックマークレットを作っています。
以下の、document.forms[i].length;の部分って、各<form>内の要素数が入るって事であってますか?
できれは、この時点で、<input type="text">の要素のみ回したいんですが、可能でしょうか?

-----------------
javascript:(function(){
// すべての値にプロンプトで入力した数値を足す。

var x = prompt('いくつ追加?','');;
for (var i = 0; i < document.forms.length; i++) {
for (var j = 0; j < document.forms[i].length; j++) {
// テキスト入力フォームだったら。
if (document.forms[i][j].type=='text') {
// 既に入っている値にプロンプトで入力した数値を足して入れなおす。
void(document.forms[i][j].value = Number(document.forms[i][j].value) + Number(x));
}
}
}
})();
742Name_Not_Found:2009/02/12(木) 02:00:07 ID:???
>>741
それが動くならたぶんそれで合ってるだろうけど
こういったformの子ノードに添え字でアクセスできるのかは自信がない。
var form = document.forms[0];
var elem = form[0];

でもページ全体の<input type="text">を対象にしていいなら
var e = document.getElementsByTagName("input")
で<input>の配列を得られるからそれに対してループ回して
type="text"のチェックと処理をすればいい。
743Name_Not_Found:2009/02/12(木) 02:02:35 ID:???
あと(idとname以外の)特定の属性を持つ要素を引っ張り出す方法は
ループ回す以外にはないはず。
744741:2009/02/12(木) 02:11:32 ID:KzOr0DNp
>>742

ありがとうございます。
それがなぜか、動くんです。。だから多分、アクセスできているんだと思います・・・・
(この部分は人が書いたもののままなので、確証はありませんが)

「ページ全体の<input type="text">を対象にしていい」んですが、
結局ifでtype=='text'の判定をするのが入ってしまうのなら、変らないのです。。。


回す前に、ページ内の<input type="text">の数を使いたいなと思ったのですが、
document.***.***.length;みたいなかんじでいきなり数だけ参照できないでしょうか?
745741:2009/02/12(木) 02:12:22 ID:KzOr0DNp
>>743
あ、レスしている間に、とっくにレスいただいてましたね・・・
ありがとうございます!一回回すしかないんですね!
746Name_Not_Found:2009/02/12(木) 02:53:29 ID:???
>>712
重すぎてダメだろ?
普及すんのかあれ?
747Name_Not_Found:2009/02/12(木) 14:27:32 ID:???
jqueryなどを使って、ログインとパスワードを用いて特定のディレクトリに
うpできる簡素なうpローダなどはないでしょうか?
748Name_Not_Found:2009/02/12(木) 14:33:28 ID:???
>>747
根底からWebの仕組みを考え直した方がいいと思う
749Name_Not_Found:2009/02/12(木) 14:34:05 ID:???
>>747
ライブラリが何だろうとブラウザの上で動作している
JavaScriptだけでできるわけがない。
CGI、PHPなどの鯖側プログラムを用意するか、無料あぷろだ
を使うかどちらか必要だね。
750Name_Not_Found:2009/02/12(木) 14:37:32 ID:???
>>747
vbscript
751Name_Not_Found:2009/02/12(木) 14:46:31 ID:???
>>750
それってローカルでファイルに書くやつでしょ。VBScriptだろうと
鯖側にうpは無理。
752Name_Not_Found:2009/02/12(木) 16:41:17 ID:???
そもそも質問の意味がわからんw
753Name_Not_Found:2009/02/12(木) 16:48:49 ID:6oBfkSnR
いろんなサイトで以下のスクリプトを見かけるのですがどんな処理をしているのでしょうか?

function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_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=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
754Name_Not_Found:2009/02/12(木) 16:57:30 ID:???
>>753
ちゃんと読んでないけどマウスロールオーバーじゃないの?
MM_関数ってmacromedia製品絡みっぽい。
755Name_Not_Found:2009/02/12(木) 18:23:25 ID:???
現在では、大抵のサイトでCSSの擬似クラスを使って実装しているが、
旧世紀の遺物のようなこのコードはまだ結構見かけるね。
756Name_Not_Found:2009/02/12(木) 18:32:42 ID:???
それDWが吐き出すスクリプトだよ。
単純な動作をよくもそこまで複雑に書けるなと感心する。
757Name_Not_Found:2009/02/12(木) 18:52:27 ID:???
>>755
kwsk
758Name_Not_Found:2009/02/12(木) 19:29:05 ID:hzwennEp
>>755
全てのサイトを調査した訳じゃないからアレだけど、
:hoverを使うのより、JavaScriptでimg要素のsrc属性値書き換える
タイプの方が全然多い気がする。

いや、:hoverも増えてきてはいるけど。
759Name_Not_Found:2009/02/12(木) 19:40:46 ID:???
:hover擬似クラスがアンカーにしか効かないIE6を使ってるやつが大半だからな
760Name_Not_Found:2009/02/12(木) 19:51:18 ID:???
>>758
CSSスプライトを使えば、わざわざ画像ファイルをキャッシュする必要も無く、
さらにCSSよりもJavaScriptを無効にしているユーザーの方が多いと思われる現状では、
このような処理で、今更JavaScriptでの実装を選択する理由もちょっと見当たらないよ。
>>759の言うように非アンカータグへの適用ぐらいか。

古くからあるサイトなら、JavaScriptのままというのも全く不思議では無いけれど。
761Name_Not_Found:2009/02/12(木) 22:30:46 ID:hzwennEp
>>760
>>758は、CSSやJavaScriptの利用状況の調査をここ数年やったときの
俺の私見だから。参考程度ですよ。で、その私見による「今更JavaScriptでの
実装を選択する理由」は↓。

現在の商業web制作の現場のほとんどが、デザインプレを経た一枚絵(aiかpsdか
png)を、オーサーがPhotoShopかFireworksで「スライス(ここ重要)」して
画像パーツにする、っていうフローでやっていて。

で、ロールオーバ用の画像を二枚バラで書き出す方が、縦か横にくっつけた
一枚として書き出すより、圧倒的に早い。コーディングもDWに任せるか、または
imgタグにクラスを一つ書く程度で済む。

JavaScriptをオフられて動作しないリスクと、画像書き出しの手間を天秤にかけて、
前者はブラウザのデフォルト状態ではないことも鑑み、JavaScriptでやる方を選択
している。

と、こじつけてみた。
762Name_Not_Found:2009/02/12(木) 22:35:52 ID:???
ttp://higash.net/20080907/image_replace.html
僕はこの考えを支持する。
763Name_Not_Found:2009/02/12(木) 22:36:25 ID:hzwennEp
>>761の「ほとんど」は乱暴だった。「多くは」だね。
764Name_Not_Found:2009/02/12(木) 22:37:16 ID:???
最近のショッピングサイトはJavaScriptOFFだと買い物できないよね。
765Name_Not_Found:2009/02/13(金) 00:18:25 ID:d3i0dalz
すいません、javascriptを使用されている方々で入門書として使われていた書籍で
お勧めがあれば教えていただけないでしょうか?

今は『WebクリエイティブのためのDOMScripting」を読んでますが、基礎を固める意味で
もう一冊ほど入門書を読みたいんですが…。
766Name_Not_Found:2009/02/13(金) 00:19:30 ID:???
>>765

一撃必殺javascriptが最強
これを超える入門書はない
767Name_Not_Found:2009/02/13(金) 00:22:48 ID:???
犀本読んどけ。
768Name_Not_Found:2009/02/13(金) 00:23:02 ID:???
オライリーで良いんじゃないの?
最初にやって挫折しかけてるけどw
769765:2009/02/13(金) 00:41:44 ID:???
最近出たばっかりの
『JavaScript 1 はじめてのプログラミングとJavaScriptの基礎』
せっかくなんでやってみますわ。
770Name_Not_Found:2009/02/13(金) 03:59:27 ID:???
ネットに腐るほど入門サイトがあるのに本なんかいるの?
771Name_Not_Found:2009/02/13(金) 07:15:00 ID:???
>>770
腐るほどある入門サイトはだいたい腐っている。
きちんとプロトタイプチェーンとかも含めて系統的に解説
しているサイトがあればテンプレに載せたいよね。
ぜひ紹介キボン。
772Name_Not_Found:2009/02/13(金) 07:18:45 ID:???
>>771
うまい事いうな
ちょっと感心した
773Name_Not_Found:2009/02/13(金) 07:40:26 ID:???
jsのことを全部載せてあるサイトなんかいらないな。
あってもとほほみたいに時が経てば過去の遺物になるだけ。

知りたいことをぐぐってそれについて詳しく、分かり易く説明してるサイトを見る

の無限ループでおk。

入門て言ってもプログラムの知識がある程度あるか無いかでかなり違ってくるよな。
俺はあったから http://codezine.jp/article/detail/222?p=1 を読んで30分で理解出来たけど
予備知識が無い人にとっては参照とかワケワカメだろうなw

あ、いい本があったら俺も教えてもらいたいな。 いい本とはどんな本なのかってとこに興味ある。
774Name_Not_Found:2009/02/13(金) 08:07:07 ID:???
とほほは最初jからつっこまれまくってたじゃん
お前何言ってんの
775Name_Not_Found:2009/02/13(金) 08:49:39 ID:???
最初からって、おまえおっさんだろ。
776Name_Not_Found:2009/02/13(金) 09:16:29 ID:???
>>761-762
何かHTMLでのテーブルレイアウトかCSSかの議論を思い出すね。
古い体制を維持したい、あるいはデメリットを過剰に意識する人間は何時の時代にも居るけれど。

>>765
何度も名前が出てくるけど、オライリーのJavaScript本
ttp://www.oreilly.co.jp/books/9784873113296/
多くのオライリー本に共通する特徴として、
読み物というより、少しでも判らない点/曖昧な点があったら関連する項目を読み、
それについての理解を深めるというリファレンス的な利用法が出来るから、
2冊目としては最適。
777Name_Not_Found:2009/02/13(金) 16:07:47 ID:ExK1Ytta
javascriptを先に書いておいて
後で指定しておいたclass名の要素が出てきた時に実行するっていう風にするには
どうしたらいいですか?

こんな感じに↓
<script>
<!--
/* 実行内容 */
-->
</script>
#間省略
<a href="" class="test">てst</a>
↑これが出た時に実行
778Name_Not_Found:2009/02/13(金) 16:42:17 ID:???
>>777
onloadにフックして走査するしかないんじゃね?
779Name_Not_Found:2009/02/13(金) 16:52:21 ID:???
>>777
DOMNodeInserted
780Name_Not_Found:2009/02/13(金) 18:24:39 ID:ULnJWnJX
phpのisset的なものってないんでしょうかね。
変数が宣言されてるかどうか知りたいんですが。
781Name_Not_Found:2009/02/13(金) 18:34:35 ID:???
>>780
if(typeof v != 'undefined')

本当に宣言だけの var v; だと判断できないけど必要もないはず。
782Name_Not_Found:2009/02/13(金) 18:40:27 ID:???
>本当に宣言だけの var v; だと判断できないけど必要もないはず。
いや、それもundefinedになるから
783Name_Not_Found:2009/02/13(金) 18:57:37 ID:???
だから判断できないと言ってるw
でも未使用変数を判断する必要性ってあるの?
784Name_Not_Found:2009/02/13(金) 20:32:58 ID:???
泥臭いが、

function isset(v) {
    var flg = true;
    try {
        if (eval(v + " === null")) return false; // ... (1)
        eval("var _" + v + " = " + v);
    } catch(e) {
        flg = false;
    }
    return flg;
}


(isset() には変数ではなく変数名(文字列)を渡す)
isset("a") ... 変数 a が宣言済みなら true、そうでないなら false を返す。

PHP の isset とやらは宣言済みの変数の場合であっても
値が null であれば false を返すらしいので
こちらでも一応そのようにしておいたが、もしそれが余計なら (1) の行を削って。

どういう需要があるのか知らんけど。
785Name_Not_Found:2009/02/13(金) 20:41:33 ID:???
変数 flg なんて余計だったわ。

function isset(v) {
    try {
        if (eval(v + " === null")) return false; // ... (1)
        eval("var _" + v + " = " + v);
        return true;
    } catch(e) {
        return false;
    }
}
786Name_Not_Found:2009/02/14(土) 00:18:14 ID:lrX8pXDA
テーブルに行が追加できなくて困っています。
どこがいけないのでしょうか?
以下ソース。

<script language="JavaScript" type="text/javascript">
function printList(wordlist){
 var table = document.getElementById("wordtable");

 for(var i in wordlist){
  var new_row = table.insertRow(table.rows.length);
  new_row.insertCell(0).appendChild(document.createTextNode(wordlist[i][0]));
  new_row.insertCell(1).appendChild(document.createTextNode(wordlist[i][1]));
 }
}
</script>

<script language="JavaScript" type="text/javascript">
wList = [
 ["0-0","0-1"],
 ["1-0","1-1"],
 ["2-0","2-1"]
 ];

printList(wList);
</script>

<table id="wordtable" border="1">
<tr><td>hoge</td><td>fuga</td></tr>
</table>
787Name_Not_Found:2009/02/14(土) 00:26:25 ID:???
printList(wList);
は table が閉じた後に呼ばないとだめだと思うが
788786:2009/02/14(土) 00:29:50 ID:???
>>787
ありがとうございます!
動作しない理由がそことは予想外でした・・・。
789Name_Not_Found:2009/02/14(土) 01:57:44 ID:zItDGlW+
すいません。iboxってツールの質問ってここで質問しちゃまずいですかね?

ウィンドウ表示されるページ内のjavascriptが動かなくってこまっちゃってます。
普通にブラウザ通して、ウィンドウ表示するページをみるとjavascriptが動いて、
ibox上でそのページを表示したらjavascriptが動かなくなるんですけど。

よろしくです
790Name_Not_Found:2009/02/14(土) 02:21:19 ID:zItDGlW+
いちおう情報バージョン: ibox.2.17c
リンク元ページ:sample.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<link rel="stylesheet" href="css/ibox.css" type="text/css">
<script type="text/javascript" src="ibox.js"></script>
<title>iBoxサンプル</title>
</head>
<body>
<h1>iBoxサンプル</h1>
<div>
<a href="sample_disp.html" rel="ibox" title="アラーと">アラート</a>
</div>
</body>
</html>
791Name_Not_Found:2009/02/14(土) 02:21:58 ID:zItDGlW+
表示ページsample_disp.html
<html>
<head>
<script type='text/javascript'>
function testalert(){
alert("testt");
}
</script>
</head>
<body>
<a href='javascript:testalert()'>testalert</a>
</body>
</html>
792Name_Not_Found:2009/02/14(土) 02:22:29 ID:???
以上。
793Name_Not_Found:2009/02/14(土) 02:39:04 ID:???
>>789
探すのがめんどくさいからURLぐらい添えてくれw
んでコードは追ってないけどfirebugで動作を見た感じ
iframeではなくdivに流し込んでいるせいかhead部分がハンパになってるから
body部分にscriptを書けば動くかも。
794Name_Not_Found:2009/02/14(土) 02:41:38 ID:???
>>793 すいませんでした。
ごめんリンク元ページにtestalert関数追加したら動いた。
最初から読み込んでおけばいいみたいですねぇ。
795Name_Not_Found:2009/02/14(土) 02:48:36 ID:zItDGlW+
いまウィンドウ表示先のbodyにscript書いてみたけど駄目でした。
本来ウィンドウ上でjavascriptも難なく動いてほしいのですけど、
リンク元に書いても問題無いスクリプト動かそうと思っているので素直にリンク元においておきます。
ちなみに
ttp://journal.mycom.co.jp/articles/2007/09/11/ibox/index.html
このへんからたどっていけばツールに辿りつけます。

再三のスレ汚しすいませんでした。
796Name_Not_Found:2009/02/14(土) 02:53:17 ID:???
>>790
XMLHttpRequestでとってきたHTMLをinnerHTMLに流し込んでるのかなたぶん。
「script innerHTML」で検索すると関連してそうな話が出てくたyo。改造してみる?
797Name_Not_Found:2009/02/14(土) 03:21:25 ID:???
ご親切にありがとうございます。リンク元にスクリプト書いて実装・起動できましたので特には必要なくなっちゃいました。
ウィンドウ上のフォーム入力を簡単クリック一つで出来るようにしようかなとそういう目的の為でした。

script innerHTMLでぐぐってみましたけど、なんかIEとFireFoxでの挙動の違いもなんかあるみたい
なんで、めんどくさそうですw重ね重ねありがとうございました。
798Name_Not_Found:2009/02/14(土) 04:24:09 ID:???
clipboardData.getData
に代用できるFirefoxでも使用可能なスクリプトって
無いんですかね?
799Name_Not_Found:2009/02/14(土) 05:00:52 ID:???
あったら怖いわ。
800Name_Not_Found:2009/02/14(土) 05:36:35 ID:???
>>798
FlashでもgetClipboardはないしな
で、それを何に悪用するつもりなんだ?
801Name_Not_Found:2009/02/14(土) 05:44:17 ID:???
>>799
いやまぁそうなんだけどさ、
セキュリティを変更した場合だけ使えるとか、なんか方法ないかなと思って

>>800
自分だけ使いたいことがあって
郵便番号をコピーして、別画面でボタン押したらそれが
貼り付けられるようにできないかなぁって
802Name_Not_Found:2009/02/14(土) 05:50:57 ID:???
>>798
昔はFlashと組み合わせて出来たんだが
今はセキュリティホール扱いで出来ないな

自分で使うだけなら古いバージョンのフラッシュプレイヤー使えばいいんじゃね
803Name_Not_Found:2009/02/14(土) 05:52:10 ID:???
懸賞に応募するための支援ツールにそんなのがあったなー。 まあ本当は悪用したいだけかも知れないが。
俺は2000年頃に自前のサイトにこれしかけてみたら2ちゃんのAAコピーして来たやつがいて引いたわ。
804Name_Not_Found:2009/02/14(土) 05:53:43 ID:???
>>801
Firefoxなら chrome 権限でいいなら存在する
custombuttons あたりでボタンにしたらいい

nsIClipboard - MDC
https://developer.mozilla.org/en/nsIClipboard

それ以外は Flash でやれ
805Name_Not_Found:2009/02/14(土) 06:19:21 ID:???
>>803
断言する。悪用は無い。
というか、アドオン使うにしろFlash使うにしろ、
ブラウザ自体を特殊な状態に持ってこないと使えないと思うから、
悪用できないと思いますよ。(逆にどんな環境でも出来るってことならそれFirefoxのセキュリティホールってことですし

>>804
いまいちよくわからんが、もう少し見てみるwサンクス
806Name_Not_Found:2009/02/14(土) 06:20:48 ID:???
レス番名前にいれるの忘れてた
>>798
>>801
>>805
とこのレス俺です
807Name_Not_Found:2009/02/14(土) 06:49:29 ID:???
>>805
Flashなら簡単に出来る。というより、Flashを使わないと出来ない、か。
自分だけで使うこと前提なら、JavaScript+Flashで違和感なくコピーさせることも可。
実際にやれている例を知っている。
808Name_Not_Found:2009/02/14(土) 11:17:19 ID:???
user.jsとかgreasemonkeyとかの領分だろうなぁ
809Name_Not_Found:2009/02/14(土) 17:23:50 ID:???
Firefox(3.0.6) で if (window.XMLHttpRequest) { ... } で囲まれたブロック内で
関数定義(リテラルでない)を関数の呼び出し後方に置けないのは仕様ですか?
下の様な感じです(Opera, Safari では問題なし。IE は 6 しかないので未確認)。

<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>test</title>
<script type="text/javascript">
window.onload = function() {
if (window.XMLHttpRequest) {
document.getElementById("piyopiyo").onclick = testFunc;
function testFunc() { alert("piyopiyo"); };
}
};
</script>
</head>
<body>
<form action="#">
<p><input type="button" value="Run" id="piyopiyo"></p>
</form>
</body>
</html>
810Name_Not_Found:2009/02/14(土) 17:26:32 ID:???
エラーコンソールでは testFunc is not defined と出ます。
if ブロックの外では問題ないです。
811Name_Not_Found:2009/02/14(土) 17:33:40 ID:???
'testFunc()'
812Name_Not_Found:2009/02/14(土) 17:40:17 ID:???
>>809
あのさ
function ???{};の;ってなによ
813Name_Not_Found:2009/02/14(土) 17:42:50 ID:???
>>812
ああ、すいません。
そこは不要ですね。
814Name_Not_Found:2009/02/14(土) 17:51:14 ID:???
window.onload なしで単に以下のコードでも駄目でした。
仕様と思ってあきらめますです。

if (true) {
testFunc();
function testFunc() { alert("piyopiyo");}
}
815Name_Not_Found:2009/02/14(土) 17:55:19 ID:???
>>809
【正常】
function a(){}
a();

【正常】
a();
function a(){}

【異常】
a();
function a(){
b();
function b(){}
}

【正常】
a();
function a() {
function b(){}
b();
}
816815:2009/02/14(土) 17:56:06 ID:???
理由:if や定義した関数内じゃグローバルじゃないから
817815:2009/02/14(土) 17:56:36 ID:???
よってfirefoxが正しい挙動
818Name_Not_Found:2009/02/14(土) 18:01:20 ID:???
function A() {
 function B() {};
 return B;
}
のときのA() == A()の結果はJS(ECMAScript)の仕様としては
trueでもfalseでもよいとなっている。
ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/13_Function_Definition.html#section-13.2

先読みでfunctionを処理することが仕様ならA()呼び出し毎に
変わるということはありえないから、先読みは実装依存ということ。
819Name_Not_Found:2009/02/14(土) 18:29:02 ID:???
>>815
すみません、3 つ目の【異常】が良く分からないです。
Firefox でも if ブロックの外なら、参照できるスコープ内にある限り
関数定義の場所は問題ないみたいです。

>>818
リンク先、拝見しました。
ブラウサの実装次第の部分があることは理解しました。

ただ、if 文はスコープに関わるんでしょうか。
もう少し調べて出直してきます。

//ERROR
if (true) {
testFunc();
function testFunc() { alert("piyopiyo"); }
}

//OK
if (true) {
testFunc();
}
function testFunc() { alert("piyopiyo"); }
820Name_Not_Found:2009/02/14(土) 19:28:10 ID:???
globalにfunctionがあれば遅かれ早かれ実行(→定義)されることが保証される。
ifブロックは実行してみないとわからない。

スコープの問題よりは最適化の問題かと。
821819:2009/02/14(土) 19:46:22 ID:???
何かここに詳しく書いてありました。
書いてあることを鵜呑みにするなら Firefox の JavaScript の仕様だそうです。
if 文の中に関数定義があること自体は ECMAScript の規格違反で、
その様な場合の解釈の仕方で Firefox だけ挙動が他と異なる様です。

http://forum.mozilla.gr.jp/cbbs.cgi?mode=al2&namber=26867&rev=&&KLOG=171
822Name_Not_Found:2009/02/14(土) 21:19:27 ID:???
>>815
ちなみに3つ目の【異常】ってのはどういった実行環境でそうなる?
823Name_Not_Found:2009/02/14(土) 22:35:40 ID:???
すみません、HTMLで特定のタグの下階層の特定のタグにアクセスしたい場合の記述はどのようになりますでしょうか。
例えば、<div><a>AAA</a></div>とあったときは
getElementTagName("div").getElementTagName("a")
で合ってますでしょうか?
824Name_Not_Found:2009/02/14(土) 22:38:56 ID:???
document.getElementsByTagName("div")[0].getElementsByTagName("a")[0]
825Name_Not_Found:2009/02/14(土) 22:51:54 ID:???
>>824
基本的なことかもしれませんが、とても助かりました。ありがとうございます!!
826Name_Not_Found:2009/02/14(土) 23:06:44 ID:n+pPMmRv
index.htmlに以下のようなリンクがあります

<div id="menu">
<ul>
<li><a href="a.html">あ</a></li>
<li><a href="b.html">い</a></li>
<li><a href="c.html">う</a></li>
</ul>
</div>

javascriptがONの場合のみ以下のようにリンクに?id=testという文字列を付けたいのですが
どなたかヒントだけで頂けないでしょうか?

<div id="menu">
<ul>
<li><a href="a.html?id=test">あ</a></li>
<li><a href="b.html?id=test">い</a></li>
<li><a href="c.html?id=test">う</a></li>
</ul>
</div>
827Name_Not_Found:2009/02/14(土) 23:17:37 ID:???
却ってヒント出す方が難しいな
きほんてきなことなんで精進してくれ

<div id="menu">
<ul>
<li><a href="a.html">あ</a>
<li><a href="b.html">い</a>
<li><a href="c.html">う</a>
</ul>
</div>
<script type="text/javascript">
var li = document.getElementById("menu").getElementsByTagName("a");
for(var i=0; i<li.length; i++){
li[i].href+="?id=test"
}
</script>
828827:2009/02/14(土) 23:19:47 ID:???
変数名間違えた
829Name_Not_Found:2009/02/15(日) 00:28:03 ID:Tkvj6PHB
↓は上から参照・処理していますが、これをお尻からまわすことはできますか?
下の要素から順に参照・処理できたら・・・

for (var i = 0; i < document.forms.length; i++) {
for (var j = 0; j < document.forms[i].length; j++) {
[処理省略]
}})();
830Name_Not_Found:2009/02/15(日) 00:33:06 ID:???
for (var i = document.forms.length - 1; i <= 0; i--) {
831Name_Not_Found:2009/02/15(日) 00:42:25 ID:???
i >= 0
832829:2009/02/15(日) 00:49:27 ID:Tkvj6PHB
うをぉなるほろ
dクスです
833Name_Not_Found:2009/02/15(日) 03:03:03 ID:U6AyzeOI
以下のようにしたら、テーブルの横線(外枠以外)が消えてしまったのですが、
なぜでしょうか?

var table = document.getElementsByTagName("table");
table = table[0];

table.border = "1";
table.style.borderCollapse = "collapse";
table.style.backgroundColor = "yellow";
834833:2009/02/15(日) 03:51:42 ID:???
自分の検証不足だったのですが、
HTMLで直に書いたテーブルに>>833を適用したら、ちゃんと横線が出ました。

問題が発生したテーブルは以下のスクリプトで作っています。

// num行num列のテーブルを作る関数
function createTable(num){
var body = document.getElementsByTagName("body")[0];
var table = document.createElement("table");

for(var j=0; j<num; ++j){
var row = document.createElement("tr");

for(var i=0; i<num; ++i){
var cell = document.createElement("td");
var text = document.createTextNode(j+"-"+i);
cell.appendChild(text);
row.appendChild(cell);
}

table.appendChild(row);
}

body.appendChild(table);
}
835Name_Not_Found:2009/02/15(日) 04:09:38 ID:???
これじゃ駄目かい

function createTable(num){
var body = document.getElementsByTagName("body")[0];
var table = document.createElement("table");

table.border = "1";
table.style.borderCollapse = "collapse";
table.style.backgroundColor = "yellow";

for(var j=0; j<num; ++j){
var row = table.insertRow(j);

for(var i=0; i<num; ++i){
var cell = row.insertCell(i);
var text = document.createTextNode(j+"-"+i);
cell.appendChild(text);
}

}

body.appendChild(table);
}


body.appendChild(table);
}
836Name_Not_Found:2009/02/15(日) 04:11:52 ID:???
こぴぺ失敗した
↓一個多いからけして
body.appendChild(table);
}

837833:2009/02/15(日) 04:25:39 ID:???
>>835
ありがとうございます。
>>835のやりかたを初めにやってできたので、
テーブル生成と装飾を分てみよう、と思って createTable() から分離しました。

実際は >>833は decorateTable()内に書かれており、
createTable()を呼んだあとに、decorateTable()を呼ぶ、
といったかたちになっています。
これで >>833 のような現象が生じています。

情報不足で申し訳ありません。
838Name_Not_Found:2009/02/15(日) 04:27:43 ID:???
こっちの方がいいか。

<html>
<head>
<script type="text/javascript">
function createTable(num){
var body = document.getElementsByTagName("body")[0];
var table = document.createElement("table");

for(var j=0; j<num; ++j){
var row = table.insertRow(j);

for(var i=0; i<num; ++i){
var cell = row.insertCell(i);
var text = document.createTextNode(j+"-"+i);
cell.appendChild(text);
}
}
body.appendChild(table);
}
function changeTable() {
var table = document.getElementsByTagName("table")[0];

table.border = "1";
table.style.borderCollapse = "collapse";
table.style.backgroundColor = "yellow";
}

</script></head><body onload="createTable(5);changeTable();"></body></html>
839Name_Not_Found:2009/02/15(日) 04:34:42 ID:???
tr と td 要素を insertRow と insertCell で生成するように変えてあるよ。
840Name_Not_Found:2009/02/15(日) 05:00:15 ID:???
IEで罫線が灰色っぽくなってることを言ってる?

function decorateTable() {
var table = document.getElementsByTagName("table")[0];

table.style.borderColor = 'black';
table.style.borderStyle = 'solid';
table.style.borderWidth = '1px';
table.style.borderCollapse = "collapse";
table.style.backgroundColor = "yellow";
for (var j=0; j<table.rows.length; ++j) {
var row = table.rows[j];
for (var i=0; i<row.cells.length; ++i) {
var cell = row.cells[i];
cell.style.borderColor = 'black';
cell.style.borderStyle = 'solid';
cell.style.borderWidth = '1px';
}
}
}
841Name_Not_Found:2009/02/15(日) 11:49:15 ID:???
javascriptでfunctionの戻り値の型を宣言しておくことって出来ないんですか?
Flashで使われるactionscriptでは

funcion ext():Number{
return 10;
}

という書き方が出来るんですがjavascriptだと動きませんでした。(winXP SP3、IE7)
842Name_Not_Found:2009/02/15(日) 11:53:07 ID:???
↑function の t が抜けてますが気にしないで下さい。
843Name_Not_Found:2009/02/15(日) 12:15:37 ID:???
できないし必要もない
844Name_Not_Found:2009/02/15(日) 12:24:02 ID:???
>>841
returnするときに宣言すればいいだろksg
845841:2009/02/15(日) 12:24:17 ID:???
>>843
そうでしたか、ありがとうございました。
846841:2009/02/15(日) 12:26:14 ID:???
>>844
それだとreturnが複数あった場合に面倒ですよね。
これしか策が無いのならこれでいきます、ども。
847Name_Not_Found:2009/02/15(日) 13:11:32 ID:???
javascriptのデバッグをサクサクしたいんですが、何がいいですか?
FireBugがいいのでしょうか?
848Name_Not_Found:2009/02/15(日) 14:44:58 ID:9dVFDlVe
ある要素をマウスオーバーした時に、setTimeoutを使って500msの遅延を置いてから
xml_httprequestで通信を始めるようにしました。
ここで、500msの間にマウスが離れた場合に、この通信そのものを行わないようにしたいんです。
何かいい方法はありませんでしょうか?
849833:2009/02/15(日) 14:57:28 ID:???
遅くなりました。

>>838
>>840
ありがとうございます。

>>840
これはFirefox(IE未確認)で起こっています。

>>838
できました!

私の>>833と、>>838だと、
やっていることは同じように見えるのですが、
何か違うのでしょうか?
850Name_Not_Found:2009/02/15(日) 15:04:23 ID:???
>>848

まず作ったコードを晒せ
851Name_Not_Found:2009/02/15(日) 15:06:32 ID:???
>>848
var timerID = setTimeout( ajaxProc, 500 );
で、mouseoutのイベントハンドラで、
clearTimeout( timerID );
とか。
852Name_Not_Found:2009/02/15(日) 15:13:35 ID:???
>>849
たぶんtbody絡み。
tableはtbodyが自動生成されてるからDOM構造が想像とは食い違う。
<table>
 <tbody>
  <tr><td> </td></tr>
 </tbody>
</table>
853Name_Not_Found:2009/02/15(日) 15:25:30 ID:???
>>851
できました!本当にありがとうございます!
854Name_Not_Found:2009/02/15(日) 17:14:09 ID:???
>>850
お前そろそろ自分が邪魔者だと気付け
855Name_Not_Found:2009/02/15(日) 18:00:31 ID:???
>>848=854
856Name_Not_Found:2009/02/15(日) 19:09:33 ID:???
なんのレッテル?
857Name_Not_Found:2009/02/15(日) 19:29:32 ID:???
http://pc11.2ch.net/test/read.cgi/hp/1223618153/62,66,218,386,438,537,698

読解力がないのに無理すんな
お前がごにょごにょ言ってる間に誰かが正答するのがいつものパターン
858Name_Not_Found:2009/02/15(日) 19:43:42 ID:???
でたらめな回答を繰り返すゴミ回答者

・質問をよく読まない。
・質問を理解しようとするのではなく、自分勝手に読み替えて回答しようとする。
・思いついたことを検証せずに回答する。
・マナーの悪い質問に対しても、自分の知っている内容であれば回答する。
・質問内容に直接には触れずに、代案のみを書く。
・質問内容は不可能なことなのか、不適切なことなのか、回答者が知らないだけなのか、
 何もわからないので質問者はもう一度聞き直すしかない。
・間違いを指摘されても訂正しない。謝らない。無視、ごまかし、言い逃れようとする。
・「わかりません」と言えない。わからなくなると、質問とは無関係な事例や経験談を語り始める。
・事実と仮説の区別ができない。推測したことをそのまま事実と思い込み、断言してしまう。
・他人の回答やWebページの内容を出典を示さず、無断で転載する。
・教えて君のあいまいな質問が大好き。自分勝手に解釈して回答する。
・「わかるように書け」と説教をしたがる。質問者のマナーをくどくどと批判し、
 他のメンバーに同意を求める。憂さ晴らしに利用している。
・問題点の絞り込みをしようとしない。議論を重ねても、何が問題なのかさえ不明のまま。
・すでに同じような回答があっても、自分が投稿しないと気が済まない。
・積極的に回答しているので親切そうに見えるが、
 初心者の質問の不備やマナーの悪さをねちねちと指摘するのが大好き。
・他人の回答に対しては、横から割り込み、意味もない感想を書いたりする一方で、
 自分の回答が批判されると「他人の回答の批判はやめてくれ。
 そんな暇があったら自分で回答しろ」などと文句を言う。
・人に嫌われ、攻撃されることが多い。自分は何も悪くないと思っている。
・攻撃する人は荒らしで、自分は被害者だと言って回る。
・ゴミ回答者は優良回答者を駆逐する。ゴミ回答者は他の人の回答の機会を奪う。
・優良回答者は意欲を失くして去り、新しい回答者が育つこともない。
・寛容であることとマナーを軽視することの区別ができない。
・初心者に寛容であることは大切なマナーだが、マナー軽視を容認することは最悪のマナー。
859Name_Not_Found:2009/02/15(日) 20:08:55 ID:???
>>858
回答者はこうあるべきって書けばいいのに。
860Name_Not_Found:2009/02/15(日) 21:00:08 ID:???
__parent__プロパティは何でなくなったん?
861Name_Not_Found:2009/02/15(日) 22:36:22 ID:Tkvj6PHB
ブックマークレットを作っています。

ページ内に複数あるテキストフォームに1〜の数値が入っている前提で、
まずすべてのテキストフォームの値にプロンプトで入力した数値(x)を加算してから(処理1)
下からx番目までのフォームには1〜の数値を上書きで入れたいです(処理2)。

下記コードの、処理1の行をコメントアウトすると、処理2は正常に動き、
2番目のループをコメントアウトすると、処理1は正常に動きます。

両方動かしたい場合はどうすればいいでしょうか?

-----------
javascript:(function(){
var x = prompt('いくつ追加?','');;
for (var i = 0; i < document.forms.length; i++) {
// テキストフォームの値ににxの数値を足して入れる。
for (var j = 0; j < document.forms[i].length ; j++) {
if (document.forms[i][j].type=='text') {
void(document.forms[i][j].value = Number(document.forms[i][j].value) + Number(x));
// ↑処理1
}
}
// 逆回しして、テキストフォーム下からx...1まで入れる。
for (var k = document.forms[i].length - 1; k >= 0; k--){
if (document.forms[i][k].type=='text' && 1 <= x) {
void(document.forms[i][k].value = x);
// ↑処理2
x--;
}
}
}
})();
862Name_Not_Found:2009/02/15(日) 23:23:00 ID:???
>>861
処理2 で x の値を変更したら i ループの 2周目でうまくいかないとか、かな。

javascript:(function(){
var x = prompt('いくつ追加?',''), d = document;
x = parseInt(x);
for (var i = 0, f; i < d.forms.length; i++) {
f = d.forms[i];
for (var j = 0; j < f.length - x ; j++) {
if (f[j].type == 'text') {
f[j].value = parseInt(f[j].value) + x;
}
}
for (var k = f.length - x, l = 1; k <= f.length - 1; k++){
if (f[k].type == 'text') {
f[k].value = l;
l++;
}
}
}
})();
863Name_Not_Found:2009/02/15(日) 23:23:07 ID:???
処理2でxをデクリメントしながら回してりゃ処理1のNumber(x)が毎回変わるだろうね。
864861:2009/02/15(日) 23:27:59 ID:Tkvj6PHB
あ、なるほど。そういえばそうですね・・・

ただ、一応まわしていますが、<form>は一つしかないのです。
865Name_Not_Found:2009/02/15(日) 23:39:50 ID:???
>>864
form が一つなら、おっさん、アンタのコードでも動作する様だぜ。
866864:2009/02/15(日) 23:43:13 ID:Tkvj6PHB
>>862
ありがとうございます。
いろいろとスマートになっていて、とても参考になります!


二番目のforのなかのf.length - x,ですが、
ページ内には、テキスト入力フォーム以外にもhiddenやbuttonがあるので
(すべてのテキスト入力フォーム-プロンプトで入力した数値)というのをやるのがちょっと手間なのです。
すべてのテキスト入力フォームの数を数える処理を入れたくなくて、逆回ししています。


>>865

うーん。そうですかー。でも、事実動かないのはなんでなんだろう。
コードがあっているのに動かないっていうのはあるんですかね。(最初のプロンプトすら出ないです)
ブックマークレットなので文字コードとかは関係ありません。
867Name_Not_Found:2009/02/16(月) 00:08:01 ID:???
まさかと思うけど JavaScript が切ってあるとか。

あと IE の場合、元のファイルの JavaScript にエラーがあるとブックマークレットも実行されない。
868861:2009/02/16(月) 00:13:50 ID:wwvbl3Rd
>>867
ありがとうございます。

以下の通り、動くときは動くのです。ですので、javascriptはonです。
> 下記コードの、処理1の行をコメントアウトすると、処理2は正常に動き、
> 2番目のループをコメントアウトすると、処理1は正常に動きます。

また、IEでテストしていますが、元のファイルにjavascriptはありません。
869Name_Not_Found:2009/02/16(月) 00:15:59 ID:???
最初のプロンプトが動かないということはこれを囲っている { } の中に不正があるということ。
だから関数オブジェクトとして認識されずに実行されない。
870Name_Not_Found:2009/02/16(月) 00:18:29 ID:???
てかfunction名がカラなのは何ぜだぜ? それとfunctionで囲っているのはなんでだぜ?
871Name_Not_Found:2009/02/16(月) 00:20:20 ID:???
無名関数を利用してるだけですよー
なんか気に障りますね^^:
872Name_Not_Found:2009/02/16(月) 00:22:12 ID:???
無名関数すら知らないのがこんなスレにきてるのか。
873Name_Not_Found:2009/02/16(月) 00:23:57 ID:???
無名だから知らなくて当然。
874861:2009/02/16(月) 00:24:03 ID:wwvbl3Rd
>>869
ふーむ・・・そうですか・・・
いったいどこに不正が・・・

> てかfunction名がカラなのは何ぜだぜ? それとfunctionで囲っているのはなんでだぜ?

それは、参考にしたブックマークレットがそうだったからそのまま同じように書いています。
875Name_Not_Found:2009/02/16(月) 00:27:36 ID:???
なるほど、変数のスコープやら関数名の衝突やらが関わってくるのか。
考えてみれば有効だなこれは。 勉強になりました。
876Name_Not_Found:2009/02/16(月) 01:14:51 ID:???
他にあり得るのは IE6 の文字数制限かな(もし IE6 なら)。
とりあえず、質問者のおっさんのコードからコメントを消して
document.forms を変数 f に変えてみたら IE6 でも動いた。

javascript:(function(){
var x = prompt('いくつ追加?','');
var f = document.forms;
for (var i = 0; i < f.length; i++) {
for (var j = 0; j < f[i].length ; j++) {
if (f[i][j].type=='text') {
void(f[i][j].value = Number(f[i][j].value) + Number(x));
}
}
for (var k = f[i].length - 1; k >= 0; k--){
if (f[i][k].type=='text' && 1 <= x) {
void(f[i][k].value = x);
x--;
}
}
}
})();
877Name_Not_Found:2009/02/16(月) 01:49:52 ID:???
document.getElementsByid("il")[0];

document.forms[num].il.checked = true;

google開いたら「日本語のページを検索」にチェックを入れるにはどうすればいいんですか?
878Name_Not_Found:2009/02/16(月) 01:58:54 ID:???
>getElementsByid
余計なsとかIdが小文字とかずいぶんヒドいなw

document.getElementById("il").checked = true
GMスクリプトかなにかはわからんからその辺は自力でやってくれ
879Name_Not_Found:2009/02/16(月) 02:23:31 ID:???
>>877
スレ的には的外れな回答だけど、これでどう?

表示設定>検索言語の設定>優先する言語、を選んで
「日本語」だけチェックして「保存」を押す。
880Name_Not_Found:2009/02/16(月) 05:38:00 ID:???
死んで
881Name_Not_Found:2009/02/16(月) 10:42:58 ID:???
HTMLのサイズが大きい時、(データの量が多くて)
読み込み中です…、みたいなメッセージを表示しておき
HTML の読み込みが完了した段階で、メッセージを消去する
みたいな事がやりたいんですが、参考になるような
コードが書かれたページがあればアドバイスもらえませんか?
882Name_Not_Found:2009/02/16(月) 11:13:10 ID:???
>>881
<body>内の<script>はそれが読み込まれた時点で実行される。
<body>やwindowのonloadは読み込みが完了した時点で実行される。
883Name_Not_Found:2009/02/16(月) 11:17:51 ID:???
微妙に不親切だったからサンプル。動作確認はしてない。
<body><div id="msg"></div>
<script>
window.onload = hideMsg;
dispMsg();
</script>

しかもサンプル書こうとしたら別解に気づいた。
<body onload="document.getElementById("msg").innerHTML = ''">
<div id="msg">now loading</div>
884Name_Not_Found:2009/02/16(月) 11:24:39 ID:???
>>881
body の末尾に「読み込み中です」の要素を非表示にする
コードを置けばいいんですが、参考になるような
コードが書かれたページは知らないのでアドバイスお断りします
885Name_Not_Found:2009/02/16(月) 12:10:51 ID:???
2ちゃんがそうじゃないか
886887:2009/02/16(月) 18:34:40 ID:???
>>878
FirefoxのGMスクリプトです。試してみたら動きました。
嬉しいです。ありがとうございました。
887Name_Not_Found:2009/02/16(月) 22:53:05 ID:???
obj.onclick = F;
というイベント設定のとき、Fが引数を持っているとしたらどう書けばいい
んでしょうか。
888Name_Not_Found:2009/02/16(月) 23:07:01 ID:???
>>887
obj のプロパティをセットすればいいじゃん。
889861:2009/02/16(月) 23:40:03 ID:???
>>876
!!

この短縮していただいたコードで動きました〜!
ありがとうございました!
確認用にバージョンアップしていないので、IE6なんです。
なるほど、文字数制限があるんですね。勉強になりました!
890Name_Not_Found:2009/02/17(火) 00:05:00 ID:???
>>887
obj.onclick = function(ev){ F.apply(null,[arg]) }
とか。
891Name_Not_Found:2009/02/17(火) 01:52:28 ID:Xy//Dw2j
ある要素に現在適用されているスタイルを調べて、別の要素にコピーしたいんです。
style.cssTextをコピーすればいいのかと思いましたが、どうやらcssファイルが外部にある場合はダメみたいです。
そこで調べてみるとgetComputedStyle関数がかなりいい線いっているのですが、
困ったことに全てのプロパティを一括してコピーすることができないようなのです。
どのプロパティが使用されているのかさえわかればforで回せるのですが、それもわかりません。
何かいい方法はありませんでしょうか?
892Name_Not_Found:2009/02/17(火) 04:28:12 ID:B1dV1RgZ
>>891

// コピー元の要素をelem1、コピー先をelem2として
var css = elem1.currentStyle || document.defaultView.getComputedStyle(elem1,"");
for(var i in css){
    elem2.style[i] = css[i];
}

とか?
なんかもっとましなやり方ありそうだけど。
893Name_Not_Found:2009/02/17(火) 11:08:33 ID:???
var css = elem1.currentStyle || document.defaultView.getComputedStyle(elem1,"");
var buf = { };
for (var i in css) {
  buf[i] = css[i];
}
for(var i in buf){
    elem2.style[i] = buf[i];
}
894Name_Not_Found:2009/02/17(火) 11:52:42 ID:???
>>892-893
うーん、どうもうまくいきません…
getComputedStyleが返すのはCSSStyleDeclarationという型のオブジェクトのようで、
for inでは値を取得できないような気がします。
895Name_Not_Found:2009/02/17(火) 12:18:32 ID:???
>>894
for inではなく
for(var i = 0; i < css.length; ++i) buf[i] = css.item(i);
とかでは。試してないけど。css.item(i)ででてくる文字列を
alertでチェックしてみてね。
896Name_Not_Found:2009/02/17(火) 12:37:12 ID:???
>>895
itemはどうも関係の無いプロパティも全部返すらしく、lengthは150近くにもなってしまいました。
それだけならまだいいのですが、使っていないプロパティをnullではなく文字列で返してくるので、
line-height:0pxなどと代入されてしまい表示がおかしくなってしまいました。
どれが無関係なのか判別できればいいのですが方法が思いつきません。
897Name_Not_Found:2009/02/17(火) 15:12:41 ID:YmtQaz3M
innerHTMLで書き換えるともっさりした感じがあるのですが
書き換えを高速化するにはどのような方法がございますでしょうか?

document.getElementById("txt").innerHTML= "書き換えました";

<div id="txt>書き換えテスト</div>
898Name_Not_Found:2009/02/17(火) 15:23:22 ID:???
>>897
当然のことながらinnerHTMLの操作を最小限にする。
それでも物足りないならDOMでテキストノードいじるとか?
899Name_Not_Found:2009/02/17(火) 16:05:53 ID:???
DOMのほうが処理することが多いから遅くない?
innerHTMLの方が早いよ
900Name_Not_Found:2009/02/17(火) 16:17:06 ID:???
直接的に効果あるかわからんけどこれをやってみたらどうだろう?
http://d.hatena.ne.jp/amachang/20071010/1192012056
901Name_Not_Found:2009/02/17(火) 18:47:07 ID:???
サンプル走らせてみてわろたw
document参照するだけで何やってんだよw
902Name_Not_Found:2009/02/17(火) 18:54:27 ID:???
>>899
テキストノードの取得とかのこと?
同じノードを何度も書き換えるなら事前取得したものをキャッシュできるし
HTMLのパースがかからないはずだからメリットはありそうだけど

正直ベンチ取るのがめんどくさい。

>>901
たかがキャッシュ、されどキャッシュ
903Name_Not_Found:2009/02/17(火) 19:03:06 ID:???
キャッシュを使って高速化してるのはわかったけどevalで書き換えなんて
そんなことしたことなかったから納得いかねーww
904903:2009/02/17(火) 19:10:13 ID:???
と思ったけどよくよく読み返すと異常に納得できるな。すげぇ。
905Name_Not_Found:2009/02/17(火) 19:31:28 ID:???
ieでしか使えない件
906Name_Not_Found:2009/02/17(火) 19:59:26 ID:???
話の途中ですみません。
function文とfunction式の違いがしりたくて、次のようなコードを書いたのですが。
g() の処理結果が undefined
f() の処理がエラーになる理由がわかりません。どなたか説明してもらえないでしょうか?
よろしくお願いします。
==
var f = function(str) {
print(str);
return f;
}("foo");
var g = function f(str) {
print(str);
return f;
}("bar");
g();
f();
==
SpiderMonkeyの結果
foo
bar
undefined
tmp2.js:14: TypeError: f is not a function

Rhinoの結果
foo
bar
undefined
js: uncaught JavaScript runtime exception: TypeError: f is not a function, it is undefined.
907Name_Not_Found:2009/02/17(火) 20:10:42 ID:???
>>906
f();のまえでfの中身を出力してごらん
908Name_Not_Found:2009/02/17(火) 20:22:56 ID:???
ちょっと回答が悪かった。var fの部分は
var f = ( function() { return f; }() );
と同じ、だから関数実行時点でのfはundefined。

g()は「fという名前を持つfunctionオブジェクト」ではあるけど
内部からfで自分自身を呼べるか、それとも変数fをアクセスしにいくのかは
実装依存っぽい。Fx3だと再現できない。
909Name_Not_Found:2009/02/17(火) 20:23:32 ID:???
>> 907
ありがとうございます。undefinedですね。
帰宅してからもう少し考えて見ます。下みたいに思考中です。
==
print(f);
var f = function(str) {
print(str);
print(f);
return f;
}("foo");
print(f);
var g = function f(str) {
print(str);
print(f);
return f;
}("bar");
print(f);
g("baz");
print(f);
f("qux");
==
910Name_Not_Found:2009/02/17(火) 20:54:30 ID:TD9JVw2v
マウスが画像に乗ったら、徐々に画像が変わるJavascript分かる方いませんか?ネットから引っ張ってきたサンプルが上手くいきませんでした。
911Name_Not_Found:2009/02/17(火) 21:00:58 ID:???
>>900
全然関係ない

>>906
g に代入しようとしてるのは関数式だから、関数宣言みたいに先読みは働かないし、内部からしか見えない
f だの hoge だのの変数は、スコープチェーンをたどって最初に見つかった値に評価される
var はスコープの最初にまとめて宣言される
まとめると

1. f と g が宣言された。中身は undefined
2. 無名関数を作って速攻で実行、"foo" を出力。戻り値である undefined を f に代入
3. 関数 f を作って速攻で実行、"bar" を出力。戻り値である 関数 f を g に代入
4. g を引数なしで実行して undefined を出力
5. f is undefined.

>>910
2枚重ねて手前のほうをタイマーで透過していく
912Name_Not_Found:2009/02/17(火) 21:42:44 ID:???
>>910
翻訳すると
>>1読んでいません作る能力もありませんが、910の理想とする物を作って!!!」
だな

スレチすぎる
913906:2009/02/17(火) 22:53:50 ID:???
>> 908, 911
感謝です。理解しました。
var g = function f() {};
って書いても関数式で解釈される?ようです。
# グローバル汚さなくていいかも。

関数内部で自分自身への参照が実装依存なのは残念です。
いままで、呼べるものだと思ってて、ちょっと再起関数を書くとき下みたいにしてました。
(function f() { return f(); })();
# arguments.callee 使えばいいか。
914Name_Not_Found:2009/02/17(火) 23:15:08 ID:???
>>913
実装依存じゃないよ
915Name_Not_Found:2009/02/17(火) 23:32:14 ID:???
うっ、流れが速いね! テンプレ論議あれば今どぞ!!
916Name_Not_Found:2009/02/18(水) 00:33:04 ID:???
うんごめん、908書いたときにはg()の返値が出力されてると勘違いしてた。
917906:2009/02/18(水) 01:07:44 ID:???
いえいえ、多謝。
関数(式)の名前空間の理解が深まってよかったです。
918emi:2009/02/18(水) 01:48:53 ID:CdwyNT8D
プログラミングど素人です。すみませんが教えてください。

GPSのデータを自分のHP上にgooglemapで表示させたいんです。
HP URL http://khepresh.toyama-cmt.ac.jp/~d04233
GPSデータ
$GPGGA,025207.561,3645.5161,N,13709.5192,E,0,0,,-10.0,M,35.7,M,,*5A
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,3,1,09,05,69,141,,12,64,095,17,22,59,271,24,18,51,192,21*7D
$GPGSV,3,2,09,30,50,182,18,09,42,048,,14,38,313,24,15,11,112,16*7E
$GPGSV,3,3,09,31,05,252,23*43
$GPRMC,025207.561,V,3645.5161,N,13709.5192,E,0.00,0.00,160708,,,N*7A
$GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32
$GPGGA,025208.561,3645.5161,N,13709.5192,E,0,0,,-10.0,M,35.7,M,,*55
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,3,1,09,05,69,141,,12,64,095,17,22,59,271,17,18,51,192,20*7C
$GPGSV,3,2,09,30,50,182,17,09,42,048,,14,38,313,23,15,11,112,15*75
$GPGSV,3,3,09,31,05,252,22*42

↑毎秒データが追加される。
このデータの必要な部分のみをPHPで抽出し、javascriptに組み込み
グーグルマップにリアルタイムでピンを立てていきたいんです。
流れはわかるのですが、プログラミングしろとなると本当にわからなくて…m(_ _)m

すみません。どうかよろしくお願いします。
919Name_Not_Found:2009/02/18(水) 02:00:49 ID:???
>>918
そう言うのは、対価を払って頼むべきこと
920Name_Not_Found:2009/02/18(水) 07:35:56 ID:???
>>870,875,901,903,904
基本の勉強終わるまでもうレスすんな
921Name_Not_Found:2009/02/18(水) 08:58:58 ID:???
>>920
var x = A || B;

の || の動作の意味が良く分からないから教えて。
|| って if文の中で使うものだと思ってた。
922Name_Not_Found:2009/02/18(水) 10:51:30 ID:???
>>921
Aがnull等falseとして扱われるものであればB、そうで
なければAを値としてxに入れる。Lisp系の言語に多いパターン。
923921:2009/02/18(水) 11:18:49 ID:???
>>922
if ( !Boolean(A) )
{ return A; }
else
{ return B; }

みたいなものだったのかー、神様どうもありがとう。
924Name_Not_Found:2009/02/18(水) 11:47:46 ID:???
ちがうだろ
925Name_Not_Found:2009/02/18(水) 11:54:59 ID:???
ttps://developer.mozilla.org/ja/Core_JavaScript_1.5_Reference/Operators/Logical_Operators

書き換えるなら
var x = A ? A : B;
if(A) { x = A } else { x = B }

実際はデフォルト値の設定によく使う。
与えられなかった引数はfalse扱いのundefinedになるから。
function foo(x) {
 x = x || "default string";
926Name_Not_Found:2009/02/18(水) 12:14:27 ID:???
>>921
まずAを評価する
Aがtrueに型変換できる場合にはAを返す(Bは評価されない)
そうでない場合にはBを返す
(ただしJavascript1.2以上)

関数の引数のうち省略可能なもののデフォルト値を定めたり、
ブラウザ依存を適当に処理したりする(navigator.userLanguage || navigator.language とか)
のに使う
927Name_Not_Found:2009/02/18(水) 12:16:08 ID:???
かぶった
928Name_Not_Found:2009/02/18(水) 15:22:06 ID:0YQwiQrJ
解像度を表示するスクリプトですが
IE6,IE7,Firefox,Opera,safariに対応できますか?
昔、何かの本で見たときはクロスブラウザ対応はもっと複雑なコードを見たので不安です

iwidth = screen.width;
iheight = screen.height;
document.write(iwidth+"*"+iheight);
929Name_Not_Found:2009/02/18(水) 15:32:18 ID:???
document.write(screen.width + "*" + screen.height);
930Name_Not_Found:2009/02/18(水) 15:59:55 ID:???
ググったらこんなん引っかかってワロタ
ttp://jsajax.com/ScreenResolutionDetectionArticle853.aspx
931Name_Not_Found:2009/02/18(水) 16:15:51 ID:???
どこに笑いどころがあるのかわからん・・・
932Name_Not_Found:2009/02/18(水) 16:43:32 ID:???
このWebページは、スクリーンの解像度が(800*600)用に最適化されています。
あなたのスクリーン解像度は(1920*1080)です。
可能ならば解像度を変更してください!
933Name_Not_Found:2009/02/18(水) 16:57:06 ID:???
>>932
ボール紙に四角い穴を800x600になるように開けて、
画面に貼りつけてから利用すればよろし。
934Name_Not_Found:2009/02/18(水) 17:05:09 ID:???
>>932
笑いのツボがずれてるよ
935921:2009/02/18(水) 21:35:47 ID:???
>>925-926
思いっきり勘違いしてました^^; クロスブラウザ対策に使えるとはいいこと聞けました。
ありがとうございました!
936Name_Not_Found:2009/02/18(水) 21:55:44 ID:???
すいません。「ループラベル」を日本語にしてください。
937Name_Not_Found:2009/02/18(水) 22:03:28 ID:???
>>936
ループラベル

言葉じゃなくてサンプルコードで理解しな
ttps://developer.mozilla.org/ja/Core_JavaScript_1.5_Guide/Loop_Statements/continue_Statement
938936:2009/02/18(水) 22:13:47 ID:???
>>937さん、早速ありがとうございます。分かりました。「附箋」ですね(笑
939Name_Not_Found:2009/02/18(水) 23:40:57 ID:???
すみません、onUnload等で退室時にプログラムを呼び出す事って可能でしょうか?
やりたい事としてはそのページの閲覧者を管理したくて
onUnload時にログの値をデクリメントする処理を含んだPHPファイルを実行させたいのです。
940Name_Not_Found:2009/02/18(水) 23:42:00 ID:???
やってみればいいじゃん。
941Name_Not_Found:2009/02/18(水) 23:54:57 ID:???
その方法がわからなくて困っているのです…。入室時は
<script type="text/javascript" src="./write1.php"></script>
とする事でページアクセス時にインクリメントする事は出来るのですが…。
942Name_Not_Found:2009/02/19(木) 00:15:26 ID:???
JavaScript だから任意のタイミングで実行できるし、実行せずに退室することもできる
943Name_Not_Found:2009/02/19(木) 00:17:49 ID:???
phpのほうでやるべきだよな
944Name_Not_Found:2009/02/19(木) 00:25:27 ID:???
>>942
その実行する方法をご教授頂けないでしょうか?
945Name_Not_Found:2009/02/19(木) 00:32:17 ID:???
onunloadじゃだめだったの?
946Name_Not_Found:2009/02/19(木) 00:40:27 ID:???
できるかは知らないけどonunloadでXHRするか<script>をDOMノードに足す。
947Name_Not_Found:2009/02/19(木) 00:49:57 ID:???
>>946
助言ありがとうございます。
そのやり方で調べてみます。
948Name_Not_Found:2009/02/19(木) 01:21:32 ID:eBUbH2u1
>>939
var ajax = function(url){ // ajaxする関数 };
window.onunload = function(){ ajax(デクリメントするphp); }

こういうこと?
949Name_Not_Found:2009/02/19(木) 11:01:40 ID:???
>>939
人数管理したいのなら、JavaScriptで「10秒間隔で在室登録
を更新する」呼び出しを行い、PHP側で「在室登録が継続されて
いる人数」を数えるのがよいかと。人数が1万とかだと重いかも
知れないけどね。
950Name_Not_Found:2009/02/20(金) 21:53:53 ID:iYlos5Me
教えてください。
ブラウザはIE7です。
アンカーをクリックした後の動作で、複数のURLのウインドウを新規で開くにはどうしたらよいでしょう・・・?

いろいろ調べてみてるんですが・・・↓こんな長いソースが必要なんですかね?
http://questionbox.jp.msn.com/qa1711018.html
951Name_Not_Found:2009/02/20(金) 22:10:13 ID:???
>>950
どんなURLをどんな形で開くかにもよる。

IEは複数ウィンドウ開こうとすると警告が出るよ。
つまり迷惑行為と感じる人もいるってことだから止めたほうがいい。
952Name_Not_Found:2009/02/20(金) 22:13:39 ID:???
>>950
onclickでwindow.openしまくってreturn false
953Name_Not_Found:2009/02/20(金) 23:03:30 ID:h/NYSWSV
戻るボタンを使わせないjavaスクリプトを教えてください。
954Name_Not_Found:2009/02/20(金) 23:08:34 ID:???
document.write('戻るボタンを使わないでください');
955950:2009/02/20(金) 23:20:07 ID:iYlos5Me
>>951-952
回答、ありがとうございます。迷惑をかけることはありません。自分用です。
正直エロサイトの巡回が目的です。
↓こんな作りにしてみたのですが・・・同じタブのURLが書き換わっています。。
ヒントをお願いします。。
<body onload="EroOpen()">
<SCRIPT TYPE="text/javascript">
function EroOpen()
{
var url = new Array(3);
url[0] = "http://www.yahoo.co.jp";
url[1] = "http://www.google.co.jp";
url[2] = "http://www.goo.ne.jp";
for (i = 0; i < url.length; i++){
this.window.open(url[i],null);
alert(url[i]);
}
}
</SCRIPT>
</body>
956Name_Not_Found:2009/02/20(金) 23:26:27 ID:???
>>955
for (i = 0; i < url.length; i++){
window.open(url[i], i);
}
957950:2009/02/20(金) 23:44:40 ID:iYlos5Me
>>956
レスありがとうございます。
やはり同じタブのURLが上書きで変わっていきます。。
同じWindowの違うタブで次々開きたいんです。
ちなみにIEの設定の設定はこうなっています

http://www.vipper.org/vip1118751.jpg.html
958Name_Not_Found:2009/02/21(土) 00:01:38 ID:???
>>957
ちゃんとキャッシュ消してみ
959950:2009/02/21(土) 00:24:41 ID:PtDjYrcu
>>958
一時ファイルを削除してみましたが・・やはりできんのです。。
最後の配列のURLが表示されます。。
960Name_Not_Found:2009/02/21(土) 00:44:40 ID:???
マルチラインのテキストを容易に変数へ格納する方法はありますか?
たとえば
<--ここから
abc
123
xyz
789
-->ここまで
をhogeという変数に入れたいです

たとえばRubyだと
hoge = <<TEXT
abc
123
xyz
789
TEXT
とやれば、視覚的に見たままのテキストがhogeに格納されますが
JavaScriptで似たようなことは可能でしょうか?
961Name_Not_Found:2009/02/21(土) 00:52:25 ID:???
JSON でも使え
962Name_Not_Found:2009/02/21(土) 08:33:39 ID:???
var hoge = '' + <><![CDATA[
abc
123
xyz
789
]]></>;
963Name_Not_Found:2009/02/21(土) 11:33:23 ID:???
innerHTMLは代入されるたびにブラウザがパースかけるから
for文の中とかで使うとめっさ効率悪くなる。
for文中で innerHTML += str; とかもう最悪。
964Name_Not_Found:2009/02/21(土) 11:36:09 ID:???
>>953
window.location.replace(url);
965950:2009/02/21(土) 15:56:37 ID:PtDjYrcu
すいません。。>>950のものです。アドバイスを頂いて↓こんなソースになりましたが、
やはり最後のURLが表示されます。同じウインドウの違うタブで開きたいです。
ヒントを教えてください。
<body onload="EroOpen()">
<SCRIPT TYPE="text/javascript">
function EroOpen()
{
var url = new Array(4);
url[0] = "http://www.yahoo.co.jp";
url[1] = "http://www.google.co.jp";
url[2] = "http://www.goo.ne.jp";
url[3] = "http://news.goo.ne.jp";
for (i = 0; i < url.length; i++){
window.open(url[i],i);
}
}
</SCRIPT>
966Name_Not_Found:2009/02/21(土) 16:00:58 ID:???
>>965
FirefoxでFirebug使いながらデバッグしろ。
967950:2009/02/21(土) 16:42:55 ID:PtDjYrcu
>>966
IE7で動かしたいんですが、Firefoxでのデバグで良いのですか?
968Name_Not_Found:2009/02/21(土) 16:45:10 ID:???
>>967
当たり前だろ
デバッグしなきゃどんなブラウザでも動かないことぐらい分かるだろ
969Name_Not_Found:2009/02/21(土) 16:59:23 ID:???
うっせーよ馬鹿。
970Name_Not_Found:2009/02/21(土) 17:23:14 ID:???
>>965
こういうこと言うのもなんだけど、そのコードから察するに
sleipnirのグループ機能とか使えばいいんじゃないの?
971Name_Not_Found:2009/02/21(土) 17:31:19 ID:???
Firefoxのブックマークでもフォルダにまとめれば タブですべて開く があるし
972Name_Not_Found:2009/02/21(土) 17:43:16 ID:Cx/tnPuC
javascriptで質問なんですが、
ワンクリックでコピーとかどうやったら出来るのでしょうか?
検索してもうまくかからないので教えて下さい。
973Name_Not_Found:2009/02/21(土) 17:46:25 ID:???
>>972
IEならclipboardData.setData
それ以外はflashのsetClipboardを使う
974950:2009/02/21(土) 17:46:39 ID:PtDjYrcu
>>966
なんでそんなに怒ってるの?w
正直このためにFirefoxをインストールしたくないです
ソース教えてくれたら エロサイトのURL入れたソース貼るのに・・
975Name_Not_Found:2009/02/21(土) 17:49:56 ID:???
>>974
これだから、IE信者は
976Name_Not_Found:2009/02/21(土) 17:50:39 ID:???
というか、ドザは
977Name_Not_Found:2009/02/21(土) 18:00:59 ID:???
>>973
レス有難うございます!
本当に助かりました!
978Name_Not_Found:2009/02/21(土) 18:52:47 ID:???
>974
普通の人が毎回同じページを巡回するなら、
ブラウザでブックマークして纏めておいて、
「ブックマークを全て開く」機能を使う。
自分で作ろうとする人って異端だと思うな。

誰かが欲しがるようなモノって、
大抵別の誰かが便利に使えるように作ってくれてるもんだよ。
ブラウザ関係は特にそう。
自分で作らざるを得ないような低機能ブラウザを盲信してる人は
これを知らないか、知ってて無視しようと努力してるか、大抵どっちかだね。
979Name_Not_Found:2009/02/21(土) 19:10:42 ID:???
便利なものに目を背ける理由が分からない
980Name_Not_Found:2009/02/21(土) 19:12:19 ID:???
>>979
それが日本人なんだよね
車輪の再発明したがる
981Name_Not_Found:2009/02/21(土) 19:42:59 ID:???
車輪の再発明。kwsk
982Name_Not_Found:2009/02/21(土) 19:52:01 ID:???
>>981
ぐぐれ。すぐ分かる。
983Name_Not_Found:2009/02/21(土) 20:00:28 ID:???
楽したがる人が多い中自ら茨の道を進もうとしてる>>974は偉いと思うよw
984Name_Not_Found:2009/02/21(土) 20:06:43 ID:???
茨の道を進むのと、地球を山手線感覚で歩くのとは違う
985Name_Not_Found:2009/02/21(土) 21:03:29 ID:???
そろそろ次スレ・・・・。

テンプレ論議なし?
986Name_Not_Found:2009/02/21(土) 21:53:32 ID:???
スレ立て人ですが、出先で今スレが立てられません。以下で誰か立てて!

+ JavaScript の質問用スレッド vol.69 +

まず >>2-10 読め! 続いて過去スレ全集を検索!

━━━本スレに書く事を許される者は以下の通り━━━━━
 一、JavaScriptはJavaとは別物であると知っている者
 一、自ら学んでJavaScriptコードを書く意思を持つ者
 一、ユーザに迷惑となるスクリプトを書かない者
 一、質問を分かる日本語できちんと説明できる者
 一、トラブルを再現する最小限のサンプルを貼れる者
 一、テンプレ+FAQ>>2-10/過去ログ/関連資料を読める者
━━━━━━━━━━━━━━━━━━━━━━━━━━━
自力で書く気がない人は他のスレへ(テンプレ末尾参照)。
前スレ http://pc11.2ch.net/test/read.cgi/hp/1230611894/l50
[必読]過去スレ全集 http://wing2.jp/~mirrorhenkan/2ch/javascript/
  (ずべて同一)  http://www2.atpages.jp/mirror/2ch/javascript/
          http://usamimi.info/~mirrorhenkan/2ch/javascript/
[必読]ガイド http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide
(GuideをReferenceに→Netscape版言語仕様。多くの実装が準拠:ECMA-262.ed3)
FAQ・注意・過去ログ・仕様書・関連資料・関連スレ>>1-10
987Name_Not_Found:2009/02/21(土) 21:56:28 ID:???
立てた

+ JavaScript の質問用スレッド vol.69 +
http://pc11.2ch.net/test/read.cgi/hp/1235220962/
988Name_Not_Found:2009/02/22(日) 07:46:07 ID:???
正規表現で、"楽しいかもね、そうかもね"
から、"楽しいかもね" までを抜き出したい場合に、
楽.*ね だと一番最後まで抜き出されてしまうのですが、どうしたらうまく抜き出せるのでしょうか?
989Name_Not_Found:2009/02/22(日) 08:17:19 ID:???
楽([^ね]*)ね
990ぼ〜にゃんきゅーぐお:2009/02/22(日) 09:04:51 ID:???
最短一致にしたいという趣旨なら

楽.*?ね
991ぼ〜にゃんきゅーぐお:2009/02/22(日) 09:06:01 ID:???
お、この板はID出ないのか。 自演し放題だな。
992Name_Not_Found:2009/02/22(日) 10:25:20 ID:???
>>988
.*の後に?を付けると最小マッチになる
993Name_Not_Found:2009/02/22(日) 11:25:33 ID:???
>>990,992
最小(最短)ではないだろ
最小にしたいのなら

楽([^楽ね]*)ね

楽([^楽]*?)ね
994ぼ〜にゃんきゅーぐお:2009/02/22(日) 12:08:52 ID:???
素人は黙っとけ。。
995Name_Not_Found:2009/02/22(日) 12:50:14 ID:???
>>988
解答は出てるけど、今後のために「正規表現 欲張り」の
キーワードでググってみるといいよ。
996Name_Not_Found:2009/02/22(日) 12:50:36 ID:???
alert("楽楽しいねね".match(/楽.*?ね/));  //楽楽しいね

非貪欲な繰り返し≠ショーテストマッチ
997ぼ〜にゃんきゅーぐお:2009/02/22(日) 12:58:19 ID:???
おいおいおい、>>988の質問の意図をくみ取ってやれよw
馬鹿正直に読み取ると "楽しいかもね" が正解になってしまうだろw

すぐムキになるやつは使えないな。
998Name_Not_Found:2009/02/22(日) 13:31:45 ID:???
>>997
どんな意図があろうと、?つければ最短一致と教えるような解答者はカスじゃないかな
999Name_Not_Found:2009/02/22(日) 13:33:51 ID:???
うめとくか
1000Name_Not_Found:2009/02/22(日) 13:34:31 ID:???
次スレはこちらとなっております

+ JavaScript の質問用スレッド vol.69 +
http://pc11.2ch.net/test/read.cgi/hp/1235220962/
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。