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

このエントリーをはてなブックマークに追加
1Name_Not_Found
━━━━━JavaScript質問スレ道場訓━━━━━
 一、礼節を重んじ常に努力精進すること
 一、ブラクラに打ち勝つ精神力を持つこと
 一、心身の優れたJavaScriptを学ぶこと
 一、雑草の如く生涯JavaScriptを貫くこと
 一、感謝と反省を忘れないこと
 以上
━━━━━━━━━━━━━━━━━━━━━━

このスレに書き込むことが許されるものは以下のとおり
・テンプレ/FAQ/過去ログ/関連資料を読める者。とくに>>2-10は必須!!!
・JavaScriptとJavaの違いを理解する者
・スクリプトを組むための最低限のHTML・CSSを理解する者
・ユーザーに迷惑となるスクリプトを書かない者
・「初心者です」を振りかざさず、質問を分かる日本語で説明できる者
・対象環境や使用技術は質問者の裁量であることを理解する者
 (質問/回答時はなるべく環境明記。WinIE5.5/N6未満と希少ブラウザは必須!)

[必読]過去スレ全集 http://user.ftth100.com/mirrorhenkan/javascript/
前スレ http://pc8.2ch.net/test/read.cgi/hp/1129074823/l50
まとめサイト http://web2ch.s31.xrea.com/?JS
FAQ・注意・過去ログ・関連資料・関連スレ>>1-10またはまとめサイト
2Name_Not_Found:2005/11/02(水) 09:44:17 ID:???
【質問を書く上で】
1)ユーザ(閲覧者)に迷惑がかかる性悪スクリプトは回答されない。
 例: 別窓開きまくり、閉じる/戻るのを妨害、全画面占有、etcは最悪。
 答えさせようと「分からねえんだろ」と煽っても無駄(過去スレが証明)。
2)言葉でぐだぐだ書かずにソースを貼る、ただし要点を整理して。
 そのまま貼って動かせると試してもらいやすい(ただし回答者に連結さすな!)
 長い(1レスに入らない)場合はアップロードしてURIを貼る。
3)初心者という言葉は危険なので使わない方がよい。
 初心者を言い訳に自力で調べない/考えない奴が最悪に嫌われる。
4)自分で調べたこと/試したこときちんと書く(調べもしない奴は最低)。
 ただ「動きません」「エラーです」は何も情報がないため嫌われる。
 エラーは「どの行で何のエラー」を書く(ブラウザをそのように設定すれ)。
 OS、ブラウザ、バージョン、うまく行かない条件を明記しエラー再現可能に。
5)特に古いバージョン限定の時は必ず明記! 回答もチグハグになり回答者に2度
 手間を食わせる可能性大(現行Ver.:IE5.5-6、N6-7、Opera7-8)
6)どういう時にどういう動作をさせたいのかを脳内にとどめずきちんと書く。
 例:「自動ポップアップしたい」←どういう場合(マウスオーバー、クリック、
 ボタン押し、select選択)に何(別窓、レイヤー、その他)が出るのか書け!
7)質問はまっとうな(他人に理解できる)日本語で。
 前項の例に限らず、他人に理解できない質問文は煽られるだけで時間の無駄
3Name_Not_Found:2005/11/02(水) 09:44:51 ID:???
【FAQ】
Q1. 開いた別窓/フレームの内容にアクセスできないのですが…
A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。
Q2. JavaScriptでローカルファイルを読み/書きたいのですが…
A2. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに…
Q3. document.write(...)でページ内容を追加したいのですが…
A3. 一度ページ表示完了後にwrite()すると内容はクリアされちゃいます。
 部分的に内容変更するには(1)他フレーム/iframe/別窓への表示、
 (2)textarea等への表示、(3)DOMでノード挿入、(4)innerHTMLのどれかで。
 innerHTMLは非標準ですがIE、Opera、Gecko(N6/N7/Moz等)で対応済。
Q4. table/tbody/tr要素のinnerHTMLを書き換えるのがうまく行かないのですが…
A4. IEはそれらの要素のinnerHTMLは変更不能。DOMを使って書き換えるしかない。
Q5. Aタグのonclickで動作指定してるのですが時々動きません…
A5. 「onclick="...;return false"」としないとページ移動しちゃうから。
Q6. 変数w1、w2…を順にループで(番号をiに入れて)設定/参照したいのですが…
A6. グローバル変数はwindowのプロパティだからwindow['w'+i]を読み書きすれ。
Q7. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A7. 「document.forms.myform.elements[変数名].value」でどぞ。
 JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
 例:「obj.p0=obj.p1=...=obj.p8=0;」⇔「for(i=0;i<9;i++) obj['p'+i]=0;」。
Q8. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A8. IEではe.currentStyle、Geckoではwindow.getComputedStyle()を使います。
Q9. 100*1.15の結果が114.999…998となってしまうのですが…
A9. コンピュータの実数計算は全て近似値だと思え。誤差が嫌なら整数で計算。
Q10. 任意のデータをサーバ(別鯖ではない)から取り寄せたいのですが…
A10. Geckoのnew XMLHttpRequest()、IEのnew ActiveXObject("Microsoft.XMLHTTP")
 を使えばできる。古いブラウザだと隠しフレームに読むなどのワザが必要。
4Name_Not_Found:2005/11/02(水) 09:45:25 ID:???
【主張の対立:他人の嗜好は尊重。損得の議論は歓迎】
・仕様を読む:回答者なら仕様の該当部分は読んでいるべき。質問者でも
 仕様を読まずうだうだ書く奴は注意されて当然。読み間違いは生温く指摘。
・英文文書:翻訳の努力を惜しむべからず。 読めないなら和訳を探し、
 なければあきらめよう。翻訳サイトを知っている人はうまく誘導してあげて。
・IE専用/アンチIE/クロスブラウザ:「○○は不要」「○○だけであと
 は無視」は不毛。質問者が分かって選択していれば尊重する。無知か
 らIE専なのは指摘してあげると親切。
・標準準拠 vs 使えればよい:標準はブラウザが変わっても維持される
 可能性大。非標準機能も損得を分かった上で使うならよい。
・MS vs アンチMS:MS固有の情報はMSのサイトで見ないと分からないが、
 そこだけ見ているとIE専になる。あとは上2件と同様。
・別窓、イベント抑止など:一般には迷惑スクリプトだが質問者に正当
 な理由があることも。尋ねて分かってないようなら煽っても可(w
・innerHTML vs DOM:それぞれに長所/弱点があるので理解した上で選
 択するべき。一概にどちらは駄目、とは言えない。
・on属性 vs addXXX():ハンドラが1つだけと分かっていればon属性
 で簡単にハンドラを設定もあり。上書きが心配ならaddXXX()。
5Name_Not_Found:2005/11/02(水) 09:46:22 ID:???
【標準規格・リファレンス】
規格を読まずにどうなってるか分からんとか質問しないこと!

まとめサイト
http://web2ch.s31.xrea.com/?JS

ECMA-262
http://www.ecma-international.org/publications/standards/ECMA-262.HTM
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/ (和訳)

W3C Document Object Model Technical Reports
http://www.w3.org/DOM/DOMTR

MSDN Library JScript / DHTML (現在日本語版は古杉)
http://www.microsoft.com/japan/msdn/library/ja/script56/html/js56jsoriJScript.asp
http://msdn.microsoft.com/workshop/author/dhtml/reference/dhtml_reference_en
try.asp

Mozilla Gecko DOM, Netscape devedge
http://www.mozilla.org/docs/dom/domref/
http://www.mozilla-japan.org/docs/dom/domref/ (和訳)
http://web.archive.org/web/20040822074426/devedge.netscape.com/central/javas
cript/
6「まず>>2-3読んでこのレスの過去スレ全集へ飛べ」 :2005/11/02(水) 09:58:53 ID:nP/V418n
少し提言が送れた。次スレでこういう方法も考えてね。

どりあえず名前だけ挟んどくから。
7Name_Not_Found:2005/11/02(水) 10:00:10 ID:???
【チュートリアルサイト・サンプルサイト】
規格が読めないならまずはチュートリアル。サンプルサイトも沢山ある。

ECMAScriptチュートリアル
http://www.axis.t.u-tokyo.ac.jp/~shunak/ecmascript/

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

JavaScript basic samples (ショボイとの説あり)
http://www.sumnet.ne.jp/domp/jsbs/

初めてのホームページ講座 JavaScript Dynamic HTML SAMPLES (同上)
http://www.hajimeteno.ne.jp/dhtml/

Dynamic Scripting
http://www.interq.or.jp/student/exeal/dss/

JavaScript深層
http://www.hawk.34sp.com/
8Name_Not_Found:2005/11/02(水) 10:01:09 ID:???
【検索】
「キーワード『…』で検索しろ」「ぐぐれ」と言われた場合はこちらへ
http://www.google.co.jp/

【関連スレ】
板違い、スレ違いに注意!サーバ側での処理はWebProg板へどぞ!

Webサイト制作初心者用スレ vol.146
http://pc8.2ch.net/test/read.cgi/hp/1129830722/l50

/* CSS・スタイルシート質問スレッド【48px】 */
http://pc8.2ch.net/test/read.cgi/hp/1129127660/l50

CSS/DHTMLバグ辞典スレッド 第4版
http://pc5.2ch.net/test/read.cgi/hp/1078463560/l50

役に立つ書籍は? 2冊目
http://pc5.2ch.net/test/read.cgi/hp/1099736818/l50
9「まず>>2-3読んでこのレスの過去スレ全集へ飛べ」 :2005/11/02(水) 10:03:46 ID:nP/V418n
まあ乙だ


ローカルルール変更届は出しといたから

あと初心者くれぐれも
「まず>>2-3読んでこのレスの過去スレ全集へ飛べ」
だ。
10Name_Not_Found:2005/11/02(水) 14:08:03 ID:???
>>1 乙ー
11Name_Not_Found:2005/11/03(木) 00:21:36 ID:z+nhBMOI
質問よいでしょうか?

Firefox1.07以上です。
画像の上でmousemoveイベントを使ってドラッグをとらえて処理させようとしてます。
画像をドラッグしようとして、数ピクセル引きずると、カーソルが交通標識の駐車禁止に似たものに変わって、それ以降mousemoveが呼ばれないのですが、対策はありますでしょうか?

http://seiji.my-sv.net/の上の部分の動作をFirefoxでも実現したいのです
12Name_Not_Found:2005/11/03(木) 00:30:11 ID:???
質問です。
画像Aがあったとき、このAの画像を、たとえば15度だけ右に傾ける
ことが、JavaScriptでできるときいたんですが、どう書けばよいのか
教えて頂けませんか。その際、回転させた背景を透過のままでできる
でしょうか。よろしく、です。
13Name_Not_Found:2005/11/03(木) 00:43:43 ID:???
14Name_Not_Found:2005/11/03(木) 01:25:02 ID:???
>>11
作成依頼ならスレ違い。
http://pc8.2ch.net/test/read.cgi/hp/1099993040/
15Name_Not_Found:2005/11/03(木) 01:25:51 ID:???
FireFox の getComputedStyle に相当する、IEのメソッド教えておくれ。
あるDomElement に実際に適用されている css のパラメータが欲しい。
16Name_Not_Found:2005/11/03(木) 01:28:06 ID:???
>>11
リンク先を見もしないで適当に回答
ttp://developer.mozilla.org/en/docs/DOM:event.preventDefault
17Name_Not_Found:2005/11/03(木) 02:08:28 ID:???
>>11
よく読まずにヒント。
onmousedownからonmouseupまでの間がドラッグ。
18Name_Not_Found:2005/11/03(木) 02:45:14 ID:???
>>15
メソッドじゃないけどcurrentStyle
擬似クラスは無理
19Name_Not_Found:2005/11/03(木) 06:51:48 ID:???
いま IE の判別を document.all && !window.opera ってしてるんだけど、他にも 「このwindow(document)メソッド(プロパティ)は後にも先にも昔からのIEにしかないぞ!」 ってのありますかねえ?
2019:2005/11/03(木) 08:10:05 ID:???
聞くだけではなんなので、いま自分なりに IE4-6, FireFox, Opera8 で試してみたんだけど、

// IE独自 windowプロパティ
clientInformation
external
offscreenBuffering
onbeforeunload
on〜 (イベント)

// IE独自 documentプロパティ
defaultCharset
fileCreatedDate
fileModifiedDate
fileSize
fileUpdatedDate
mimeType
nameProp
on〜 (イベント)
protocol
security

もし Safari とか MacIE とか持ってる人いたら
    var attr = []; for (var k in window) attr[ attr.length ] = k;
    document.write('<pre>'+ attr.sort().join('\n') +'</pre>\n\n');
とかやってみてくれると助かるわ。
22Name_Not_Found:2005/11/03(木) 09:09:30 ID:???
>>18
>>3 Q8-A8
テンプレ読まずに回答すんなヴォケ
23Name_Not_Found:2005/11/03(木) 09:42:53 ID:FyCVta8p
質問です。
自分の名前を、色を000000から999999まで変えながら、10回表示せよ。 (for文を使え。)

これの解き方がわかりません。教えてです。
24Name_Not_Found:2005/11/03(木) 09:47:43 ID:???
>>23
学校の課題だったら自分でやらんと身につかないよ。
とりあえずfor文が分かるのか分からないのかどっちよ。

(厨房な回答者さんへ。こんなの誰でも分かるんで自分が分かる
からといって偉そうに回答するのはやめてよね。)
2523:2005/11/03(木) 09:59:54 ID:???
じゃあ、きょう一日かけて、頑張ってやってみます。
わからないとこ教えてください。安易なおねだりすいませんでした。
26Name_Not_Found:2005/11/03(木) 10:08:49 ID:???
いやまあ、だから、for文が分かるかどうかまず聞いてるんだが。
27Name_Not_Found:2005/11/03(木) 10:13:35 ID:???
28Name_Not_Found:2005/11/03(木) 11:05:41 ID:???
>>23
for 文を使わなければ簡単なんだが……。
var i = 0;
new Array(1 + 10).join('aiueo'.fontcolor('\t;') + '\n')
.replace(/font color="\t/g, function () {return 'p style="color:#' + new Array(1 + 6).join(i++)})
.replace(/font>/ig, 'p>')
29Name_Not_Found:2005/11/03(木) 11:09:21 ID:???
>>23
>>28 間違えた。
var i = 0;
new Array(1 + 10).join('aiueo'.fontcolor('\t;') + '\n')
.replace(/font color="?\t/ig, function () {return 'p style="color:#' + new Array(1 + 6).join(i++)})
.replace(/font>/ig, 'p>')
30Name_Not_Found:2005/11/03(木) 11:13:27 ID:???
>>23
>>29 また間違えた。
var i = 0;
new Array(1 + 10).join('aiueo'.fontcolor('\t;') + '\n')
.replace(/font color=("?)\t/ig, function (_, _1) {return 'p style=' + _1 + 'color:#' + new Array(1 + 6).join(i++)})
.replace(/font>/ig, 'p>')
31Name_Not_Found:2005/11/03(木) 11:39:25 ID:???
>>23
Firefox1.5 からは Array.map (Array.prototype.map.call へのショートカット) が使える。
'<p style="color:#'
+ Array.map(new Array(1 + 10).join('\t'),
            function () {
              return new Array(1 + 6).join(arguments[1])
            })
           .join(';">aiueo<\/p>\n<p style="color:#')
+ ';">aiueo<\/p>'
3219:2005/11/03(木) 11:39:57 ID:???
>>21
一応 vol20 あたりから読んではいるよ。
でもいまだなんか決定的というか定石というか、そんなのが示されてない気がしてのう。

>>27
ワロタw
MSの仕様はすごいなあ。


話は変わるけど、以前、
element.setAttribute('name', 'value'); と
element['name'] = 'value';
の違いとか、簡潔性とか話題になってたと思うけど、

今日 <label for="〜"> を DOM でやろうとして、
element['for'] = 'hoge-id';
というようにやってたんだけど、IE, FF, Opera でどうも機能しない。
innerHTML でソース表示させたら、for属性に値が入っていない模様。

いろいろやってみたら、FFやOperaでは
element.setAttribute('for', 'hoge-id');
とやればうまく機能し、
IE では
document.createElement('<LABEL for="hoge-id">');
とやらなければ機能しないらしい。

まあマメ知識程度の話で。
33Name_Not_Found:2005/11/03(木) 11:44:47 ID:???
>>23
>>31 余計な事をしていた。
'<p style="color:#'
+ new Array(10).map(function () {return new Array(1 + 6).join(arguments[1])})
  .join(';">aiueo<\/p>\n<p style="color:#')
+ ';">aiueo<\/p>'
34Name_Not_Found:2005/11/03(木) 11:45:12 ID:???
>>28-31
おまいらそんなにfor文キライか?w
>>23 のような初心者がそんなコード理解できるとはとても思えないのだけどいぢめなのか。
35Name_Not_Found:2005/11/03(木) 11:49:07 ID:???
>>32
element.htmlFor = "idref"; ね。
"for"だと多くの言語でキーワードとして用いられてるから名前が変えられてるのよ。
36Name_Not_Found:2005/11/03(木) 11:53:24 ID:???
>>35
マジデ? 勉強になるわー。 className みたいなもんか。
他にもそういうのってなんかあるのん?
37Name_Not_Found:2005/11/03(木) 12:03:35 ID:???
>>36
いくつかあるよ。詳しくは
>>5とかhttp://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/とかで

IEにしかないプロパティを探すのならMSDNあさるのが一番確実だと思うし。
38Name_Not_Found:2005/11/03(木) 12:06:42 ID:???
3911:2005/11/03(木) 12:22:33 ID:???
>>11です。おかげさまで解決しました。ありがとうございました。>>16
40Name_Not_Found:2005/11/03(木) 12:27:06 ID:???
>>36
Gecko1.8b4 で ECMA357-1 の確認。(この仕様は色々と改訂される予定だろうが。)

js> var x = new XML('<x><int/><float/><for/><\/x>')
js> typeof x.int // JavaScript では int は予約語ではないが、一応。
xml
js> typeof x.float
xml
js> typeof x.for
SyntaxError: syntax error:
js> typeof x["for"]
xml
41Name_Not_Found:2005/11/03(木) 12:35:08 ID:???
>>37
おー、早速ありがとう。
ECMA のとこ見てみたけど、他によく使う属性では すげえ変わってる、ってのはないね。
とりあえずリファレンス読めて一安心だわ。

>>38
つまり css の float のことよなー?
こんな名前変換、言われなきゃ気づかねーw

>>40
あー、そうだな、わかる気がする。
なんか element.for = 'hoge'; ってやったらエラったもの。
for のほかにも if とか while, continue, break, var とか予約語は須らく持てないみたいね。
42Name_Not_Found:2005/11/03(木) 12:37:26 ID:???
>>40
float も JavaScript では予約語じゃなかった。意味無し。
43Name_Not_Found:2005/11/03(木) 13:19:27 ID:???
>>41
×須らく
○全て、遍(あまね)く
44Name_Not_Found:2005/11/03(木) 15:00:57 ID:???
>>32
禿しくガイシュツだが、俺が見ただけで3回は出てるぞ。
>一応 vol20 あたりから読んではいるよ。
も眉唾だな。それともネタフリ?

>>34
ここは質問スレで、初心者専用ではない。
初心者の取るに足らん質問を有用にしようとする回答者の努力だと思うが。
別に質問者の力量で理解できなくても文句はいえんだろう。
45Name_Not_Found:2005/11/04(金) 13:34:06 ID:sfrBcp4B
質問です。
referrerをJSで変えることってできますか。
たとえば、
http://wwwpc8/1.html
からきたときに、referrerをサーバーに
http://wwwpc8/0.html
と認識させたいです。
回答、よろしくお願いします。
46Name_Not_Found:2005/11/04(金) 14:19:13 ID:???
>>45
出来ません
47Name_Not_Found:2005/11/04(金) 14:19:22 ID:???
ムリ
48Name_Not_Found:2005/11/04(金) 14:59:36 ID:???
_
49Name_Not_Found:2005/11/04(金) 15:24:18 ID:???
2バイト文字を表す正規表現はどうやるの?
50Name_Not_Found:2005/11/04(金) 15:43:23 ID:???
[\x0100-\xffff]
51Name_Not_Found:2005/11/04(金) 15:47:07 ID:???
そんなの、ググってから人に聞けよ。おれがいまググったら、

2バイト文字+正規表現 の検索結果のうち 日本語のページ 約 23,700 件

と出たぞ。2万件ありゃじゅうぶんだろ。
52Name_Not_Found:2005/11/04(金) 15:58:15 ID:???
>>51
それは違うだろ。2万件もあったからとても見てられない
という意味で質問してるのかも知れない。
>>50
それだといわゆる半角カナが入るけどそれでいいのかどうか。
>>49
JavaScirptの中では文字はUnicodeのUTF-16なんで、全ての
文字は2バイトです。それで不満なら「2バイト文字」じゃなく
もっと正確にどういう文字を識別したいのか書け。とくに
半角カナあたりも含めてね。
53Name_Not_Found:2005/11/04(金) 16:02:14 ID:???
54Name_Not_Found:2005/11/04(金) 16:07:17 ID:???
なんでWebProg板いかないかなー。
55Name_Not_Found:2005/11/04(金) 17:04:49 ID:???
入力された文字列の半角文字と全角文字のそれぞれの
文字数を数えることってできますか?
56Name_Not_Found:2005/11/04(金) 17:24:50 ID:???
57Name_Not_Found:2005/11/04(金) 17:33:08 ID:???
>>56
さんくす
58Name_Not_Found:2005/11/04(金) 20:34:16 ID:???
>>46-48
アホか、おまえ(ら)。
こんなアホが出るから、Ajax なんて buzzword は駄目なんだ。
昔からあるウェブオートメションという言葉や、単に、簡易 HTTP クライアントで良い。

>>45
>>3 FAQ-10
Referer の綴りに注意して、
(IXMLHttpRequest|XMLHttpRequest)#setRequestHeader('Referer')
59Name_Not_Found:2005/11/04(金) 20:58:47 ID:???
setRequestHeader って XMLHttpRequest のリクエスト時のheaderだと思ってた orz
60Name_Not_Found:2005/11/04(金) 20:59:14 ID:???
>>45
一応、Firefox で確認してみたが、何とでも自己申告できる。

<a href="/test" onclick="a_onclick(event)">refer(r)er test</a>

function a_onclick(e) {
  e.preventDefault();
  var r = new XMLHttpRequest();
  r.open('GET', e.currentTarget.href, false);
  r.setRequestHeader('Referer', 'abcdefg');
  r.send(null);
  alert(r.responseText); // abcdefg
}
61Name_Not_Found:2005/11/04(金) 21:00:03 ID:7LnB/0d5
>>58
本当はreferrerだけど、referer、な。
javascriptぐらいだっけ、綴りがあってるのは。
rが1つ抜けた理由は失念
62Name_Not_Found:2005/11/04(金) 21:00:51 ID:???
>>59
いや、>>58 で引数を一つ忘れている俺が悪い。
63Name_Not_Found:2005/11/04(金) 21:24:35 ID:o2vm8Srl
重複しない10個の乱数を取得するプログラムがどうしても書けません。
for文は1回のみという条件付です。
どなたかご教授お願いします。
64Name_Not_Found:2005/11/04(金) 21:46:00 ID:???
>>63 作るんじゃなくてシャッフルしたらいいんだろ
65Name_Not_Found:2005/11/04(金) 21:57:37 ID:???
これもFAQだな
66Name_Not_Found:2005/11/05(土) 00:39:12 ID:???
>>63
乱数だったら普通に10個出して来て同じものが2つあることは
まずないけど。なんなら既に出てるかどうか表に登録しつつ
forループを回るとか。

…しかしアンタの日本語が間違っているのでは?「1〜10の
数をランダム順に1回ずつ出して来る」とかじゃないの?
もしそうなら>>64-65の言う通りなんだけどね。(ということは
その場合は回答されないってことだ、自分で過去スレ探すようにね。)
67Name_Not_Found:2005/11/05(土) 01:09:49 ID:???
複数の配列があって、var1[0]とvar2[0]とvar3[0]、var1[1]とvar2[1]とvar3[1]・・・・
のようにそれぞれの配列が関連のある値の場合、
var1.sort()としたときに他の配列もvar1と同じ順番で並び替えるにはどうしたらいいですか?

とりあえず思いついたのは
ソートしたい配列を先頭にして区切り文字を挿入して連結、
ソート後に分割、各配列に格納し直すという手順です。

<html><body><script>
var1 = new Array('b','d','c','a');
var2 = new Array('100','200','300','400');
var3 = new Array('た','あ','か','さ');
alert('var1=' + var1.toString()+'\nvar2='+ var2.toString() + '\nvar3=' + var3.toString());
sortArray=new Array();
for(i=0; i<var1.length; i++){
sortArray[i] = var1[i] + '@' + var2[i] + '@' + var3[i];
}
sortArray.sort();
tempArray = new Array();
for(i=0; i<var1.length; i++){
tempArray = sortArray[i].split('@');
var1[i]=tempArray[0];
var2[i]=tempArray[1];
var3[i]=tempArray[2];
}
alert('var1=' + var1.toString()+'\nvar2='+ var2.toString() + '\nvar3=' + var3.toString());
</script></body></html>

もっとスマートな方法はありませんか?
68Name_Not_Found:2005/11/05(土) 06:25:54 ID:???
>>67
似たり寄ったりなのだけど、とりあえず

var vars = [];
vars[0] = new Array('b','d','c','a');
vars[1] = new Array('100','200','300','400');
vars[2] = new Array('た','あ','か','さ');

しておいて、

// 1
var test = vars[0].concat();
for (var k = 0; k < vars.length; k++) {
    var tmp = [];
    for (var i = 0; i < vars[k].length; i++) tmp[i] = [ test[i], vars[k][i] ];
    tmp.sort();
    for (var i = 0; i < vars[k].length; i++) vars[k][i] = tmp[i][1];
}
alert(vars)

// 2
var tmp = [];
for (var i = 0; i < vars[0].length; i++) {
    tmp[i] = [];
    for (var k = 0; k < vars.length; k++) tmp[i][k] = vars[k][i];
}
tmp = tmp.sort();
for (var i = 0; i < tmp.length; i++) {
    for (var k = 0; k < tmp[i].length; k++) vars[k][i] = tmp[i][k];
}
alert(vars)
69Name_Not_Found:2005/11/05(土) 06:28:13 ID:???
もっと少なくかけたりするけど、まあいいや
70Name_Not_Found:2005/11/05(土) 07:43:54 ID:???
RubyだとArray#transposeという便利メソッドがあるみたいだね。
ttp://www.ruby-lang.org/ja/man/?cmd=view;name=Array#transpose
まあやってることは>>68と同じなんだけど。
このままだと実行速度も遅いし。

if (!Array.prototype.map) {
    Array.prototype.map = function(callback, thisObject) {
        var ret = new Array(this.length);
        for (var i = 0; i < ret.length; i++) {
            ret[i] = callback.call(thisObject, this[i], i, this);
        }
        return ret;
    }
}
Array.prototype.transpose = function() {
    return this[0].map(function(dummy, i) {
        return this.map(function(element) {return element[i];});
    }, this);
}

var var1 = new Array('b','d','c','a');
var var2 = new Array('100','200','300','400');
var var3 = new Array('た','あ','か','さ');

var sortedArrays = [var1, var2, var3].transpose().sort(function(a, b) {return (a[0] > b[0]) ? 1 : -1;}).transpose();
alert(sortedArrays.join("\n"));
71Name_Not_Found:2005/11/05(土) 08:16:36 ID:???
そもそも配列3つというデータ構造がよくないのでは。
配列しかない時代のFORTRANみたいだ。ふつう、3つの
値を組にしたレコード(JSならオブジェクト)を配列に
格納するだろ。区切りを挿入して連結なんて…
72Name_Not_Found:2005/11/05(土) 09:04:10 ID:???
>>67,71
データをテーブルとして

|  b  |  d  |  c  |  a  |
| 100 | 200 | 300 | 400 |
| た  | あ  | か  | さ  |

列を移動させたときにどう処理するか、って話なんだろうね。

まあ普通は1列1列が何らか共通の部分があるなら、列に名前をつけて (オブジェクトにして) やるよな。
73Name_Not_Found:2005/11/05(土) 15:55:58 ID:???
shift()、pop()は配列の最初、最後を取り出しますが
配列の真ん中を抜き出すメソッドはありませんか?
1,2,3,4,5,6,7 の3つ目を抜き出す→ 1,2,4,5,67
74Name_Not_Found:2005/11/05(土) 16:40:39 ID:???
>>70 a==bでも-1なっちゃうよ
>>73 splice()
75Name_Not_Found:2005/11/05(土) 16:43:49 ID:???
<script language="JavaScript" type="text/javascript" src="★"></script>   (★はURL)

のようにlanguage属性とtype属性を同じタグで指定できますでしょうか。
FC2のアクセス解析のソースなのですが・・
宜しくお願い致します。
76Name_Not_Found:2005/11/05(土) 16:56:52 ID:DomGOzmU
javascriptである文字列を含まない正規表現がググっても出てこないんだけど、どうやるんですか?
77Name_Not_Found:2005/11/05(土) 18:07:07 ID:???
>>75
意味不明
>>76
それ正規表現て言わない
7876:2005/11/05(土) 19:02:09 ID:???
> それ正規表現て言わない

はあ?なにそれ。
質問の意味分かってる?
7973:2005/11/05(土) 19:05:49 ID:???
>>74
ありがとうございます!
手持ちのリファレンスには配列の置換としか書いてなかったので
こういう使い方ができるとは知りませんでした。
80Name_Not_Found:2005/11/05(土) 19:21:49 ID:???
8170:2005/11/05(土) 21:08:28 ID:???
>>74
ごめん、そこ手抜き。重複した要素はないという条件を勝手に付け足してた。
82Name_Not_Found:2005/11/05(土) 22:36:34 ID:???
83Name_Not_Found:2005/11/05(土) 23:24:49 ID:???
Operaで「z」やら「x」やら「-」やら「+」を入力したときに「戻る」「進む」「縮小」「拡大」等の動作が起きるのですが,
これをJavascriptで無効にすることはできないでしょうか。
84Name_Not_Found:2005/11/05(土) 23:31:20 ID:???
>>83
試してないけどキーイベントを捕捉してprevendDefaultしてみたら。
意味が分からなければ勉強してね。
8576:2005/11/05(土) 23:47:25 ID:???
>>80
そういうのさんざん見たけどわかりませんでした。

>>82
すごく複雑だなあ。こんなの書かなきゃならんの?
しかも適用したら重過ぎだしエラーで使えないじゃないか。
86Name_Not_Found:2005/11/05(土) 23:50:39 ID:???
>>85
これが複雑ですかw
エラーはあなたの責任ですww
87Name_Not_Found:2005/11/05(土) 23:56:45 ID:???
馬鹿かこいつ
正規表現の本でも買って読んどけ
8867:2005/11/06(日) 00:42:59 ID:???
>>68,70,71,72 レスありがとうございます。
>>68 1つ目の方採用させていただきました。環境に合わせて少し改造しましたが。
いずれ数千の配列でやるつもりですが速度的にどうなんでしょう?
<html><body><script>
names = new Array('alphabet','number','kana');
alphabet = new Array('b','d','c','a');
number = new Array(300,400,100,200);
kana = new Array('た','あ','か','さ');

function sorter(target){
  head = window[target].concat();
  for(k=0; k<names.length; k++){
    tmp=[];
    for(i=0;i<window[names[k]].length;i++) tmp[i] = [head[i],window[names[k]][i]];
      tmp.sort();
      for (i=0; i<window[names[k]].length;i++) window[names[k]][i] = tmp[i][1];
    }
    alert(alphabet + '\n' + number + '\n' + kana)
}
</script>
<input type="button" value="alphabet" onclick="sorter(this.value)">
<input type="button" value="number" onclick="sorter(this.value)">
<input type="button" value="kana" onclick="sorter(this.value)">
</body></html>

>>71
3つの値を組にした場合個々の値の書き換え時に面倒になるということはないですか?
うまい方法があるならそれも知りたいです。

>>72
>列に名前をつけて (オブジェクトにして) やるよな。
具体例ってどんな感じになりますか?いまいちわからないので。
89Name_Not_Found:2005/11/06(日) 00:48:21 ID:???
>>71,72 ですね。 普通に書けばSORTするだけですよね

function struct(alpha, number, kana)
{
    this.alpha = alpha;
    this.number = number;
    this.kana = kana;
    this.toString = function(){return this.alpha+'\t'+this.number+'\t'+this.kana}
}
function struct_alpha_ascending(a,b){return a.alpha==b.alpha?0:a.alpha>b.alpha?1:-1}
function struct_alpha_descending(a,b){return a.alpha==b.alpha?0:a.alpha>b.alpha?-1:1}
function struct_number_ascending(a,b){return a.number==b.number?0:a.number>b.number?1:-1}
function struct_number_descending(a,b){return a.number==b.number?0:a.number>b.number?-1:1}
var vars = new Array();
vars.push(new struct('b','100','た'));
vars.push(new struct('d','200','あ'));
vars.push(new struct('c','300','か'));
vars.push(new struct('a','400','さ'));
vars = vars.sort(struct_alpha_ascending);
//vars = vars.sort(struct_number_ascending);

{ //このブロックは確認のため
    var s='';for(var i=0;i<vars.length;i++){s+=vars[i]+'\n'}alert(s)
}
9089:2005/11/06(日) 00:50:54 ID:???
どういった局面でこのような処理を必要とするのか >>67 に正座させて問い質したい(うそ)
>もっとスマートな方法はありませんか?
って、魔法の呪文みたいに人を惹きつけるフレーズですね。流し読みできませんでした
こんど使わせてもらおっと ...ちなみに、私はデブじゃないよ。
//relation_array_ascending(argument-0[,argument-1[, ... [,argument-n]]])
//argument-0 をKEYとして、すべての配列を昇順に並べ替える
//但し、すべての配列の要素数は同じとみなし例外処理を省略する
function pointer_struct(key, ref)
{
    this.key = key;
    this.ref = ref;
}
function relation_array_ascending()
{
    var pointer = new Array();
    for(var i=0;i<arguments[0].length;i++) pointer.push(new pointer_struct(arguments[0][i],i));
    pointer = pointer.sort(function(a,b){return a.key==b.key?0:a.key>b.key?1:-1});
    for(var i=0;i<arguments.length;i++)
    {
        var arr = new Array();
        for(var j=0;j<pointer.length;j++) arr.push(arguments[i][pointer[j].ref]);
        arguments[i].splice(0,arguments[i].length,arr.valueOf());
    }
}
var var1 = new Array('b','d','c','a');
var var2 = new Array('100','200','300','400');
var var3 = new Array('た','あ','か','さ');
alert('var1=' + var1.toString()+'\nvar2='+ var2.toString() + '\nvar3=' + var3.toString());
relation_array_ascending(var1, var2, var3);
//relation_array_ascending(var2, var1, var3);
alert('var1=' + var1.toString()+'\nvar2='+ var2.toString() + '\nvar3=' + var3.toString());
9183:2005/11/06(日) 01:16:34 ID:???
>>84
ありがとうございます。
preventDefaultでぐぐろうと思います。
9267:2005/11/06(日) 01:55:56 ID:???
>>89
ん!?数分でこれ書いたんですか!?まじっすか。
とりあえずぱっと見何やってるかわからないのでじっくり理解してきますorz

>どういった局面でこのような処理を必要とするのか
webベースのミュージックプレーヤのプレイリスト用です。
アーティスト名・アルバム名・ジャンル・トラック数・アップデート日時・コメント・URL
の項目があって既に200近いリストが登録されています。
各項目でソートできたら目的のリストを探しやすいので。

エクスプローラの詳細表示をイメージして作ってます。
エクスプローラのソートってすごく高速ですけど
javascriptであのスピードは無理ですか?
9376:2005/11/06(日) 02:07:30 ID:???
>>86
試しに10文字を作成してみた。

^(((((((((((((((((([^a]*)*(a+[^b][^a]*)*)*)*(a+b[^c][^a]*)*)*)*(a+bc[^d][^a]*)*)*)*(a+bcd[^e][^a]*)*)*)*(a+bcde[^f][^a]*)*)*)*(a+bcdef[^g][^a]*)*)*)*(a+bcdefg[^h][^a]*)*)*)*(a+bcdefgh[^i][^a]*)*)*)*(a+bcdefghi[^j][^a]*)*)*$

おまいはいきなりこんなの作れるわけ?ちゅごいね。

>>87
いろんなサイト巡ってみたけど載ってなかったものが、本に載ってるわけ?
どの本に載ってるか教えてください。
94Name_Not_Found:2005/11/06(日) 02:09:40 ID:???
>>93
それ絶対に書き方変だぞ
何を書きたいんだ?
9576:2005/11/06(日) 02:20:21 ID:???
>>94
82のページで、abcdefghijを入力して作ったものだけど。
変なら正しい書き方教えて下さい。
96Name_Not_Found:2005/11/06(日) 02:47:40 ID:???
>>76 の要件だと「マッチするの否定」で簡単じゃんか
9776:2005/11/06(日) 03:33:26 ID:???
76の要件は正規表現の中で使う。分岐は使わない。
98Name_Not_Found:2005/11/06(日) 05:07:29 ID:???
とりあえず>>80の検索結果を見てけば否定先読みというのが出てくるだろ。
^(?:(?!含まない文字列).)*$
古いブラウザのことも考えるなら>>96が一番簡単だと思うけどね。
(実はindexOf() == -1ですむとかいう話ではないよな?)
9967:2005/11/06(日) 05:30:05 ID:???
試行錯誤の結果これが一番高速な気がします。非破壊的ソートだし。
tmpにソート元識別番号を加えた配列を格納後ソートし、
識別番号だけ取り出し配列に保持(sID)。必要なときにsIDをもとに結果を得る。
自分的にはシンプルにまとまった気がしますがこれってどうなんですか?
<html><body><script>
names = new Array('alpha','kana','num');
alpha = new Array('c','d','g','h','l','m','e','j','i','a','n','b','k','o','f');
kana = new Array('お','さ','か','う','く','こ','あ','す','き','そ','い','し','け','せ','え');
num = new Array('07','01','06','04','09','02','13','10','15','03','11','08','14','05','12');
function sorter(target){
  zero=''; keta=1;
  for(i=0; i<window[target].length.toString().length-1; i++){zero+='0'; keta++;}
  tmp=sID=[];
  for(i=0; i<window[target].length; i++) tmp[i]=window[target][i] + zero + i;
  tmp.sort();
  for(i=0; i<window[target].length; i++) sID[i]=parseFloat(tmp[i].substr(tmp[i].length-keta,keta));
}
function result(){
  temp='';
  for(i=0; i<names.length; i++){
    for(k=0; k<window[names[i]].length; k++){
      temp+=window[names[i]][sID[k]] + ',';
    }
  }
  alert(temp)
}
</script>
<input type="button" value="alpha" onclick="sorter(this.value); result();">
<input type="button" value="kana" onclick="sorter(this.value); result();">
<input type="button" value="num" onclick="sorter(this.value); result();">
</body></html>
100Name_Not_Found:2005/11/06(日) 07:01:53 ID:???
>>67
だからさ、
「webベースのミュージックプレーヤのプレイリスト用」 なんだろ?
「アーティスト名・アルバム名・ジャンル・トラック数・アップデート日時・コメント・URL 」 なんだろ?
で、>>67 は 「アーティスト名」 や 「アルバム名」 とかを var1 とか var2 とかの配列にしてるってことだよな?

普通そんなことはしないでオブジェクト化するのよ。

こう、
var data = [
    { artist : アーティスト名1, album : アルバム名1, 以下略1 },
    { artist : アーティスト名2, album : アルバム名2, 以下略2 },
    以下略...
];
っていう形でデータ化するでしょ。

そうすると、album とかでソートしたいときは、

data = data.sort( function (a, b) { return (a.album > b.album) ? 1 : (a.album < b.album) ? -1 : 0 } );

って 1行で data のソートは済むわけ。
こういうのをやりたいんじゃないの?
101Name_Not_Found:2005/11/06(日) 07:16:18 ID:???
>>92
そういうことならやっぱりそのリストの一つ一つのアイテムをオブジェクトにまとめたほうがいいと思う。

function PlayListItem(artist, album, genre /*, trackNo, updated, comment, url*/) {
this.artist = artist;
this.album = album;
this.genre = genre;
}
PlayListItem.prototype.toString = function() {
return "[" + [this.artist, this.album, this.genre].join(", ") + "]";
}

function sortByKey(array, key) {
array.sort(function(a, b) {return (a[key] > b[key]) ? 1 : (a[key] < b[key]) ? -1 : 0;});
}

var playList = [
new PlayListItem("アーティスト3", "アルバムC", "ジャンルX"),
new PlayListItem("アーティスト1", "アルバムB", "ジャンルZ"),
new PlayListItem("アーティスト2", "アルバムA", "ジャンルX")
];

alert(playList.join("\n"));
sortByKey(playList, "artist");
alert(playList.join("\n"));
10267:2005/11/06(日) 07:22:49 ID:???
>>100
なるほど。>>89,90 はこれが要なわけですね。
これだけでいけるのはわかったけどこの一行で何が起こっているかいまいち理解できない。。
data = data.sort( function (a, b) { return (a.album > b.album) ? 1 : (a.album < b.album) ? -1 : 0 } );
簡単でいいんで解説してもらえませんか?お願いします。
103101:2005/11/06(日) 07:43:42 ID:???
ごめん、リロードせずにいたら>>100とかぶった。
とりあえず>>7の一番最初に載っているサイト
ttp://www.axis.t.u-tokyo.ac.jp/~shunak/ecmascript/Array.html
ここの「sortメソッド」の説明とか読むといいと思う。

あと、変数を宣言するときは必ずvarを使う癖をつけておいたほうがいい。
そうしないと変数がグローバルになって思わぬバグを招くかもしれないから。
10467:2005/11/06(日) 08:23:02 ID:???
>>103
今までいろいろな機能を少ない知識で強引に実現してきましたが
今日ついに限界を感じました。観念してECMAScript読んできます。

変数宣言はvar付きですね。気をつけます。
そういえばスコープ関係でバグ出て原因がわからず時間食ったことありました。


ちょっとは成長して帰ってきます。では。


105Name_Not_Found:2005/11/06(日) 09:17:20 ID:???
そんな、そろそろオブ脳化したいオマイに
http://www.parkcity.ne.jp/~chaichan/src/2ndthema.htm
→2. オブジェクトの基礎
106Name_Not_Found:2005/11/06(日) 11:30:15 ID:Jm1BleCK
63ですが

box1 = newArray(10);
var i;

for(i=0;i<10;i++)
{
box1[i] = Math.floor(Math.random()*10);
}

↑ これだと重複してしまいます。
重複させない為にはどうしたらいいでしょうか?
教えてください。お願いします。
107Name_Not_Found:2005/11/06(日) 12:23:22 ID:???
>>106
過去スレに何度もでてるし、ぐぐればひっかかるって。
108Name_Not_Found:2005/11/06(日) 13:43:45 ID:???
>>64-65
オマイ>>63は、過去スレも読まないわ、ググリもしないわ、
自分の質問に対するレスも無視するわ、最悪だなっ
109Name_Not_Found:2005/11/06(日) 15:07:52 ID:???
>>106
必死だな。学校の宿題か?w
110Name_Not_Found:2005/11/06(日) 20:05:53 ID:???
ttp://www.red.oit-net.jp/tatsuya/java/combobox.htm

すみません、教えてください。
上記のページのプルダウンメニューですが、「form name」ではなくXHTMLらしく「id」にしたいのですが、その場合エラーが出てしまいます。
「getElementById」で取得すれば良いと思うのですが、、どのように書けば良いのか、、教えて頂ければ幸いです。
111Name_Not_Found:2005/11/06(日) 20:51:27 ID:???
>>110
getElementByIdを使ってる例なら過去スレに山程ある。いまさら何を質問
してるんだ?過去スレ読んで勉強すりゃいいじゃん。全部書けというのなら断るよ。
112Name_Not_Found:2005/11/06(日) 21:08:18 ID:???
>>111
お前はいつも優しくないな!
113Name_Not_Found:2005/11/06(日) 21:12:17 ID:???
最近は甘やかせば優しいことにでもなるんかね
114Name_Not_Found:2005/11/06(日) 21:55:23 ID:???
ただ唐突にやさしくないと雰囲気が悪くなり
今みたいに閑散する罠

>>63はどうしようもないが、
>>110はヒントぐらい与えてもいいと思うが。
回答と誘導と叩きのバランスが大事。

>>110
その形でいいのでは?敢えていえばgetElementsByTagName('form')[0]
過去スレ全集GO!!
115Name_Not_Found:2005/11/06(日) 21:59:29 ID:???
>>114
爆笑! アンタのヒントってのは質問者を惑わそうとしてる
ようにしか見えないぞ。つまり誰にも必要とされてないって
ことだな。すっこめ。
116Name_Not_Found:2005/11/06(日) 23:44:07 ID:???
┐(・∀・)┌
また始まったか
pcとかprog系板って叩くは熱心でスルーできないヤシ多いな


117110:2005/11/07(月) 00:31:32 ID:???
すみません、勉強させて頂きました。何とか解決できそうです。
ありがとうございました。あと、少し荒らしてしまったようで申し訳ないです。
では。
11889:2005/11/07(月) 00:33:27 ID:???
>>92 なるほど、
単独のテーブルにする積極的な理由は無かったんですね
「眼から鱗的な発想が、そこにあるにちがいない。」
って、ちょっぴり期待してました。
>webベースのミュージックプレーヤのプレイリスト用です。
自分の趣味の、且つ実用的なものを題材にするのは
モチベーションを保つのにもってこいですよね。
漢字のSORTは一工夫欲しいとこだけど、それはまた別の話かな
>エクスプローラのソートってすごく高速ですけど
>javascriptであのスピードは無理ですか?
おそらく... >>67 のがんばりがあれば、きっと出来る!(無責任発言)
ちなみに、その高速なエクスプローラで「*.htt」を検索して
内容をtextで見ると楽しいかも(これまた無責任発言)
119Name_Not_Found:2005/11/07(月) 02:32:48 ID:???
rapidshareでファイルを落とそうとしたら以前は落とせたのに
「ERROR: Please enable JavaScript」ってのがなぜか出てきました。
だれか解決策をご教授お願いします。
120Name_Not_Found:2005/11/07(月) 07:54:53 ID:???
>>119
初心者スレへ逝くべきだな。
121Name_Not_Found:2005/11/07(月) 10:07:41 ID:???
>>119
あんた、英語はさっぱりダメか?
そこに答えが書いてあるだろ。
122Name_Not_Found:2005/11/07(月) 10:12:22 ID:???
>>111
過去スレ見ろ、というだけなら、だれでも回答者になれるだろw
そういう答えかたをするなら、どこへ戻ればいいか、ピンポイント
で指摘してやるのが、オトナの対応だろな。
123Name_Not_Found:2005/11/07(月) 11:04:26 ID:???
>>122
お前はいったいどれだけ甘やかされた子供なんだ
124Name_Not_Found:2005/11/07(月) 12:34:40 ID:???
>>122
アンタが特定レスを検索してやるのは別に止めないね。ご自由に。
ただしnullのレスばっかり検索して来ないでくれよ(w

洩れは「過去スレを読め」と書く場合、過去スレに回答があること
までは確認している。過去スレに回答がないような質問で「過去スレ
を読め」なんて書いたら厨房になっちゃうだろ?

レス番まで書いてやるのはそれなりの質問で気が向いた時だけ。
125122:2005/11/07(月) 14:10:49 ID:???
あんたがそうするのは、勝手だ。別におれには関係ない。
中には安易にそう答えているらしいのを見掛けるから、
念のために書いたまでだ。

nullスレを検索するなということは、過去スレ見れとい
ってるやつもそのスレのことをいってる可能性だってあ
るだろ。あんたは、じぶんだけが大した人間だと勘違い
してやしないか?
126114:2005/11/07(月) 14:25:26 ID:???
>>123-124
要は、一蹴するなということ。
すべてが分かっていれば、質問スレにこないって。
何がわかんないのかわかんない香具師だっている。
勘違いで調べて見つからない香具師もいる。
一蹴せず、うまく誘導しろってことだ。
そして気が向いたらコードでも上げてやれ。

ところで>>115
formにIDを付けられないでしょ。そのコード換える必要あるの?
どうしてもDOM風にしたければ
getElementsByTagName使えばということ。

まあ次の質問どーぞ。
127Name_Not_Found:2005/11/07(月) 14:35:34 ID:???
>>126
過去スレにあるっていうのは十分親切な情報だと思うね。

: formにIDを付けられないでしょ

つけられるとも。その大嘘はどっから出てるんだ?DTDが
読めない香具師かよ。(自分が半可通だという認識を持たずに
偉そうにミスリードしまくり、大迷惑だろ。すっこめ。)
128Name_Not_Found:2005/11/07(月) 18:54:43 ID:???
>>127
まあ、ちょっと何か知ってるくらいで、鬼の首でも取ったような
ようにいうなよ。あんたの人格を疑われるぜ。
人はそれぞれ、24時間もって、いろいろな経験してるんだ。あ
んたの知らないことを詳しく知ってるヤシもいることを忘れるな。

もっと謙虚になれよ。プログラミングができるからって、できる
人間からみれば、そんな偉そうにするほどのことでもないだろ。
あたり前の筋道でコード書いて、それが動くってだけのことさ。

だから、人の揚げ足とっていい気になるな。

129Name_Not_Found:2005/11/07(月) 18:56:16 ID:???
喧嘩は表でお願いします
130128:2005/11/07(月) 18:58:08 ID:???
ちなみに、おれは>>126ではない。
131128:2005/11/07(月) 19:02:51 ID:???
このクソ日本人。何か自分の意見をいうと、すぐケンカだと。
おまえにケンカの仕方をおしえてやれんのが残念だ。

口論とディベートとケンカは全く違うぞ。いいたいことをいうべきだろ。
それをケンカだのなんだのと騒いで仲良しクラブにしてるから、日本は
中国に負けるんだよ。向こうはすごいぞ。一回行って来い。ヴォケ
132Name_Not_Found:2005/11/07(月) 19:20:32 ID:???
スレ違いの純情
133Name_Not_Found:2005/11/07(月) 19:26:21 ID:???
うわ、韓国人か中国人だったわけだw
134Name_Not_Found:2005/11/07(月) 19:31:39 ID:???
一連の書き込みは以下に該当すると思うのですが、間違ってますか?
けんか ―くわ 0 【▼喧▼嘩/▼諠▼譁】
(名)スル
(1)言いあらそったり腕力を用いてあらそったりすること。言いあらそいやなぐり合い。いさかい。
「―口論」
(2)やかましく言い立てること。騒がしいこと。
135Name_Not_Found:2005/11/07(月) 19:36:26 ID:???
\(^o^)/
136Name_Not_Found:2005/11/07(月) 20:43:54 ID:???
ふんにゃかふんにゃか
137Name_Not_Found:2005/11/07(月) 21:20:35 ID:???
あのねえ、null氏が最初に出て来たころは間違いあっても生暖かく
指摘してたんだけどねえ。いくら言っても勉強はしないわ偉そうに
間違いを教えるわで直らないから。厳しく指摘することにしますた。
null氏であろうと誰であろうと(誰だかなんて分からないしね。)

でも。洩れは単に間違い勘違いを吹聴してて有害だから指摘してる
だけですぜ。言い方は厳しいとしてもね。それを鬼の首だって。
自分が鬼に見えるとはずいぶんと勘違いな方だ。

>>134
指摘された方は逆ギレしてるからそう見えるのかも知れんけど、別に
洩れは厳しく指摘すれば十分なだけでそれ以上相手する気はないんだ。
138Name_Not_Found:2005/11/07(月) 21:40:25 ID:???
>>137
もういいだろ、それで。気が済んだか。ボケナス
139Name_Not_Found:2005/11/07(月) 21:41:34 ID:???
はっきりいってLispを知らずにJavaScriptを人様に教えている奴は消えていい
140Name_Not_Found:2005/11/07(月) 22:12:49 ID:???
森を見て木を見ず
141Name_Not_Found:2005/11/07(月) 22:32:27 ID:???
>>139
そうだよね、クロージャとか知らないとしょうもないもの。
142Name_Not_Found:2005/11/07(月) 22:42:18 ID:???
141 の頭の中ではクロージャと Lisp が同列らしい
143Name_Not_Found:2005/11/07(月) 22:49:51 ID:???
質問します
selectタグにsize属性を指定するとなんか形がかわりますよね
そこにmultiple属性を指定すると複数の項目を選択できますよね
複数の選択のインデックスを取得するにはどうしたらいいんでしょう

<script>
function getSelected(){
document.getElementById("txt").value = document.getElementById("sel").selectedIndex;
}
</script>
<input type="button" value="取得" onclick="getSelected()">
<input type="text" id="txt"><br>
<select size="5" id="sel" multiple>
<option>あ</option>
<option>い</option>
<option>う</option>
<option>え</option>
<option>お</option>
</select>
144Name_Not_Found:2005/11/07(月) 22:50:26 ID:???
質問です。

function obj(){
    this.a = 0;
    this.b = 100;
    this.timer;
}

obj.prototype.func = function(){
    if(a<b){
        a++;
        this.timer = setTimeout("this.func()",100);
    }
    else{
        clearTimeout(this.timer);
    }
}

var o = new obj();
o.func();

オブジェクトのメソッドの中でevalとかsetTimeoutなどを使って再帰的な
動作をしたいのですが、イマイチ書き方がわかりません。
"this.func()" と書いても、そのリテラルがそのまま評価されるだけで、
thisがわたっている訳ではない、というのはわかるのですが。

どのように書いたら良いでしょうか。
145Name_Not_Found:2005/11/07(月) 23:18:45 ID:???
>>142
ラムダ知ってる?
146Name_Not_Found:2005/11/08(火) 00:07:37 ID:???
>>142
同列じゃないよ。ただ、まっとうなLispプログラマならクロージャは
知ってるからまっとうなJSプログラマになりやすそうだと思うけどね。
>>143
options配列を順次チェックしながらselectedプロパティを調べる。
だいたいそういう質問する前にこれを読むべきだろ。
ttp://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-70901257
>>144
アンタも過去ログにたくさん載ってるような質問だな。まあサービス。
setTimeout(function(x){return function(){x.func();}}(this), 1000);
やっぱりクロージャ知っておいた方がいいだろ?evalなんて不要。
147Name_Not_Found:2005/11/08(火) 03:27:07 ID:???
>>145
この言語の仕様にはラムダという言葉は定義されていないし、使われていない。
148Name_Not_Found:2005/11/08(火) 03:46:47 ID:???
>>147
知らないって言えw
149Name_Not_Found:2005/11/08(火) 03:53:30 ID:???
オレは知らないw
つーか、今来たのでオレは147じゃないすw
LISPもしらないwかじって聞いた事あるなぁ
人工知能が云々…それだけwww
つーか、経済系だしオレ|ω・)

150Name_Not_Found:2005/11/08(火) 03:53:52 ID:???
>>147
ラムダは言語処理系の基礎知識ですよ…

俺にはこれと同じように聞こえる

この言語の仕様には条件分岐という言葉は定義されていないし、使われていない
151Name_Not_Found:2005/11/08(火) 04:32:42 ID:???
ここはLISPスレに変わったようです。
152Name_Not_Found:2005/11/08(火) 04:38:14 ID:???
|ω・)<「餅は餅屋」ってカンジ。専門にはかなわないナー
153Name_Not_Found:2005/11/08(火) 06:59:17 ID:???
>>150
誰でも知っているが、使われていない。
その条件(分岐)という言葉は使われている。
154Name_Not_Found:2005/11/08(火) 07:05:23 ID:???
つまり、他の言語で語るな、と、いうことだ。
ECMA262-3 を完読したことのない JS 初心者が、それまでの知識経験だけでやろうとした事の代表例。
いかにして Java と似せて書くか、いかにして Perl と似せて書くか、いかにして Python と似せて書くか。
いかにして Java の言葉で説明するか、いかにして Perl の言葉で説明するか、いかにして Python の言葉で説明するか。
これらは全て尽く失敗してきている。何故なら、言語仕様を読んでいない、基本的な知識や合意事項が欠落しているから。
155Name_Not_Found:2005/11/08(火) 07:13:21 ID:???
>>150
知ったかぶってないで、仕様を一読して出直せ。
そうすれば、ラムダがどういう言葉で書かれているかすぐに分かる。
分かったら、仕様にある具体的なその言葉を使え。
156Name_Not_Found:2005/11/08(火) 08:01:45 ID:???
なんか最近、スレの 3割〜5割くらいは質問者同士の叩きあいじゃないか?
157Name_Not_Found:2005/11/08(火) 08:56:51 ID:???
>>145は大学関係者だろ。それも国立(独立行政法人)の。
よくJSで顔売ってるヤシ。
158Name_Not_Found:2005/11/08(火) 09:04:11 ID:???
しかしラムダを知らない人間がJSの解答をするなというのは同意だ
159Name_Not_Found:2005/11/08(火) 09:15:21 ID:???
>>157
ああ、あの既知外か。どおりで。

じゃあ、>>150、ラムダでいいよ。
で、そのラムダな書き方とは?
まさか、>>146 みたいな JScript 泣かせのコード (しかし何故か最近流行) じゃないよね?
バグをよく調べて、まともなの書いてみせてよ。
160Name_Not_Found:2005/11/08(火) 09:22:09 ID:???
>>159
この発言、ラムダが何かを知っている人間からしてみると、あまりに痛くて笑える。
なんでラムダ発言している奴が、一言「無○○○」と言わないのかが良くわかった(笑)

知らないから教えてください、って言ってごらん。ラムダは知らなくても恥ではないよ。
161Name_Not_Found:2005/11/08(火) 09:29:47 ID:???
ラムダなんかJSには糞食らえだ。
知らんやつがビビッてるだけ。それとも、罪悪感か?
162Name_Not_Found:2005/11/08(火) 09:35:19 ID:???
[経済学の本]|ω・)<ラムダ必須かよw文系で業務にしてない独学の人とかは習うチャンスないと思う。
163Name_Not_Found:2005/11/08(火) 10:17:23 ID:???
羅無駄。
164Name_Not_Found:2005/11/08(火) 10:19:30 ID:???
>>157
筑波大だな。キエロ
165Name_Not_Found:2005/11/08(火) 10:46:29 ID:???
ここはラムダスレです。
166Name_Not_Found:2005/11/08(火) 11:29:52 ID:???
|ω・)<知らないから文系に理解できるよう皆に教えて下さい。>>160
167Name_Not_Found:2005/11/08(火) 11:39:50 ID:???
>>160
洩れも教えて欲しいです。言語屋だけど理論屋じゃないので。

Churchのlambda式だったら…そういう定式化があるというだけで
JavaScriptと関係ないと思うなあ。Lispの名前束縛とかだったら…
lambda式とはあんまり関係ないしましてJavaScriptと関係ないと
思うなあ。やっぱりクロージャ分かってればそれでいいような気が
するけどなあ。
168Name_Not_Found:2005/11/08(火) 12:10:11 ID:???
>>167
ラムダ式ってLISP”固有”あるいはLISP"発祥"だと思ってる。
JavaScriptの、無名関数≡LISPの、ラムダ式だと思っている。

とかLISP、LISP言ってる人は思ってるんじゃないのかなぁ…

LISPなんて勉強したの学生の頃だからいまいち覚えてないなぁ(笑)
169Name_Not_Found:2005/11/08(火) 12:26:49 ID:???
ラムダフェチはそっちで新スレ立ててくれ。
ごくろうさん。
170Name_Not_Found:2005/11/08(火) 12:39:29 ID:???
>>168
そうだよねえ、Lisp発祥?無知すぎ。ここ読めって感じ。
http://en.wikipedia.org/wiki/Lambda_calculus
1930年代からある。ラムダフェチは続けたければム板へ行け。JSと関係ない。
171Name_Not_Found:2005/11/08(火) 12:40:17 ID:???
>>146
ありがとう!!
172Name_Not_Found:2005/11/08(火) 13:59:16 ID:???
>>171
setTimeout(function(x){return function(){x.func();}}(this), 1000);

俺ならこう書く。
var referThis = this;
setTimeout(referThis.func(), 1000);
173Name_Not_Found:2005/11/08(火) 14:14:30 ID:???
>>172
は?

え?

冗談?
174Name_Not_Found:2005/11/08(火) 14:44:56 ID:???
>>172
その方法はobjオブジェクトを2つ作った途端に破綻するよね。
アドバイスするなら「オブジェクトを1つしか作らないこと」
という注意書きをちゃんとつけろよな。そんなので質問者の
役に立つのかどうか知らんけどね。
175Name_Not_Found:2005/11/08(火) 15:02:08 ID:???
|д`)< 171誰?w
176Name_Not_Found:2005/11/08(火) 15:36:44 ID:???
nullじゃないの。よく見たらオブジェクト1つでも
絶対動かないじゃん。あほらし。
177Name_Not_Found:2005/11/08(火) 15:46:22 ID:???
<div id="div" style="overflow:auto">
 <ul>
  <li id="li1">1番目の項目</li>
  <li id="li2">2番目の項目</li>
  <li id="li3">4番目の項目</li>
     ・
     ・
     ・
  <li id="li100">100番目の項目</li>
 </ul>
</div>
style="overflow:autoの設定により<div>ブロックにつけられた
スクロールバーをスクロールしないと見えない
<li id="li100">100番目の項目</li>
をページのボタンクリックによって
表示領域に浮上させるにはどのようにすればいいでしょうか?
178177:2005/11/08(火) 16:17:51 ID:???
質問の仕方がまずかったです。スマソ
単純にlocation.href="#li100" だと
Safariや火狐では動かなかったので
overflow:autoやoverflow:scrollの表示位置を弄れる
プロパティのようなものありませんかね?
179Name_Not_Found:2005/11/08(火) 16:21:27 ID:???
一連の応酬見てて
自分の意見を人の気分を害さずに伝えられるようになると
大人だなあとか思いました。
180Name_Not_Found:2005/11/08(火) 16:28:06 ID:???
>>177 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test(id) {
document.getElementById(id).scrollIntoView()
}
</script>
</head><body>
<div style="overflow:auto; height: 2cm">
<ul><li id="l1">1</li><li id="l2">2</li><li id="l3">3</li><li id="l4">4</li>
<li id="l5">5</li><li id="l6">6</li><li id="l7">7</li><li id="l8">8</li></ul>
</div><div>
<button onclick="test('l1')">1</button><button onclick="test('l8')">8</button>
</div></body></html>
181Name_Not_Found:2005/11/08(火) 17:23:25 ID:???
Mozilla系のVenkman みたいなDebuggerが、IE用にあったと思うんだが、探しきれない。
MSで出してた様に記憶してるんだけど、教えて。
182Name_Not_Found:2005/11/08(火) 18:16:36 ID:???
183Name_Not_Found:2005/11/08(火) 18:41:35 ID:???
>>182
おお、これはこれで有難い。早速インストール。
が、欲しいのはJScriptのデバッガっす。
184Name_Not_Found:2005/11/08(火) 18:57:42 ID:???
>>183
いつもFFでデバッグしているので使ったことは無いのだが、これとか話は聞くよ

http://www.microsoft.com/downloads/details.aspx?FamilyID=e606e71f-ba7f-471e-a57d-f2216d81ec3d&displaylang=ja
185Name_Not_Found:2005/11/08(火) 19:26:04 ID:???
>>184
おお、サンクス。
早速、インストールして使って見るよ。どもども。
186177:2005/11/08(火) 19:37:21 ID:???
>>180
thanks!!
187Name_Not_Found:2005/11/08(火) 23:40:40 ID:???
scrollIntoView()ってMozも実装してんのね
Mozって意外に盗むのうまいよな
188Name_Not_Found:2005/11/08(火) 23:45:39 ID:???
>>185
実際に使ってみてどんな感じだった?
189Name_Not_Found:2005/11/09(水) 00:18:53 ID:???
>>188
うーん、インストールに失敗した模様。明日ドキュメント読んでみようと思ってる。
>>181 で紹介してもらった DOMインスペクタは、グーだね。
190Name_Not_Found:2005/11/09(水) 01:48:04 ID:???
俺189じゃないけどスクリプトデバッガは結構使える。
IE標準のエラー表示が使えなさすぎってのはあるけど、エラー箇所をハイライトしてくれるだけでもありがたい。VSみたいに重くないし。
191Name_Not_Found:2005/11/09(水) 01:57:51 ID:???
だいぶ昔からあるねw
192Name_Not_Found:2005/11/09(水) 06:09:00 ID:???
>>180
ホレ。きみにふさわしい場所ですよ。
http://pc8.2ch.net/test/read.cgi/hp/1099993040/
193Name_Not_Found:2005/11/09(水) 07:55:12 ID:???
194Name_Not_Found:2005/11/09(水) 08:58:01 ID:???
なるほどな。
Firefox = 火狐
Gecko = 月光
なら、
Safari = 狩猟
か?でも、ピンとこんな。
些不安有とでもw
195Name_Not_Found:2005/11/09(水) 12:03:29 ID:6zRpTDSD
ものすっごい初歩的な質問なんですが 
ウィンドウを開いた時に後ろにもう一つ新しいウィンドウを開くことは可能ですか?
おねがいします^^;
196Name_Not_Found:2005/11/09(水) 12:20:06 ID:???
可能
197Name_Not_Found:2005/11/09(水) 13:42:30 ID:???
>>195
その問題が初歩的なものかどうか本当に分かって書いてるのか?
「初心者ですが」と同様、危険な言い訳語だと思うね。
198Name_Not_Found:2005/11/09(水) 18:19:39 ID:???
久しぶりにきたが、なんだ?この閑散ぶりは。
しかも、質問がちょー低レベル。
199Name_Not_Found:2005/11/09(水) 19:46:30 ID:???
配列の0-100に結構な容量のデータが入ってるとして、
それ以外の小容量の101や102を読み込むときに
重くなるということはありませんか?
200Name_Not_Found:2005/11/09(水) 20:18:06 ID:???
function内にエラーがあると
そのfunctionが永遠にループして実行されるんですが仕様?
昔はそんなことなかった気もします。

もちろんどこにも繰り返し処理させるような記述はありません。
変数名のミスタイプとかそういうレベルで起こります。
「オブジェクトがありません」とか「オブジェクトではありません」みたいな
エラーメッセージがちゃんと出るときはループは起こりません。
XPSP2 IE6です。
201Name_Not_Found:2005/11/09(水) 20:33:15 ID:???
>>200
プログラムは意図した通りには動かない。 『書いたとおり』 に動く。
202Name_Not_Found:2005/11/09(水) 20:55:00 ID:???
>>201
いや本当なんですよ。誰も呼び出してないのにループしてます。
次再現したらコード貼りますね。
203Name_Not_Found:2005/11/09(水) 21:00:09 ID:???
>>199
ないね。
>>202
楽しみにしてるよ。
204Name_Not_Found:2005/11/10(木) 05:54:47 ID:???
>>198
この荒れぶりなら2chすら慣れてない何もわからんやつか
ダメ元な香具師しか書かんだろうよ
205Name_Not_Found:2005/11/10(木) 09:23:41 ID:???
ECMAの新版か、W3Cがらみで post HTML.4.01でも出るまでは
こんな感じなのかもな。
つか、やっぱ、みんな勉強さえしてないちゅうことか。
206Name_Not_Found:2005/11/10(木) 09:25:53 ID:???
仕様を読んだことさえない連中がほとんどだしな
207Name_Not_Found:2005/11/10(木) 10:03:41 ID:???
HTMLの次というのはないんだよ(つかXHTMLがそれ)、
ほんとにWeb製作板の発言かね。
208Name_Not_Found:2005/11/10(木) 12:26:57 ID:???
過去ログ見れば「JavaScriptの本当に難しい問題」ならこの
スレでしか答えは得られないと分かるよ。めったにそういう
良い質問がないというだけで。通常レベルの質問は既に答えられ
てしまってるしね。
209Name_Not_Found:2005/11/10(木) 14:29:02 ID:???
>>208
>JavaScriptの本当に難しい問題
たとえばどんな問題?
210Name_Not_Found:2005/11/10(木) 14:51:24 ID:???
>>209
208ではないけれど、クロージャを使ったオブジェクト間の効率的なメッセージングとか
211Name_Not_Found:2005/11/10(木) 14:53:05 ID:???
外部XMLファイルを取得するのに
httpObj.open('get',URL,true);
(略)
if(httpObj.status==200){
xmlObj.load(httpObj.responseText);
alert('取得完了');
}
という流れと
xmlObj.load(URL);
(略)
if(xmlObj.hasChildNodes()){
alert('取得完了');
}
という流れでは結果変わりますか?
212Name_Not_Found:2005/11/10(木) 15:17:48 ID:???
>>271
xmlObjとhttpObjが何を指しているのかはっきりしないのだが、
俺の意図している通りだとすれば多分結果はかわる。

というか、上の形も下の形も問題を抱えているように見える
213Name_Not_Found:2005/11/10(木) 15:20:27 ID:???
214Name_Not_Found:2005/11/10(木) 16:11:58 ID:???
>>212
>何を指しているのか
xmlObj= new ActiveXObject('Microsoft.XMLDOM');
httpObj = new ActiveXObject("Microsoft.XMLHTTP");
です。
どういう問題ですか?

>>213
参考にしてちょっと試して見ます
215211:2005/11/10(木) 16:22:42 ID:???
>>213 の
if (xmlDoc.parseError.errorCode != 0)
いいですね。

実は問題だったのは
xmlObj.hasChildNodes()が全然信用できる動作をしてくれなかったので
代用でhttpObj.statusでロード完了を判定しようとしていました。
でもparseError.errorCodeを使って判定すると今のとこいい感じです。
もうちょいテストしてみますが。

xmlObj.hasChildNodes()は複数のxmlObjに対して連続して処理すると
trueを返すのに何も入ってなかったり。
216211:2005/11/10(木) 17:03:53 ID:???
連続カキコすんません。
parseError.errorCodeもやっぱダメくさいです。
問題は別のとこにあるのかも。
217Name_Not_Found:2005/11/10(木) 17:57:05 ID:???
>>209
洩れが今までで一番感動したのは、サーバからの再読み込みなど
一切なしでフレームの中に入っているページをそのままフレーム
解除するっていう奴。
>>216
そもそも、onreadystatechangeによるコールバックを利用してる
んだろうな?読み込み開始していきなりstate見たりしてもダメ
だろうからね。
218211:2005/11/10(木) 18:20:31 ID:???
>>217
onreadystatechange使ってませんでした。
結局こんな感じにまとまりました。

rObj = new Array();
function rssObjLoader(num){
 var now = new Date();
 var url = URL[num] + '?nc=' + now.getTime();
 rObj[num] = new ActiveXObject('microsoft.XMLDOM');
 rObj[num].onreadystatechange=function(x){
                        return function(){
                             if(rObj[num].readyState==4){Reader(num)}
                            };
                       }(num);
 rssObj[num].load(url);
}

>読み込み開始していきなりstate見たりしてもダメだろうからね。
不思議なんですが、読み込み直後にhasChildNodesを見に行ったとしても
childNodeがないならfalseを返してくれればいいと思うんですが
なんでtrueを返すんでしょう?
219Name_Not_Found:2005/11/10(木) 18:27:06 ID:???
asyncにしていなければ、コールバック使用しなくてもいいんじゃない?

>>218
> rObj[num].onreadystatechange=function(x){
ここから下4行がよくわからん。xは何に使うの?
220Name_Not_Found:2005/11/10(木) 18:45:34 ID:???
Function.call と Function.apply って何がどう違うんだい?
221Name_Not_Found:2005/11/10(木) 18:51:09 ID:???
>>219
このスレだけでいいから過去ログ全部読め。分かるから。
>>218
それやるんだったら「obj[x]」と「Reader(x)」だろうに。
222Name_Not_Found:2005/11/10(木) 19:07:11 ID:???
>>221
たぶん>>219は関数の入れ子が一つ不要である事を指摘してるだけだろう。
それやるも何も(笑)

>>218
//どうしても、hasChildNodes() == true が再現しない。
知ってるだろうが、一応、rObj[num].validateOnParse = false;
http://msdn.microsoft.com/library/en-us/xmlsdk/html/ae3121d4-ac48-4030-8f67-9009888e7113.asp
223Name_Not_Found:2005/11/10(木) 19:12:35 ID:???
>>220
読めばすぐ分かるだろ。何サボってるんだ。
ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/15-3_Function_Objects.html
224Name_Not_Found:2005/11/10(木) 19:32:12 ID:???
>>223
いや、そうじゃなくてさぁ…

これらは、どう使い分けるんだ?というか、
callに意味あるのか?というか、
なんで2つあるんだ?というか、
call, apply に分けてどういうところで役に立つんだろうか?というか…

何がどう違うんだい?
225Name_Not_Found:2005/11/10(木) 19:43:55 ID:???
>>207
もっと心を読み取るようにしろ。
post HTMLというのは、versionのことではないだろ。
226218:2005/11/10(木) 19:54:36 ID:???
>>221
あれ?ほんとだ。でもこれ動いてますよ?

>>219
ロードするのがひとつだとasyncでもいいかもしれないけど
複数になってくるとほとんど固まった状態に。
OS自体応答しなくなって強制終了したこともあります。

>>222
何も指定しなければvalidateOnParseはfalseになってるということですね?
知りませんでした。まだ生半可なもので。
227218:2005/11/10(木) 20:12:28 ID:???
>>226
間違えた
ロードするのがひとつだとasyncでもいいかもしれないけど
                 ↓
ロードするのがひとつだとsyncでもいいかもしれないけど
228Name_Not_Found:2005/11/10(木) 21:01:58 ID:???
>>224
それはLispやってると分かるんだけど、引数を組み立てて呼ぶ
時は配列に入れて渡したいし、引数があらかじめこれとこれって
いう風に決まっている時はひらに書きたい。だから両方あるのが
普通なんだよな。
>>226
それはさあ、numがもともと関数のパラメタでループとかも
掛けてないから途中で書き換えられないためOKなんだよね。
この場合はだからわざわざfunction(x){return function ...}(y)
にする必要はないわけさ。
229Name_Not_Found:2005/11/10(木) 21:26:26 ID:???
>>217
> そのままフレーム解除
お、それすごいな。どうやるん? 過去ログとかWebページとかにあるのかな? ヒントよろー
230Name_Not_Found:2005/11/10(木) 21:49:29 ID:???
>>228
apply と call あんま差は無いって事ね。了解っす。
231Name_Not_Found:2005/11/10(木) 23:32:56 ID:3b0zt77T
画像をクリックすると別の画像になって、
もう一度クリックすると元の画像に戻るを繰り返す

こんなかんじ
A→クリック→B→クリック→A→・・・

これを同じHTML内に複数設置するにはどうしたらいいの?
ちなみに一つの場合は、

<SCRIPT LANGUAGE="Javascript"><!--
// 画像のURLを配列にセットする
// IMG_LIST = [ "画像1", "画像2", ・・・]

var IMG_LIST = [ "1.gif", "2.gif"];

var SW = 1;

function IMG_CHANGE(){

document.getElementById("IMG01").src = IMG_LIST[SW];

SW += 1;

if ( SW >= IMG_LIST.length ) { SW = 0; }
}
// --></SCRIPT>

<IMG ID="IMG01" src="1.gif" onClick="IMG_CHANGE()">

なんだけど。複数設置するにはどこをいじったらいいのか教えてください。
232Name_Not_Found:2005/11/10(木) 23:38:05 ID:???
フレーム解除?
親ドキュメントでdocument.write()すればいいだけじゃねーの?
誰でも思いつくようなw
233nullpo:2005/11/10(木) 23:52:48 ID:???
>>231
こちらに移動したほうがいいと思いま〜す:
http://pc8.2ch.net/test/read.cgi/hp/1099993040/l50
(手とり足とり教えるJavaScriptスレ)
234Name_Not_Found:2005/11/11(金) 00:01:37 ID:???
null隔離スレなんかに誘導するな
235Name_Not_Found:2005/11/11(金) 00:04:49 ID:???
>>232
document.write()じゃ駄目だったような。過去ログ探せば
見つかると思うけど。そうだ、逆だったかも。つまり
フレームでない状態からフレームの中に入るという…
>>231
IMG_CHANGE()をパラメタつけてIMG_CHANGE('IMG01', 1)とか
いう呼び出し方にして、定義側でもIMGの名前と画像番号を
パラメタ参照するように直す。その説明で分からなければ
それ以上説明したくないので手取り足取りに行ってくれ。
236Name_Not_Found:2005/11/11(金) 00:10:01 ID:???
237232:2005/11/11(金) 00:31:32 ID:???
>>235 >>236
個人的にはクロスブラウザメンドクつーかメンドクセお題だなとw
(良い意味ですよw逆にそれだけ皆さんご苦労されてますなって事w)

238Name_Not_Found:2005/11/11(金) 01:20:50 ID:???
ひとつ質問させてください。

var obj.func = function (x){
・・・・・
}(this);

の「(this)」ってどういう意味なんでしょう? どういう使い方するのでしょうか?
239Name_Not_Found:2005/11/11(金) 01:26:09 ID:???
個人サイト運営してる人ってクロスブラウザとか考えてます?
もし考えてるのならどのバージョンまでサポートしてますか?
240Name_Not_Found:2005/11/11(金) 01:33:27 ID:???
>>238
ファンクションクロージャと一般的に呼ばれる機能の一部。
具体的には、無名関数に引数を渡すことによって、その結果を代入している。

まず意味を説明すると、例えば、
var i = function(x){ return x + 3; }(7);
という文があった場合

1:関数自体は function(x) { return x+3; } からわかる通り、
引数に3を足して返す関数であるのはわかるよね。

2:もし、function plus_three(x) { return x+3; } という文があれば、
var i = plus_three(7);
とあれば、iには10が代入されるのはわかるよね?

3:よって、下の式
var i = function(x) { return x+3; }(7);
これは、一時的に関数を作って、その関数を直後の引数(この場合は7)で呼び出して
その結果(この場合は7+3=10)を代入しているということになる。

とりあえず上がわかったら次は使い方だけど…
241Name_Not_Found:2005/11/11(金) 01:49:08 ID:???
非力なマシンでもサクサク動くようにメモリの使用量を減らしたいです。
javascriptでは何に気をつければいいですか?
242Name_Not_Found:2005/11/11(金) 03:01:16 ID:???
>>240
すごいよくわかった!
ありがとうございます!

でも確かにこれをどう使うかですね。

一番最初にそれを見たのはgravinessさんのこのソース
http://www.graviness.com/jslibrary/graviness-sys-Common.js

じゃあこの場合は、たとえば
window.errorMessage = function() {
return location.protocol != "file:" ?
function(message) {alert(message);} : function(message) {};
}();
であれば、window.errorMessage に引数無しのfunctionを代入してるってことでしょうか。

>218 さんのソースであれば、function(x) の x にnumが入った値がonreadystatechange に代入されるということでしょうか。
243Name_Not_Found:2005/11/11(金) 03:09:29 ID:???
>>241
あまり大きなものをメモリに格納しないこと。
244Name_Not_Found:2005/11/11(金) 03:13:48 ID:???
functonを小分けにしてスコープを意識する
245Name_Not_Found:2005/11/11(金) 04:20:12 ID:???
>>242
その場合、意味が無いから、
window.errorMessage = location.protocol != "file:" ? function(message) {alert(message);} : function(message) {};
と書いた方が優しい。
246Name_Not_Found:2005/11/11(金) 04:22:23 ID:???
□ JavaScript を有効にする

アクティブ スクリプト
○ダイアログを表示する
◎無効にする
○有効にする
247Name_Not_Found:2005/11/11(金) 05:49:03 ID:???
>>242
- 「( )」で関数式や関数宣言を囲まずに実行するのは、
  JScript で問題なくても、文法違反である。実際、Gecko ではエラー。
- >>240 は、クロージャというより、i と同じスコープに
  変数名や関数名を増やしたくない故の工夫であるに過ぎないが、
  分かっているのだろうか。
- まず、テンプレの邦訳サイトにあるスコープチェイン
  に関するまとめを読んだ方が良い。
// 宗教的でどうでも良いことだが、インデントにタブが使われているソースは例外なく(略。
248Name_Not_Found:2005/11/11(金) 06:08:14 ID:???
>>247
タブ使うとなんかマズいん?
249Name_Not_Found:2005/11/11(金) 06:17:10 ID:???
>>248
マズくない。C-F8 する時に宗教による苛立ちが生じるだけ。
>>242
典型的なクロージャ。
function getNumToFun(n) {return function () {alert(n); n++;}; }
var num = 0;
var fun = getNumToFun(num);
fun();// 0
fun();// 1
fun();// 2
alert(num);// 0
まず、重要なのは、(静的な、ソース依存の、非実行時) スコープ、そして、名前。
直感的にも、実質的にも、get the function that is related to the number
だから、getFunToNum みたいに命名して問題無いのだが、
意味として、the number that is related to the function
があるから、わざわざ、getNumToFun という変な名前にしてみた。
(ただし、普通は、getCounter とか、makeCounter とかにするだろう。)
250241:2005/11/11(金) 06:41:12 ID:???
>>243,244
なるほど。ほかメモリ関係だけでなくてコツありませんか?

自分的にはこうした方が軽い気がします。
・ループ回数が多いならforを使わずsetTimeoutとかで10ぐらい間をおいて呼び出しなおす
・forでバッファ用変数にデータを一気に格納してからinnerHTMLで書き出すより
こまめにinsertAdjacentHTMLで書き出してその都度変数を空にする
251Name_Not_Found:2005/11/11(金) 08:20:58 ID:???
>>250
苦労してるなあ・・・
252Name_Not_Found:2005/11/11(金) 09:19:18 ID:???
>>247
こういう知ったか厨が一番厄介だ…
253Name_Not_Found:2005/11/11(金) 10:46:30 ID:???
>>250
そこまで気にするようなのは設計がおかしい気も駿河。
サーバーサイドで出来るものはCGIにする。
どうしてもクライアントで展開が必要なら、起動時間がかかるけどJAVAアプレットにする。
254Name_Not_Found:2005/11/11(金) 10:46:51 ID:hRv2H2wo
textareaに入力された文章をそのページのタイトル付きで_privateフォルダに送信させたいのですが、どんなスクリプトを書けばよいのでしょうか?
WinXP,IE6.0です。
255Name_Not_Found:2005/11/11(金) 10:48:26 ID:???
フォルダに送信なんて出来ません。
256Name_Not_Found:2005/11/11(金) 10:55:37 ID:???
>>253
それはそれとして、JavaScriptでどのようにメモリが消費されるのかは
興味があるところだな。

GCされてんのかな、ちゃんと。
257Name_Not_Found:2005/11/11(金) 11:09:46 ID:???
GCはされてます。当然じゃん。
もっともJavaScript 1.1くらいまでは怪しいもんだったらしい。
258Name_Not_Found:2005/11/11(金) 11:42:36 ID:???
>>257
本当にちゃんとされているのかな…特にIE。
メモリ使用量が普通じゃないくらい増えることが多いんだけど。
259Name_Not_Found:2005/11/11(金) 11:53:26 ID:???
DOMツリーにひっつけてしまったものは確かに怪しいかも
しれない。
260Name_Not_Found:2005/11/11(金) 12:06:41 ID:xaCbv8im
http://www3.kcn.ne.jp/~tomate/JavaScript/color_calcu.html

このページでは、「R+」や「R-」等をクリックすると、"■"のRGBの値が
それぞれ16ずつ増減します。
これを、ボタンを押してる間は数字が増え続け(減り続け)、ボタンを離すと
増減が止まるようにできないでしょうか?
(上記ページは、私が造ったものではありません。)
増え続け(減り続け)るのは、ループさせればいいと思うのですが、
それを止める方法がわかりません。
過去スレももちろん検索したのですが、いい方法が見つかりませんでした。
よろしくお願いいたします。
261Name_Not_Found:2005/11/11(金) 12:11:13 ID:???
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/ietechcol/dnwebgen/ie_leak_patterns.asp
JavaScriptのオブジェクトとDOMオブジェクトの間での循環参照はまずいらしいな。
とりあえずattachEventしたらdetachEventも呼んどいたほうが安全ということらしい。
262260:2005/11/11(金) 12:36:46 ID:???
>>260です。
要は、ボタンを長押ししてる間は数字が増え続けたり減り続けたりして、
クリックする事で一ずつ数字が増減して微調整できるようにしたいんです。
263Name_Not_Found:2005/11/11(金) 12:37:56 ID:???
>>260
onmousedownでsetIntervalを使って一定時間間隔で
増やす/減らす動作を起動し、onmouseupで止める。
単なるループじゃ一瞬で最大/最小になっちゃうからだめ。
以上が方針で、あとは自分で作れ。作っていて判らないこと
があれば質問受け付けるよ。
264Name_Not_Found:2005/11/11(金) 12:46:10 ID:???
>>260
増減のきざみを8,16,32,64等のように分けてもいい希ガス
265260:2005/11/11(金) 12:56:14 ID:???
>>263-264
アドヴァイスありがとうございます。
方針すらたってなかったので助かりました。
がんばってみます。
266Name_Not_Found:2005/11/11(金) 14:03:31 ID:???
どのような使い方をするとメモリの使用量が増えていくのかを
チェックするのは意義のありそうな研究になりそうだな。
267Name_Not_Found:2005/11/11(金) 14:28:55 ID:???
Firefoxを一日中使ってるとメモリを100MB以上消費しちゃうけど関係あるの?
268Name_Not_Found:2005/11/11(金) 14:29:56 ID:???
>>267
あるかもしれん
269Name_Not_Found:2005/11/11(金) 14:59:50 ID:???
>>260 書いてみた。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var n = 10000, e, timeid;
function cnt(d) {
e = document.getElementById('d0'); e.innerHTML = (n += d); stop();
timeid = setInterval(function() { e.innerHTML = (n += d); }, 50);
}
function stop() { if(timeid != null) clearInterval(timeid); timeid = null; }
</script>
</head><body>
<div id="d0">10000</div>
<p><button onmousedown="cnt(1)" onmouseup="stop()">+</button>
<button onmousedown="cnt(-1)" onmouseup="stop()">-</button></p>
</body></html>
270Name_Not_Found:2005/11/11(金) 15:17:47 ID:???
>>247
: - 「( )」で関数式や関数宣言を囲まずに実行するのは、
: JScript で問題なくても、文法違反である。実際、Gecko ではエラー。

どこのGecko使ってるんだか。関数式と関数宣言で全然違うだろ。
関数宣言はもともと囲めない。関数式は囲む必要なんかない。半可通すっこめ。

FunctionExpression → funciton [Id] ( FromalParameterList ) { FunctionBody }
MemberExpression → FunctionExpression | ...
CallExpression → MemberExpression Arguments | CallExpression Arguments | ...
Arguments → ( ) | ( ArgumentList )

ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/A_Grammar_Summary.html
271Name_Not_Found:2005/11/11(金) 15:29:27 ID:???
>>270
ここまでひどいアホは珍しいが、がんばってスルーしていこうぜ
272260:2005/11/11(金) 15:30:20 ID:???
>>269
ありがとうございます。
まさに私がやりたかった感じです。
よく理解した上で使わせていただきます。
ありがとうございました。
273Name_Not_Found:2005/11/11(金) 20:58:57 ID:???
PHPのis_*、var_dumpやPerlのrefのように型を取得する関数ってありますか?
274Name_Not_Found:2005/11/11(金) 21:02:16 ID:???
>>273
「typeof なんとか」ECMAの言語仕様(>>5からたどれる)
を読んでチェックしてから使わないと期待と違うかも知れないが。
275Name_Not_Found:2005/11/11(金) 21:10:02 ID:???
>>274
有難うございます! 期待通りの関数です。
javascriptは変数にひとつしか型が存在しないと言う事で、諦めかけてたんですが良かったです。
276Name_Not_Found:2005/11/11(金) 21:27:31 ID:???
すっこめLISP厨を、そろそろ荒し認定してもらうってのはどうだろう
277241:2005/11/11(金) 21:27:42 ID:???
>>251
え?みんな苦労してないんですか?

>>253
あえてそこをjavascriptだけで。
>>250 みたいにやるとほんと劇的に軽くなりました。
なんというかCPU時間を独占しないように?するといいみたいです。

>>256
GCってなんすか?

>>258
htaも大したことしてないのに15−20M使ってますね。
なんとかならないものですか?
278Name_Not_Found:2005/11/11(金) 21:33:55 ID:???
>>277
> GC
たぶんゲームキューブ
279Name_Not_Found:2005/11/11(金) 21:34:30 ID:???
>>270
違う。全読してから出直せ。
280Name_Not_Found:2005/11/11(金) 22:07:54 ID:???
>>277
まさか時間待ちをタイトループでやってたってことは…
そりゃsetTimeoutとかにするべきだろう。
281Name_Not_Found:2005/11/11(金) 23:09:08 ID:???
>>247 の言っていること
js> var a; function x() {a = 2;}();
SyntaxError: syntax error:
js> x();
ReferenceError: x is not defined
js> var b; (function y() {b = 3;})();
js> b;
3
js> y();
ReferenceError: y is not defined

>>270 の想定する文脈
js> var c = function z() {return 4;}();
js> c;
4
js> z();
ReferenceError: z is not defined
282241:2005/11/11(金) 23:55:23 ID:???
>>278
(´・∀・`)ヘー

>>280
さすがにそれはないです
283Name_Not_Found:2005/11/12(土) 00:02:49 ID:???
>>281
ああなるほど、分かったよ。最外側に代入も何もなしで関数
リテラル(のつもり)を書くと関数宣言と解釈されるという問題ね。
それはそもそも関数リテラルじゃないから。

で、結局こういう特別な場合以外はかっこ不要なんでしょ。
だいたいが関数リテラルに名前書かなければ無問題。本当に
再帰のため名前を必要とする関数リテラルを最外側に書こう
としたなんて相当運が悪い。つか、まじにそんなの必要?
284Name_Not_Found:2005/11/12(土) 00:06:11 ID:???
すまそ、最外側には名前なしでも関数リテラル書けないや。
285Name_Not_Found:2005/11/12(土) 01:01:40 ID:???
>>282
だまされんな!
ガンダム・コレクションだ。
286派生スレの1:2005/11/12(土) 02:28:04 ID:???
あっちのスレに隔離してた彼なんだけど、なんか出てっちゃった…(´・ω・`)
もしこっちにもどってきたら、
ごめんなさい。
ごめんなさい。
ごめんなさい。
ごめんなさい。
287Name_Not_Found:2005/11/12(土) 02:37:55 ID:???
var b; (function y() {b = 3;}) ();

ん?これはなぜ文法が通るの?最初の括弧は文法上なにになるの?
288Name_Not_Found:2005/11/12(土) 03:00:17 ID:???
>>287
括弧
289Name_Not_Found:2005/11/12(土) 06:29:31 ID:???
>>287
関数定義文自体をそのまま関数として使ってるんだろ。;
function y(){var b=3;}
b;//(いらんか)
y();
といっしょ。

>>277
君がゲームオタクやガンオタにもてあそばれるのを見れられない。
GCは


マジレスすると




ガレージコレクション
290Name_Not_Found:2005/11/12(土) 06:30:38 ID:???
キャベジンコレクションだったかな?
291Name_Not_Found:2005/11/12(土) 06:35:50 ID:???
>>289
ごめん、さっぱりわからない。
(function y() {b = 3;}) ();
後ろの括弧は関数呼び出しだよね?ってことは前の括弧は関数を指すんだろうけれど、

function name(arg) { /*block*/ }
↑これ自体がそのまま関数としての実体を持つということなのかな?

とすると、
var x = function abc() { alert(""); };
という書き方も出来るの?

この場合、abcの使えるスコープはどこになるんだろう
292Name_Not_Found:2005/11/12(土) 09:00:04 ID:???
>function name(arg) { /*block*/ }
>↑これ自体がそのまま関数としての実体を持つということなのかな?
そういうこと。
×>var x = function abc() { alert(""); }
関数呼び出しの括弧(?)がないでしょ。つーかxに何いれるつもり?
var x=(function abc(){alert("");return false;})();
とかだろ?
それかそれなら無名関数使えよ。
var x=function(){alert("");};
これならxは関数への参照変数。

>>281
前段は括弧なしで通らない後段は通る、違いは何?
確かにそうだが、原理がよく分からん。
後段は定数をそのまま返してるからOKなの?
ちなみにアラート分は括弧が必要。
293Name_Not_Found:2005/11/12(土) 09:01:27 ID:???

>>291
JavaScriptには「関数定義」(名前を指定して関数を定義する)と「関数
リテラル」(名前を持った関数は定義せず、単に関数オブジェクトを
表現するだけ)とがある。次の2つはおおむね等しい。

function add(x,y) { return x+y; } // 関数定義
var add = function(x, y) { return x+y; }; // 関数リテラルの代入

この先がややこしいんだけど、関数リテラルの中で再帰呼び出しつまり
自分自身を呼び出したい場合に備えて関数リテラルでも名前がつけられる。

var f = function fact(n) { return (n==0)? 1 : n*fact(n-1); };

この場合、「fact」という名前のスコープは関数リテラル本体の中だけ。
つか、ECMAちゃんと読めば載ってるんだけどね。
>>290
ガベージコレクションの説明が読みたければWikipediaでもどうぞ。
ttp://ja.wikipedia.org/wiki/%E3%82%AC%E3%83%99%E3%83%BC%E3%82%B8%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3
294Name_Not_Found:2005/11/12(土) 09:02:30 ID:???
よく分からん香具師にズババババーン
var a,b,c,z;
function hoge(){
piyo();x();
c=y(1);
alert('y関数の戻り値:a=' + a + '\tb=' + b + '\tc=' + c + '\na=function y(){return z+2;})();\nfunction y(z){return z+1;}\nc=y(1);//hoge内');
}
function piyo(){
(function x(){alert("これはhoge内のX関数");})();
x();
z=1;
a=(function y(){return z+2;})();
b=y(1);
}
function x(){alert("これは外で定義されたX関数");}
function y(z){return z+1;}
295Name_Not_Found:2005/11/12(土) 09:05:18 ID:???
>>294
喪前のは何の説明にもなっとらん。読む気にもならん。
296Name_Not_Found:2005/11/12(土) 09:12:00 ID:???
>>293
>この先がややこしいんだけど、関数リテラルの中で再帰呼び出しつまり
>自分自身を呼び出したい場合に備えて関数リテラルでも名前がつけられる。
そういう意味なんだ。てっきり名前空間の問題だとorz

>ガベージコレクションの説明が読みたければ
ネタなんだけど・・・ガンダムコレクションじゃたどり着けないかなっとorz
297Name_Not_Found:2005/11/12(土) 09:43:09 ID:???
>>294>>247のこと
>>293>>270の類の説明。
>>281参照
var y=0;
var d =function x(){alert(y++);return (y<10)?x():1;}();
こうとか。
298Name_Not_Found:2005/11/12(土) 10:04:58 ID:???
これってどうなの?
http://www.jslint.com/
299Name_Not_Found:2005/11/12(土) 12:10:20 ID:???
>>297
何を解説したいのか分からないので説明よろ。
300Name_Not_Found:2005/11/12(土) 13:44:44 ID:???
>>293
なるほど、再帰などの可能性に備えて名前がつけられたのですか。
わかりやすくおしえてくれてありがとう
301Name_Not_Found:2005/11/12(土) 13:50:01 ID:???
大したことないことで長引くな
302Name_Not_Found:2005/11/12(土) 19:52:53 ID:???
>>298
こうかいたら怒られた。
if (!window.test) alert(1);
正直 { } 省略のどこが悪いのかワカラン。
303Name_Not_Found:2005/11/12(土) 22:17:19 ID:???
見た目
304Name_Not_Found:2005/11/12(土) 22:49:29 ID:Zf4Ae0uu
フレーム構成のページでタブキー押した時の制御が解らなくて困っています。
例えば、flam1.htmlにhoge1.gifという画像とflam2.htmlにhoge2.gifという画像があるとします。
この時、flam1.htmlのhoge1.gifにフォーカスがあたっているときにタブキーを押下して
flam2.htmlのhoge2.gifにフォーカスがあたるようにするにはどう記述したらいいでしょうか?
よろしくお願いします
305Name_Not_Found:2005/11/12(土) 22:54:51 ID:???
>>303
(゜Д゜)ハッ 冗談だろ?
306Name_Not_Found:2005/11/12(土) 22:57:54 ID:???
>>304
両方の要素の tabindex の値を同じにしてもだめなら、
JSでフラグでもたててやるしかなさそうだねえ。
307Name_Not_Found:2005/11/12(土) 23:06:02 ID:???
どうしてもやりたいならonkeydownイベントを取得して、かなぁ?
やったことないし、ブラウザ依存くさいけど。
308304:2005/11/12(土) 23:12:01 ID:???
>>306,307
レスどうもです。
tabindexについてちょっとググッてみたんですけどHTMLのフォームでもタブキー制御ってできるんですね
最初からjavascriptのイベントでしか出来ないと思ってました。
ブラウザはIEさえできればいいので問題ないと思います。
あ〜あ。でも、フレーム構成ってのがホント面倒だな。って愚痴ってもしょうがないので試してみます
有難うございました
309Name_Not_Found:2005/11/12(土) 23:24:46 ID:???
>>305
大マジ
310Name_Not_Found:2005/11/13(日) 01:13:33 ID:QEkp3U97
(´・ω・`)ノ 
HTML内のJS記述部分と外部JSファイルが競合してエラーが出るって
ことはありますか?
311Name_Not_Found:2005/11/13(日) 02:56:36 ID:???
ある
312Name_Not_Found:2005/11/13(日) 10:57:45 ID:???
>>310
当り前じゃん。全部混ぜて1つのプログラムとして動くんだもん。
313Name_Not_Found:2005/11/13(日) 13:05:32 ID:???
便乗だが、競合するのはわかるが’エラーが出る’って実際どういう場面?
<script language="JavaScript" src="f_hoge1.js"></script><!--a:中にhoge()-->
<script language="JavaScript" src="f_hoge2.js"></script><!--b:中にhoge()-->
<script language="JavaScript">
function hoge(){return 1;} //c
function piyo(){alert( hoge());}
</script>

この条件で色々試すと、cがあるとすべてc適用。
a・bは後に指定された方のJSファイルが適用されて
一向に競合でエラーが出る気配が無いんだけど・・・・

>>310のエラーが再現できません。
314Name_Not_Found:2005/11/13(日) 13:20:38 ID:???
変数の値が数字や文字のつもりで参照しても、
オブジェクトだとエラー出る処理もあるね。
315Name_Not_Found:2005/11/13(日) 13:42:28 ID:???
なるほど競合自体で怒られる訳じゃなくて
競合して参照先の関数が正しく参照されなくて
エラーになるってことね。
>>313のcがあるならcを呼び出して問題が無いけど
(それでc記述なのに外部ファイル呼ぶつもりではそいつの注意力不足)
cがなくて外部ファイルで関数名が競合してるときに
参照の書き順によって正しく参照されないよってことで宜しい?
316Name_Not_Found:2005/11/13(日) 13:53:15 ID:???
>>315
なんか考え方が斜めをいっているというか。
ローカル変数として宣言するとか、構造を見直すとかすれば、それほど悩む問題ではないと思う。
あちこちから拾ったコードをつぎはぎで使いたいって話なら、エラー出たときに悩めばいいよ。
自分で外部ファイルとして配布したいとかなら、ユニークな名前使えばなんとかなるしょ。
317Name_Not_Found:2005/11/13(日) 14:01:19 ID:???
どうも、310です。
会社に提出したら社長がいじってからクライアントに提出したそうで、
「なんかエラーが出るから直してくれる?」ていうんですお・・・。

クライアントのページに追記する形らしいので、エラーが出るのは
同じ変数を違うフェーズで使っていて変な動作してるとか
そういうことかなと思ったのですが
(´・ω・`)自分もドシロウトなのでトーシローの書いたプログラムが
読みにくくて困ってます・・・

HTMLに追記する部分を最低限にしたいのですが
変数だけHTMLに<SCRIPT>〜</SCRIPT>内に書いて
実際の処理は外部JSファイルで処理するのには
制限がありますか? 構文さえちゃんとしてれば動きます?
318Name_Not_Found:2005/11/13(日) 14:01:23 ID:???
そこで前に話が出て来た
function hoge(){(function piyo(){return 1;})();}
とかで名前空間を汚さないようにするんですよ、

とかの話?
319Name_Not_Found:2005/11/13(日) 14:13:04 ID:???
(´・ω・`)名前空間てナンですか?
320Name_Not_Found:2005/11/13(日) 14:14:25 ID:???
>>310
全部外部ファイルで処理もできるはずだ。
>フェーズ
何それ?
競合がエラーの原因だとおもうなら、
自分の使う変数を定義前に参照してみれば?
alert(hoge);とかで
で未宣言の変数を参照してますみたいなエラーが出れば使ってないってこと
[object][unidentified]
う〜ん。別の名前にすれば?

あと、よくやるのが自分の変数・関数の頭に自分しかつけない文字入れて
他と区別する(ユニークにする)
var nullshine_hoge;
function nullshine_piyo(){//〜}
これでエラーになれば、原因は他にあるってことだ。
>>319そんくらいググれよ・・・
322Name_Not_Found:2005/11/13(日) 14:19:24 ID:???
>>317
>実際の処理は外部JSファイルで処理するのには
例えばIEでエラーの行数見るには、外部ファイルでエラーが出るとエラー行数が狂う。
エラーを追跡したいのなら1つのファイルでいじって、動くのを確かめてから外部ファイルに追い出せば楽になるかもしれない。

>「なんかエラー」
といわれても、エラーを再現してエラー行数やメッセージの確認しないとどうしようもない訳で。

>構文さえちゃんと
プログラム(スクリプト)は思うようには動かず、書いた通りにしか動かない。

>>318
全てfunction内でvar宣言してあれば、汚染はしないわけじゃないけど意識しなくてもいいはず。そこらへんはよく知らない。
323Name_Not_Found:2005/11/13(日) 15:10:35 ID:???
>全てfunction内でvar宣言してあれば、汚染はしないわけじゃないけど意識しなくてもいいはず。
だが、あほは変数をグローバルに置きたがる罠w

実験してみた。
<script language="JavaScript" src="f_hoge1.js"></script><!--a-->
<script language="JavaScript" src="f_hoge2.js"></script><!--b-->
<script language="JavaScript">
function piyo(){
alert( 'main->piyo()呼び出しhoge()内の変数a:\t' + hoge());
alert( 'main->piyo呼び出しpooh()内の変数a\t:' + pooh());
alert('mainの変数a:\t' + a);}
</script>
[f_hoge1.js]
var a='f_hoge1ー>a';
function hoge(){alert('f_hoge1->hoge内の変数a:\t' + a);return a;}
function pooh(){alert('f_hoge1->pooh内の変数a:\t' + a);return a;}
[f_hoge2.js]
var a='f_hoge2->a';
function hoge(){alert('f_hoge2->hoge内の変数a:\t' + a);return a;}

見事にpooh参照のaは'f_hoge2->a';。HTML参照も'f_hoge2->a';
324Name_Not_Found:2005/11/13(日) 15:18:32 ID:pxBfBJpq
あー・・・いまいじくってみたら、クライアント側のスクリプトがおかしいことが
確定しました。(´・ω・`)

自分は機能拡張の追加プログラムさえ書けばいいということで、
ただの機能確認のためのサンプルにはエラー出ないので
社長にはこのまま出すです・・・
結局のところ、クライアントのほうのページには手を出せないので・・・。(´・ω・`)

クライアントのほうの現在のページ表示の際にエラーが出ないで、
自分のほうのサンプルでもエラーが出ないで、
自分のJSを追加したらクライアントのページでエラーが出るように
なるということは、組み合わさると変な動きをしてしまうということですよね?

(´・ω・`)こういうとき、どう対処したらいいのかな。
むしろクライアントのページ全部書き直したいくらいなんだけど、
そういうわけにもいかないのがツラス。
325Name_Not_Found:2005/11/13(日) 15:32:41 ID:???
>>310
それでいいならいいけど、おれがクライアントなら普通それで納得しないよ。
-おまえんとこのコードがおかしいんちゃうんか?
-このサイトに合わせて作ってくれと発注したはずだ。
大体どっちがおかしいか原因を明確にしないと納得できないだろ。
まあ低レベル同士なんで結局なあなあにできる可能性大だが。
326Name_Not_Found:2005/11/13(日) 15:36:28 ID:pxBfBJpq
(´・ω・`)ごめんなさい。
更にいじくってみたら、変数名がクライアントのページにもともとあった
JSの変数名とかぶっていたことがエラーの原因だったぽ・・・。
で、>>316さんのいうようにユニーク名使ったら即解決ですた。

(´・ω・`)ノシ おさわがせ&ありがとうございました。
これで堂々と納品できまつ。
327Name_Not_Found:2005/11/13(日) 15:46:54 ID:???
>>326
で、この体たらくだ。
最初から変数名チェックすれば良いものを・・・
ちなみにその変数名晒してみ?
君とサイト受注者のレベルが分かる。変数名aならネ申。

ちなみに同じことで今度は自分がクレーム入らないように
使用するすべての変数・関数に統一したユニークな頭文字をつけて納品することだ。
カキコ記念で’aho310_’とかの頭でいいのでは?var aho310_a;
328Name_Not_Found:2005/11/13(日) 15:58:57 ID:???
HTC にすれば、ファイルを越えて名前が競合することは無い。HTC の実利はこれに尽きる。
XBL にすれば、onxblconstructor などのプロパティが窓口として消極的に開放されているが、
XBL の要素間で変数の競合は無い、関数内部扱いだから。ましてや、ファイルが違えば(略。
以上で、今時の JS ブラウザシェアをほぼ 100% カバーできる。
どうせ、Opera や Safari には個別対応しなきゃならんのだから、これで良い。
329Name_Not_Found:2005/11/13(日) 16:20:26 ID:???
>>327
Arrayでした。
クライアントのほうの変数では、a、d、i、x、pなどの変数名がありました・・・。
(´・ω・`)ネ申ですか?

ちなみに、自分は人のソースもらっていじくる程度、受注者(社長)については
JavaScriptほとんどまったく知らんそうです。
330Name_Not_Found:2005/11/13(日) 16:43:20 ID:???
js> gc()
before 2088, after 2070, break 00000000
js> new [].constructor(4).toSource()
[, , , , ]
js> gc()
before 2097, after 2070, break 00000000
js> a = new [].constructor(4).toSource()
[, , , , ]
js> delete a
true
js> gc()
before 2106, after 2070, break 00000000
js> Array = "Array"
Array
js> gc()
before 2070, after 2070, break 00000000
js> new Array
9: TypeError: Array is not a constructor
js> new [].constructor()
10: TypeError: Array is not a constructor
js> a = [1, 2, 3]
11: TypeError: Array is not a constructor
js> delete Array
true
js> Array
function Array() {[native code]}
js> gc()
before 2520, after 2511, break 00000000
331Name_Not_Found:2005/11/13(日) 17:10:34 ID:???
>>329
もちろん影響受けるってことはグローバルに置いてるんだよね。
救いようのないネ申だね。
332Name_Not_Found:2005/11/13(日) 17:44:28 ID:TsUxXDIm
こんにちわ
早速ですが質問させてください

<body>内からjava script用いて
<head>内にMetaタグを挿入することは可能でしょうか?
教えてくださいまし...
333Name_Not_Found:2005/11/13(日) 18:01:22 ID:???
>>332
可能
334Name_Not_Found:2005/11/13(日) 18:05:47 ID:???
>333
ありがとうございます
できればどう書くか教えて欲しいでのですが
オネガイします
335Name_Not_Found:2005/11/13(日) 18:08:10 ID:???
336Name_Not_Found:2005/11/13(日) 19:16:48 ID:???
しかしそもそも後からDOMでmetaを挿入して最初から
あったのと同じに動作するかどうか?どんなmetaを
挿入したいのか。
337Name_Not_Found:2005/11/13(日) 20:34:27 ID:???
うん、http-equiv 使うのは後から置いても意味ないと思う。
普通の name 使うのならブラウザによってはいけると思う。
338332:2005/11/13(日) 20:45:01 ID:???
ありがとうございます

挿入しようとしてるのは
<meta http-equiv="refresh" content="*; url=***">
なんです
やっぱり後から置いても意味ないですか...
339Name_Not_Found:2005/11/13(日) 20:53:43 ID:???
>>338
をいをいw
setTimeoutで(ry
340332:2005/11/13(日) 21:10:43 ID:???
>>339
あ・・・
そうですね
頭固くなってました・・・
setTimeout("location.href='***';", ***);
これで大丈夫ですね・・・

ごめんなさい、お世話になりました
341たか:2005/11/13(日) 23:20:24 ID:???
うたまっぷ(ttp://www.utamap.com)のように
ActiveXをオフにしていると何も見えなくて
オンにしていると表示されるけど印刷できない
というようにするにはどうしたらよいでしょうか
342Name_Not_Found:2005/11/13(日) 23:26:21 ID:???
つーか、あの程度で金とろうとするのは詐欺じゃなかろうか。

343Name_Not_Found:2005/11/13(日) 23:32:26 ID:???
>>341
Flashのこと聞いてる?
344341:2005/11/13(日) 23:52:50 ID:???
>>343
うたまっぷで歌詞を見ると、ActiveXをオンにしていると歌詞が
表示されますが印刷することができません。
オフにしていると歌詞自体が表示されません。
そんな感じのHPを作成したかったのですが、てっきり
JavaScriptでやっていると思ったのですが。。。
345Name_Not_Found:2005/11/13(日) 23:58:57 ID:???
>>344
右クリックしてみそ
346341:2005/11/14(月) 01:39:40 ID:???
>>344
よくわかんないですけど、Flashなんですね(^^
JavaScriptで同じようなことははできないのですか?
347Name_Not_Found:2005/11/14(月) 04:59:18 ID:???
同じようなことじゃないけどさー、
css の media=print で * { display:none } すれば結果的に出来なさそうでない?
348Name_Not_Found:2005/11/14(月) 05:20:57 ID:???
flashはコピペ防止の意味もあるからなぁ
349Name_Not_Found:2005/11/14(月) 06:49:04 ID:???
>>329
クライアント:(多分グローバルに)a、d、i、x、pなどの変数名
社長(受注者):JavaScriptほとんどまったく知らん
オマイ:JSの変数名(多分a、d、i、x、p)とかぶっていたことがエラーの原因

で、>>310
世間では、これで仕事が成り立っちゃってるの?
ガクガクブルブルブル
350310:2005/11/14(月) 10:09:19 ID:???
>>349
ううん。かぶってた変数名はArrayでつ。さすがに俺でもaとか
アルファベット1文字の変数は怖くて使えないです。

ちっちゃい会社だからね〜
自分はもともとIT畑の人間じゃなくて趣味でサイト作ってる程度の人間だったんだけど
デザイナーのほうがスクリプトには無知だから入ってくれっていわれて
この程度の人間ですよ。
で、今日本納品らしいですwww
自分でもこんな会社こわいwwwww
つか、自分がクライアントだったらこんな会社に頼みたくないwww
351Name_Not_Found:2005/11/14(月) 10:23:32 ID:???
>>310
そこまで内部告発したんなら、おまえの会社名もさらせ。
352Name_Not_Found:2005/11/14(月) 10:32:54 ID:???
ごめんそれはwwww
入ったばかりで潰したくないんで(^ω^;)
353Name_Not_Found:2005/11/14(月) 11:32:54 ID:???
今をごまかしてたって、いずれ大きなツケが回ってくるさ。
ぜったい転職した方がいいw
354Name_Not_Found:2005/11/14(月) 12:55:41 ID:???
>>348
画面ショット取ってOCR掛ければ何やったって無駄。
355Name_Not_Found:2005/11/14(月) 12:59:20 ID:???
>>354
誰も不可能とはいってない。
356Name_Not_Found:2005/11/14(月) 13:02:49 ID:???
>>354
Webサイト制作初心者用スレじゃないんだから、分かりきったこと書くなよ。
JS だけじゃなく SWF でも印刷を制御しているわけだから、
もし JS で SWF にアクセスして印刷制御を合法的に阻止できるなら答えを書けばよいわけで。
357Name_Not_Found:2005/11/14(月) 13:37:19 ID:???
コンピュータの画面上に表示されている以上
印刷されなくするのは不可能
358Name_Not_Found:2005/11/14(月) 14:39:18 ID:???
>>350
リフォーム詐欺元社員のコメントみたいだなw
359Name_Not_Found:2005/11/14(月) 16:24:35 ID:tCn3SvUe
質問です。
-123→123
123→123
って感じで負数を非負数にするにはどうしたらいいのでしょうか?
360Name_Not_Found:2005/11/14(月) 16:29:09 ID:???
>>359
Math.abs(x)
だが、アンタ質問があまりにも安易すぎないか?
自分で調べようとしたのか?ちょっと考えた方がいいよ。
361Name_Not_Found:2005/11/14(月) 16:29:28 ID:???
>>359
絶対値
362Name_Not_Found:2005/11/14(月) 16:31:35 ID:???
>>360
相手を教育するつもりなら、ヒントだけにした方がいい。
よね
363Name_Not_Found:2005/11/14(月) 16:39:57 ID:???
>>362
洩れはね、エサとムチと両方ないと駄目という考えだから。
簡単なのはとりあえずちゃんと答えた上で苦言を書くことが多い。
364Name_Not_Found:2005/11/14(月) 16:43:49 ID:???
>>362
それだと付け上がるだろ。>>360くらいで十分。
一時の誰かさんみたいに>ある。
とかよりマシだし。
365Name_Not_Found:2005/11/14(月) 16:58:06 ID:???
ま、考え方の相違だな。たぶん「絶対値」じゃまったく
分からない可能性が50%くらいだろうと予想している。
366Name_Not_Found:2005/11/14(月) 17:17:22 ID:???
発想というか慣れというかこなした数とかの問題だしね。
小数点第2位で四捨五入したいのですが
→100で割ってMath.roundして100掛けるみたいなのと、あんまし違いなさそ。
間違ってなければ回答方法は好きでいいのでは。
たしかに絶対値は算数ちゃんとやってれば分かるはずだけど。
367Name_Not_Found:2005/11/14(月) 17:38:19 ID:hLNe9D7V
アクセスするたびに画像が変わるページを作るのはよくある話ですが、
アクセスするたびに画像の順番がランダムに入れ替わるプログラムどうやって作ったらいいですか?
<HEAD></HEAD>を使わず、<BODY></BODY>の中だけで作りたいのですが。


画像B 画像C 画像A 画像D
   ブラウザを更新
画像D 画像A 画像B 画像C
   ブラウザを更新
画像A 画像C 画像D 画像B

といった感じでランダムで
368Name_Not_Found:2005/11/14(月) 17:55:13 ID:???
>>367
ファイル名を配列に入れるなどして、
ランダムに配列からspliceしてやればいい。
あとはわかるよね。
369367:2005/11/14(月) 18:06:24 ID:???
spliceとはなんでしょうか。
370Name_Not_Found:2005/11/14(月) 18:19:14 ID:???
なんで自分で調べようと思わんのか。
javascrpt spliceでぐぐったら、6番目に367がほしいであろうズバリのスクリプトがあったよ。
371Name_Not_Found:2005/11/14(月) 18:31:15 ID:???
>>368
なんでspliceがいるの? いつもの「シャッフル」でいいと思うが。
372Name_Not_Found:2005/11/14(月) 18:40:19 ID:???
>>371
javascriptのshuffle解説頁教えてくれ。
373Name_Not_Found:2005/11/14(月) 18:46:36 ID:hLNe9D7V
>>368
ありがとうございます。
やってみます
374Name_Not_Found:2005/11/14(月) 19:02:40 ID:???
375Name_Not_Found:2005/11/14(月) 19:06:06 ID:???
どこにshuffle関数があるんだ?phpじゃないんだから。
376Name_Not_Found:2005/11/14(月) 20:04:03 ID:???
おもしろそうな題材なので書いてみました

//[Array Object].shuffle()
//配列内のデータをシャッフルする
Array.prototype.shuffle = function()
{
    for(var i=this.length;i>0;i--)
    {
        var j = Math.floor(Math.random() * i);
        this.push(this[j]);
        this.splice(j,1);
    }
}
377Name_Not_Found:2005/11/14(月) 20:09:58 ID:???
ちょっとした処理の関数をモジュールっぽく纏めたらいいのできそうだね。
378Name_Not_Found:2005/11/14(月) 20:15:02 ID:???
>>376
var j = Math.floor(Math.random() * i);
this.push(this[j]);
this.splice(j,1);

this.push(this.splice(Math.floor(Math.random() * i), 1)[0]);

かえって読みづらいか。短く書ければいいというもんでもないし。
379376:2005/11/14(月) 20:17:34 ID:???
>>377 そうですね、
みんなが協力してくれたら、すぐにでも出来ちゃいそうですよね。

おっしゃるとうり >>378 さんのは簡潔で素敵です。
380Name_Not_Found:2005/11/14(月) 20:21:00 ID:???
つ Ruby.js, JSAN, etc...
381Name_Not_Found:2005/11/14(月) 20:50:35 ID:???
>>375-379
spliceだのpushだのやってたらすげーのろいよ。数個なら
いいというかんがえもあるけど。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<p><script type="text/javascript">
var len = 10000, a = new Array(len), b = new Array(len);
for(var i = 0; i < a.length; ++i) a[i] = b[i] = i;
var t1 = new Date().getTime();
for(var i = a.length-1; i > 0; i--) {
var j = Math.floor(i*Math.random());
var x = a[i]; a[i] = a[j]; a[j] = x;
}
var t2 = new Date().getTime();
for(var i = b.length; i> 0; i--) {
b.push(b.splice(Math.floor(Math.random()*i), 1)[0]);
}
var t3 = new Date().getTime();
document.write((t2-t1) + 'msec<br>');
document.write((t3-t2) + 'msec<br>');
</script></p>
</body></html>
→出力: 107msec 25578msec
382376:2005/11/14(月) 21:12:54 ID:???
>>380 なるほど、そいえばそうですね。

おっしゃるとうり >>381 さんのは高速で素敵です。
383Name_Not_Found:2005/11/14(月) 21:30:17 ID:???
>>381
上側はタダのランダム。値が重複する。
シャッフルの話だから上の奴は当てはまらない。
384Name_Not_Found:2005/11/14(月) 21:39:19 ID:???
重複する?
385376:2005/11/14(月) 21:43:01 ID:???
>>383
要素入れ替えの i が a.length という指摘ですよね。
いずれにしても >>381 さんの速度に関する考察はためになりました。
386376:2005/11/14(月) 21:49:11 ID:???
あ、まちがえた a.length+1 だった。
387376:2005/11/14(月) 21:53:13 ID:???
あ、よくみたら >>383 さんのおっしゃるとおり 先頭要素で重複があった。
388376:2005/11/14(月) 22:00:39 ID:???
あ、とおもったら重複ではなかった。
...シルクロード全集おわったからもう寝ちゃおっと
389Name_Not_Found:2005/11/14(月) 22:03:05 ID:???
>>383
ランダムにi未満のjを選び「i番目とj番目を交換」してるから
重複することはないと思うのだけど、なぜ重複すると思うのか
説明キボン。
390Name_Not_Found:2005/11/14(月) 22:12:02 ID:???
>>381 の前半のシャッフルのアルゴリズムは過去スレで
何回も出ているものと同一なんでバグはないと思うけどね。
重複すると断言している >>383 の説明が聞きたい。
391Name_Not_Found:2005/11/14(月) 22:32:06 ID:???
勘違いしただけだろ。そこまでえらそうに言う事でも無いだろ。
392Name_Not_Found:2005/11/14(月) 23:50:00 ID:???
>>381
実行するとブラウザ固まるんだけどおれだけか?
393Name_Not_Found:2005/11/14(月) 23:52:00 ID:???
>>392
この夏買ったノートPCで30秒固まったから、古い奴だと1分とか2分
掛かるかもよ。あんまり大変ならlenを5000とか減らしてみ。
394Name_Not_Found:2005/11/14(月) 23:55:46 ID:???
>>393
celeron 1.4 256 xpsp2なんだがしょぼすぎ?
それにしても107msecってはやすぎないか?
395Name_Not_Found:2005/11/15(火) 00:03:47 ID:???
当方Fxで94msec 13515msec
396Name_Not_Found:2005/11/15(火) 00:06:10 ID:???
IEだと62msec 53938msec
397376:2005/11/15(火) 00:34:29 ID:???
>>389-390
まだ起きてました。些細なことかもしれないけど、
おそらく >>383 さんの指摘したいところは、

シャッフルであるなら、以前配置されていた場所に依存せず
何れへでも再配置される可能性をもつべきところだが、
該当のコードでは、末尾に配置されていた要素は、再び末尾に
配置されることがない。
よって、厳密にはシャッフルとは呼べないのではなかろうか。

って、考えてらっしゃると思います。
398Name_Not_Found:2005/11/15(火) 00:40:21 ID:???
>>376
シャッフルにせんずり回答すんな屑。何十回出てきてると思ってんだ。
399Name_Not_Found:2005/11/15(火) 00:43:08 ID:???
>>397
> 該当のコードでは、末尾に配置されていた要素は、再び末尾に配置されることがない。

だうと。
ちゃんとコード読みなよ。
400376:2005/11/15(火) 00:43:35 ID:???
>>398 ごめんなさい。黙ります。
401376:2005/11/15(火) 00:50:30 ID:???
>>399 お風呂に入ってすっきりしたつもりだったのに...
明日の朝、もう一度見直そうと思いますorz
402Name_Not_Found:2005/11/15(火) 02:18:06 ID:???
たとえば1秒間とか5秒間とか、指定した時間以上ボタンを押し続けて
はじめて処理が始まるようにする事はできないでしょうか?
ヒントだけでもいいので、よろしくお願いします。
403Name_Not_Found:2005/11/15(火) 02:54:29 ID:???
>>402
onmousedownとonmouseupでそれぞれ時間をとって、その差を見るというのはどうだろう。
ただしドラッグも考えるともう少し条件が複雑になるが。
404Name_Not_Found:2005/11/15(火) 12:33:00 ID:???
ローカルのHTMLファイルでhrefを参照すると、ソースが相対パスの場合
file:///c:/documents%20and%20settings/hoge/デスクトップ/test.html
みたいな値しか取れないんですがもともとの値だけ取得するには
どうすればいいですか?
405Name_Not_Found:2005/11/15(火) 13:00:41 ID:???
>>404
そのリンクをIDつきのdivか何かで囲んで
document.getElementById('ID名').innerHTML
の文字列中からhref部分を取り出せば。
406Name_Not_Found:2005/11/15(火) 13:17:39 ID:???
>>405
やっぱそんな方法しかないですか・・・
一応やりたいことを説明すると、
ベースになるURL http://hogehoge.com/~hoge/web/contents/hoge.htmlがあるとして
そのhoge.htmlをローカルに持ってきてベースURLをもとにソースの相対パスを
全て絶対アドレスに書き換えようとしてます。
img srcとa href属性すべてが対象なのでできるだけ軽い処理で実現したいです。
407Name_Not_Found:2005/11/15(火) 13:50:42 ID:???
>>406
<base href=".."
408Name_Not_Found:2005/11/15(火) 13:54:13 ID:???
質問させてくださいorz
リンク先をステータスバーに表示させない方法を探していまして、
見つけた方法は<A onmouseover="return true;">が多かったのですが
オーバー時は確かに見えませんが、クリックすると一瞬丸見えです。。
クリックのときもリンク先は隠したいなぁと思って他に onclick と onmousedown を
追加してみたんですが、微妙にずれて表示されます(´・ω・`)
なにか他に考えられる手立てはありませぬでしょうか・・・。

また、すべてのリンクに対してステータスバーに表示させてくないんですけど、
どのように記述すればいいのでしょうか・・(;´ω`)

409Name_Not_Found:2005/11/15(火) 13:55:24 ID:???
>>402
mouseup する前でも時間が来たら処理を開始するなら、setTimeout と clearTimeout。
mouseup 直後に経過時間を判定して処理を開始するなら、>>403
410Name_Not_Found:2005/11/15(火) 14:03:29 ID:???
>>408
性悪スクリプトは回答されない >>2 さいなら。
>>406
ローカルに持って来て加工すんなら >>407 みたいにbaseつけても
いいしPerlとかで全部加工したっていいわけだろ。なんでJSなわけ?
411260:2005/11/15(火) 14:37:09 ID:???
>>263
>>264
>>269
いまさらですが、やっとうまくいくようにできました。
出来上がってみると結構単純だったのですが、それ以外でも
文法ミスがあったりして、なかなかうまくいかなかったわけです。
今までほとんどJavaScriptは使った事がなかったのですが
今回必要にかられ勉強しまして、当初計画していた事以外でも
使えそうなテクニックを見つける事ができたのも収穫でした。
今後も、より充実させていこうと思います。
ありがとうございました。
412408:2005/11/15(火) 14:47:04 ID:???
性悪にはいるのですね(;´ω`)
リンク先があまりにも長くて汚いので隠そうと思ったのですがorz
レスありがとうございました。。
413Name_Not_Found:2005/11/15(火) 15:01:34 ID:???
>>412
分かるけどアンタが隠すことができれば他の悪徳釣り業者にも
隠せるようになる。だから回答されない。
414Name_Not_Found:2005/11/15(火) 15:35:57 ID:???
>>408
ユーザーにとってステータスバーに表示される URL (特にそのドメイン部分)は
有益な情報になる。隠すなら、最低でもドメイン部分だけでも表示されるようにしなさいな。
415Name_Not_Found:2005/11/15(火) 16:16:45 ID:???
チラシの裏しつこい。>>2が示された時点で終了。
416406:2005/11/15(火) 19:13:31 ID:???
>>407
xmlhttpでとってきたデータを加工するのでbaseが使えないです。
>>410
クライアント側だけで動くものにしたいのでperlとかは考えてないんです
417Name_Not_Found:2005/11/15(火) 20:18:03 ID:???
>>416
replace
418Name_Not_Found:2005/11/15(火) 21:26:46 ID:???
質問です。
マウスを乗せると表示されて、どけると消えるポップアップメニューのようなものを作ったのですが、
offsetTopとoffsetLeftで位置を取得しても、なぜか位置がずれてしまいます。
おそらくCSSとJavascriptの呼び出されるタイミングの違いとかで問題が発生していると思うのですが、
よくわかりません・・・。
http://readcgi.s7.xrea.com/404/8322.zip
419Name_Not_Found:2005/11/15(火) 21:34:29 ID:???
質問です。

Movable Typeで「カテゴリー」や「アーカイブ」を
プルダウンメニューで表示したかったのですが、
ググッた2、3のパターンでは上手く動作しませんでした。
プルダウンのメニューは生成されるんだけど、
項目を選択してもリンクに飛ばないのです。

そこで、以前教えてもらった別口のコードで代用しています。
今の所、一応、正常に動作はしています。

ただ、当方初心者なもので、そのソースが正しいJavaScriptなのか判断がつきません。
コードを貼付するので、検証して頂きたいです。
もし間違った箇所があるようなら、訂正して頂けると有り難いです。
420Name_Not_Found:2005/11/15(火) 21:35:35 ID:???
<script language="JavaScript">
<!--
function newLocationWindow(uri) {
if (uri)
window.open(uri, 'link','toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes');
}
//-->
</script>

<!--アーカイブ -->
<form name="pulldown_monthlyarchives">
<select name="menu" onChange="newLocationWindow(this.value)" style="width:160px;">
<option value="" selected>Monthly Archives</option>
<option value=""></option>
<MTArchiveList archive_type="Monthly">
<option value="<$MTArchiveLink$>">
・<$MTArchiveTitle$>[<$MTArchiveCount$>]</option></MTArchiveList>
</select>
</form>
421181:2005/11/15(火) 21:59:45 ID:???
遅くなったけど、なんかの足しにしてくれ。

IE用にScript Debuggerがやっと入った。
>>184 に教えてもらった日本語版は何故か動かなかったので、
ttp://www.microsoft.com/downloads/details.aspx?FamilyId=2F465BE0-94FD-4569-B3C4-DFFDF19CCD99&displaylang=en
英語版を入れてみたら動いた。

うまくインストールできなかったと思ったのは、
インターネットオプションの”スクリプトのデバッグを使用しない”を選択していたからの様だ。

使用感
IEのErrorダイアログよりは遥かに有用。
コールスタックが便利。(他人のスクリプトがおかしい時に特に)
オブジェクトとか変数の値を表示させるのにはどうすんだろうか?(要研究)

って感じ。
422nullpo:2005/11/15(火) 22:02:06 ID:???
419-420
イメージしてるのは こんなのかな ?
www17.ocn.ne.jp/~addict/sample/dbl_selection/dbl_selection2.html
423Name_Not_Found:2005/11/15(火) 22:08:25 ID:???
>>419-420
別に問題なし! 自信を持ってよい。nullのアドバイスは
聞かない方が身のため。nullは隔離スレへ帰れ。
424406:2005/11/15(火) 22:10:38 ID:???
>>417
それがそう単純でもないんですよ。
ローカルでの実行パスが
file:///c:/documents%20and%20settings/hoge/デスクトップ/hoge/hoge.html
だとして、URLが
http://hogehoge.com/~hoge/web/contents/hoge.html
でソースが../../test/test.htmlだとしたら
javascriptでhrefを取得すると
file:///c:/documents%20and%20settings/hoge/test/test.html
になるわけです。
で生成しなくちゃいけないのは
http://hogehoge.com/~hoge/web/test/test.htmlです
ソースが単にtest.htmlならば
file:///c:/documents%20and%20settings/hoge/デスクトップ/hoge/test.html
が返されるので実行パスを取得してreplaceすれば済みますが。

さらにローカルの実行パスがfile:///c:/hoge.html みたいにドライブルートだった場合、
ソースがtest.html や ../test.html や ../../test.htmlであったとしても
取得できるのはすべてfile:///c:/test.html になってしまい、
そこから正しいURLを生成することは不可能です。
425nullpo:2005/11/15(火) 22:13:05 ID:???
>>423
ここに顔を出すのは客引きのため.
講釈を垂れるつもりはない.
こちとら, ここのご大層な人たちと違って, だだの作り手なのさ.
426Name_Not_Found:2005/11/15(火) 22:21:49 ID:???
講釈垂れないのは結構。さっさと帰ってくれ。レスの無駄。
427Name_Not_Found:2005/11/15(火) 23:08:03 ID:???
>>422
ちょっと微妙に違う気も
ごめんなさい

>>423
検証感謝です
問題無さそうなのでこのまま継続して使ってみます
428Name_Not_Found:2005/11/16(水) 00:20:14 ID:+uwZ1/V6
javascriptでform内のすべての(入力)項目を配列に格納し、
それらの背景色に従って処理を行いたいのですが、
form内の全項目を取得するような記述方法について教えて頂けますでしょうか?
nameに依存しないで行いたいと思っているのですが。
429Name_Not_Found:2005/11/16(水) 00:27:13 ID:???
>>428
これでわかる?
document.forms['hoge'].elements
430Name_Not_Found:2005/11/16(水) 02:32:22 ID:???
辞書じゃねーから独り事w
IE6にて
getAttribute("href",2)
が設定値通り返すとある。
431406:2005/11/16(水) 03:47:24 ID:???
>>430
結果かわりませんでした。
ソースどこですか?
432Name_Not_Found:2005/11/16(水) 11:58:33 ID:???
JavaScriptで起動中のウィンドウ(ブラウザのみでOK)を
列挙することは可能でしょうか?

たとえば、タイトルバーに「ABC」という文字列を含むウィンドウを
全て列挙し、背景色を変えたりなど行いたいのですが。

ご存知の方がいらっしゃいましたらお教えください。
433Name_Not_Found:2005/11/16(水) 13:58:56 ID:qK/HmDjm
じゃヴぁscりptで 「JavaScript」という もじを れんぞくして 10かい ひょうじする やりかたが わかりません だれか おしえてください でも おしえた おれいに あげる しょうひんは なにも ないので かくごして ください
434Name_Not_Found:2005/11/16(水) 14:19:10 ID:???
ひさしぶりにアルジャーノン読みたくなった。
435Name_Not_Found:2005/11/16(水) 15:32:13 ID:qbpIFYsI
Java初心者ですが、Javaを使って下記の様なメニューリストを作成したいと思っています。

↓こっちのメニュー(リンク)にカーソルを合わせる
┌─┐┌───┐
├─┤│     │
├─┤│     │
├─┤│     │
└─┘└───┘
↑こっちに説明&リンク表示(最初から文章)

<外部CSS>
#left{float:left(以下略)}
#infospace{省略}

<head>〜</head>内
<script language="javascript">
<!--
function p(x) {document.getElementById('text').innerHTML=x;}
-->
</script>

<body>〜</body>内
<div id="menulist"><table><tr><td onmouseover="this.style.backgroundColor='#ffffff'" onmouseout="this.style.backgroundColor=''">
<a href="左側のリンクURL" onMouseOver="p('右側に表示される説明')">左側に表示されるリンク</a></div></td></tr></table>
<div id="infospace">右側のエリアに最初から表示される文章</div>

としたのですが、右側のエリアにリンクを貼る事ができません。

1、左側のメニューは全てリンクです。
2、右側のエリアには最初から説明文を表示させます。
3、左側の各リンクにカーセルを合わせた時に、右側のエリアに説明を表示させ、
なおかつ説明内にリンクを設置したいのです。
436435:2005/11/16(水) 15:33:56 ID:qbpIFYsI
図ミス…orz

↓こっちのメニュー(リンク)にカーソルを合わせる
┌─┐┌───┐
├─┤│     │
├─┤│     │
├─┤│     │
└─┘└───┘
        ↑こっちに説明&リンク表示(最初から文章)
437Name_Not_Found:2005/11/16(水) 15:35:57 ID:???
>>432
できません。できたとしても自鯖の窓以外はタイトルのアクセス、
背景色の変更とも不可能と思われ。
438Name_Not_Found:2005/11/16(水) 15:44:48 ID:???
>>435
まず >>1 を読め。で、Javaの話題はここじゃないんだ。で、
'text'というIDの要素はどこにあるのさ。で、何をやったが
リンクが現れないと言う話なのさ。何をやったのか説明せずに
うまく行かないと言われても。日本語の不自由なヤシの相手は
あんまりしたくない。
439Name_Not_Found:2005/11/16(水) 15:54:55 ID:???
>>438
結構相手してるじゃん。
440435:2005/11/16(水) 15:59:16 ID:qbpIFYsI
スミマセン…Java Scriptと呼ばないと違う意味になってしまうのですね…。

ttp://www.geocities.jp/ctynm590/index.html
↑ここにアップロードしましたので見て頂けると幸いです。
右側のテキスト部分にリンクを張りたいのですが、
リンクを張るとエラーになってしまうのです。
441Name_Not_Found:2005/11/16(水) 16:08:44 ID:???
>>440
「Java Script」ではない、「JavaScript」だ!
日本語が分からないのか、説明じゃなく実際にやったことを
そのまま書き、エラー内容と行番号を報告しろ。または、
アップしたソースをそのエラーの出るヤシに変更しろ。
442Name_Not_Found:2005/11/16(水) 16:11:42 ID:???
>>437
やっぱりそうですか。。
早速のレスありがとうございました。
443Name_Not_Found:2005/11/16(水) 17:17:46 ID:???
>>442
まず、テンプレと過去ログ読め。>>437のような指摘がいくつか見つかるはず。
ともかく、WSH や XUL の話なら専用スレへ。

もし JS で開いた一連の Window だけなら、try catch しつつループしろ。
そして、そのコード書きで詰まるようなら、具体的にコードを出して質問すればと思う。

WinIE で HTA 使って、
new ActiveXObject("Shell.Application").Windows().Item(数字).document.title
みたいに取得できるが、そんなの受け付ける訪問者はいないので、意味無いわな。
http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/reference/objects/shellwindows/shellwindows.asp
444Name_Not_Found:2005/11/16(水) 18:04:19 ID:???
久しぶりだな。JavaScriptをJavaというアフォ
もう絶えたかとおもってたが・・・
445Name_Not_Found:2005/11/16(水) 18:45:21 ID:???
ttp://www.red.oit-net.jp/tatsuya/java/setumei2.htmにあるサンプルソースで
補足が表示される欄に最初からテキストを表示させるにはどうしたら良いでしょう?
446Name_Not_Found:2005/11/16(水) 18:48:11 ID:???
>>445
onlaodでも使えば
447Name_Not_Found:2005/11/16(水) 18:50:29 ID:???
>>440
文字列の中のaタグの閉じタグを 「'...</a>'」とそのまま
書いているせいでは?「'...<\/a>'」に直してみれ。
448Name_Not_Found:2005/11/16(水) 19:16:43 ID:???
>>446
なるほど…試してみたらできました。
ありがとうございました!
449Name_Not_Found:2005/11/16(水) 19:56:52 ID:???
>>446
onload
450Name_Not_Found:2005/11/16(水) 20:40:07 ID:Xxzo/fZU
DOMを使ってチャットを作ってるんですが、ローカルで動いて鯖上で動かないです。
スクリプト晒すので原因分かる方いたら教えて下さい。

var oldtime = "";
function Load(){
var sc = document.createElement("script");
sc.setAttribute("src", "./test.js");
document.getElementById("aaa").appendChild(sc);
if(oldtime != lasttime){
GetLog();
var node = document.getElementById('log');
for (i = 0; i < 20; i++){
if(node.childNodes[0] != undefined){
node.removeChild(node.childNodes[0]);
}
}
for(i in Log){
document.getElementById('log').appendChild(document.createTextNode(Log[i]));
document.getElementById('log').appendChild(document.createElement('br'));
}
}

window.setTimeout("Load()", 1000);
}
451Name_Not_Found:2005/11/16(水) 20:41:38 ID:???
上げちゃった・・・済みません

test.js(ログ)の形式

lasttime = "1132139576";
function GetLog(){
oldtime = lasttime;
Log = new Array(,'test>test1','test>test2','test>test3');
}

相当汚いスクリプトかもしれませんが、よろしくお願いします。
452Name_Not_Found:2005/11/16(水) 20:43:46 ID:???
書き忘れ、最初の一度だけログ読み込みは動作します。
二度目以降は何故か読み込めません。

ローカルではtest.jsを更新するたびに文字列が変化するのですが・・・
453Name_Not_Found:2005/11/16(水) 20:54:08 ID:???
>>452
「"./test.js"」を「"./test.js?" + new Date().getTime()」にするとか。
454Name_Not_Found:2005/11/16(水) 20:59:43 ID:???
>>453
最近、似たような話を聞いた気がする
455Name_Not_Found:2005/11/16(水) 21:15:05 ID:???
個人的には、そんなに何度もGetLog関数を多重定義してしまうと
色々と問題がおこりそうで怖い。Operaとかで動くのかなぁ?
456Name_Not_Found:2005/11/16(水) 21:22:01 ID:Xxzo/fZU
>>453
試しましたが動きませんでした。
これで鯖側で動かないの二回目なんですよね・・・
457Name_Not_Found:2005/11/16(水) 21:22:33 ID:???
すみません、吊ってきます・・・
458Name_Not_Found:2005/11/16(水) 22:18:17 ID:???
>>455
js> // function F() { ; } var i = 0, o = new Object(), a = new Array();
js> for (i = 0; i < 65536; i++) { ; } gc();
before 2151, after 2151, break 00000000
js> for (i = 0; i < 65536; i++) { function F() { ; } } gc();
before 2169, after 2151, break 00000000
js> for (i = 0; i < 65536; i++) { F = function () { ; } } gc();
before 2169, after 2151, break 00000000
js> for (i = 0; i < 65536; i++) { function F() { ; } F(); } gc();
before 2169, after 2151, break 00000000
js> for (i = 0; i < 65536; i++) { F = Function(); } gc();
before 1181799, after 2151, break 00000000
js> for (i = 0; i < 65536; i++) { o = new Object(); } gc();
before 591975, after 2151, break 00000000
js> for (var i = 0; i < 65536; i++) { a = new Array(); } gc();
before 591975, after 2151, break 00000000
459Name_Not_Found:2005/11/16(水) 22:56:16 ID:???
多重定義w少なくともJ(ava)Scriptの話じゃないな。
460Name_Not_Found:2005/11/17(木) 02:21:21 ID:???
ActiveXObject("Microsoft.XMLHTTP")
ってオブジェクトつくってopenしてsendした後closeする必要ない?
461Name_Not_Found:2005/11/17(木) 03:46:14 ID:???
>>460
殆ど全部実装依存なので好きにしれ

/*
オブジェクトに close メソッドがないので多分必要無い。
もし明示的にサーバーへの接続を閉じる事を伝えたいなら
O.setRequestHeader("Connection: close") する。
リソースを明示的に解放するなら O = null して GC を待つ。
*/
462Name_Not_Found:2005/11/17(木) 04:12:44 ID:???
>>461
さんくす。
ついでですまん
delete O と O = null って違いある?
463Name_Not_Found:2005/11/17(木) 12:31:05 ID:???
>>450
if(node.childNodes[0] != undefined){
node.removeChild(node.childNodes[0]);
}
}

node.innerHTML='';
で問題あるの?
464Name_Not_Found:2005/11/17(木) 12:40:45 ID:???
>>459
function hoge(){
var len = arguments.length;
if(len==0){return 0;}
else if(len==1){ return len[0];}
else{
var re=len[0];
for(var i=0;i<len-1;i++){re=re*len[i];}
}}
465Name_Not_Found:2005/11/17(木) 12:54:13 ID:???
>>450-451じゃよくわからんな。
>for (i = 0; i < 20; i++){
同じ処理20回もやる必要あるの?変数iも入ってないし。
書き込みがどうなってるか分からんな。
JSファイルを書き換えてるのか?

あと鯖上げ駄目な原因は、文字コードの問題とかあるのでは?
>test.jsを更新するたびに文字列が変化するのですが
とかあるし。
あと./test.jsこれは鯖でちゃんと参照されてるのか?
466Name_Not_Found:2005/11/17(木) 14:31:58 ID:???
>>465
厨な質問者よりさらにコードが(そして日本語も)読めないヤシが
回答しようとすな。
(1) ループの中でLog[i]を参照してるだろボケ!
(2) test.jsは最初の1回は参照できてると書かれてるだろボケ!
467Name_Not_Found:2005/11/17(木) 16:37:34 ID:???
>>465
childNodes[0]をremoveしたらchildNodes[1]がchildNodes[0]になるじゃん

>>466
Log[i]はどこにあるかちゃんと見たのか

つっても俺も解決策わからんけどな!
468Name_Not_Found:2005/11/17(木) 20:20:03 ID:???
window.showModalDialog()で開かれたページで
window.location.reload(true);
としてもリロードされないのですが、showModalDialog()で
開かれたページはJavascriptで自信をリロードできないのでしょうか?
469Name_Not_Found:2005/11/17(木) 21:29:25 ID:???
CGIの内部にjavascriptを組み込んでいます。
表示されている画像をクリックすると、さらに詳細の画像が表示されるようにしたいのですが

print "<A onclick='StartShow(0, true, \"<IMG src=04/$hogehoge.gif>\")' onmouseout=\"StartShow(0, false, '')\">\n";
print "<IMG src=\"04/$rank/$IMAGE.jpg\"></A>\n";

と書いたとき、$が悪いのか、上の文章だけ<A>タグ自体反応せず、
CGIは動作しますが、HPのステータスバーにはエラーが発生しました。の文字が出て、詳細の画像がひょうじされません。
$なしの別画像の場合、ちゃんと表示されるのでjavascriptの表記はあっています。

javascript で使えない文字というのを調べてみたら予約語は出来ないというのはみたのですが・・・
”$” が使えないのでしょうか? もし使えるようにできるなら対処方法をアドバイスしてください;;
($hogehoge は変数なので$を使わないようにすることは出来ないのです・・・)
470Name_Not_Found:2005/11/17(木) 21:55:06 ID:???
>>469
> javascript で使えない文字というのを調べてみたら
CGIスクリプトを書いている言語についても調べてみれば解決するだろう。
471Name_Not_Found:2005/11/17(木) 22:32:31 ID:???
>>468
ShowModalDialogで開いた窓は色々制約があるからね。普通の窓に
するしかないかも。
>>469
ブラウザの「ソースを見る」で表示させたソースを見ればエラー
の原因が分かると思うけど。貼ってみて。
472469:2005/11/17(木) 22:38:16 ID:???
ソースをみるときちんと$hogehogeに代入されていました・・・
$で異常が出ていたわけではなかったようです。すいません。
ただソースの内容が、

<A onclick='StartShow(0, true, "<IMG src=04/hogehoge1
.gif>")' onmouseout="StartShow(0, false, '')">
<IMG src="04/rank/image0.jpg"></A>

と途中改行されてエラーが出ていたようです。
これはperlのエラーですかね・・・(;´ω`) サイト回るか・・・
473469:2005/11/17(木) 22:48:09 ID:???
何度もスイマセン。無事に解決したので報告しておきます。
CSVの中身を読む$hogehogeだったのですが、
CSVの表の末の列だったために”,”の部分で勝手に改行される
というののでした。。。orz
CSVに追加の列をしたところ無事に表示されました。
>>470 >>472 さん、ありがとうございました。
474468:2005/11/17(木) 22:49:47 ID:???
>>471
そうなのですね。わかりました。ありがとうございました。
475406:2005/11/17(木) 23:48:39 ID:???
時間たってしまったのでまとめます。
>>404,405,406,407,410,416,417,424,430,431

<div id='test'><a href="hoge/web/test.html">hoge</a></div>
aObj.href
aObj.getAttribute('href')
aObj.getAttribute('href',2)
aObj.getAttributeNode(href).nodeValue
aObj.outerHTML
document.getElementById('test').innerHTML

といろいろ試しましたがもともとのソースの値が取れませんでした。
xmlhttpで取得したソースの段階でhref="をsearchして中身をsubstringして
リストアップするしかないですか?
なんか他に使えそうな方法ありませんか?
476Name_Not_Found:2005/11/18(金) 00:04:53 ID:???
条件演算子のことなのですが、条件式の評価が真のとき(または偽のとき)に、
複数のステートメントを指定することは可能でしょうか?
477Name_Not_Found:2005/11/18(金) 00:06:54 ID:???
えー、innerHTMLでもだめなの。そりゃ大変だなあ。
478Name_Not_Found:2005/11/18(金) 00:08:39 ID:???
>>476
「演算子」だから「式」しか駄目。式でよいならカンマ演算子
を使えば「条件 ? (式, 式, ...) : (式, 式, ...)」とは書ける。
ちなみに「x = 1」なんていうのも式だからね。
479Name_Not_Found:2005/11/18(金) 00:31:44 ID:???
>>476です。
>>478氏、即レスをありがとうございました。
480406:2005/11/18(金) 00:45:35 ID:???
自作コードで大体の場合、
相対→絶対に変換できるようにはなってますが
やはりソースのパスがローカルのドライブルートより
上位のディレクトリを指す場合に対処できません。

ローカル実行パスをより深くすれば変換に失敗することは
ほぼなくなると思いますが、確実ではありません。
ユーザに「できるだけ深いパスで実行してね」というのもおかしな話ですし。
481Name_Not_Found:2005/11/18(金) 01:26:36 ID:???
>>480
IE 独自で、getAttribute に 2 番目の引数があって、それを 2 に、というレスがあったはず。

結局、元の値をそのまま取ることが無理であるブラウザがあるから困るということだろうか。
元の値ではないが、httpで始まる値になっても構わないなら、
<iframe> にアクセス可能な位置の文書を読んでおいて、
frames[***].document.open, write, close で <base href="http..> ごと書き出す。
そして、frames[***].document.links で読む。
そのhttpで始まる値で実際に書く部分の href を全て書き換える。
482Name_Not_Found:2005/11/18(金) 01:32:33 ID:???
つうか、そのまま <iframe> 使えばよいわけだ。
<base href> が毎度変わるなら、open, write, close、変わらないなら、innerHTML などで。
483406:2005/11/18(金) 02:46:53 ID:???
>>481
なるほど。試してみます。
>IE 独自で、getAttribute に 2 番目の引数があって、それを 2 に、というレスがあったはず。
これダメっぽいですよ。

http://tomizawa-web.hp.infoseek.co.jp/method/getAttribute.htm
>0(アトリビュート名の大文字小文字の区別をしない)
>1(アトリビュート名の大文字小文字の区別をする)
>2(値を返す)

2の場合をはっきりと説明しているサイトがみつかりませんでしたが
ためしたみたところ何も変化はありません。

>>482
サイトをそのまま表示するのではなく必要な箇所のみを
抜き出して表示しようとしてます。
たとえばニュースサイトなら記事部分のみとか。
484Name_Not_Found:2005/11/18(金) 03:18:21 ID:???
>>483
どういう風に試した?とりあえず手元のIE6ではwww.google.co.jpでアドレスバーに
javascript:alert(document.getElementsByTagName("a")[8].getAttribute("href",2));
と打ち込むと /preferences?hl=ja と表示されるのだが。
485406:2005/11/18(金) 05:47:48 ID:???
>>484
ショッキングなことが判明しました!!
元からあるAはソース通り相対パスを取れますが
動的に作成したAはローカル絶対アドレスになります。

[ テストコード ]
<html><body>
<input type="button" value="href取得" onclick="alert(test.getElementsByTagName('a')[0].getAttribute('href',2))">
<input type="button" value="A要素を新たに作成" onclick="test.innerHTML='<a href=\'test.html\'>後から作成したA</a>'">
<div id="test"><a href="test.html">元からあるA</a></div>
</body></html>

@「href取得」ボタンを押すと相対パス「test.html」と表示。
A「A要素を新たに作成ボタン」を押してtestDIVの中を書き換える。
B「href取得ボタン」をもう一度押すとローカル絶対アドレスを表示。

これはどうしたもんでしょう
486406:2005/11/18(金) 06:00:08 ID:???
いいこと思いついた。
ActiveXObject("Scripting.FileSystemObject")あたりで
ローカルに保存後iframeに読み込めばこのおかしな動作を回避できますね
487Name_Not_Found:2005/11/18(金) 07:53:34 ID:???
>>467
なるほど配列の先頭を20回削除するわけね。

っておい。
while(node.hasChildNodes()){
node.removeChild(node.childNodes[0]);
}
って普通書かんか?まあ個人で作ってるだけだと思うが
忘れた頃にレスを30行は保存ようと仕様変更すると
忘れてるだろうな。
そして苦しむだろうな。
可読性もカンガエレ
488Name_Not_Found:2005/11/18(金) 08:53:37 ID:???
テーブルタグのなかの一つのセルの値をJavaScriptで
取り出したいのですが、可能でしょうか?
もし可能でしたらやりかたを教えていただけたらと・・・
489Name_Not_Found:2005/11/18(金) 09:25:31 ID:???
>>488
過去スレに多数あるから過去スレ全集を検索すれ。
それすらできない奴は帰れ。
禿しくガイシュツ

値を取り出したいのですが→innerHTML/DOM
テーブルタグ→getElementsByTagName('table/*tbody/tr/td*/')/getElementByID('hoge')
あとは探せるだろう?
491Name_Not_Found:2005/11/18(金) 09:43:23 ID:???
>>489,490
すみません。がんがったら見つかりました。
492Name_Not_Found:2005/11/18(金) 14:32:11 ID:6cQ3hBom
JavaScriptのプルダウンメニュー、外部JSファイルに移せますか?
493Name_Not_Found:2005/11/18(金) 14:43:31 ID:5W309NII
特定のリンクの色をjavascriptで変える方法教えて下さい
494Name_Not_Found:2005/11/18(金) 14:43:31 ID:6cQ3hBom
出せました。
本当にありがとうございます。
495Name_Not_Found:2005/11/18(金) 14:56:11 ID:???
>>2
496Name_Not_Found:2005/11/18(金) 19:47:06 ID:jo8vFZMZ
コメント欄にリンクを貼ることはできますか?
見れない人はこちらにどうぞ^^みたいな
497Name_Not_Found:2005/11/18(金) 19:54:21 ID:jo8vFZMZ
あと、ジャバスクリプトの外部ファイルを一度読み込んでしまえば、
以降はダウンロードしなくてよいと思うんですが、

その場合、絶対パスにしなければならないとかいうことはないですか?

つまり、相対パスだったら、階層が違うと、記述が違いますよね。

jsファイルが一階層目にあって、
それを三階層目から呼ぶなら
../../〜js
ですが
それを四階層目から呼べば
../../../〜js
になります。
この「../」が一つ多いか少ないかでブラウザは違うものと認識したりすることはないでしょうか?
玄人の方ご教授願えますか?

絶対パスだったら
src="http://www.〜.com"
で統一されると思うので、安心なんですが
498Name_Not_Found:2005/11/18(金) 20:11:30 ID:???
>>497
ブラウザはすべてのURIの相対パスは絶対パスに変換して
保持するはず。だから問題なしと思う。
>>496
我々はアンタの「コメント欄」がどれだか分からんのだけど。
日本語で分かるように質問書けないのなら帰ってくれ。
>>493
別に普通のテキストの色変えるのと同じだろ。過去スレ
全集に山程ある。探せないならカエレ。
499496:2005/11/18(金) 20:46:32 ID:jo8vFZMZ
<script type="text/javascript"><!-- situmon(); //-->
ここをコメント欄と呼びました。
</script>

このコメント部分に<a href="http://pc8.2ch.net/test/read.cgi/hp/"><a>
を挿入してみても大丈夫ですか?
500Name_Not_Found:2005/11/18(金) 20:58:58 ID:jo8vFZMZ
</a>
閉じ忘れました。
501Name_Not_Found:2005/11/18(金) 21:03:10 ID:???
>>499
何がしたいのかさっぱりわからんよ
502Name_Not_Found:2005/11/18(金) 21:03:17 ID:???
>>499
htmlとしてはコメントでも、スクリプトは認識するから、それではJavaScriptがエラーを吐く。
どうしてもやりたいのなら、
JavaScriptの処理で表示させないものを入れてみれば?
<div id="nonjs">こちらへどうぞ</div>
document.getElementById('nonjs').style.display='none';
試してないけどこんな感じ.
503Name_Not_Found:2005/11/18(金) 21:29:01 ID:???
どうしてもまではやりたくはありません。
502さんご親切にありがとうございます。
つけてみようかなくらいに思っていたことでしたが
そんなに難しいとは。
修行してきます。
504Name_Not_Found:2005/11/18(金) 21:50:02 ID:???
>>499, >>502
ECMA357-1
Firefox1.5でてすと。

<script type="text/javascript"><!-- situmon(); //-->
<a href="http://pc8.2ch.net/test/read.cgi/hp/"></a>
</script>
エラー無し。

<script type="text/javascript"><!-- situmon(); //-->
var x = <a href="http://pc8.2ch.net/test/read.cgi/hp/"></a>;
alert([typeof x, x.toXMLString()]);
</script>
結果: xml, <a href="http://pc8.2ch.net/test/read.cgi/hp/"/>
505Name_Not_Found:2005/11/18(金) 21:57:48 ID:???
502だけど、実はテストしてなかったのでやってみた。
<script type="text/javascript">
<!--
<a href="asdf">asdf<\/a>
alert("asdf");
//-->
</script>
IEだと、エラー吐かないけどアラートウィンドウが出ない。
aタグの行を削除するとアラートウィンドウが出る。
506Name_Not_Found:2005/11/18(金) 22:25:11 ID:efAInlyV
iframeの内容のリロードはできないのでしょうか?

<HTML>
<HEAD>
<script language="JavaScript">
<!--
function reload(){
  //iframe.location.href = "http://www.google.co.jp";
  //↑iframeの変更はできた
  iframe.location.reload();
  //↑リロードができない
}
// -->
</script>
</HEAD>

<BODY>
<input type="button" onClick="reload()" value="更新">
<iframe name="iframe" width="600" height="400" src="http://www.goo.ne.jp">
</iframe>
</BODY>
</HTML>

よろしくお願いします。
507Name_Not_Found:2005/11/18(金) 22:32:02 ID:???
素直に、noscript教えてやれよw
508Name_Not_Found:2005/11/18(金) 22:36:13 ID:???
>>506
ドメインが違えば出来ない可能性が高い。
509496:2005/11/18(金) 22:58:19 ID:???
496です。
やはりちょっと難しいようですね。
たかがリンクでしょ。って思ってた自分が情けないです。
皆さんでも意見が割れるのだから私なんかはまだまだ使えませんねorz
510496:2005/11/18(金) 23:00:06 ID:???
というか意見は割れてないようですね。失礼しました。
読解力もなく、髪もなくなってきていることに気づく今日この頃です。
511Name_Not_Found:2005/11/18(金) 23:10:04 ID:???
scriptタグの内側がなんでコメント欄なんだかいまだに
分からないんだけど…
document.write('<a href="...">...<\/a>');
とかすればリンク入れられるけどそれじゃ駄目なのかな。
512Name_Not_Found:2005/11/18(金) 23:12:51 ID:???
>>506
ドメイン違うページを表示させたとたんに何も操作は
できなくなる。と思え。リロードしたければ次のように。
iframe.locaion.href = 'about:blank';
setTimeout(function() { iframe.location.href = '本来のURI'; }, 10);
513Name_Not_Found:2005/11/18(金) 23:16:22 ID:???
>>508
>>512
ありがとうございます。
いろいろやってみます。
514Name_Not_Found:2005/11/18(金) 23:17:06 ID:???
>>511
大雑把に回答すると、htmlじゃないから。
スタイルシートも囲むね。
515496:2005/11/18(金) 23:22:01 ID:jo8vFZMZ
>>511
ジャバでメニュー更新していけば楽だろうと思いまして・・・
さらにジャバが見れない人にはサイトマップに行っていただこうかなと・・・

私が素人すぎるため、皆様の思考の前提が少し違ってきているのかもしれませんが、
<NOSCRIPT><A href="http://www.2ch/sitemap.html">サイトマップをごらんください</A></NOSCRIPT>
という感じでしょうか・・・

PHPは軽いとは言いますが、実感としてはJAVAと比べたら遅いと思いますので
516Name_Not_Found:2005/11/18(金) 23:32:20 ID:???
>>515
だんだん怪しくなってくるな
517Name_Not_Found:2005/11/19(土) 00:09:44 ID:???
じゃばとじゃばすくりぷとは別物だよ。
それから、カタカナで書くと分かりづらいから止めとけ。
518Name_Not_Found:2005/11/19(土) 00:13:21 ID:???
>>511
HTMLでは知らないタグは無視するという決まりがある。

だから、<SCRIPT>document("hello")</SCRIPT> と書いていて、
<SCRIPT>、</SCRIPT>を知らない(JavaScriptを知らない)ブラウザは

document("hello")

と画面に表示する。こまるだろ?
519Name_Not_Found:2005/11/19(土) 00:37:06 ID:???
> HTMLでは知らないタグは無視するという決まりがある。
そんなのあったっけ?
520496:2005/11/19(土) 00:42:44 ID:???
>>517
それぞれ違うことは知っていましたが、
どちらがどうとまでは覚えていなかったもので、すみません。

>>518
<NOSCRIPT><A href="http://www.2ch/sitemap.html">サイトマップをごらんください</A></NOSCRIPT>
これを追加するだけではダメでしょうか?
521Name_Not_Found:2005/11/19(土) 01:30:03 ID:???
>>520
それでいいよ
522Name_Not_Found:2005/11/19(土) 10:12:49 ID:???
showModalDialog()で開かれたページ内のsubmitで
サーブレットでsendRedirectで自ページを呼び出すと
ブラウザが中央に表示されてしまいます。
ブラウザの位置を保持したままsendRedirectできないものでしょうか?
523Name_Not_Found:2005/11/19(土) 10:51:05 ID:Jkia+LVn
Nullまたはオブジェクトではありませんの警告を回避する手段はないでしょうか?

やりたいことは、

左右フレーム構成のページで
左フレーム(left)にmidiのオンオフ用のスクリプトを

右フレーム(right)に<span id='aa' style='position:absolute;top:0'>
<embed src="a.mid" width=0 height=0 loop=-1>";
</span>
と記述しておき、

左フレームでボタンを押すと
parent.right.aa.innerHTML="";

を実行させ、オンオフをさせようとしている。

右フレームのページに<span id='aa' ></span>が記述されていないときに
スクリプトの実行を止めてエラー警告が出ないようにしたい。

です。

524Name_Not_Found:2005/11/19(土) 11:08:37 ID:???
>>523
普通にif文とかでaaがあるかどうかで枝分かれすんでしょ。
何が問題なの? if文が書けないというのならここで質問する
以前の問題だから自分で勉強すれ。
>>522
showModalDialog()を呼び出した側の元のページに
「window.name = '名前'」で名前をつけておいて、
submitするフォームのtargetにその名前を指定する
んではどうかな。
525522:2005/11/19(土) 11:17:59 ID:???
>>524
ありがとうございます。
そのようにしてあるのですが中央にいってしまいますorz
526Name_Not_Found:2005/11/19(土) 11:31:50 ID:???
>>525
ModalDialog側から元窓は参照できるんだっけ?もしできるなら
元窓のページ遷移させてModalDialogは単に閉じる、とか。
それもだめならModalDialogをあきらめて普通の窓にするしかないか。
527523:2005/11/19(土) 11:41:04 ID:???
>>524
すみません。aaがあるかどうかで枝分かれさすのは良いのですが、
そのaaがあるかどうかの条件式がわからないのです。
528Name_Not_Found:2005/11/19(土) 11:50:51 ID:???
>>527
だったら最初からそう書けって。
if(parent.right.aa)でいいだろ。
529Name_Not_Found:2005/11/19(土) 18:00:35 ID:???
画像をクリックしたとき
そのクリックした画像上の座標を取得するにはどうしたらいいでしょうか?
530Name_Not_Found:2005/11/19(土) 18:09:58 ID:???
ウィンドウのサイズから、画像の位置を引く
方法は調べればたくさん出るので聞くのは無しね
531 :2005/11/19(土) 18:54:38 ID:???
すみません、困ってます。
3つのテキストボックスcalc_01〜3の値の合計を、「計算」ボタンを押すと”calc_all”に合計を表示したいのですが、うまく動きません。
正確に言うと、「計算」ボタンを1回クリックするのは問題ないのですが、値を変えて、再度「計算」ボタンでエラーになります。
これどうしてなのでしょうか?
お教えください。

■3つの値
<input type="text" name="calc_01" size="7" readonly>
<input type="text" name="calc_02" size="7" readonly>
<input type="text" name="calc_03" size="7" readonly>
■ボタン
<input type="button" value="計算" onClick="calc_gokei()">
■合計を表示する
<input type="text" name="calc_all" size="8" readonly>
■JS部分
function calc_gokei(){
if(document.form1.calc_01.value){calc_01gokei = document.form1.calc_01.value}
else{calc_01gokei = 0}
if(document.form1.calc_02.value){calc_02gokei = document.form1.calc_02.value}
else{calc_02gokei = 0}
if(document.form1.calc_03.value){calc_03gokei = document.form1.calc_03.value}
else{calc_03gokei = 0}

calc_01gokei = parseInt(calc_01gokei)
calc_02gokei = parseInt(calc_02gokei)
calc_03gokei = parseInt(calc_03gokei)

calc_gokei = calc_01gokei + calc_02gokei + calc_03gokei
document.form1.calc_all.value = calc_gokei
}
532Name_Not_Found:2005/11/19(土) 19:20:39 ID:???
>>531
readonlyなんて久しぶりに見た。
手取り足取りと被るので悪いがパス
他の回答者の為に、エラー内容も書くように。ノシ
533Name_Not_Found:2005/11/19(土) 20:42:01 ID:???
>>531
関数名と変数名は同じ名前空間だから衝突したら駄目よ。
にしてもエラー内容書かない奴は2度と来るなよ。さいなら。
534450:2005/11/19(土) 23:21:25 ID:???
相当無駄な処理してましたね・・・
いろいろと知らない処理があったのでそれを使うと相当綺麗にまとめる事が出来ました。
有り難う御座います。

で、しばらく弄ってみてました。
結果、結局鯖上では

var sc = document.createElement("script");
sc.setAttribute("src", "./test.js");
document.getElementById("aaa").appendChild(sc);

の部分が上手く動作しないみたいです。
鯖上で外部ファイルを何度も読み込む手段はないでしょうか、自分では調べましたがajaxしか見つからなかったので、よろしくお願いします。
535523:2005/11/20(日) 00:03:30 ID:???
>>528
ありがとうございます。

if(parent.right.aa.innerHTML)で動かないかやっていたので
動かないはずです。大変助かりました。
536Name_Not_Found:2005/11/20(日) 00:39:42 ID:???
>>534
// まだやってたのか。
pathname までの src が不変だと、ブラウザが HTTP リクエストしないんだから、
"test" + (new Date).getTime() + ".js" みたいなリクエストさせりゃいいじゃん。
Apache なら mod_rewrite 使って、
RewriteEngine On
RewriteRule (.*/test)\d*(\.js)$ $1$2 [L]
みたいにできるわな。//完全にスレ違いスマソ
537Name_Not_Found:2005/11/20(日) 01:06:06 ID:???
>>535
JS 有効の今時ブラウザを使っている人が、サイト作者の意図に従って
フレームのまま閲覧しているわけではないから、その right がやばい。
フレームのまま閲覧していたとしても、ロードのタイミングがある。
right という名前から想像すると left から操作するのだろうが、
仮にそうだとすれば、right の HTTP レスポンスが来ていない場合が想定される。
その IE 独自の短縮した記法を使わない場合、以上から、最低でも、
parent.right && parent.right.dcument && parent.right.document.getElementById("aa")
のような段階を踏まなければならない。
もう少しまともにするなら、ユーザがフレームに別ホストのドキュメントを
読んでいないかチェックする (try catch) べきだし、そもそも、parent のような
非予約語は簡単に上書きされる (このスレにも Array という変数名を使った人の報告があった)
わけだから、JavaScript (!JScript) では、
"parent" in this && parent instanceof Window からチェックしなければならない。加えて、
&& parent.right && parent.right instanceof Window のように続ける。
538Name_Not_Found:2005/11/20(日) 10:58:10 ID:???
>>534
だいたいがその「aaa」というIDは何の要素に振ってるのかな。
過去スレ全集によると、ソース読み直しはscript要素のsrc属性に
値を入れるだけでできるので、わざわざscript要素を新たに追加
することに意味があるのかどうか疑問だしな。まあ、先人の知恵を
無視して苦労したいのなら勝手にという感じ。
539Name_Not_Found:2005/11/20(日) 18:14:20 ID:OAm97Nli
http://firefox.geckodev.org/
このサイトは、メニューにマウスを乗せるとサブメニューが出てくるんですけど、
これをJavaScriptで実現する方法なりヒントなり解説なりをしているサイトを
教えていただけないでしょうか?
上記のサイトはPHPを使ってサブメニューが出てくるようにしてるみたいなんですけど、
JavaScriptでもできますよね?

ぐぐりたくても、これに関する検索キーワードが思いつかなくて調べようがないんです。
マウスを乗せるとサブメニューが出現するようなテクニックを、一般的になんと呼ぶのかも分からないので、
検索のしようがありません。検索キーワードだけでも教えて頂けないでしょうか?

それよりも、ずばり方法を教えて頂けるのなら非常にありがたいのですが。
540Name_Not_Found:2005/11/20(日) 18:19:09 ID:???
>>539
PHP は関係ない
メニューは JavaScript
541539:2005/11/20(日) 18:28:38 ID:???
>>540
レスどうも。やっぱりJavaScriptですか。
ぐぐり用の検索キーワードは何がいいんでしょうか?
調べたくても調べられない・・・
542Name_Not_Found:2005/11/20(日) 18:47:06 ID:???
>>538
>>536
> pathname までの src が不変だと、ブラウザが HTTP リクエストしない
543Name_Not_Found:2005/11/20(日) 19:31:43 ID:???
>>542
だからそれは「?+ランダム」をつけるんでしょ。そんなの
即回答されてたじゃん。
544Name_Not_Found:2005/11/20(日) 19:36:11 ID:???
>>543
pathname に ? はつかない。よく読め屑野朗。
545Name_Not_Found:2005/11/20(日) 19:38:10 ID:???
>>543
>>536
> "test" + (new Date).getTime() + ".js"
546Name_Not_Found:2005/11/20(日) 20:12:21 ID:???
まあJSを再読み込みするっつー設計を見直したほうが早い気も。
547593:2005/11/20(日) 20:14:49 ID:???
Ajax で取得して eval にぶちこんだら?
548NAME_NOT_FOUND:2005/11/20(日) 20:16:11 ID:???
名前ミスった!
549Name_Not_Found:2005/11/20(日) 20:27:09 ID:???
>>547
src 書き換えも Ajax と呼ばれることもある、ごく普通に。
XMLHttpRequest のように、もっと具体的な正しい言葉を使え。
ここは JS スレなんだから、そういう buzzword を使って素人を煙に巻く必要は無い。
550Name_Not_Found:2005/11/20(日) 20:27:39 ID:???
>>539のサイトのJSのソース見たんだけど、
あれはソースを見せたくないから
わざとあんなに複雑にやってるの?
(改行なしのすっごい長い1行とか)
551Name_Not_Found:2005/11/20(日) 21:07:45 ID:???
>>550
どうでもいいよそんなこと
552Name_Not_Found:2005/11/20(日) 21:39:06 ID:???
> src 書き換えも Ajax と呼ばれることもある

嘘だろ?
553Name_Not_Found:2005/11/20(日) 21:41:23 ID:???
src 書き換えが Ajax と呼ばれたことなんて古今東西ただの一度も無かったもんな
554Name_Not_Found:2005/11/20(日) 21:45:47 ID:???
うわwwwww漏れwwwAjax駆使しまくりんぐwwwwwwww
555550:2005/11/20(日) 21:50:59 ID:???
>>551
(´・ω・`)はい。見なかったことにします。
556Name_Not_Found:2005/11/21(月) 02:05:24 ID:???
はてなだけど、

Asynchronous JavaScript + XMLの略称。
JavaScript の組み込みクラスである XMLHttpRequest を利用した非同期通信を利用して、ウェブブラウザ上で既存の枠組みにとらわれないインタフェースを実現するための技術。

とあったんだが違うの?
おれもそう思っていたのだけど。
557531:2005/11/21(月) 02:37:19 ID:???
>532.533
ありがとうございます。
未だ奮闘中で、ご指摘の部分確認してみます。
558Name_Not_Found:2005/11/21(月) 05:19:15 ID:???
別にsrc書き換えでも読み込みは非同期だから別にいいんじゃないの。
559Name_Not_Found:2005/11/21(月) 08:02:04 ID:???
>>539
確かにJSファイルの最初の塊は夜勤明けの目には酷だった。解読断念。

やり方は色々あるだろ。ここはulとli使ってたけど
それとかテーブルのTDにメインメニュ、別のTDに消してあるテーブル仕込んでもいいし
めんど臭きゃ絶対値でdiv貼りつけてもいいのでは?
四角の装飾はCSSか?分からなければテーブル枠でカコワルク逝け。

display=='none'とかくらい知ってるだろ?

>>1の全集サイトで検索かければ今まで出てきた'サブメニュー'のことは載ってる。
装飾はCSS>>8だ。

>ずばり方法を教えて
やらないのがこのスレの伝統。
560Name_Not_Found:2005/11/21(月) 09:09:43 ID:???
メニューの人、手とり足とりスレ逝ったら。すごく面倒くさい
からあそこで質問答えようとしてるヤシが喜ぶかもよ。それで
どうなるかまでは責任持たないけど。検索してきっちりできてる
ライブラリを取って来るのが一番楽だとは思うね。
561Name_Not_Found:2005/11/21(月) 16:04:07 ID:uOLj0JwD
<span id="kan29">(G_G)</span>
<script>
kao29 = new Array();y29 = 0; yt29 = 0;
kao29[0] = "(C_C)";
kao29[1] = "(G_G)";
function laykao29(){
if(document.getElementById){
document.getElementById('kan29').innerHTML=kao29[y29];}
if (y29<kao29.length-1) { y29++; } else { y29=0; }
yt29 = setTimeout("laykao29()",500);}
laykao29();
</script>
562Name_Not_Found:2005/11/21(月) 16:10:46 ID:???
>>561
Tipsスレにでも残しておけば?
563Name_Not_Found:2005/11/21(月) 16:37:44 ID:???
>>561-562 最近の議論の成果(名前空間を汚染しないバージョン)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<span id="kan29">(G_G)</span>
<script type="text/javascript">
!function() {
if(!document.getElementById) return;
var e = document.getElementById('kan29'), i = 0, a = ['(C_C)', '(G_G)'];
setInterval(function() { e.innerHTML = a[i]; i = (i+1)%a.length; }, 500);
}();
</script>
</body></html>
564Name_Not_Found:2005/11/21(月) 17:03:09 ID:???
565Name_Not_Found:2005/11/21(月) 17:49:50 ID:???
>>552-554
おまえら……小規模零細ぶりを争ってどうする……。
566Name_Not_Found:2005/11/21(月) 18:01:22 ID:???
>>558
非同期じゃあないわな。部分的と言いたいなら言葉がおかしい。
567566:2005/11/21(月) 18:08:40 ID:???
試したら、非同期だった..orz
568Name_Not_Found:2005/11/21(月) 18:15:47 ID:???
>>567
どんな実験したの?
569Name_Not_Found:2005/11/21(月) 18:47:32 ID:???
script 要素の動的書き換えが IE で非同期実行されるなんて周知の事実だろ。
対して Opera、Gecko 系では実行が終わってからステップが進む。
570Name_Not_Found:2005/11/21(月) 18:51:55 ID:???
>>563
() を書かずに ! を書いて一文字節約ですかw
でも ! を書いたらブックマークレットには使えないし、実用性に欠しくなりませんかねww
571Name_Not_Found:2005/11/21(月) 18:54:58 ID:???
>>569
どのブラウザも読み込み完了を待たないから。結局、<img>とかといっしょ。
572Name_Not_Found:2005/11/21(月) 20:00:10 ID:???
画像のポップアップスクリプトについて質問させてください。

http://web.paulownia.jp/script/sample/popup.html
↑このスクリプトが大変気に入っているのですが、
できれば「クリックで開閉」ではなく、「マウスオーバーで開き、マウスアウトで閉じる」
という挙動に変更できないかなぁと思っています。

JavaScriptの知識は全くと言っていいほどありません。
おわかりの方がいらっしゃいましたら、アドバイスをいただけませんか?
よろしくお願いします。
573Name_Not_Found:2005/11/21(月) 20:03:02 ID:???
>>572
そのページを表示して、アドレス欄に
JavaScript:document.body.innerHTML=document.body.innerHTML.replace(/onclick/g,'onmouseover');focus();
と入力し、Enter
574Name_Not_Found:2005/11/21(月) 20:10:43 ID:???
>>573さん
ありがとうございます。
やってみたところ、マウスオーバーで画像がポップアップしました。
しかし、ポップアップを閉じることはできませんでした…

わからないなりに理解してみたところ、
「onclick」の文字を「onmouseover」に置き換えるのですよね?
(書き忘れて申し訳ないのですが)それは既に試したのですが、
「マウスオーバーで開き、クリックで閉じる」という挙動になってしまいました。
「サムネイルからマウスが離れると閉じる」という挙動が理想的なのですが、
引き続きアドバイスを募集させてください。
575Name_Not_Found:2005/11/21(月) 20:12:15 ID:???
>>574
どういうイベントの種別があるかくらい自分で調べなよ。
そんなおんぶにだっこな奴、誰も相手にしないぞ。
576Name_Not_Found:2005/11/21(月) 20:18:21 ID:???
クリックで閉じるところで他のイベントを試す
577Name_Not_Found:2005/11/21(月) 20:28:00 ID:???
>>575さん
ありがとうございます。

昨晩2,3時間ほど検索してみたのですが、上記のスクリプトを元にやりたいので、
望む結果が得られませんでした。

自分でいろいろ考えたところ、
onclick="popupImage('l_neko1.jpg')"
の部分で、
「クリックしたら」「popupImageという関数を呼ぶ」「引数はl_neko1.jpg」
という命令を出しているように見えます。

function popupImage(filepath){}
という関数の中に、さらに関数(function closeImage)があるのですが、
そちらを呼び出すにはどのようにすればいいのかわからず、
くじけてこちらに書き込みさせていただきました。

<img src="s_neko1.png" width="128" height="96" onclick="popupImage('l_neko1.jpg')">
を、
<img src="s_neko1.png" width="128" height="96" onmouseover="popupImage('l_neko1.jpg')" onmouseout="closeImage()">
と書き換えたりもしてみたのですが、うまくいきませんでした。
また、closeImage関数を外に出してみてもうまくいきませんでした。

僕の知っているキーワードが底をついたせいで、Googleも力を発揮してくれません。
力を貸していただけませんでしょうかm(_ _)m
578Name_Not_Found:2005/11/21(月) 20:37:01 ID:???
追加して表示する部分でイベントを拾う。
しかし、この方法でマウスとおるだけで画像表示されたら邪魔でかなわないな。
579572:2005/11/21(月) 20:38:32 ID:???
>>576さん
ありがとうございます。
なるほど!と思いました。
popupImage.imgNode.onclick = closeImage;
の部分を、
popupImage.imgNode.onmouseout = closeImage;
に変更したところ、マウスアウト時に閉じるようになりました。
本当にありがとうございます。

その関係でまた質問が浮かんでしまいました。
>>577にも書いたのですが、関数の中の関数(閉じる部分)を直接呼び出すということはできないのでしょうか?
現状では、「ポップアップした画像からマウスアウトすると閉じる」なのですが、
さらに「サムネイルからマウスアウトすると閉じる」という処理を入れたい場合は
どうすれば良いでしょうか?

と、ここまで書いておいてあれですが、試行錯誤してみます。
ホントにありがとうございました。
580572:2005/11/21(月) 20:44:03 ID:???
>>578さん
>>579のようにしてみたら、マウスアウト時に閉じるようになりました。
まだ問題があるので再試行してみます。

実際にやりたいことというのは、
「[画像A]のサムネイル→マウスオーバー→[画像A]の元画像がポップアップ」
ではなく、
「同一の小さいアイコン(が並んでいる)→マウスオーバー→[画像A]のサムネイルがポップアップ」
という形です。
小さく端っこの空白部分にポップアップさせるので、邪魔にはならないと思います。たぶん…

最後になりましたが、>>573さん、アドバイスありがとうございます。
581Name_Not_Found:2005/11/21(月) 22:19:36 ID:???
>>580
アンタは検索とかする以前に、JavaScript本を1冊通読する
べきだな。スレの浪費だ。
582572:2005/11/21(月) 23:09:10 ID:???
>>581さん
質問者のくせに生意気なことを言うのもあれなんですが、
本を買うまでもないような小ネタなので、検索→質問→本を購入、という流れになるのがふつうだと思います。
「本買って読め」ではスレの存在意義が不明ですよね。

先人の知恵をお借りしようと甘い考えを持ったのが悪かったです。ごめんなさい。
しかし、いくつかのアドバイスのおかげで、ようやく望んだ動作ができるようになりました。
今後JavaScriptに触れることは無いと思いますが、ありがとうございました。
583Name_Not_Found:2005/11/21(月) 23:15:32 ID:???
>>582
本を読め
2度と来るな
584Name_Not_Found:2005/11/21(月) 23:16:22 ID:???
おまいら落ち着けよw
またーり行こうぜ
585糞スレ再建人:2005/11/21(月) 23:26:29 ID:???
>>572
よろしければ廃墟へどうぞ お越し くださいませ:
http://pc8.2ch.net/test/read.cgi/hp/1070611524/l50
(JavaScript Tips コレクション)
問題解決までサポートだ ぬるぽ〜 !!!
586Name_Not_Found:2005/11/21(月) 23:28:36 ID:???
Tipsスレにnullが住み着いたのか
nullのスクリプトがTipsになるなんてうんざりするな
587糞スレ再建人:2005/11/21(月) 23:37:44 ID:???
>>586
'tips' と言ったって, 誰も見向きもしない廃墟だ.
そもそも, それらしきものも未当たらない.
だからこそ, 誰にも迷惑を書けずに徹底サポートが可能だと考える.
最初は"ばからしい" と思える質問に取り組んでいて
逆に教えられることも少なくないんだ.

'手取り足取り'も 似たりよったりの糞スレだったのだが...
まっ, 愚痴っても始らない...
588Name_Not_Found:2005/11/21(月) 23:53:10 ID:aTO5p4zo
外部テキストファイルから文字列の一部を取り出して
それを表示させたいんですけど、どうすればいいでしょう?
検索したりはしてるんですが、なかなかわからなくて
キーワードだけでも教えてもらえるとありがたいです。
検索が下手なだけかもしれませんが。
よろしくお願いいたします。
589Name_Not_Found:2005/11/21(月) 23:56:45 ID:???
587失せろ
590糞スレ再建人:2005/11/22(火) 00:00:59 ID:???
>>588
たぶん, ここで質問しても 煽られて終わりになるんじゃないかな ?
(常連の全員がそうだとはいわないけど, 排他的な方向がここの特色)
無理にとは言わないけど廃墟にお越しくださいませ.
591Name_Not_Found:2005/11/22(火) 00:10:15 ID:qqKNG9DA
588>>590
仮に答えてもらえなくても
おそらくそれはこちらの努力が不十分だからだと考えています。
このスレでは以前にも私が悩みに悩んだ事の解決の糸口を
もらったりもしてますので、そういう批判をする方の書き込みに
従いたいとは思いません。
親切心からの書き込みかもしれませんが、解答者の気分を害するような
書き込みには疑問を感じます。
592Name_Not_Found:2005/11/22(火) 00:13:32 ID:???
>>591
句読点が,.になっているのがnullってやつ。
このスレ最近知ったのならスルーでいいよ。
593Name_Not_Found:2005/11/22(火) 00:14:15 ID:+vTNM7Gz
<html>

<head>

<script><!--
function gegege() {
alert(document.all.item("hoge"));
}
--></script>

</head>

<body>

<p name="hoge" onclick="gegege();">aaaaa</p>

</body>

</html>

nullになってしまうんですが、なぜでしょう。
594糞スレ再建人:2005/11/22(火) 00:14:16 ID:???
>>591
As you like it !
I don't care about that.
595Name_Not_Found:2005/11/22(火) 00:17:59 ID:weTWx2h1
CGIでクッキーに保存したユーザー名を、JavaScriptで表示させる事はできるのでしょうか?
596Name_Not_Found:2005/11/22(火) 00:19:49 ID:???
>>595
できるよ
ドメインが同じで指定されたpathなら
597Name_Not_Found:2005/11/22(火) 00:41:37 ID:???
javaはよくしらんが
<p></p>じゃなくて<a></a>じゃね?
598593:2005/11/22(火) 00:43:33 ID:+vTNM7Gz
もしかして、divやpにname属性ないの?
599Name_Not_Found:2005/11/22(火) 00:47:50 ID:???
>>598
あっちのスレで null にレスもらってんじゃん
600Name_Not_Found:2005/11/22(火) 08:49:50 ID:???
>>582
あんたの場合、系統的な理解がなさすぎて回答者は
もちろん自分の時間も無駄にしすぎなのが明らか。
あんたが系統的な勉強したくないというのは勝手だが、
その状態で以後ここに質問しにくるのはやめてくれよな。
てなことがあんたの質問見れば常連にははっきり分かるのさ。
>>590
このスレは>>1に「道場訓」があるように、質問者も回答者も
まっとうなJavaScript使いとして向上することをめざしている。
だから向上する気のない奴は叩かれる。それだけさ。
>>593 >>598
もちろんないとも。ID振ってgetElementById()使え。
あと、HTMLでその要素の位置より「後」にスクリプトを
書かないとまだ定義されてないんで参照できないだろ。
601Name_Not_Found:2005/11/22(火) 08:56:15 ID:???
しまった、最後のは撤回、関数呼ぶ時点ではもうあるんだから
問題なかったよな。
602Name_Not_Found:2005/11/22(火) 09:21:56 ID:???
>>601
煽られ前に訂正乙w
603Name_Not_Found:2005/11/22(火) 09:33:50 ID:???
>>602
でも結局あおられてるしw
604Name_Not_Found:2005/11/22(火) 16:38:32 ID:zRqoY3ki
aspファイルの1フォーム内にて可変(3個〜10個)のコンボボックスがあり、
その中で同じ値が選ばれているものがあった場合はalertを出したいのですが、
どのようなものをつくればよろしいのでしょうか?
605Name_Not_Found:2005/11/22(火) 17:06:30 ID:???
>>604
ASPかどうかには関係ないだろ。それにHTMLには「コンボボックス」は
ないと思うが、選択メニューのことかね。そうだとして、それらに
「sel1」「sel2」… のような規則的な名前をつけておき、
var v, e, o = new Object();
for(var i = 1; e = document.forms.フォーム名.elements['sel' + i]; ++i) {
if(o[v = e.options[e.selectedIndex].value]) alert(v + 'が重複してます。');
o[v] = true;
}
とかかな。試してないが。
606Name_Not_Found:2005/11/22(火) 18:02:39 ID:cPJlODMf
var data

function XMLHttp(f,l){
var xml
var xml = new XMLHttpRequest();
xml.onreadystatechange = function(){
if (xml.readyState == 4 && xmlhttp.status == 200){
data = xml.responseText;
//alert(xml.responseText);
}
}

alert(data);

こんばんは、お世話になります。

firefox で グローバル変数の data に xml.responseTextの内容を入れるには
どうしたら良いのでしょうか?。IEではこの書き方でグローバル変数 dataに
データが入るのですがFirefoxではグローバル変数のdataにデータが入りません。
alert(xml.responseText);でデータがあるのは確認しました。
607Name_Not_Found:2005/11/22(火) 18:09:14 ID:???
open と send は書き込み用に省略か?
あと、非同期というのはそういうものだから、試しに、
open(??, ??, false)
してみれば。
608Name_Not_Found:2005/11/22(火) 18:30:10 ID:???
はじめまして。
文字サイズ変更のJavaを使いたく過去ログの
+ JavaScript の質問用スレッド vol.34 + を検索しやってみましたが
知識不足もあってうまく行きません。
お手数をおかけしますが、文字サイズ変更のJavaに関して
ページ化されているところなどあったら教えていただけないでしょうか。
609Name_Not_Found:2005/11/22(火) 18:31:30 ID:???
>>608
>>1 を読め
610Name_Not_Found:2005/11/22(火) 18:44:51 ID:???
まっさらなページに組み込むとうまくいくのですが
デザインが入ったものに組み込めませんでした。
職人さんを探し依頼してみます。
611職人 3 :2005/11/22(火) 18:49:51 ID:???
なんだか良くわからないけど
リっこうほ〜 !
http://pc8.2ch.net/test/read.cgi/hp/1070611524/l50
JavaScript Tips コレクション
で待ってるよ〜.

詳細はそちらで...
612Name_Not_Found:2005/11/22(火) 18:59:36 ID:???
新しいコテハンか?本とウザイな
613606:2005/11/22(火) 20:51:59 ID:cPJlODMf
function XMLHttp(f,l){
var xml;
var xml = new XMLHttpRequest();

xml.onreadystatechange = function(){
if (xml.readyState == 4 && xmlhttp.status == 200){
data = xml.responseText;
//alert(xml.responseText);
}
xmlhttp.open('GET',f,true);//true,false
xmlhttp.send("");
}

こうでした<(_ _)>
firefoxはfalseにしたらopenそのものがこけてしまうしまうらしく上手く行かないのです。
614606:2005/11/22(火) 20:57:25 ID:???
>>613
xmlhttp.status == 200 > xml.status == 200
訂正(^^;

dataに新規の情報が入るまでsleepするとかしないと無理なのでしょうか?
615Name_Not_Found:2005/11/22(火) 21:15:56 ID:???
>>613-614
だからさあ、readyになった時にはじめて残りの(やりたい)動作を
実行するように書けばいいんでしょ。具体的にはonladystatechange
の関数からそのやりたい動作をやる関数を呼び出すようにすれ。
sleepなんてないがな。
616Name_Not_Found:2005/11/22(火) 21:16:53 ID:???
>>610
そういう場合は「うまく行かない最小限のサンプル」を
作って来い。作れないならそういう作業には能力不足だって
ことだ。
617Name_Not_Found:2005/11/22(火) 21:19:31 ID:???
>>614
それでIEで動くの!?
618Name_Not_Found:2005/11/22(火) 21:21:49 ID:???
FireFoxでsynchronousにXMLHttpRequest.sendしようとしたら
なんかやたら応答に時間がかかる問題があったんだけどそれとは違うのかね。
プロキシかましてモニタしたらリクエスト送ってからしばらく沈黙してやがった。
1.5RCにしたら直ったけど
619Name_Not_Found:2005/11/22(火) 21:31:06 ID:???
> firefoxはfalseにしたらopenそのものがこけてしまうしまうらしく
つうか、まずは、MSXML や Mozilla のサイトに書いてある通りの順番で書けば?
どこでも最初に open 書いてるだろ。
それと、そもそも MSXML を真似たのに、後発の Mozilla その他は、すんごい独自路線。
だから、onload とか勝手に作ってて、これらの方が正常動作する。
620Name_Not_Found:2005/11/22(火) 21:50:39 ID:???
javascript:var d;var x=new XMLHttpRequest;x.open('GET',location.href,false);x.send(null);d=x.responseText;alert(d)
このスレで試すと、alert にちょっと時間がかかるが、問題無い。
false にした時に onreadystatechange で readyState == 4 を確認しているのなら、それ自体がおかしい。
621Name_Not_Found:2005/11/23(水) 03:40:17 ID:XzT5W7P4
JavaScriptでポップアップウインドウを実装したのですが
レイヤが増えると、マウススクロールの速度が遅くなります(win/IE)。
みなさんはそのあたりのパフォーマンス問題はどうしていますか?
622Name_Not_Found:2005/11/23(水) 07:29:28 ID:???
パフォーマンスに影響が出るほど酷使しない方針。
623Name_Not_Found:2005/11/23(水) 08:33:39 ID:???
>>614-615
以前のスレでsleepしたい→ないわヴォケ論争があった記憶がある。
>>1過去スレ全集で調べて見れば
624606:2005/11/23(水) 09:46:30 ID:???
おはようございます

テストで拡張子がrdfのファイルを読み込もうとしていたのがいけなかったようです(^^;。
解った後で振り返ると何処かのサイトでfirefoxは拡張子に制限があるような記事を
見かけた記憶がありました・・・。
本来はphpファイルの結果も読みたいのですが回避方法などあるのでしょうか?。

var d;
var x=new XMLHttpRequest;
x.open('GET','index.txt',false);
x.send(null);
d=x.responseText;
alert(d);

>>615,617-620,623
皆様、色々なご意見ありがとうございます。
IEではこのままでは動きません。今回はfirefoxの問題だけでしたので抜粋しました。
625Name_Not_Found:2005/11/23(水) 11:33:18 ID:???
>>624
Gecko系(とうかまっとうなブラウザ)ではコンテンツの種別は
サーバが返す HTTP Content-typeヘッダで判別する。普通PHP
はtext/htmlを返すから問題ないんじゃないの? RDFが駄目って
いうのはよく分からんけど…
626Name_Not_Found:2005/11/23(水) 12:46:39 ID:???
教える気が無いやつらはレスする必要ないよ?
っていうか知らないだけなんじゃないの?wwwwwwwwww
627606:2005/11/23(水) 13:13:14 ID:???
>>625
色々試していてわかったなのは拡張子がrdfであったり、拡張子がphpの場合でもデータにxmlが
入っていると読み込みに失敗するようです。
確かセキュリティ関係でXMLHttpRequestの問題があったような記憶があるのでFirefoxでは
データを返さないようになっているのではないでしょうか?。それともxmlとして解釈してたり?。
628Name_Not_Found:2005/11/23(水) 14:37:11 ID:???
XMLで問題が起きるのは単にXMLが間違っている
(well-formedじゃない)とかじゃないの?
629606:2005/11/23(水) 15:17:25 ID:???
>>623
ネットで拾ってきた物で試したけど拡張子xml なら読み込める内容でもrdfでは読み込めないので
firefoxの仕様の可能性が高い。正しくはresponseTextでは読み込めないという事で拡張子がrdf
の場合に限り他の展開の仕方があるのではないだろうか・・・。
それはそうとphpは<?でphpが処理するから<?xml version="1.0?>の時点でデータがおかしくなって
いるのだとさっき気づいた(−−;。
630Name_Not_Found:2005/11/23(水) 15:30:15 ID:???
>>629
そういえば前に実験したときXMLデータはresponseTextからは読めな
かったような気がする。
631606:2005/11/23(水) 15:46:51 ID:???
>>630
firefoxは拡張子がrdfの時にsend(null)した時点でエラーになりますね。
responseXMLはnull返ってくるし・・・。

RSSも展開したい今日この頃(−−;。
632606:2005/11/23(水) 15:56:00 ID:???
firefoxでrdf読む場合はoverrideMimeTypeを追加すると読めるようになりました(^^

日記って突っ込まないでね(--;
633Name_Not_Found:2005/11/23(水) 16:41:45 ID:???
押したら 保存するファイル名を指定してダウンロード開始できるようなボタンは作れないでしょうかね
保存するファイル名を指定してというのは ファイル保存のダイアログで本来のファイル名でなく
デフォルトで入る初期値を指定できないかということです。

できないですかね? IEだけで動くでもいいんですが
634Name_Not_Found:2005/11/23(水) 16:57:38 ID:???
つ ActivX
635Name_Not_Found:2005/11/23(水) 16:59:43 ID:???
ActiveXObject
636Name_Not_Found:2005/11/24(木) 10:13:49 ID:Vv7DO1QR
こちらのサイトを参考に二段式プルダウンメニューを作成しているのですが
ttp://www.fromdfj.net/javascript/pulldown2.html
この二段式プルダウンを選択した後、「検索」ボタンで飛ぶように処理するには
onChangeを何に書き換えたらよろしいですか?
637Name_Not_Found:2005/11/24(木) 11:03:24 ID:???
>>636
どう考えても自分でちょっと勉強すればできるだろ。
638Name_Not_Found:2005/11/24(木) 11:53:24 ID:???
なんで煽りだけの書き込みするんですか?
そんなに暇なんですか?
639Name_Not_Found:2005/11/24(木) 11:58:18 ID:???
>>638
「ちょっと勉強すればできる」というのは重要な情報だろ。
本当に難しければちゃんとヒントあげるって。勉強する気が
ない奴は帰れ。
640Name_Not_Found:2005/11/24(木) 12:03:26 ID:???
>>636, >>638
sample:
www17.ocn.ne.jp/~addict/sample/dbl_selection/dbl_selection2.html
641Name_Not_Found:2005/11/24(木) 12:12:23 ID:OizhvPkU
質問です。
HTML本文のタグにはjavascriptを記述しないでID定義だけ、javascriptは外部ファイルに、といった縛りで
onMouseOverを使って画像を変化させることは可能ですか?
自分でもちょっとやってみたのですが問題点がまったく分らず上手くいきません。ご教授願います。
642Name_Not_Found:2005/11/24(木) 12:33:33 ID:???
>>641
Not necessary 'id' for this case:

function f(x){
i.src='***1.png';
}


<img alt="***" src="***0.png" onmouseover="f(this)">
643Name_Not_Found:2005/11/24(木) 12:35:34 ID:???
・incorrect: i.src='***1.png';
・correct: x.src='***1.png';
644Name_Not_Found:2005/11/24(木) 12:45:23 ID:OizhvPkU
>>642,643
ご丁寧にありがとうございます。
私の説明不足で申し訳ないのですが、
提示していただいた場合だと、imgタグにonmouseover="f(this)"
を記述しないでidだけ記述し、外部ファイルにonmouseoverを記述することはできるか?という質問をしたかったんです。
645Name_Not_Found:2005/11/24(木) 12:49:26 ID:???
646Name_Not_Found:2005/11/24(木) 12:54:56 ID:???
>>644
document.getElementById('ID名').onmouseover = function() { ...動作... };
を実行させればほぼ同じことになるから。ただしthisを渡すのならもうちょっと
工夫が必要だけどね。
647Name_Not_Found:2005/11/24(木) 13:31:54 ID:Vv7DO1QR
>>639-640
申し訳ございません。上司が当初に指示出したことと
違うこと言い始めたのでイラッときていました。
どうもありがとうございます。
648Name_Not_Found:2005/11/24(木) 13:52:44 ID:???
'`,、('∀`) '`,、
649Name_Not_Found:2005/11/24(木) 14:21:23 ID:???
>>647
「検索」ボタンで→そのボタンのonchangeハンドラで動作起動
選択したメニュー項目番号の取得→そのメニューのselectedIndexを参照
ページ遷移→location.href に行き先URIを入れる
どれも過去ログに全集に山盛り実例だらけだ。
650Name_Not_Found:2005/11/24(木) 17:12:25 ID:VAel6FWO
こんばんわ。
txtファイルから1行ずつ読み込むという作業をさせようとしたんですけど、
if文のa.Peek()あたりで
「オブジェクトでサポートされてないプロパティまたはメソッドです。」
というエラーが出ます。
何卒ご指導お願いいたします。m(_ _)m

var fs, a;
b = new Array();
fs = new ActiveXObject("Scripting.FileSystemObject");
a = fs.OpenTextFile("D:\\test.txt", 1, false);
for(i=0;a.Peek() !=-1;i++)
{
b[i] = a.readLine();
}
a.Close();
651Name_Not_Found:2005/11/24(木) 17:20:27 ID:???
WSHスレに逝くべきでわ。
652Name_Not_Found:2005/11/24(木) 18:04:44 ID:???
>>650
ReadAllで改行splitするほうが簡単
そのときは3種類もある改行コードに注意
653Name_Not_Found:2005/11/25(金) 07:45:27 ID:???
まあ>>651だと思うが、
ttp://pc8.2ch.net/test/read.cgi/win/1126543183/
a.Peek()が「オブジェクトでサポートされてないプロパティまたはメソッドです。」
なんだろ?
aがちゃんと何が入ってるか確かめたのか?
それかPeek()が文法エラーとかそんなとこだろう。
「}」「)」抜けてないか?
654Name_Not_Found:2005/11/25(金) 08:50:23 ID:???
>>653
すっこめ!! 文法エラーだったら実行に入らないから「オブジェクト
でサポートされてない…」が出ることはない。デタラメなアドバイス
を偉そうに語りに来るな!
655Name_Not_Found:2005/11/25(金) 10:58:44 ID:???
同じ名前のエレメントが1つあるか複数あるかという判定は
どのようにしたらいいでしょうか?

1つのときは
frm.hoge.checkedでとるのですが
複数のときは
frm.hoge[i].checked
というようにとり方を変えないといけないようなのですが
656Name_Not_Found:2005/11/25(金) 11:14:48 ID:???
>>655
仕様書っつうか各ヴェンダの使用説明書嫁。

ついでに、おまいだけじゃないが、>>2 (2)
>同じ名前のエレメント
なんて曖昧に書くな。<input name..> みたいなのでいいから短いHTMLを書け。
657Name_Not_Found:2005/11/25(金) 11:39:56 ID:???
>>655
「同じ名前のエレメント」と書いた場合、それはHTMLのエレメント、
つまり「div要素」とか「ul要素」などのことで、アンタの質問は
1つのページにdiv要素なりul要素なりが2個以上あるかどうかを
調べたいという意味になるんだな。自分の用語がいかにいい加減
か思い知れ。 >>656の突っ込みも中途半端。HTMLを書いても間違った
用語が救済されるわけじゃない。正しい用語を学ぶべき。

アンタが使うべき用語は「フォームの入力部品(ないしコントロール)」ね。

で、アンタがやりたいことは「if(frm.hoge.length)」で枝分かれ
すればいいんじゃないかな。
658Name_Not_Found:2005/11/25(金) 11:45:38 ID:???
一個の場合はfrm.hoge.lengthで取れないみたいです。
複数の場合は取れるのですが
659Name_Not_Found:2005/11/25(金) 11:50:18 ID:???
>>658
エラーをキャッチしる
660Name_Not_Found:2005/11/25(金) 11:55:03 ID:???
>>655
getElementsByTagName
661Name_Not_Found:2005/11/25(金) 12:17:48 ID:ZOGoxPaR
<FORM name="TestForm" action="" method="POST" target="">
<TABLE border="1" cellspacing="0" cellpadding="0" width="100%">
<TR>
<td>1位</td><TD>
<select name="Select1">
<OPTION value="449">[選択なし]</OPTION>
<OPTION value="465">あ</OPTION>
<OPTION value="466">い</OPTION>
<OPTION value="467">う</OPTION>
</select>
<td>2位</td><TD >
<select name="Select1">
<OPTION value="449">[選択なし]</OPTION>
<OPTION value="465">あ</OPTION>
<OPTION value="466">い</OPTION>
<OPTION value="467">う</OPTION>
</select>
<td>3位</td><TD>
<select name="Select1">
<OPTION value="449">[選択なし]</OPTION>
<OPTION value="465">あ</OPTION>
<OPTION value="466">い</OPTION>
<OPTION value="467">う</OPTION>
</select>
</TR>
</TABLE>
<TR><TD><INPUT type="submit" value=登録 name=B1 onClick=""></TD></TR>
</FORM>
662661:2005/11/25(金) 12:18:59 ID:ZOGoxPaR
このようなフォーム(aspでセレクトボックスの数は可変になります。)にてSubmit時に
同じ値が選ばれていたらalertを出すJavaScriptを作りたいのですが、
どのようなものを作ればよろしいでしょうか?
663Name_Not_Found:2005/11/25(金) 12:36:44 ID:???
>>662
そのような物を作ればよろしいかと思われますw
664Name_Not_Found:2005/11/25(金) 13:18:36 ID:???
javascriptにエラーをキャッチするなんてできるの?
665Name_Not_Found:2005/11/25(金) 13:22:49 ID:???
「すっこめ」は、人のレスの批判ばかりして
自分はまともな解答すら出さない。
できない。できる。勉強しろなどと意味のないレス消費。
荒しといわれても仕方がないと思うが
666Name_Not_Found:2005/11/25(金) 13:23:00 ID:???
http://muumuu-domain.com/

メニューにマウスが乗ったらサブメニューを表示するのってどうやるの?
分かりやすいサイトとかあったら教えてください。
667Name_Not_Found:2005/11/25(金) 13:37:56 ID:???
>>664
場合によっては
668Name_Not_Found:2005/11/25(金) 13:40:24 ID:???
>>666
そこのソース見れば良いジャマイカ
669Name_Not_Found:2005/11/25(金) 15:41:46 ID:???
>>668
ごちゃごちゃしすぎて、どこがどうなってるのかさっぱりわかりませんorz
わかりやすいサイトないですか???
670Name_Not_Found:2005/11/25(金) 16:01:11 ID:???
671Name_Not_Found:2005/11/25(金) 17:34:27 ID:???
ランダムリンク作ってたんですけど
同じウィンドウで開いてしまうのですが
新しいウィンドウで開くようにするにはどのようにすればいいでしょうか?
ちなみにソースは
function randomLink(){
figure1 = document.links.length;
window.location = document.links[Math.round(Math.random() * figure1)];
}

<input type="button" value="ランダムリンク" onclick="randomLink()" />
です
よろしくお願いします
672Name_Not_Found:2005/11/25(金) 17:54:22 ID:???
window.open
673Name_Not_Found:2005/11/25(金) 18:09:43 ID:???
>>657
>アンタが使うべき用語は「フォームの入力部品(ないしコントロール)」ね。
何だこの仕様未読者は。笑わせる。
一番肝心なのは、要素名と、name 属性 (CDATA) なのか、id 属性 (ID) なのか。
だから、HTML の断片を書けば一目で分かる。
674Name_Not_Found:2005/11/25(金) 18:22:16 ID:???
>>664
try文というのがあるけど。自分で調べれ。
>>665
アンタのは人のレスの批判じゃないのか。しかも>>657
回答がついてるだろ。目が見えないのか。
675Name_Not_Found:2005/11/25(金) 21:10:04 ID:???
ここまで読み飛ばした
676Name_Not_Found:2005/11/26(土) 07:19:33 ID:???
ラジオボタンで選択されてる値をループ無しで取得する方法ありませんか?
677Name_Not_Found:2005/11/26(土) 07:40:55 ID:???
>>675ワロタ
678Name_Not_Found:2005/11/26(土) 07:42:21 ID:???
>>676
簡単.
サンプル作っても良いけど, どお ?
679Name_Not_Found:2005/11/26(土) 07:43:14 ID:???
>>676

onpropertychange="if(this.checked)radioVal=this.value"

radioValを他で参照。だめ?
680Name_Not_Found:2005/11/26(土) 08:31:58 ID:???
>>676
そんなイベントあったのネン。
ラジオボタンごとにonclick="radioVal=this.value;"埋めこめとか言おうとしてたら
そっちの方が簡単そうね。

けど基本的に
ttp://user.ftth100.com/mirrorhenkan/javascript/read.php?key=1091236825&st=719&to=721
なんで、ホントに
ttp://user.ftth100.com/mirrorhenkan/javascript/read.php?key=1051020507&st=56&to=56
のようなループを絶対に回避しなきゃいけない理由ってあるの?
ラジオボタンが何万もあるとかw
誰も選べないっつーの。
681Name_Not_Found:2005/11/26(土) 09:14:56 ID:???
もしループが面倒なのならソイツにはそれ以上何も
まともなものは作れないと思われ。放置推奨。
682Name_Not_Found:2005/11/26(土) 13:46:03 ID:???
最速マンセー。。。
683Name_Not_Found:2005/11/26(土) 18:18:49 ID:???
var a = [];
a[500] = "hoge";

とかやったら、501個分リソース確保されちゃう?
それとも、a[500] だけ?
684676:2005/11/26(土) 18:30:10 ID:???
ありがとうございます。>>679さんのonpropertychangeを使わせていただきます。
selectedIndexのようなものが無くて不思議に感じていたのです。
685Name_Not_Found:2005/11/26(土) 18:54:07 ID:???
じゃあラジオ使わないで全部セレクトで作ればいいんじゃね?
686Name_Not_Found:2005/11/27(日) 03:41:10 ID:???
ガキの能書き。唯一まともな部分だけを抜粋。
ttp://la.ma.la/blog/diary_200511260950.htm
> 例えば2chのJavaScript質問スレなど、いまだに
> 「ポップアップウィンドウを制御するにはどうしたらいいんですか?」
> というようなレベルである。
> 今実際行って確かめてみたら本当にそうだから救いようがない。困る。
> これはもうなんというか技術レベルどうこうの問題ではなく、
> 単純に時間軸がずれているとしか思えないのである。
> ポップアップウィンドウなどもはやブロックされるのがデフォルトなのだから
> 使うこと自体間違いだ。
687Name_Not_Found:2005/11/27(日) 07:18:17 ID:???
ブックマークレットで
フレームの各ページの更新日時を表示できるのない?
688Name_Not_Found:2005/11/27(日) 15:20:21 ID:bPOsRgMQ
ie6 スレから来ました。ie5 用として配布されている MSの Web Accesories に入ってる
image list (imglist.htm) を ie6 でも動作させる方法をどなたかご存知ありませんか。
<button onclick='window.location.reload("true");'>Refresh</button>
を加えろというアドバイスはウェブ上で見つけたんですが,やはりうまくいきません。
数ヶ月間日本語以外のサイトも検索してますが至りません。
すみませんが識者の助言を請いたく思います。
689Name_Not_Found:2005/11/27(日) 15:37:25 ID:???
その数ヶ月間を検索に費やすか勉強に費やすかによってだいぶ違っただろうなあ。もったいない。
690688:2005/11/27(日) 16:00:43 ID:???
>689
耳の痛いお言葉です。orz
691Name_Not_Found:2005/11/27(日) 17:11:24 ID:???
>>687
うーん、Mozで試してみたけどセキュリティ制約で止められてしまう。
もしそうだとすればどうにもならなさそう。各フレーム別個になら
できるかな?
javascript: var s='',a=window.frames;for(var i=0;i<a.length;++i)
s+=a[i].document.lastModified+'\r\n';alert(s);void(0);
692Name_Not_Found:2005/11/27(日) 17:13:57 ID:???
>>688
今からでも勉強する気があるのなら勉強すれば。その気なら
応援するけどね。で、今までのところ何をどうやって見たのかな。
何もやってないとかだとアドバイスしようがないんだけどね。
693688:2005/11/27(日) 17:41:04 ID:???
>692
ie6 では手動でリロードすると従前(ie5.x)同様に動作するので,強制的に
リロードする手順を加えることになるのかな,と。

(起動ドライブ)\windows\web\ にある imglist.htm の先頭行に,引用した
<button onclick='window.location.reload("true");'>Refresh</button>
を付け加えてはみたのですが...。
694Name_Not_Found:2005/11/27(日) 18:07:29 ID:???
>>693
あのさあ、そのimglist.htmというのはどこにある何なのか
我々は知らないんだけど。強制リロードは
「window.location.reload(true);」だ! "true" じゃなく true
ね、文字列じゃなく論理値リテラルの「真」。しかしそもそも
ローカルマシン上のHTMLでそれがうまく働くかどうか知らないよ。

なんだか、やりたいことを改めて書いてもらってここで全部
作った方が問題がないような気がするけど、何をやるHTMLなの?
695Name_Not_Found:2005/11/27(日) 19:56:53 ID:???
>694
全く説明不足でした。特定のウェブページ中の,画像ファイルのURLとピクセル数を新しいウェブページに
表示させるものです。
696687:2005/11/27(日) 20:23:18 ID:???
>>691
参考にして作ってみた。
見栄えもよくしようと表示幅とか位置とかいじってたら長くなってしまった。

javascript:void(function(){var s=''; var l=1; var a=window.frames;if(a.length)
{l=a.length;for(var i=0;i<a.length;++i){s+=a[i].document.lastModified+' : '+a[i].name+'<br>';}}
else{s=document.lastModified;};var w=window.createPopup();
w.show((screen.availWidth-300)/2,(screen.availHeight-13*l-15)/2,300,13*l+15);
w.document.body.innerHTML='<div style="font-size:13px;border:2px solid black;
width:100%;height:100%;padding:3px;">'+s+'</div>';}())

あ。IE専です。
697Name_Not_Found:2005/11/27(日) 20:49:53 ID:???
>>695 こういうのかな。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var w = window.open('about:blank', '_blank');
for(var i = 0; i < document.images.length; ++i) {
var e = document.images[i];
w.document.writeln(e.src + ' ' + (e.width*e.height) + '<br>');
}
}
</script>
</head><body>
<p><img src="t0.png"></p><p><img src="t1.png"></p><p><img src="t2.png"></p>
<p><button onclick="test()">Test</button></p>
</body></html>
698Name_Not_Found:2005/11/27(日) 20:59:31 ID:???
>697
先のレスで勉強不足のお叱りを受けました。お示しいただいたものを参考に
遅まきながら少しずつ勉強してみます。ありがとうございました。
ttp://www.microsoft.com/windows/ie/previous/webaccess/ie5wa.asp
ここで配布されているie5 用の Web Accessories に含まれる Images List
が便利でしたが ie6 にしたところ,手動リロードを要するようになり困っていたのでした。
板汚し失礼いたしました。
699Name_Not_Found:2005/11/27(日) 21:32:37 ID:2EMxXpV+
Ajax 3.0
http://pc8.2ch.net/test/read.cgi/tech/1132902416/627

彼がIEとファイヤーフォックスの実装の違いについて認めず
なかなか理解してくれません
実装を認識しないうちに、開発に着手してしまうと
一方のブラウザでは閲覧できないという問題が発生してしまう危惧があるからです

なんとか助言してあげてください
700Name_Not_Found:2005/11/27(日) 21:39:38 ID:???
>>699
素人でも、IE、Fx対応なんてざらなのに、何言ってるわけ?
701Name_Not_Found:2005/11/27(日) 22:00:29 ID:???
>>699
まあ、このスレ的に言えばキチガイだが別にこのスレは
他人を改宗させるスレじゃないのでね。
702Name_Not_Found:2005/11/27(日) 22:14:30 ID:???
>>699 は、自分の論争(笑)相手を貶す為に貼ってんだろうけどさ、
アンカー遡ってくとかなり笑える。
703Name_Not_Found:2005/11/27(日) 22:19:52 ID:???
なんか見る気しないんだが
704Name_Not_Found:2005/11/27(日) 23:18:11 ID:???
つける薬なし、ってことで。
705Name_Not_Found:2005/11/28(月) 01:00:32 ID:???
全ての関数が呼ばれた時に、ある別の処理を通したあと、
それぞれの関数に飛ばすというのは可能でしょうか。
可能ならデバッグ等で便利かと思うのですが。
Function.prototypeになにか追加すればいいかと思いますが、
わかりません。
706Name_Not_Found:2005/11/28(月) 08:12:39 ID:???
>>705
それは無理でしょ。関数定義を取り出して、「別の処理」の
後それを呼ぶような関数に差し替えることはできるけど、
素直にJSデバッガ使うのがいいんじゃないの。
707Name_Not_Found:2005/11/28(月) 12:30:09 ID:???
>>705
>全ての関数が呼ばれた時に、ある別の処理を通したあと、
>それぞれの関数に飛ばすというのは可能でしょうか。
「すべての関数が呼ばれた時」でないといけないの?
「すべての関数を、ある別の処理を通したあとそれぞれの関数に飛ばす」なのか?
参考に
ttp://user.ftth100.com/mirrorhenkan/javascript/read.php?key=1022077876&st=51&to=67

【本文2*】↓
イマイチだが作ってみた。
function deb(){//第1引数はflag、後の引数iが順次関数this.func[i-1]の第1引数になる。
this.funcs= new Array();
//ここに調べたい関数を羅列
this.funcs[0]=function(){ return arguments[0]*3;};
this.funcs[1]=function(){ return arguments[0];};
this.flag=arguments[0];
for(var i=1;i<arguments.length;i++){
(this.flag==true)?alert('変数は' + arguments[i]):false;//ある別の処理
alert((this.funcs[i-1])(arguments[i]));
}
return this;}
function hoo(){
alert('trueだと');
new deb(true,2,'ウホッ');
alert('falseだと');
new deb(false,5,'プッハー');
}
こういうことか?
708Name_Not_Found:2005/11/28(月) 12:41:11 ID:???
さあ、>>705 の返答やいかに。
709Name_Not_Found:2005/11/29(火) 00:29:26 ID:???
>>707
ありがトン。
関数の呼び出しの履歴が欲しかったので
タイミングは「関数が呼ばれた時」。
イメージとしてはこんな感じですた。

var test1 = function (a, b, c) { alert(a + "," + b + "," + c); }
var test2 = function (a, b) { alert(a + ":" + b); }
Function.prototype.call = function () {
alert("キター");
var arr = new Array;
for (var i=1; i<arguments.length; i++) arr.push(arguments[i]);
this.apply(this, arr);
}
test1.call(this,1,2,3);
test2.call(this,4,5);

でもこれはcallで呼ばないとだめだし、やっぱ無理かと。
710Name_Not_Found:2005/11/29(火) 00:41:53 ID:85aCIdbA
jsファイルから別のjsファイルを読み込むことは可能なんでしょうか?
C言語のincludeみたいに。
初歩的な質問かもしれませんがよろしくおねがいします。
711Name_Not_Found:2005/11/29(火) 01:06:36 ID:???
>>710
言語仕様には実装されていないので環境によってできたりできなかったりする。
現行 Web ブラウザ上での動作を前提にすれば Dojo や JSON の実装もある。
一般的には src を指定した script 要素を使ったり、
ソースを XMLHttpRequest で持ってきて eval などの方法が使われる。
712Name_Not_Found:2005/11/29(火) 02:07:47 ID:???
>>710
過去スレ読めば聞くまでもないことだ。>>1 が読めない奴は来るな。
>>709
関数名を指定していいのならこういうんでどうかね。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<div><script type="text/javascript">
function comb(n, r) {
if(r == 0 || r == n) return 1; else return comb(n-1,r)+comb(n-1,r-1);
}
var ind = '', rec = [];
function trace(fname) {
window[fname] = function(f,n) {
return function() {
ind += '>'; var str = ind + n;
for(var i = 0; i < arguments.length; ++i) str += ' ' + arguments[i];
rec.push(str); var ret = f.apply(this, arguments);
rec.push(str + ' return: ' + ret); ind = ind.substring(1); return ret;
}; }(window[fname], fname);
}
trace('comb');
document.writeln(comb(4,2) + '<br>');
for(var i in rec) document.writeln(rec[i] + '<br>');
</script></div>
</body></html>
713Name_Not_Found:2005/11/29(火) 08:46:23 ID:???
>>3 のFAQ10だけど

script要素を動的に生成してsrc書き換えれば
ページの読み込み後任意のタイミングで
別ドメインのスクリプトファイル取り込めるわけだけど
なんかそういうこと追記してもいいのでは?

714Name_Not_Found:2005/11/29(火) 08:54:03 ID:???
>>713
別鯖でもいいというのは初耳だなあ。ぜひそうしよう。
715Name_Not_Found:2005/11/29(火) 09:36:25 ID:???
>>713
それホントの話?ソースは?
716713:2005/11/29(火) 09:47:10 ID:???
>>715

今日から製作開始したHPで申し訳ないが。
http://itmst.web.fc2.com/

717Name_Not_Found:2005/11/29(火) 10:10:31 ID:???
>>716
FFではエラーになった
718713:2005/11/29(火) 10:13:56 ID:???
>>717
とりあえずバージョンなんでIEです。
719Name_Not_Found:2005/11/29(火) 10:54:59 ID:???
>>718
君のページ、読み込めたことが確認できないと思うのだが。
で、自分で作って確認したら出来たよ。

でも、データを取り寄せるには、スクリプトの中にデータを返す関数を用意すれば良いわけ?
720Name_Not_Found:2005/11/29(火) 11:02:51 ID:???
>>713
結構前からあるけど、これと違う目的?
>ページ構築後の外部jsダイナミックロード用関数
ttp://game.gr.jp/mag2p/2/loadjs/loadjs.htm
721713:2005/11/29(火) 11:09:17 ID:???
>>719
>君のページ、読み込めたことが確認できないと思うのだが。
え?なんかミスってます?

>でも、データを取り寄せるには、スクリプトの中にデータを返す関数を用意すれば良いわけ?

htmlファイル内に静的に書いておく
<script language="text/javascript" src="hoge.js"></script>
を任意のタイミングで書き込むだけなので
スクリプトに何をやらせるかというのは通常と変わりません。
722713:2005/11/29(火) 11:13:30 ID:???
>>720
あ。同じですね。
723Name_Not_Found:2005/11/29(火) 11:15:27 ID:???
そのサイトのブックマークレット
bbspinkでは駄目ぽ
724Name_Not_Found:2005/11/29(火) 11:48:57 ID:???
>>721
> >>719
> >君のページ、読み込めたことが確認できないと思うのだが。
> え?なんかミスってます?

正しく読み込めたか確認する術が無い。
http://t-clock.no-ip.net/test.jsは読み込めないのだけど
725713:2005/11/29(火) 12:50:45 ID:???
>>723
bbspink知りませんでした。。

>>724
あれ?alert出るはずなんですけど・・・

[test.js]
alert('このスクリプトファイルはhttp://t-clock.no-ip.net/test.jsからロードされました。');
726Name_Not_Found:2005/11/29(火) 13:18:51 ID:???
727Name_Not_Found:2005/11/29(火) 13:23:01 ID:???
ここにも同じことが
http://www.res-system.com/weblog/item/536
728Name_Not_Found:2005/11/29(火) 20:52:42 ID:tfdF5Szi
>>713
language="text/javascript"ってのがあるんですか?
ちょっと、向学のためにですが。
729Name_Not_Found:2005/11/29(火) 20:53:07 ID:tfdF5Szi
>>713
language="text/javascript"ってのがあるんですか?
ちょっと、向学のためにですが。
730713:2005/11/29(火) 21:32:41 ID:???
>>729
あら。まちがえました。
731Name_Not_Found:2005/11/29(火) 22:43:25 ID:???
>>713
jsLoad の最後の行、

  document.appendChild(e);

じゃなくて

  document.getElementsByTagName("head")[0].appendChild(e);

とかでは?
732Name_Not_Found:2005/11/29(火) 23:35:34 ID:???
>>714-715
WWWを見始めて一週間くらいか?
とりあえずあと5年は書き込むなヴォケ。
おまえらの見てる広告を読み込むスクリプトの src や、画像の src や、
……列挙するのもアホらしい。
733713:2005/11/29(火) 23:50:57 ID:???
>>731
IEで動いたのでとりあえず使っていましたがGeckoエンジンだと反応しませんね。

document.appendChild(e);
の場合どこに追加されてるんでしょう?

これ使わせてもらいます。
document.getElementsByTagName("head")[0].appendChild(e);
734Name_Not_Found:2005/11/30(水) 00:08:48 ID:wWQp7Xzo
onMouseOverでステータスバーを変えたいのですがアンカーからだと
<a onMouseOver="window.status='';return true;"
でうまくいくと思うんですけどイメージマップで
<area onMouseOver="window.status='';return true;"
としても全く変化無くリンク先のURLがステータスバーに表示されるだけなんですがこのときはどうしたらよいのか教えていただけないでしょうか
735Name_Not_Found:2005/11/30(水) 00:23:18 ID:???
質問ですが、PDAでWIndowsMobile2003対応のJAVAプラグインを探しているのですが、
何を探したらいいのかわかりません。
ブラウザはPDA用のIEです。Operaも検討したのですが、SmartPhoneにしか対応していないので使えません。

どなたかご存知の方いましたら教えてください。
736Name_Not_Found:2005/11/30(水) 00:33:52 ID:???
>>734
> <a onMouseOver="window.status='';return true;"
> でうまくいくと思うんですけどイメージマップで

うまくいくってこれで何が表示されてるの?
737Name_Not_Found:2005/11/30(水) 00:38:11 ID:???
>>733=>>731
> document.appendChild(e);
> の場合どこに追加されてるんでしょう?

↑の appendChild() だと…

  <!DOCTYPE 〜>
  <html>
    <head>〜</head>
    <body>〜</body>
  </html>
  <script>〜</script>

html 要素の次に追加する意味になるようだよ。
で、Gecko では実行時エラーになる。
738Name_Not_Found:2005/11/30(水) 00:43:36 ID:???
>>732 勘違いな予感。
739Name_Not_Found:2005/11/30(水) 01:02:50 ID:???
>>737
あーそうなっちゃいますよね。
それで動くIEが逆に問題ですね
740734:2005/11/30(水) 01:37:31 ID:wWQp7Xzo
>>736
なんでもいいです。この場合だと何も表示されないということになります
741Name_Not_Found:2005/11/30(水) 01:38:10 ID:???
>>735 まず >>1 を読めボケ。
742Name_Not_Found:2005/11/30(水) 13:27:50 ID:6b6DXvLT
埼玉県の4都市をランダムに表示させようとして↓のようなのを作ったのですが、


var SAITAMA = new Array("さいたま","くまがや","かわごえ","ちちぶ"); //配列作成
//配列の保存
function save(){
widget.setPreferenceForKey( SAITAMA.join("\n"), "AA" );
}
//保存された配列からSAITAMAを作る
function load(){
SAITAMA = widget.preferenceForKey("AA").split("\n");
}
document.write(SAITAMA + '<BR>');

以下のように表示されてしまいます。
さいたま,くまがや,かわごえ,ちちぶ

save と loadの処理をしていないためこのようになってしまうのだと思いますが、
この処理を生かすためにはどのように書き換えればよいのでしょうか?
全く初心者なのでつまずいています。
743Name_Not_Found:2005/11/30(水) 13:36:30 ID:???
>>742
それMac OS XのDashboardのこと?
すれ違いっポイからこっちで聞いてみたら。

【Tiger】Dashboard - Widget Part5【WebKit】
http://pc7.2ch.net/test/read.cgi/mac/1126539047/
744742:2005/11/30(水) 14:31:57 ID:6b6DXvLT
>>743
紛らわしくてすいません。スレ違いじゃないです。JavaScriptです。

埼玉県の4都市をランダムに表示させようとして↓のようなのを作ったのですが、

<SCRIPT language="JavaScript">
<!--

var SAITAMA = new Array("さいたま","くまがや","かわごえ","ちちぶ"); //配列作成
//配列の保存
function save(){
widget.setPreferenceForKey( SAITAMA.join("\n"), "AA" );
}
//保存された配列からSAITAMAを作る
function load(){
SAITAMA = widget.preferenceForKey("AA").split("\n");
}
document.write(SAITAMA + '<BR>');

//-->
</SCRIPT>

以下のように表示されてしまいます。
さいたま,くまがや,かわごえ,ちちぶ

save と loadの処理をしていないためこのようになってしまうのだと思いますが、
この処理を生かすためにはどのように書き換えればよいのでしょうか?
745Name_Not_Found:2005/11/30(水) 14:48:44 ID:???
JavaScriptで書かれてるけど、APIがJavaScript標準のやつじゃないでしょ?
でWidgetだか知らんがwidget.hoge_mothodの使い方はたぶん>>743で聞いた方がいいよ。
JavaScriptで一般的にランダム表示なら既出なんで>>1の過去スレ検索か
ググっても腐るほど出ると思う。
付随してwidgetとやらを使ってMac独自に色々したいなら>>743
746742:2005/11/30(水) 14:50:24 ID:???
了解。ありがとうございました
退散しますー
747Name_Not_Found:2005/11/30(水) 16:46:22 ID:???
■JavaScriptのカレンダー風スケジュールを作りたいのですが

blogでも表示可能なJavaScriptを使って
CGIやPHPでよく使われる「カレンダー風スケジューラー」を
blog上に載せてみたいんです
(こんなの↓)
ttp://www.aikis.or.jp/~s-suzuki/cgilabo/webcalender/demo/webcalen.cgi

ただWEB上で日にちの予定を登録するには
難しくてここにきました
どうかアドバイスよろしくお願いいたします

 参考にしましたサイト
ttp://www.umechando.com/tips/38.htm
 JavaScriptのスケジュール型カレンダー
 Web登録は不可
748Name_Not_Found:2005/11/30(水) 17:07:38 ID:???
>>747
日にちを登録つまり情報を保存するにはサーバ側のプログラムが
必要。で、サーバ側のプログラムがもうあるのなら相談に乗るが、
ないのならまずWebProg板なりへ行ってそっちを解決してこい。
749Name_Not_Found:2005/11/30(水) 17:42:05 ID:???
>>748
ありがとうございます
調べてみましたけどなさそうです(;´Д`)
750Name_Not_Found:2005/11/30(水) 17:45:10 ID:???
けどblogの記事を保存できるなら
どうにかすれば日程登録の保存出来そうなものですよね

ちょっとそこらへんググってみます
751Name_Not_Found:2005/12/01(木) 00:20:28 ID:???
>>750
> けどblogの記事を保存できるなら

どこに保存するのか、頭ひねって考えてみれ。
752nullpo:2005/12/01(木) 07:25:31 ID:???
>>747
おもしろいネタなのでサンプル作ってみようかな ?
で, どんなデータを使うのかな ?
たとえば weblog で良くある, 日付をクリックするとジャンプするタイプ ?
それともリンク先のようなタイプ ?
753Name_Not_Found:2005/12/01(木) 08:57:53 ID:???
xmlHttp や xmlHttpRequest で
同ドメインの別ファイルを読み込んで加工表示しているんですが
やはり文字化けします。
どうやら対象となるファイルをUTF-8にしないと化けるようで
どうしたものかと。

http://www.geocities.jp/mirrorhenkan/ajax/demo4.html

これ↑でshift-jisの「〜test.txt」を読み込んでも駄目ですが
UTF-8に変換した「〜test1.txt」だと化けません。

いろいろ見て 過去ログも検索しましたが
読み込み元ファイルがUTF-8以外だと駄目なようです。
http://smile.poosan.net/mirrorhenkan/javascript/read.php/1119184696&st/189-205n

cgiやphpは使わずjavascriptだけ前提では
「読み込み先ファイルをUTF-8にするしかない」というのが結論なのでしょうか。
754Name_Not_Found:2005/12/01(木) 09:10:15 ID:???
>>752
そうではなく、 ttp://www.umechando.com/tips/38.htm のような
カレンダー型スケジューラで、カレンダーのところに自分で項目を
記入して「保存」すると、次にカレンダーを表示したときにその
記入した項目が追加された状態で見える(そこからさらに追加や
記入済み項目の削除もできる)というもの。よろしこ。
755Name_Not_Found:2005/12/01(木) 09:45:37 ID:???
画像をあらかじめ読み込んでキャッシュして、マウスオーバーで
画像を切り替えるにはどうすればいいですか?

JavaScript:
mona = new Image();
mona.src = "mona.gif";
giko = new Image();
giko.src = "giko.gif";
function toGiko() {
  document.myimage.src = giko.src;
}
function toMona() {
  document.myimage.src = mona.src;
}

HTML:
<img name="myimage" src="mona.gif" onMouseOver="toGiko()" onMouseOut="toMona()" />

よくこういうパターンが紹介されていますが、実際にやってみると、
キャッシュされておらず、マウスオーバー・マウスアウトのたびに
画像をサーバから取っています(IE6)。
756Name_Not_Found:2005/12/01(木) 10:04:09 ID:???
757Name_Not_Found:2005/12/01(木) 11:13:36 ID:???
>>755
> 画像をサーバから取っています(IE6)。
試してみたが、再現しない。

Apacheなら、mod_expires関連のディレクティヴ設定、IISならCache-Control設定
の確認くらいはやったんだろうな?
やってから、その画像のHTTPレスポンスヘッダ貼れ、/php/板のどこかに。
それでも解決しないまたはJSの問題だということなら、再質問しろ。
758Name_Not_Found:2005/12/01(木) 14:37:47 ID:FQDr1fSV
質問です。
xの中身は数字であることしか分からないものとして
goukei=suuji1+suuji2+suuji3+suuji4.....+suujix;
という処理をしたいんですがどうすれば良いのでしょうか。
過去ログを見ましたがさっぱり分からず
FAQのQ6辺りかなーと思うもプログラムは組めず・・・。
どなたかご教授お願いします。
759Name_Not_Found:2005/12/01(木) 14:50:36 ID:???
>>758
配列か擬似配列
760Name_Not_Found:2005/12/01(木) 14:52:53 ID:???
>>758
まさにFAQ >>3 のQ6/A6だな。そこまで見つけて組めないというのは
プログラミングの勉強が皆無だからだろ。本などで勉強するしかない。
(ループの書き方だとか、そんな基本はこのスレでは教えてもらえない。)
761Name_Not_Found:2005/12/01(木) 14:53:06 ID:???
なるほど。全く思いつきませんでした。
ヒントありがとうございます。
762Name_Not_Found:2005/12/01(木) 14:54:35 ID:???
>>759 なんだその意味不明なアドバイスは。何の役にも立たん。
763Name_Not_Found:2005/12/01(木) 16:26:16 ID:8aUJ16RA
台形公式による円周率の近似値の計算で、分割数は1000回のプログラムなんですが、
中の計算がどうしてもできません。
var m=1000,y=1,x,s,p=0,pi;n=1/m;
for(i=0;i<=m;i++){
x=Math.sqrt(1-Math.pow(m,2));
s=(x+Math.sqrt(y))*n/2;
y=x;p++;
pi=p*4/i;}
という風にやっているんですが、どこが違うんでしょうか。

また、再帰関数"fib"を定義して、フィボナッチ級数の計算及び黄金比率の近似値の計算で20番目までをやるんですが、こちらもできません。
function fib(){
if(n=0){return 1;}
else(n>=1){n*(n-1)}
}
for(i=0;i<20;i++){document.write(fact(i))}
とやっています。計算はこの後に入れているのですが(計算はできてる)、上手く出来ません。
これらは一体どうすればいいのでしょうか?
764Name_Not_Found:2005/12/01(木) 16:56:18 ID:???
>>763
宿題は先生に聞きなさい
765Name_Not_Found:2005/12/01(木) 17:26:07 ID:???
>>755
web鯖のアクセスログを tail -f しながら(JavaScriptは自前の別のものだけど)
マウスオーバーとアウトを繰り返してみると、アクセスがあったりなかったりするね。
ただ、細い回線でどでかい画像でやってもサクサク切り替わるところをみると、
プリロードしたキャッシュの画像を見ているのだろうと思うよ。

まあ、3年以上前の古いブラウザなんだから、そんくらいは目をつぶるという方法で
対処してください。
766nullpo:2005/12/01(木) 17:31:31 ID:???
>>752
JS は read only に作られているのだ.
だから, '保存' と言う言葉が出てくること自体がおかしい.
ただし, weblog ならば抜け道もなくはない.
簡単に言うと data を CSS で見えないように投稿して
innerHTML で読み取って eval() してやれば良い.

一応, サンプルは作ってみたけど,
アンタが考えている ものとは おそらく程遠いことだろう:
www17.ocn.ne.jp/~addict/samples/calendar/calendar.html
これ以上の対応は ここの常連さんのひんしゅくを買うので
必要なら '手取り足取り' にでも移動してくれ〜.
767Name_Not_Found:2005/12/01(木) 17:39:53 ID:???
: JS は read only
Ajaxのお好きなnullサマとも思えないお言葉。
768nullpo:2005/12/01(木) 17:58:04 ID:???
>>767
Ajax で server にデータを送れるの ?
聞くは一時の恥だから聞いておく〜.
(そんなことが可能だとして security 上の問題は起こらないのだろうか ?)

でも "Ajax が好き" と言うのはチト違う.
面倒な問題が多いので現状では使いずらいと思っているんだ.
(せめて記述の統一をしてくれ〜)
769Name_Not_Found:2005/12/01(木) 18:03:12 ID:???
そこで >>756 ですよ。
770Name_Not_Found:2005/12/01(木) 18:03:22 ID:???
POST出来るんじゃないの?
771nullpo:2005/12/01(木) 18:13:39 ID:???
>>769
multi-column うざ〜.
1. menu の下のほうはガラ隙.
2. 文字が小さくなるのはお約束 ?
いくら良い情報を提供してくれていても読む気にならね〜.
772Name_Not_Found:2005/12/01(木) 18:29:33 ID:???
>>768
知識がないのは文面からよくわかる
security上の問題はケース倍ケース
773Name_Not_Found:2005/12/01(木) 19:31:48 ID:???
>>753
とりあえず、WinIE オンリーなら出来る。
http://winscript.s41.xrea.com/wiki/index.php?%5B%5B%A5%C6%A5%AF%A5%CB%A5%C3%A5%AF%5D%5D#content_1_10
あたりを良く読んで、.nodeTypeValue に .responseBody を入れる。
.text で Shift_JIS のバイト列を得る。
http://charset.info/sjis-2004-std.txt を使わせてもらって、変換表を作る。
var utos = { ... , "82a0": "\u3042", ... }
var utoS = { ... , "82A0": "\u3042", ... }
みたいに大文字小文字で分けておいた方がベター。おそらく前者しか使わないが。
var t = (IDOMNode#text);
var p = /(.)./g; var a; var result = [];
if (/[a-f]/ .test(t)) {
while (a = p.exec(t)) {
if (/[89e]/ .test(a[1])) result[result.length] = utos[a[0] + p.exec(t)[0]];
else result[result.length] = utos[a[0]];
}
} else { ... }
で、Shift_JIS - Unicode 変換の出来上がり。...innerHTML = result.join("") で完了。
ただし、>>753の数万文字だと、実用レベルの速度には達しない。
先に 1バイトずつ区切って配列にした方が (exec使わない方が) 速いかもしれない。
774773:2005/12/01(木) 19:41:11 ID:???
誤 nodeTypeValue
正 nodeTypedValue
775Name_Not_Found:2005/12/01(木) 20:20:54 ID:???
>>771
”ふつう”のブラウザならふつうに見える。
開発・閲覧環境を整えるのも開発者のすべき努力だよ。
776753:2005/12/01(木) 22:10:07 ID:???
御返事ありがとうございました。

>>756
教えて頂いたリンク先で勉強してみます。
そのリンク先で
> Content-type ヘッダで適切な charset が指定されていれば
> その他のエンコーディングも使用できます
という記述がありますが、非xmlテキスト(といっていいのか)でも
charset指定とか ありうるのでしょうか。
>>773
ありがとうございます。
・・・勉強します。。

やってみたい事なのですが(別に小出しにしている訳ではないのですが)
2chの形式そのままを javascriptで再現出来ないかな と。
subject.txtを読み込んで一覧表示して
datを読み込んでHTML整形する という事をjavascriptで出来ないか、
・・という事です。
今のところ、Downloadメソッドを使って何とかなりました

http://www.geocities.jp/mirrorhenkan/dat2html-3/

ただこれだとIE専なので、xmlHttp(xmlHttpRequest)を使えば
他のブラウザでも読み込み可能になるかもな、と。
で、試しにやってみました。

http://www.geocities.jp/mirrorhenkan/dat2html-3/dat/read-xml.html?key=utf8

元のdatはUTF-8変換してあるので文字化けしませんが、これをshift-jisだと化けるので・・
(元datはhttp://www.geocities.jp/mirrorhenkan/dat2html-3/dat/utf8.datです
777Name_Not_Found:2005/12/01(木) 23:00:57 ID:???
778Name_Not_Found:2005/12/01(木) 23:01:50 ID:???
>>776
Content-type ヘッダというのは本当にHTTP通信に出て来る
ヘッダのことでしょ。サーバの設定によって送出させるという。
となるともはや本スレと無関係だけどね。
779tom:2005/12/02(金) 20:47:04 ID:ooRWCBBT
http://akkie009.hp.infoseek.co.jp/scroll.html のようにCSSでボックスをつくり、その中のテキストが下から上へ
流れていくものを作りたいのですが、どうすればいいでしょうか?
詳しく書くと下記のことをしたいです。

・ページを読み込んだ時点から自動でテキストが下から上へのスクロールを開始し、永久に繰り返す。
・スクロールするテキストの色を変えたりできるようにしたいのでテキストエリアは使わない。
・スクロールの早さを調節できる。
・HTML の MARQUEE タグは使わない。

また、XHTMLファイル内で使うつもりです。よろしくお願いします。
780Name_Not_Found:2005/12/02(金) 23:34:49 ID:???
>>779
内容としては簡単。
ただ、ここは丸投げスレではない。
781Name_Not_Found:2005/12/02(金) 23:55:02 ID:???
>>779
ま、ヒントとしては、そのテキストを入れるレイヤーの
位置(style.top)を一定時間間隔で変更するんでしょうね。
782Name_Not_Found:2005/12/03(土) 01:20:22 ID:???
>>781
質問は読んでないけど、そのヒントで何を質問しているか一発でわかったwww
783Name_Not_Found:2005/12/03(土) 10:04:05 ID:???
スクロールを禁止する方法はありませんか?
784783:2005/12/03(土) 10:23:59 ID:???
すんません自己解決しました。
document.body.style.overflow='hidden';
こんだけでよかったんですね orz
785Name_Not_Found:2005/12/03(土) 11:06:43 ID:???
>>779-782
作ってみた。ただ、スクロールバーと併用するんだとよく分からない。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<style type="text/css">
#d0 { width: 200px; height: 100px; overflow: hidden; position: absolute }
#d1 { width: 400px; height: 400px; position: relative }
</style>
<script type="text/javascript">
var e, pos = 0;
function init() { e = document.getElementById('d1'); setInterval(step, 50); }
function step() { e.style.top = (--pos)+'px'; }
</script>
</head><body onload="init()">
<div id="d0"><div id="d1">
a<br>b<br>c<br>d<br>e<br>f<br>g<br>h<br>i<br>j<br>k<br>l<br>m<br>
a<br>b<br>c<br>d<br>e<br>f<br>g<br>h<br>i<br>j<br>k<br>l<br>m<br>
</div></div></body></html>
786tom:2005/12/03(土) 13:52:20 ID:???
>>785
ありがとうございます。
IE6、Firefox 1.5、Opera 8.5、Netscape 7.1(いづれも、Windows XP SP2上で動作)
にて、きちんと動くことを確認しました。
787Name_Not_Found:2005/12/03(土) 14:45:27 ID:???
あるキーの配列のみを未定義にする事は出来ないでしょうか?
たとえば、以下のような配列があったとして、

hoge['a'] = 1;
hoge['b'] = 2;
hoge['c'] = 3;

キーがbのものを配列から存在自体削除したいのです。

hoge['a'] = 1;
hoge['c'] = 3;

unset(hoge['b'])とか、hoge.unset('b') みたいな感じで出来ないものでしょうか。

今はforで回して新しい配列に要らないもの以外を格納すると言う感じでやっているんですが、
一発で出来る関数あったら教えてください。
788Name_Not_Found:2005/12/03(土) 15:15:38 ID:???
>>787
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/11_Expressions.html#section-11.4.1
789Name_Not_Found:2005/12/03(土) 15:38:38 ID:???
>>787
JavaScript言語組み込みの演算子に何があるかくらい勉強しようや。
790nullpo:2005/12/03(土) 17:13:38 ID:???
'(--pos)' ってなんなのかしら ?
おせ〜て _(._.)_ ペコリ
791Name_Not_Found:2005/12/03(土) 17:28:51 ID:???
>>790
C言語に由来するデクリメント演算子だけど〜。
この場合「(pos -= 1)」と同じね。
792nullpo:2005/12/03(土) 18:14:14 ID:???
>>791
ありがと〜 !!!
793Name_Not_Found:2005/12/04(日) 07:10:04 ID:y2OsxTVK
float:leftで2列カラムを作るとき必須だな。
floatしたらwidthを指定しなければいけない。
左にボーダー1pxのNAVIカラムがある。
さて残りのwidthはどうする!?
794Name_Not_Found:2005/12/04(日) 08:29:22 ID:???
ハア?
795Name_Not_Found:2005/12/04(日) 16:34:58 ID:???
Ajaxとかで同じ鯖からデーターもってくる方法は盛んに紹介されてるけど
どうにかして他のドメインからデーターもってくる方法はないものなの?

あるサーバーに置いたCGIの出力結果をJavaScriptでもってきて、任意のページに
貼り付けるとかそういう事がやりたいんだけど

adsenseはiframeで実現しているみたいだけど複雑すぎてよく分からん。。。
796Name_Not_Found:2005/12/04(日) 16:49:35 ID:???
>>795
>>713の方法は?
797nullpo:2005/12/04(日) 16:53:20 ID:???
>>796
サンプル希望.
(僕が実験したときはうまく行かなかった
たぶん, なにか考え方が間違っていたのだろけど...)
798Name_Not_Found:2005/12/04(日) 17:20:59 ID:???
ServerA#ScriptA が ServerB#ScriptB の <script src=".....js"> の生成を行う

ServerB#ScriptB は ServerA に取り込まれる
=> ServerA#ScriptB が生成される

ServerA のスクリプトは ServerB と XMLHttpRequest で通信出来ない
=> ServerA#ScriptB は ServerB と XMLHttpRequest で通信出来ない

つまり動的に <script src="....js"> 生成しても
ドメインが違えばやはりデータは持ってこれない。
間に PHP やら Perl やらを噛ませないとドメイン間データ通信は辛い。
iframe に隠して読むならできるかもしれない。
799Name_Not_Found:2005/12/04(日) 18:05:39 ID:???
>>797
>>720>>727を見る
800Name_Not_Found:2005/12/04(日) 18:06:25 ID:???
>>798
でも>>713が実際できてるのはどうゆうこと?
801Name_Not_Found:2005/12/04(日) 18:15:56 ID:???
>>795
そのCGIに手を入れられるのなら、HTMLを返すのではなく
(たとえば配列に返すデータを入れるような)JSを返すように
直してそれを<script src=...>で取り込めばいいんじゃないの。
802Name_Not_Found:2005/12/04(日) 18:31:53 ID:???
>>800
<img src> と同じ。埋め込める。
じゃあ、埋め込まれたスクリプトはどのURIを基準にするんだっつう話。
<script src> が書いてあるHTMLのURIを基準にする。
alert(location.href) と書かれたJSを呼べば、呼ばれた先によって結果が変わるということ。

だから、JSからデータを呼ぶなら、それはHTMLと同じホストになければならないし、
単純に>>801見たいな解決策を取れば良い。まあ、普通は、串を通すわな。
803nullpo:2005/12/04(日) 18:32:36 ID:???
>>799
ありがと〜 !!!
検証してみる !
804713:2005/12/04(日) 18:32:43 ID:???
>>795
CGIでの出力結果をjavascriptで読める形式にすれば
何も問題なくできると思いますよ。
805Name_Not_Found:2005/12/04(日) 18:38:05 ID:???
そもそも他所のデータ読めたら安全性に問題があるから遅かれ早かれ修正されるでしょ
あ、でもMSなら仕様と言い張るかww
806795:2005/12/04(日) 18:46:33 ID:???
みんな本当にありがとう
799の出してくれた奴を参考に色々やってみるよ
807Name_Not_Found:2005/12/04(日) 18:55:43 ID:???
>>776
> 非xmlテキスト(といっていいのか)でも charset指定とか ありうるのでしょうか。
恐らく、XMLHttpRequest#overrideMimeType("Content-Type", "text/plain; charset=Shift_JIS")
の話だろうと想像するが、無意味、無理。
また、"#default#download" やってるが、逆に、UTF-8を読めないだろ。

文字化けと言っても、ありのままが化けてるわけじゃなく、
多対1の関係で化けてるから手の施しようが無い。
だから、根本的な解決法は、ありのままのデータである
IXMLHTTPRequest#responseBody を変換するしかないわけだ。
808Name_Not_Found:2005/12/04(日) 19:01:44 ID:???
>>805
修正されるって、そもそも、読めないだろ。何を言ってんだか。
単に、<script src> で読むぶんにはスキームが同じなら何処からでも読めるというだけで。
そして、これが変更されると妄想するおかしな人は世界中で>>805だけだろう。
809Name_Not_Found:2005/12/04(日) 19:59:01 ID:???
iframeでajaxってすごいな。
解読する価値ありそうね。
810Name_Not_Found:2005/12/04(日) 20:18:45 ID:ac3Z/EbF
YYYY−MM−DDの日付を入れたとき
その日付の五年度先の3月31日の曜日を取得したいのですが
どうすればいいのでしょうか?

例)
2006-04-01→2011-03-31→木曜日を取得
2006-03-31→2010-03-31→水曜日を取得
811Name_Not_Found:2005/12/04(日) 20:23:11 ID:???
>>810
Date オブジェクト
812Name_Not_Found:2005/12/04(日) 21:01:44 ID:ac3Z/EbF
DateオブジェクトのgetYearだとその年度ではなく
その年しか取れないのでは?
813Name_Not_Found:2005/12/04(日) 21:07:51 ID:???
年度って何?

//dateobj = new Date();
//dateobj.setFullYear(dateobj.getFullYear()+5);
//dateobj.setMonth(2);
//dateobj.setDate(31);
//alert(dateobj.getDay());
814Name_Not_Found:2005/12/04(日) 21:14:23 ID:???
>>813
2006年3月31日→2005年度
2006年4月01日→2006年度
815Name_Not_Found:2005/12/04(日) 21:25:02 ID:???
>>812
そんなのなんとでもなるだろ
やる気のないやつは(・∀・)カエレ!
816Name_Not_Found:2005/12/04(日) 22:05:06 ID:H1mCir/6
<html lang="ja">
<head>
<script language="javascript"> <!--
function URLCheck() {
    alert (parent.frame1.location.href);
}
// -->
</script>
</head>
<body>
    <iframe src="http://www.google.co.jp/" name="frame1" width="100%" height="200"></iframe>
    <input type="button" value="Check" onClick="URLCheck();">
</body>
</html>

というHTMLファイルをローカルに作成した時に
 alert (parent.frame1.location.href);
で『書き込みできません』というエラーが表示され、URLを確認できません。

どのようにしたら外部のHPをフレーム内に表示した時にURLを取得できるのでしょうか?
817Name_Not_Found:2005/12/04(日) 23:18:34 ID:???
>>816
絶対に取得できないから安心しろ。FAQ>>3のQ1/A1は読んだよな。
818Name_Not_Found:2005/12/04(日) 23:32:22 ID:???
申し訳ない。
Q1ですね。
ありがとうございます。
819Name_Not_Found:2005/12/05(月) 10:16:51 ID:???
event.ctrlKeyってマックでも使えますか?
820Name_Not_Found:2005/12/05(月) 12:30:56 ID:???
>>819
はい
821nullpo:2005/12/06(火) 06:30:51 ID:???
>>785
正直, 考え方のスマートさに感動いたしました.
考え方をパクってウチのサイトのサンプルに加えたいのですが...
(もちろん, 丸ごとパクルことはいたしません)
822Name_Not_Found:2005/12/06(火) 11:31:28 ID:???
>>821
正直, 考え方のショボさに感動いたしました.
ネタをパクってFireFoxでもIEでも動作するサイトを作りたいのですが…
(もちろん, ソースはコピーすることはいたしません)
823Name_Not_Found:2005/12/06(火) 14:04:21 ID:YsS38fVH
指定拡張子ファイルのみの表示をさせたいのですが、どうすればいいでしょうか?
824Name_Not_Found:2005/12/06(火) 14:05:49 ID:???
くわしく
825Name_Not_Found:2005/12/06(火) 16:54:52 ID:???
ある数のポイントを
自由に振り分けるようなものは、
可能でしょうか?
<select name="a">
<option>0</opition>
<option>1</opition>
<option>2</opition>
<option>3</opition></select>
<select name="a">
<option>0</opition>
<option>1</opition>
<option>2</opition>
<option>3</opition></select>

のようにして、最大が3ポイントで、
aで選んだ数字を、3からひいた数までしか、
bには表示させないと言ったような感じです。

826Name_Not_Found:2005/12/06(火) 17:39:08 ID:???
>>825
何を言っているのか理解に苦しむが、selectの選択肢を
増やしたり削ったりするのはどうにでもできるよ。
その方法は過去ログ全集に山盛りあるんで自分で探せボケ。
827Name_Not_Found:2005/12/06(火) 23:28:19 ID:AmSoyd6o
すみません。どなたか教えてください。
form内に入力項目(inputやselectなど混在)が50項目以上あるのですが、
いずれかの値が変更されたらメッセージを表示したいんです。
やっぱりそれぞれの項目にonChangeって書かなくてはならないでしょうか?
なにかまとめて書く方法、
またはまとめてイベントを拾う方法なんてないですか?
828Name_Not_Found:2005/12/06(火) 23:40:58 ID:C0JsDcNp
・2〜1000までの素数のみを表示するプログラム
・100000までの素数の個数を求めるプログラム
・2つの整数の最大公約数を求めるプログラム
非実用的でいやなのですが、どなたか教えてください
829Name_Not_Found:2005/12/06(火) 23:43:37 ID:???
>>828
その辺にアルゴリズム落ちてるだろ
830Name_Not_Found:2005/12/06(火) 23:58:54 ID:???
「エラトステネスの呪い」でぐぐれ
831Name_Not_Found:2005/12/07(水) 00:26:17 ID:???
>>828
function gcd(x,y) { if(x==y) return x; else return (x>y)?gcd(x-y,y):gcd(x,y-x); }
説明はしないしこれを宿題の回答にして説明しないとかなり問題あると思うけどね。
>>827
その変更を監視するものが「どれとどれか」はどういう範囲で決まっているの。
あるフォームにあるすべての部品だったら
var a = document.forms.フォーム名.elements;
for(var i = 0; i < a.length; ++i) a[i].onchange = function() { alert('?'); };
832Name_Not_Found:2005/12/07(水) 01:49:45 ID:???
>>830
呪ってどうするw
833832:2005/12/07(水) 01:51:31 ID:???
>>830
いや、ごめん。ググってみた。
あんた正しかった。
834Name_Not_Found:2005/12/07(水) 04:59:40 ID:???
>>828
>・2〜1000までの素数のみを表示するプログラム
>・100000までの素数の個数を求めるプログラム
学習目的なら、ふつう、2番目は、1 000 000 (百万) にするはずだが。
835Name_Not_Found:2005/12/07(水) 12:52:36 ID:???
何でjsは宿題に多いんだろう…。
836Name_Not_Found:2005/12/07(水) 12:55:05 ID:???
宿題なら、最大公約数は再帰で書くと喜ばれそうだ
837Name_Not_Found:2005/12/07(水) 13:13:52 ID:???
末尾再帰に展開するともっと喜ばれるよ
838Name_Not_Found:2005/12/07(水) 21:19:18 ID:???
Javascriptの記述で
\x3C\x53\x43\x52\x49\x50\x54\x20\〜(続く)
というものがあったのですが、この書式はどうやってASCIIにデコードしたらいいのでしょうか?
書式の名前だけでも分かる方は教えて下さい。お願いします。
839Name_Not_Found:2005/12/07(水) 22:15:21 ID:???
16進数 変換 あたりでぐぐれば出てくるんじゃない
840Name_Not_Found:2005/12/08(木) 00:17:55 ID:???
<html>
<head>
<title>javascriptdialog</title>
<!-- スクリプト -->
<SCRIPT LANGUAGE="JavaScript">
<!--
function dialogdisp(){
var fileRef;
fileRef = filePutDialog("Select File","Sample.txt","TEXT");
document.testform.filename.value = fileRef;
}

//-->
</SCRIPT>
</head>
<body>
<h1>dialog</h1>
<form name="testform">
<input type="text" name="filename" size="300px">
<IMG src="img/outlist.png" value="dialog" onclick="javascript:dialogdisp();">
</form>
</body>
</html>
841Name_Not_Found:2005/12/08(木) 00:18:52 ID:???
イメージボタンをクリックしてファイル選択のdialogを表示し
選択したファイル名称をテキストボックスにセットしたいです。
840のコードだとオブジェクトを指定してくださいというエラーが出ます
下のサイトの■ダイアログ関連を参考にしたんですが
その中でも下3つのファイル・フォルダ関係の
ダイアログ表示が同じエラーが出ます。
どこか間違ってますでしょうか?教えてください。

ttp://www.openspc2.org/reibun/AfterEffects6.5/
842Name_Not_Found:2005/12/08(木) 04:02:59 ID:???
>>841
filePutDialog() ってのは
AfterEffects 内部で使える独自に拡張された関数ではないかと思うのだけれど。
843Name_Not_Found:2005/12/08(木) 07:30:08 ID:???
>>840-842
そもそも<input type="file">のファイル名をJSからセット
することは「ゼッタイに」できない。できたらどんな怖いこと
が可能になるか考えてみれ。レジストリファイルなど、パスが
決め打ちで分かる重要なファイルが吸い上げ放題になるんだぞ。

あ き ら め れ
844Name_Not_Found:2005/12/08(木) 09:26:11 ID:???
a.html にてフレームセットで
b.html と c.html を指定
(a.html と b.htmlのドメインは同じ)

b.html に<input type="button" />でボタンを表示して
それをクリックしたとき
aのフレームの幅を変更したいんですが
a.html を操作する方法と、フレームの幅を変更する方法を
教えてください

documentだと、a.html を操作できるはずないですよね。
window しか思いつかないんですけど
それ以上思いつきませんでした。
845844:2005/12/08(木) 09:52:29 ID:???
ダメポと思ってたんですけど
もっと調べてみたらparentでできると分かりました
フレームの幅も
getElementById("").cols
で指定して変更できました
スレ汚しすいませぬ(´・ω・`)
846Name_Not_Found:2005/12/08(木) 10:57:07 ID:???
すいません、相談させてください。

javascriptでテーブルに行を追加する処理を作成しています。
で、行追加時にセル結合をしたい部分があり、colspan属性をTDに追加しようとしているのですが、
うまくいきません。どうすればよいでしょうか。
作ってみた関数は以下の通りです。

function AddTr()
{
var tagTr, nLoop, tagTd;
tagTr = document.createElement("TR");

var oTable = document.getElementById("tblSample");
var oBody = oTable.getElementsByTagName("tbody")[0];

oBody.appendChild(tagTr);
for (var nLoop = 0; nLoop < 4; nLoop++)
{
if(nLoop == 2){
tagTd = document.createElement("TD");
tagTd.setAttribute("colspan","2"); ←colspanを設定してみているが上手くいかず
}
tagTd = document.createElement("TD");
tagTr.appendChild(tagTd);
tagTd.innerText="追加されました" + nLoop;
}

}
847846:2005/12/08(木) 11:17:36 ID:???
上の関数document.createElement("TD")の位置が変でした。
正しく?はこうでした。すいません。

for (var nLoop = 0; nLoop < oBody.rows[0].cells.length; nLoop++)
{
  tagTd = document.createElement("TD");
  if(nLoop == 2){
    tagTd.setAttribute("colspan","2");
  }
  tagTr.appendChild(tagTd);
  tagTd.innerText="追加されました" + nLoop;
}
848Name_Not_Found:2005/12/08(木) 13:24:26 ID:???
>>847
function AddTr(){
var tagTr = document.createElement("TR");
var tagTd = document.createElement("TD");
var oTable = document.getElementById("tblSample");
var oBody = oTable.getElementsByTagName("tbody")[0];
oBody.appendChild(tagTr);
var addTd = tagTr.appendChild(tagTd);
addTd.setAttribute("colspan","2");
addTd.innerHTML = "追加されました";
}
こういう事?
849848:2005/12/08(木) 13:50:15 ID:???
>>847
>>848はなしで

for (var nLoop = 0; nLoop < oBody.rows[0].cells.length-1; nLoop++)

こういう事か?
850Name_Not_Found:2005/12/08(木) 13:58:20 ID:???
>>846-847
insertRow, insertCell を使えば、IE でも上手く結合される。

// >>849の指摘と重複するが、最初の <tr> に colspan が無いなら、nLoop の範囲は oBody.rows[0].cells.length - 1 になる。
// ただし、この最初の <tr> も colspan="2" であるなら、問題無い。
//// この最初の <tr> も colspan="2" である場合には、そもそも、これを cloneNode して
//// セルの内容を置換した方が手っ取り早いような気がするが。
851848:2005/12/08(木) 14:13:36 ID:???
>>850

>insertRow, insertCell

感動した!!こんなのあるんだ(・∀・)イイ!!
852846:2005/12/08(木) 15:53:29 ID:???
>>848さん
>>850さん

アドバイスありがとうございます。
テーブル(tbody)の構成としては
<TR>
 <TD>1</TD><TD>2</TD><TD colspan="2">3</TD><TD>5</TD>
</TR>
<TR>
 <TD>6</TD><TD>7</TD><TD>8</TD><TD>9</TD><TD>10</TD>
</TR>

といった形で3列目と4列目を結合しようとしています。
最終的には
<TR>
 <TD rowspan="2">1</TD><TD>2</TD><TD colspan="2">3</TD><TD>5</TD>
</TR>
<TR>
 <TD>7</TD><TD>8</TD><TD>9</TD><TD>10</TD>
</TR>

といった形で先頭の列については2行結合した形になるんですが、
そもそもcolspanの設定が上手くいっていなかったので、
rowspanのほうは置いといて考えていました。
とりあえずinsertRow, insertCellでやれるか頑張ってみます。
何か他にもアドバイスがあれば宜しくお願いします。
(書き込みの改行制限でエラーになったので↑のソースが見にくくてすいません)
853Name_Not_Found:2005/12/08(木) 19:38:51 ID:???
>>843
type="file" ではないみたいだよ。
まあ質問者が何をしたいのかもよくわからんけど。
854Name_Not_Found:2005/12/08(木) 19:52:06 ID:???
>>840
とりあえず選択されたファイルはこっそりサーバに投げちゃう。
で、サーバでそのファイル名を生成しておいて、
ajaxでこっそりファイル名を取りに行く、ってのはどうだろう。

まわりくどい?
855Name_Not_Found:2005/12/08(木) 21:12:31 ID:tdDni8gr
正規表現の質問です、お願いします

<p>hoge</p> <p>fuga</p> <p>hage</p> <p>mage</p>

というテキストから hoge,fuga,hage,mage と配列を得たいんですが
タグ付きだと1発で抜けるのですが中身だけを一回で抜けません
text.match(/<p>(.*)<\/p>/ig);
alert(RegExp.$1);
としても当たり前ですが最後のマッチした分が表示されてしまいます
タグ付きで抜き出したものについてさらにmatchかければ出来るんですが、効率が悪いので
上手い方法あったら教えてください
856Name_Not_Found:2005/12/08(木) 21:24:07 ID:???
一旦タグを取り除いてから split したらどうだろう。
857Name_Not_Found:2005/12/08(木) 21:35:21 ID:???
>>856
情報が小出しになってすみません
他のタグやテキストが混在してる状況で<p>〜</p>だけ取得したいのでした。
タグ以外で内容を絞るのは厳しい状況です。
858Name_Not_Found:2005/12/08(木) 21:49:00 ID:???
>>852
俺が昔このスレで同じことで苦しんだ覚えがある。結構粘着して
そこそこのソースになったと思うので、過去スレ全集>>1で調べてミレ
859Name_Not_Found:2005/12/08(木) 22:13:17 ID:???
>>855
gつけずに外でループさせれば?
var list=new Array();
var cpy_text=text;
while(cpy_text.match(/<p>(.*)<\/p>/i)){
list.push(RegExp.$1);
cpy_text=cpy_text.substring(RegExp.lastIndex,cpy_text.length-1);
}
動かしてないんで慎重にw
正規表現の達人がぐうの音のでない書き方を指南するに期待。
860Name_Not_Found:2005/12/08(木) 22:22:49 ID:???
>>856
俺ならこうする
そのテキストの一番最初のタグから一番最後のタグの間の文字を取り出して、終了タグと開始タグでsplit
str.match(/<p>(.*)<\/p>/)[1].split("</p> <p>")
861Name_Not_Found:2005/12/08(木) 22:54:06 ID:???
>>859
何故か最後のタグの中が取得できませんでしたが
なんとなくやり方はわかりました、substringなんて使った事無かったので勉強になりました
どうもありがとうございました。
>>860
上手い具合に抜き出せました、split使えばよかったんですね。
調節して使っていきたいと思います
どうもありがとうございました。
862Name_Not_Found:2005/12/08(木) 23:37:07 ID:???
>>859
>>4
> 回答者なら仕様の該当部分は読んでいるべき。
863Name_Not_Found:2005/12/09(金) 07:21:42 ID:???
>>855
書いてみました

text の走査をワンパスで完了すれば速くなるかなと思い、* の直後に ? を付け
最短一致として検索を実行し、マッチするごとに配列要素に格納してます。
また、RegularExpressionオブジェクトを内部形式にコンパイルすることで
実行を高速化(←ほんとか?)します。
...でも、compile は ECMAScript非準拠!非推奨!効果無しorz(←をい!)

//text 内の <p> と </p> に挟まれた文字列を各々配列 a の要素に格納する
//但し、閉じない p タグの混在や p タグの入れ子は考慮しない
var a = new Array();
var r = new RegExp().compile(/<p>(.*?)<\/p>/ig); //準拠 var r=/<p>(.*?)<\/p>/ig;
while(r.exec(text)) a.push(RegExp.$1);
864Name_Not_Found:2005/12/09(金) 08:29:54 ID:???
>>863
これで本当にOK? <p>aaa</p><p>bbb</p>で$1がaaa</p><p>bbbにならない?
865844:2005/12/09(金) 08:46:44 ID:???
>>864
やってみればいいじゃん
*?は最小マッチでそ
866Name_Not_Found:2005/12/09(金) 08:56:09 ID:???
>>855-864 こうかな。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test(pat) {
var a = new Array();
document.getElementById('d0').innerHTML.replace(pat,
function(x, y) { a.push(y); });
alert(a.join('\r\n'));
}
</script>
</head><body onload="init()">
<div id="d0">aaa<p>bbb</p>ccc<p>ddd<b>eee</b>ffff</p>ggg</div>
<div>
<button onclick="test(/<p>(.*)<\/p>/g)">test1</button>
<button onclick="test(/<p>([^<]*)<\/p>/g)">test2</button>
<button onclick="test(/<p>((?:(?!<\/p).)+)<\/p>/g)">test3</button>
</div>
</body></html>
867Name_Not_Found:2005/12/09(金) 08:57:00 ID:???
そうか、最小マッチというのがあったんだ。
868Name_Not_Found:2005/12/09(金) 11:28:37 ID:???
>>855

function pGet(text){
var strs = text.match(/<p>.*?<\/p>/gi);
strs = strs.join().replace(/<.*?>/gi,"").split(",");
return strs;
}
869Name_Not_Found:2005/12/09(金) 11:45:38 ID:???
っていうか
思えば、var list=document.getElementsByTagName('p');な悪寒。
久し振りに皆さん燃えてますが・・・
870868:2005/12/09(金) 12:00:41 ID:???
>>869
ガ━━(゚Д゚;)━━━ン!!!!!

>>855
マジで>>869でよかったの?
871Name_Not_Found:2005/12/09(金) 17:53:14 ID:???
JavaScriptの濃い話題ってどこでやればいいの?
872Name_Not_Found:2005/12/09(金) 18:38:14 ID:???
873Name_Not_Found:2005/12/09(金) 19:48:31 ID:jNYyE6Cz
質問です。
別フレームのURLを取得したいのですが、グローバルなURLが取得できません。

window.parent.frameb.location.href="http://www.yahoo.co.jp";
alert(window.parent.frameb.location.href);
ここのalertでエラーが出てしまいます。
同一サーバーの相対URLなら取得できるのですが・・・
874871:2005/12/09(金) 20:13:54 ID:???
>872
ありがと。JSANとかprototypeとかの話してるスレが良かったんだけど、ないのか
875Name_Not_Found:2005/12/09(金) 20:26:43 ID:???
ここでやってもいいつか、たまにあるけどね。JSANて何。
JSONなら知ってるけど。
876Name_Not_Found:2005/12/09(金) 20:27:44 ID:???
>>873
FAQ >>3 を読んでから来たんだろうな?
877Name_Not_Found:2005/12/09(金) 21:52:23 ID:???
>>875
JSANというゴミ捨て場を知らないような門外漢は書き込むな。
878Name_Not_Found:2005/12/09(金) 21:55:25 ID:???
でもいっかいも話題出たことないじゃん。誰か話題してみなよ。
879873:2005/12/09(金) 23:34:05 ID:???
URLという情報もダメなんですね・・・
ありがとうございました。
880Name_Not_Found:2005/12/09(金) 23:44:40 ID:???
クッキーに(;´Д`)を使用した場合
これをjavascriptで取得することはできないんでしょうか?
881840:2005/12/09(金) 23:56:42 ID:???
>>841
なんか、そうっぽいですね。
他にも調べてみたけどWindowsのIE6以上でファイルダイアログを表示するjsって
ないんですかね?

>>843
>そもそも<input type="file">のファイル名をJSからセット
することは「ゼッタイに」できない。

jsからファイル名を指定したいんじゃなくてjsからファイル選択のダイアログを表示して
ファイル選択のダイアログからファイル名を指定したいんです。
言ってる事同じかな・・・?
だからレジストリが危険だのど〜だのは関係ないと思うんですけど・・・

>>853-854
結局やりたい事は<input type="file">と全く同じ。
ただ、フォームの参照ボタンをイメージボタンに変えたいだけなんです。
もうjsだと無理なんですかね?
882Name_Not_Found:2005/12/10(土) 00:06:05 ID:???
>>880
クッキーに日本語裸で入れるの無理でしょ。サーバから
食べさすならUNICODEにしてからエンコードして入れる
>>881
type=fileじゃなくtype=textなのね、それならセットは
できるけど、JSからファイル/ディレクトリが触れない。
HTAやWSHにすればできるけど… そもそもtype=textだと
ファイルの内容は送信できないけどいいのね?
883Name_Not_Found:2005/12/10(土) 00:11:15 ID:???
IE6
<INPUT type='file'>をclick()でダイアログ出るなプッ
884Name_Not_Found:2005/12/10(土) 00:14:20 ID:???
>>882
うん。
<input type="text">と<IMG ・・・ onclick="javascript:sefileselectdialog();">が1ッコずつ。
javascriptからファイル選択ダイアログを呼び出し、ファイルを選択して、そのパスを<input type="text">
にセットしたいんです。
そうすればあとはなんとかなりそうだから。
885Name_Not_Found:2005/12/10(土) 00:18:15 ID:???
>>883
仕様
886Name_Not_Found:2005/12/10(土) 00:46:16 ID:???
>>881
> ただ、フォームの参照ボタンをイメージボタンに変えたいだけなんです。

そういうことなら「どうやってもできません」
887Name_Not_Found:2005/12/10(土) 01:30:24 ID:???
>>886
IE6 限定ならできるぞ。
888Name_Not_Found:2005/12/10(土) 03:46:23 ID:???
>>886
いや、そんなことはないぞ。
http://www.quirksmode.org/dom/inputfile.html
889Name_Not_Found:2005/12/10(土) 04:48:06 ID:???
click()便利だよな
890Name_Not_Found:2005/12/10(土) 18:57:38 ID:???
テキストボックスじゃない普通のテキストをクリックで選択状態にすることは出来ますか?
891Name_Not_Found:2005/12/10(土) 19:18:37 ID:???
focus()
892Name_Not_Found:2005/12/10(土) 21:40:05 ID:???
>>888
へえ〜
面白いね
でもなかなか大変そうだ
893Name_Not_Found:2005/12/11(日) 01:20:41 ID:bKkfRIQT
IME制御に関しての質問です。(IE6.0限定)
CSSのスタイル指定でIMEのON/OFF等は出来ますが、
現在のIME(ON/OFF)は取得できませんか?

また、JavaScriptで排他制御ってできますか?
Javaで言うところのSynchronizedです。
JavaScript(JScript)のイベントモデルのドキュメントを教えていただける
だけでもありがたいです。

宜しくお願いします。
894Name_Not_Found:2005/12/11(日) 01:24:53 ID:???
↑インテリヤクザ
895Name_Not_Found:2005/12/11(日) 16:12:56 ID:???
>>893
>IME
http://www.openspc2.org/reibun/JS_TipsAndTricks/form/004/index.html

>排他制御
そもそもJavascriptは非同期処理できません
896Name_Not_Found:2005/12/11(日) 17:36:18 ID:???
どうやらhtmlの仕様の問題のようなので、こっちのスレに来てみました

<input type="text" name="title">
<input type="text" name="name">
<textarea name="content"></textarea>
<!--↑こいつが問題、こいつがなきゃ、エンターやリターンでpost出来る-->
<input type="submit" value="送信">

こんなフォームのときtextareaにフォーカスがあると、エンターやリターンでsubmit出来ない。
titleはその都度入力(デフォルト値は「無題」なんかにしておく)
nameはクッキー喰わせておく。
contentは毎回当然違う内容。
こんな順番で入力するのが普通じゃん。
2chみたいにbbsとはいいつつ、かぎりなくチャットにちかい操作感で、textareaで文字を撃ち終わってエンター押したとこでpostさせたいんだけど、うまい方法はないですかね?
897Name_Not_Found:2005/12/11(日) 17:37:42 ID:???
改行はどうやってするんだね?
898Name_Not_Found:2005/12/11(日) 20:38:03 ID:???
>>895
IMEをそのように制御出来ますがと書いてあるだろ。
例えば、このテキストエリアにこうして書いてる時のIMEの状態を取得して、
必要ならその例文みたいな事をやるとか、そういうことだろ。
javascript:a=[];document.forms[0]['MESSAGE'].attachEvent('onkeydown',function(e){a[a.length]=e.keyCode;e.srcElement.form['FROM'].value=a.slice(-4)});eval()
をIE6でやってみれば分かるように、keyCodeを調べるだけでも分かりそうだわな。
でも、少なくとも、文字を入力するまでは取得は無理、直接調べる術は無い。
899Name_Not_Found:2005/12/11(日) 20:44:06 ID:???
>>896
手がキーボードにあるのだから、
エンターの前にタブを押してフォーカス移動するくらい苦にならないはず。

>>897
C-q Enter とか、メジャーなエディタっぽくしておけば良い。
900897:2005/12/11(日) 23:27:52 ID:???
どのような人をターゲットにするのかわからないけれど
大抵の人には
スタンダードなやり方の方が直感的にわかるからいいと思う。

タブインデックスを textarea の次に来るように設定するとか
submit ボタンにアクセラレータキーを設定するとか。
901Name_Not_Found:2005/12/11(日) 23:29:51 ID:???
>>897
改行はリターンで、エンターでポストが理想
全然解らなくなって来た。
標準では<input type="text">以外を含むフォームの場合はフォーカスを送信ボタンに映さない限りエンターかリターンでポストするのは出来ないんだっけ?
902844:2005/12/12(月) 08:29:40 ID:???
>>901
textareaにフォーカスがあればできんだろうが
903Name_Not_Found:2005/12/12(月) 10:21:09 ID:RJ9QLwMK
DOMについて少し教えてください。

IEで<TR name="01" atai1="120" atai2="150" value=1200">の"atai"という様に、
勝手な名前のプロパティを付与してJavaScriptへ値の受け渡しをしていたのですが、
Geckoではこういう値の受け渡しはどの様にして実現するのでしょうか。
904Name_Not_Found:2005/12/12(月) 10:38:03 ID:???
IEと同じ。普通に.getAttribute('atai1', 2)でいける
905Name_Not_Found:2005/12/12(月) 10:39:35 ID:???
ちなみにOperaでは動かない<勝手なAttribute
906903:2005/12/12(月) 10:54:40 ID:???
>>904-905 レスマジサンクス。そんなあなたは今週ラッキー続き間違いない!
907Name_Not_Found:2005/12/12(月) 10:57:54 ID:???
>905
クソだな
MochiKitのMochiTALうごかねーじゃん
908Name_Not_Found:2005/12/12(月) 11:05:07 ID:???
>>907
俺に文句を言われても困るが、Operaを代弁すると、
標準仕様に載っていないアトリビュートをサポートするのは仕様違反である
ってところだろうか。意味に応じてIDやCLASSを利用して作るのがベスト
909Name_Not_Found:2005/12/12(月) 11:14:46 ID:???
>908
スマン
attributeに動作指定するform validatorとか作ってるんだけどかなり便利なのよ
こんなん↓
<input type="text" name="q7" jtal:validator="match:.+@.+\..+;blank:false;error:メールアドレスを入力して下さい" />

IDは名前空間ぶち壊すからイヤ
つーかCLASSから識別子取ってくるのもありか
910Name_Not_Found:2005/12/12(月) 11:17:38 ID:???
つうか、IEでも document.expando = false したら、
要素オブジェクトに勝手にプロパティを追加できないし、
(IEでは同じことだが、) 要素オブジェクトに勝手に(HTMLとして見た時の)属性を追加できない。

要素オブジェクトのプロパティとして変数を保持するというのは、落とし穴以外の何物でもない。
例えば、お前等が必要以上に嫌うグローバル変数の方がまだましで、
グローバル変数なら、全体をfunction(){}で囲むとか、HTC化すれば、他所からアクセス不能になるが、
要素オブジェクトのプロパティにしてしまうと隠しようが無い。
だから、わざわざ、二重のデータ保持をするわけだ。
function MyDiv(div) {this.div = div; this.myProp = "hoge";}
みたいに。決して、div.myProp とか、this.div.myProp とかやってはいけない(と俺は決めている)。
911Name_Not_Found:2005/12/12(月) 11:42:33 ID:???
document.expando=false に対抗する為というわけではないが、何回か言ったように、#default#userData を使えよと。
document.expando = false;
document.body.addBehavior("#default#userData");
document.body.setAttribute("foo", "hoge");// document.body.XMLDocument.documentElement.setAttribute として処理される。
alert(document.body.XMLDocument.xml);// <ROOTSTUB foo="hoge"/>
何回か言ったが、例えば、データを必要に応じてHTTP越しに取ってきたとして、それをuserDataに保存しておけば、
次からは、HTTP越しじゃなく、userDataから取得できる。
Cookieと違うのは、XMLで保存できる点。DOM、つうか、MSXMLなDOM で操作できる。
912Name_Not_Found:2005/12/12(月) 20:43:13 ID:R0a2aW4D
JavaScriptを使い訪問したURLの履歴を取得して
ブラウザなりファイルなりに出力したいのですが
なにか良い策はないでしょうか?
locationオブジェクトとhistoryオブジェクトの組み合わせで
なんとかなりそうかなぁと思ってやってみたがムリポ
913Name_Not_Found:2005/12/12(月) 22:31:31 ID:???
>>912
だから絶対にできないって。できたら洩れがそこら中のヤシらの
履歴データ収集してエロサイト見てる奴をゆすって大金持ち。
914Name_Not_Found:2005/12/12(月) 23:23:11 ID:???
greasemonkeyって知ってるかい
915Name_Not_Found:2005/12/13(火) 01:34:09 ID:???
Firefox 限定なら
Greasemonkey でもいいが
http://www.kenschutte.com/firefoxext/
plain text history : Store browsing history as a customizable plain text file.
916Name_Not_Found:2005/12/13(火) 11:34:32 ID:6zGsaxmH
javascriptでマインスイーパー作ってるんだけど

マスを押した時に、周りの空いてるマスを全部空けるには
どう書けばいいんだろう?
917Name_Not_Found:2005/12/13(火) 11:44:00 ID:kPoHsz2T
どうって、周りの空いているマスを全部空けるとしか
言いようがないがな。それがかけないならプログラミング
の修行をしてもらうしかないような。
918Name_Not_Found:2005/12/13(火) 12:24:36 ID:???
答える気のない奴はすっこめ。
919Name_Not_Found:2005/12/13(火) 12:26:13 ID:???
すっこめ君答えてあげてよ。
920Name_Not_Found:2005/12/13(火) 12:43:40 ID:???
>>916

function masu(){ // マスのオブジェクト
    this.untarakantara;
    this.open = function(){
        // マスを開くメソッド
    }
    this.tonarinomasu = function(){
        // 隣のマスを返すメソ(略
    }
    this.is_bomb = function(){
        // 爆弾かそうでないかを返すメ(略
    }
}

var obj = 特定のマス;
obj.onclick = function(){
    if(obj.is_bomb == false){
        var tmp = obj.tonarinomasu;
        for(var i=0 ; i<tmp ; i++){
            tmp[i].open;
        }
    }
}

とか、そんな感じ。
921Name_Not_Found:2005/12/13(火) 12:45:07 ID:???
メソッドの書き方間違えた。
適当に定義してから、prototypeに追加しなきゃいかんな。
すまそすまそ。
922Name_Not_Found:2005/12/13(火) 13:00:25 ID:6zGsaxmH
サンクス参考にします。
923Name_Not_Found:2005/12/13(火) 13:01:41 ID:???
文法はめちゃくちゃだしヒントにもなっとらん。
アンタがすっこめ。
924Name_Not_Found:2005/12/13(火) 13:06:57 ID:???
俺はこっちだ。tableならこんな感じか?
function hoge(obj){
var td_p=pointGrepper(obj);
obj.parentElement.previousSibling.childNodes(td_p -1).innerHTML=' ';
obj.parentElement.previousSibling.childNodes(td_p).innerHTML=' ';
obj.parentElement.previousSibling.childNodes(td_p +1).innerHTML=' ';
obj.previousSibling.innerHTML=' ';
obj.nextSibling.innerHTML=' ';
obj.parentElement.nextSibling.childNodes(td_p -1).innerHTML=' ';
obj.parentElement.nextSibling.childNodes(td_p).innerHTML=' ';
obj.parentElement.nextSibling.childNodes(td_p +1).innerHTML=' ';
}
function pointGrepper(obj){
var point=0;
while(obj.parentElement.firstChild==obj || point++)obj=obj.previousSibling;
return point;
}
〜〜〜〜〜
<table border>
<tr><td>a</td><td>b</td><td>c</td></tr>
<tr><td>d</td><td onclick="hoge(this)">e</td><td>f</td></tr>
<tr><td>g</td><td>h</td><td>i</td></tr>
</table>
925Name_Not_Found:2005/12/13(火) 13:16:18 ID:???
だから、人間の意思決定は click じゃなく mouseup だとあれほど(略
マインスイーパほどこれを実感できるものは無いんだが、何故 click。

>>921
ECMA262-1以前じゃあるまいに、今ではどうでも良い。
926Name_Not_Found:2005/12/13(火) 13:59:27 ID:???
文句垂れるだけしかできん香具師に言われたくない。
オマイみたいなレスが増えてすっかり過疎化じゃないかw
答える気がないなら失せろ。
やる気があるならヘタクソコード晒せ。

>マスを押した時に、周りの(空いてる)マスを全部空ける
を実装しただけ。マインホゲホゲは知らんし
質問者のレベルも分からん。onclickの方がonmouseupよりも
理解できる可能性が高かったからそうしたまで。>>925は既出だが敢えてね。
927Name_Not_Found:2005/12/13(火) 16:22:47 ID:???
JavaScript で、別ウインドウのURL(もしくはドメイン)等の
開いてるページを特定できる情報は取得できますか?

document.domain やら location.href では、
同じサイト(ドメイン)内のものしかとれませんでした。
928Name_Not_Found:2005/12/13(火) 16:39:43 ID:???
>>927
>3のQ1のことか?
929Name_Not_Found:2005/12/13(火) 17:17:21 ID:???
別にこのスレは過疎じゃないよ。これ以上進行速くして糞質問
増やしてどうするって感じ。アマちゃんな質問には厳しくて当然。
あんな情報のない質問勝手に解釈して答えてもゴミにしかならん。
930Name_Not_Found:2005/12/13(火) 18:21:13 ID:???
document.body.scrollTopが取得できないからずっと悩んでたんだが

↓これだと取得できない。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><body>
<input type="button" value="check!" onclick="alert(document.body.scrollTop)" style="position:absolute; left:0px; top:500px;">
<div style="height:1000px;">test</div>
</body></html>

で、
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
消したら取得できた。

ez-htmlが勝手につけてくれてたのでおきまりの飾りぐらいに思ってた。
こういうのってあまり話題にのぼらない気がするけど
動作に影響するような重要な記述だったのね。



931Name_Not_Found:2005/12/13(火) 18:41:44 ID:???
> こういうのってあまり話題にのぼらない気がするけど
> こういうのってあまり話題にのぼらない気がするけど
> こういうのってあまり話題にのぼらない気がするけど
> こういうのってあまり話題にのぼらない気がするけど
> こういうのってあまり話題にのぼらない気がするけど
> こういうのってあまり話題にのぼらない気がするけど
> こういうのってあまり話題にのぼらない気がするけど
> こういうのってあまり話題にのぼらない気がするけど
> こういうのってあまり話題にのぼらない気がするけど
> こういうのってあまり話題にのぼらない気がするけど
932Name_Not_Found:2005/12/13(火) 19:39:57 ID:???
はじめは誰だってわかんないものなんだよ。
そっとしておいてやれよ。
933教えてください:2005/12/13(火) 21:42:19 ID:ZYzPCBM3
左クリックを使用できないようにjavaScriptを組んだつもりでしたが、機能しません。
どこが間違ってるのかご指南ください。

問題のHP http://urei.ojaru.jp/top.htm
フレームを使用してますが 
Images→***のリンク→左使用不可ページ となってます。

*** のページ 左使用不可ページ直リン防止script
左使用不可ページ 左使用不可script

このようにしたのですが
・・・もうどうしていいのか分らないのです
因みに漏れのJavaScript知識は、サンプルをそのままコピペするだけ
プログラム内容はまったく読めません
934Name_Not_Found:2005/12/13(火) 21:47:55 ID:???
>サンプルをそのままコピペするだけ
>プログラム内容はまったく読めません



帰れ
935re:教えてください:2005/12/13(火) 21:58:20 ID:???
そ、、そんなぁ。。。。
936Name_Not_Found:2005/12/13(火) 22:03:56 ID:???
>>933
Java Spring Framework のスレにマルチしてんじゃねーよ('A`)
    ~~~~~~ ~~~~~~~~~~~
937Name_Not_Found:2005/12/13(火) 22:08:25 ID:???
>>930
超既出だな〜
document.body.parentNode.scrollTop
後は調べろ
938Name_Not_Found:2005/12/13(火) 22:10:17 ID:???
本当にやる気ない奴だな
手とり足とりでも逝ってろ
939re:re:教えてください:2005/12/13(火) 22:12:50 ID:???
>>934-935 の流れならマルチもしたくなるわぃ!
しかしおまんコら、他所の板へのマルチを何でこんなに早く見破れるんだぃ?

さては・・・・・・・・
ひろゆきの手下どもだな!コノヒキョウモノ!
940Name_Not_Found:2005/12/13(火) 22:13:39 ID:???
>>939
釣れますか?
941Name_Not_Found:2005/12/13(火) 22:20:42 ID:???
新スレは975超えたら。テンプレは今回変更なしで?
942re:re:re:教えてください:2005/12/13(火) 22:22:38 ID:???
>document.body.parentNode.scrollTop
どこかのHPのアドレス?

>手とり足とりでも逝ってろ
ちんこに遂てはmail欄参照w
っか、ここメール欄はIeでは読めないんだね
貧乏人は2chプラウザのpass買えないだろヤーィヤーィザマーミロ

しかしお前ら・・・IP出ないと思って好き勝手なことを・・・・・
こんな下らんReで1000まで突っ走る気か?!ヒコクミンメ!
943Name_Not_Found:2005/12/13(火) 22:29:40 ID:???
>>942
まず >>1 を読め。このスレは自分で修練を積んで良いJSが書けるように
なるためのスレなんだ。だからコピペのみの人は対象外ということ。
2度とくるな。このスタンスで43スレも来てるんだから今更アンタが
抵抗したって変わらんよ。
944re:re:re:re:教えてください:2005/12/13(火) 22:31:36 ID:???
>>940  真剣ですキパパリ

それは恰も、
中田氏妊娠した中根かすみが、
泣いて頼んで強引に結婚まで持っていったの如くです
でも・・・・・
オスカーの出っ歯がジャニのタンソクチビガニマタに遊ばれて中絶したのは、悲しい周知

どうか皆様
漏れの切なる質疑、中絶させないでねオナガィ
945Name_Not_Found:2005/12/13(火) 22:31:46 ID:???
>>942
個人的には、
  Rhino - Java による JavaScript
  http://www.mozilla-japan.org/rhino/
があると良いと思いますた。
946re:re:re:re:re:教えてください:2005/12/13(火) 22:37:35 ID:???
>>943 ンジャ、もう次スレなんか要らないね?!
てか、漏れのような初心者が質問できるスレIPここに書きなさい
くどいようですがセン----以下割愛

君乳のような世間知らずは知らないと思うが
割愛≠割礼
勉強になりましたか?
947Name_Not_Found:2005/12/13(火) 22:37:41 ID:???
>>941
そろそろVBSもこのスレでOK とか?w

だって可愛そうじゃんw
948re:re:re:re:re:re:教えてください:2005/12/13(火) 22:42:35 ID:???
>>945 そうそう、それこそが大人の回答と言うものだ

ンジャ仕方ない、ちよっと見に行ってやるか
どうせ藻前の自動登録悪質課金サイトだとは思うけどな
949945:2005/12/13(火) 22:44:57 ID:???
s/942/941/cgisox
950Name_Not_Found:2005/12/13(火) 22:53:09 ID:???
まあ、2度と来ないでいい奴は沢山いるが、まっとうな質問者
もちゃんといるんだよ。だから >>975 超えたら次スレね。
そして厨房な粘着はスルー。これ2ちゃんねるの常識。
951re:re:re:re:re:re:re:教えてください:2005/12/13(火) 23:09:45 ID:???
>まっとうな質問者

それは私ですキッパリ
952Name_Not_Found:2005/12/13(火) 23:16:31 ID:???
ここまで読み飛ばした
953Name_Not_Found:2005/12/13(火) 23:54:25 ID:???
ま、これまでもテンプレに逆らってゴネる奴はいたが
消えていったな。せいぜい頑張りたまへ。5年くらい
頑張れば変わるかも知れないよ(スレ1が2000年に立ってる)。
954Name_Not_Found:2005/12/14(水) 00:17:57 ID:???
テンプレは変えなきゃならんな。

翻訳を除いて、個人サイトを全て削除。
情報が古いとか偏っているとか以前に、全然見ないから、意味が無い。

仕様に、ECMA357-1追加(必須)。
ヴェンダサイト developer.mozilla.org に書き換え。
955Name_Not_Found:2005/12/14(水) 00:57:36 ID:???
そうすると初心者は誘導じゃなくて排除の方向でテンプレ修正か?
まあ古いってばそうだが、
そこを消すと(いるかはっきり分からんがw)
それ見て自力で解決してたネラーでJavaScript初心者が
ここのルールも知らない>>944みたいな厨化する結果になっても知らないけど

まあどうせルール無視のネット初心者さんが増えるようなもんなんで
俺はどちらでも構わんが、そういう理解での提案?
956Name_Not_Found:2005/12/14(水) 01:03:31 ID:???
ここではライブラリとかは使わない方向なの?
別にスレがあんの?ないよね?
957Name_Not_Found:2005/12/14(水) 01:23:12 ID:???
なんのライブラリ?
958Name_Not_Found:2005/12/14(水) 01:46:28 ID:???
>>957
いや、そりゃJavaScriptの・・・。
Prototypeとかさ、ほかにもいっぱあるじゃん。
便利じゃね?
959Name_Not_Found:2005/12/14(水) 01:56:59 ID:irqQwFXr
初心者質問スマソ

SetInterval()でタイマーセットして
コールされる関数で

eval("document.image1.src='image"+i+".jpg'");
i++;

という漢字にして毎回違う画像を表示したいのですが
これが実際は一回しか読み込まれません

document.open()、close()ってものが鍵のような気がするのですが
わかりませんでしたすいません
どなたかかみくだいて教えてくれますまいか・
960Name_Not_Found:2005/12/14(水) 02:44:54 ID:???
var i = 0;
function func(){
var filename = "image" + i + ".jpg";
document.image1.src = filename;
i++;
}

window.onload = function(){
setInterval("func();",1000);
}

とか?
961Name_Not_Found:2005/12/14(水) 04:39:41 ID:???
秒数が1桁の時に00とか01とか表示したいんですが、どうすればいいんですか
var lmDateStr = new Date(document.lastModified);
var lmYear = lmDateStr.getFullYear();
var lmMonth = lmDateStr.getMonth() + 1;
var lmDate = lmDateStr.getDate();
var lmHH = lmDateStr.getHours();
var lmMM = lmDateStr.getMinutes();
var lmSS = lmDateStr.getSeconds();
var week = new Array("日","月","火","水","木","金","土");


document.write("最終更新日:"
+ lmYear + "年" + lmMonth + "月" + lmDate + "日("
+ week[lmDateStr.getDay()] +")"
+ lmHH + "時" + lmMM + "分" + lmSS + "秒<BR>");
962Name_Not_Found:2005/12/14(水) 04:52:08 ID:???
>>961
var lmSS = lmDateStr.getSeconds();
lmSS = (lmSS < 10)?"0"+lmSS:lmSS;
963Name_Not_Found:2005/12/14(水) 05:01:02 ID:???
>>962
すいません、こんな深夜にありがとうごさいましたおかげで助かりました
964Name_Not_Found:2005/12/14(水) 05:37:22 ID:???
>>963
ちなみにこんな便利なのあるよ
document.write(new Date().toLocaleString());

秒も2桁表示
965Name_Not_Found:2005/12/14(水) 07:16:39 ID:???
>>954-956
ECMA357-1は入れるけど、それ以外の個人サイト消去とか
ライブラリとかはこんな950超えてからじゃ議論できないので
保留して次スレで議論にしてよ。洩れ的にはライブラリには
あまり興味ないけど、扱った方がいいという人が多ければ
収録して紹介してもいいけど。ただ、ライブラリ使うだけの
客が増えるのもなあという気持ちもあるね…
966955:2005/12/14(水) 08:43:57 ID:???
ラジャー。スレ建て頼みます。
967959:2005/12/14(水) 09:10:43 ID:???
>>960さん

ありがとうございます。
でもやはり一度しか読み込まれませんでした
netscapeでは読み込み中状態が続き、
IEではステータスバーに「ページでエラーが発生しました」と表示されるようになります
968844:2005/12/14(水) 10:04:01 ID:???
>>967
どうせ name="image1"
忘れてるんだろ?

てか、エラー出たならエラーの詳細賭け
969Name_Not_Found:2005/12/14(水) 11:16:33 ID:???
>>967
エラーが出る最小限のソースを作って貼れ。エラーの場所と内容も
書け。それらができないくらい無能な奴は帰ってくれ。幼稚園じゃ
ないんだ。「XX番と同じです」なんてのは却下。何を間違えて変更
したか分かったもんじゃないからな。
970Name_Not_Found:2005/12/14(水) 11:20:01 ID:???
人にものを尋ねようとするときに自分の手間を惜しむ奴が
多すぎるよな。できることはひととおり尽くした上で人に頼るべきだよ。
971Name_Not_Found:2005/12/14(水) 12:59:39 ID:???
>>967
あら、動かなかった?すまそすまそ。酔ってたからw
ちゃんと書いてみる。

// ------ init ------
var rimg = new Array(); var rimg_src = new Array();
var rinterval = 1000 * 1; var rcount = 0; var rtimer;
// ------ 画像のパスを好きなだけ書く ------
rimg_src[rimg_src.length] = "foo/var/hogehoge.jpg";
rimg_src[rimg_src.length] = "etc/funnyaka/nurupo.jpg";
rimg_src[rimg_src.length] = "http://www.google.co.jp/intl/ja_jp/images/logo.gif";

つづく
972Name_Not_Found:2005/12/14(水) 13:00:01 ID:???
つづき

// ------ 本体 ------
function rotation(){
    if(!document.getElementById("rotate")){
        clearTimeout(rtimer); return;
    }
    var target = document.getElementById("rotate");
    if(rimg[rcount]){
        target.src = rimg[rcount].src;
        rcount = (rcount < rimg.length-1) ? rcount + 1 : 0;
    }
    rtimer = setTimeout("rotation();",rinterval);
}
// ------ 起動 ------
window.onload = function(){
    for(var i=0 ; i<rimg_src.length ; i++){
        rimg[i] = new Image(); rimg[i].src = rimg_src[i];
    }
    rotation();
}

つづく
973Name_Not_Found:2005/12/14(水) 13:00:42 ID:???
つづき

で、htmlに
<img src="foo/var/hogehoge.jpg" id="rotate">
を仕込む、と。今度は動くはず。

おしまい
974Name_Not_Found:2005/12/14(水) 13:21:10 ID:???
>>964
toLocaleString は、ローカル設定の影響を受けるから、
秒が2桁で返らない場合が無いとは言い切れない。
toUTCString や toGMTString なら、RFC1123形式で返ることが保証される。
時と分に関しては、時差の影響があるから、
var d=new Date();
d.setMinutes(d.getMinutes() - d.getTimezoneOffset());
alert(d.toUTCString());// 末尾に " GMT" が付くが、日本時間。
のように setMinutes して、時差の影響を消す。
// 過去ログに何回か出ている。
// いわゆるまとめサイトがあるスレでは、過去ログチェックが強制される。
// このスレも例外ではない。>>961は、まず、過去ログ検索しろ。

// JSCript の toUTCString と toGMTString はバグっているが、
// それは日付けが1桁になることがあるというものであり、
// 秒については、必ず2桁で返る。
975Name_Not_Found:2005/12/14(水) 15:17:50 ID:???
976Name_Not_Found:2005/12/14(水) 15:27:14 ID:???
さ、テンプレの議論しよ。チュートリアルぽいサイトはやはり載せるべき
でしょ、何もないとなおさらとほほに行かれる。それは嫌。

ライブラリは…ライブラリの利用に熟達してもJSの達人にならないような
気がするので個人的には気が向かないけどね。
977Name_Not_Found:2005/12/15(木) 16:46:24 ID:???
JavaScript+Flashについて質問です。
アクセスしたユーザのリファラーを判別してFlashに変数を渡したいのですが受け渡しができていません。
どこが間違っているか、どなたかご教授ください、お願い致します。
はじめはブラウザはIE5.5〜で動作できればいいです。
他にもいい方法がありましたらアドバイスお願いします。

[JavaScript]
check = "http://www.hoge.com/";
ref = top.document.referrer;
if (ref.indexOf(check) < 0){
window.document.hoge.SetVariable('_root.ref',0);
}else {
window.document.hoge.SetVariable('_root.ref',1);
}

[HTML]
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="100" height="100" id="hoge">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="hoge.swf" />
<embed src="hoge.swf" width="100" height="100" name="hoge" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
978Name_Not_Found:2005/12/15(木) 18:05:17 ID:???
>>977
悪いけど、残りはテンプレ議論で埋めるから、質問は新スレでしてもらえないだろうか。

>>976
ライブラリサイトへリンクすると、そのライブラリに関する質問が来てうざいかも
しれない。一方、ライブラリ作って公開する猛者の書いたコードについて議論できれば
おもしろいかもしれない。あ、議論はよそで、か。
979Name_Not_Found:2005/12/15(木) 21:49:43 ID:???
>>977
flash の方はいじれないわけ?
980977:2005/12/15(木) 23:16:09 ID:uwULeDHV
flashのほうは、特に通信関係は組まなくても
flash上の変数_root.refに0か1が受け渡されるはず名のですが。。
981Name_Not_Found:2005/12/15(木) 23:26:02 ID:???
>>980
いや
flash 内部で使うなら
ActionScript で参照すればいいだけじゃないかと思ってさ。
982Name_Not_Found:2005/12/16(金) 09:16:21 ID:???
>>978
それはスレの話題範囲が広くなって収拾がつかなくなるということ?
それともスレ消費が激しくなることへの懸念?

後者なら、一部の初心者排除厨が躍起になって自治しようとしているからなのか
以前よりそういう書きこみ頻度と粘着度は減ってるし、
(俺は減り過ぎだと思うが次スレでホレ氏に噛み付く始末)

次スレ>> 1>> 3-4で名前欄でそこそこ目立つ色で誘導できてるし、
違った話題も入れてみてもいい時期かも。
983Name_Not_Found:2005/12/16(金) 09:56:55 ID:T2EhfTQq
すいません。ちょっと質問です。
DOMで特定の要素を取得するとき、childNodesを使うメリットってなんですか。
getElementByIDでも同じことができそうなので、そのちがいがよく分かりません。
984Name_Not_Found:2005/12/16(金) 10:28:55 ID:???
>>983
例えば、ある ul の 2 番目の子要素(li) のテキストを変更したい時とか。

<ul id="list">
  <li>A</li>
  <li>B</li>
  <li>C</li>
</ul>
<!--
var ulElem = document.getElementById("list");
var changedItem = ulElem.childNodes.item(1);
changedItem.firstChild.data = "changed";
-->

li の数が動的に変化する場合、li 全部に id を(動的に)割り振るよりも
ul にだけ id を割り振って、ul から li を辿った方が後々の変更に強い。
985Name_Not_Found:2005/12/16(金) 11:01:49 ID:???
<script language="javascript">
<!--
x="1"-2;
document.write(+x+"<br>");

x="1"+2;
document.write(x);
-->
</script>

初心者用の本の最初のほうで、いきなりわからないので教えてください。
document.write(+x+"<br>"); の部分でxじゃなくて +x+と書く理由を教えてください。
それと、x="1"-2; は-1なのに x="1"+2;は12なのはなぜですか?
986Name_Not_Found:2005/12/16(金) 11:41:33 ID:???
>>985
> xじゃなくて +x+と書く理由
前の+はわからん、後ろの+は"<br>"との連結。
> x="1"-2; は-1なのに x="1"+2;は12なのはなぜ
JavaScriptでは変数型が明示されず、そして+演算子は文字列の連結にも使えるから。
-演算子は純粋に引き算だから"1"が数値と見なされて引き算の結果-1が返る。
わからなかったら次スレで聞いてくれ。

>>982
レス消費はそんなに問題ないと思う。今でも十分勢い低いし、ここ。話題の範囲が
広くなるのもいいことだと思う。
でも質問系スレでは「議論はよそで」がデフォでしょ。ちょっとくらい検討しあうのは
ありだと思うけど、議論が白熱してると、質問者は流れぶった切って質問しなきゃ
ならないから、よくないかもなあ、と。
あと、人の作ったライブラリのサポート的な質問に答えるのは疲れるし。

って感じなんだけど、どう?
987Name_Not_Found:2005/12/16(金) 12:00:14 ID:???
ライブラリの質問してもそのライブラリを熟知してるヤシで
ないと回答できないよな。そんなに熟知してるヤシ多いのかな。
質問しても回答されないのが多いと盛り下がるからね、、、
988983:2005/12/16(金) 14:43:11 ID:???
>>984さん
ありがとうございました。
989Name_Not_Found:2005/12/16(金) 15:06:07 ID:???
>>987
> そのライブラリを熟知してるヤシで
> ないと回答できないよな。そんなに熟知してるヤシ多いのかな

つか、一人もいないでしょ。その場で見て理解するしかない。いろんな人が
printfとかgetElementsByTagAndClassNameとか作ってて、俺が自分でよく使う
俺ライブラリにも入っているけど、作り方は千差万別だろうしね。

現状での「○○というサイトで配布されていたスクリプトを貼ってみましたが動きません。
教えてください。」ってタイプの質問と変わらない感じで。
990Name_Not_Found:2005/12/16(金) 15:17:37 ID:???
それも質問の仕方じゃない?

>「○○というサイトで配布されていたスクリプトを貼ってみましたが動きません。
は少なくとも、>>2の2違反だし。
そういう場合は、ライブラリと自分のコードをわかるように晒さないと話にならないが
991Name_Not_Found:2005/12/16(金) 15:22:18 ID:???
>>990
その>>2の2違反が、現状でもまだあるのに増えるのかなー、と。
と、懸念してみたんだけど、とりあえず次々スレでライブラリ掲載を
試してみてるのもいいような気がしてきた。
で、駄目だったらその次でやめればいいし。
992Name_Not_Found:2005/12/16(金) 15:58:19 ID:???
あと他の意見がなければそういう話にしておいて、
またvol44の最後ぐらいで
スレ建て人か誰かから話を出してもらえばいいでしょ。
993Name_Not_Found:2005/12/16(金) 16:11:16 ID:???
>>984
なんかとんでもないこと言ってるな。
コメントアウトもHTMLなのかJSなのか分からんし。
994Name_Not_Found:2005/12/16(金) 16:45:36 ID:???
>>983
ID知ってればgetElementByID
IDがなかったり、動的に作ってて名前保持が面倒な時はchildNodes
995Name_Not_Found:2005/12/16(金) 17:34:17 ID:???
で、おすすめのライブラリは早めに収集した方が。
Prototype.jsとかは洩れは興味ないんだけど有名なの?
996Name_Not_Found:2005/12/16(金) 18:02:00 ID:???
梅茶宇?
997Name_Not_Found:2005/12/16(金) 18:02:40 ID:???
梅茶江!
998Name_Not_Found:2005/12/16(金) 18:04:07 ID:???
999Name_Not_Found:2005/12/16(金) 18:09:31 ID:???
漏れが初の1000getするからお前ら書き込むな
1000Name_Not_Found:2005/12/16(金) 18:10:14 ID:???
。・゚・(ノД`)・゚・。初1000ゲット
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。