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

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

まとめサイト
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

E4X (ECMAScript for XML)
http://141.30.92.52/cubetto/download/ECMA-357.pdf

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_entry.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/javascript/
【チュートリアルサイト・サンプルサイト】
規格が読めないならまずはチュートリアル。サンプルサイトも沢山ある。

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/
7& ◆k6ar3mSbs. :2006/01/31(火) 17:25:46 ID:???
【検索】
「キーワード『…』で検索しろ」「ぐぐれ」と言われた場合はこちらへ
http://www.google.co.jp/

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

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

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

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

役に立つ書籍は? 2冊目
http://pc8.2ch.net/test/read.cgi/hp/1099736818/l50
8Name_Not_Found:2006/01/31(火) 17:56:48 ID:GGrnMgrE
JAPANESE ONLY
We all write responses in Japanese in this Site.
No other language does we speak in.
9Name_Not_Found:2006/01/31(火) 18:01:24 ID:???
へたくそな(違和感のある)英語だな。だいたいアンタが英語で
書いてるじゃねかつーの。「I can't speak English」てか (w
10Name_Not_Found:2006/01/31(火) 22:01:01 ID:???
>>8はギャグだろ。はいはいワロスワロス。で質問↓
11Name_Not_Found:2006/02/01(水) 00:07:40 ID:???
ヘルプをどこで入手したらいいですか?wsh5.6のヘルプに、documentが載ってません
http://www.w3.org/DOM/DOMTR がそれっぽいですけど英語はNO!
12Name_Not_Found:2006/02/01(水) 00:44:06 ID:???
>>11
お前は来るべき場所を間違えている。
お前ら、wsh使ってますか? part5
http://pc8.2ch.net/test/read.cgi/win/1126543183/

ついでに「英語はNO!」とか言うな。
自分は馬鹿ですと自慢してどうするんだ。
13Name_Not_Found:2006/02/01(水) 08:48:55 ID:???
DOM仕様書ほかの和訳だったらこちら。
ただしあくまでも英語が正本だからそのつもりで。
ttp://www.mozilla.gr.jp/standards/links.html
14Name_Not_Found:2006/02/01(水) 13:09:38 ID:???
>>8
ここは日本語の掲示板です!
僕たちは外国の言葉とか読めないし書けません!
日本語が理解できないひとは他をあたってください><!!!

これでOK!
15Name_Not_Found:2006/02/01(水) 13:23:58 ID:???
>>14
誰も英語が読めないとDOMとかの標準を読む奴が
いなくてこのスレが成り立たないだろ。矛盾してるよ。
自分が読めないからといってエラソーにすな。
16Name_Not_Found:2006/02/01(水) 13:36:29 ID:???
おこられちゃった><
17Name_Not_Found:2006/02/01(水) 17:33:29 ID:r6940dgE
下記ソースですがIE6では動作してるんですけどFirefox1.5でうまく動作しません。
調べてみたところ、「innerHTML」はFirefoxで動作したりしないとか。
代替の関数などありますでしょうか?

<div id="response"></div>

<script type="text/javascript">

-- 省略 --

function showResponse(originalRequest) {
document.getElementById("response").innerHTML = originalRequest.responseText;
}
</script>
18Name_Not_Found:2006/02/01(水) 17:39:37 ID:???
>>17
FFでinnerHTMLが動かないなんて聞いたことないよな。アンタが
勝手に略したどっかが間違ってると見たけどね。
1917:2006/02/01(水) 17:53:50 ID:???
>>18
すみません。
全部のせてみます。
「prototype.js」を使用してAjaxのテストをしています。
IEではうまく動作してるんで表示部分(innerHTML)がおかしいかなと考えてました。

<html>
<head><script type="text/javascript" src="prototype.js"></script></head>
<body>
<form name="form1" onsubmit="return false">
<input type="text" name="keyword" value="" onKeyUp="search();">
</form>
<div id="response"></div>

<script type="text/javascript">

function search() {
var url = 'keyword.php';
var keyword = $F('keyword');
var pars = 'keyword=' + encodeURIComponent(keyword);
var myAjax = new Ajax.Request(
url,
{method: 'get', parameters: pars, onComplete: showResponse}
);
}

function showResponse(originalRequest) {
document.getElementById("response").innerHTML = originalRequest.responseText;
}
</script>
</body>
</html>
20Name_Not_Found:2006/02/01(水) 19:02:33 ID:???
ttp://www.geocities.jp/miyake_kobo/kowaza/kowaza025.html

ここのスクリプトを使いたいんですが
多少の改良を加えれば複数の写真でも使えるとかいてあるんですが
具体的にはどのような改良が必要なんでしょうか
21Name_Not_Found:2006/02/01(水) 19:08:20 ID:???
>>19
type="text に指定できるイベントハンドラは、
・onBlur
・onChange
・onFocus
・onSelect

KeyDown を利用可能なオブジェクトは、
・document
・Image
・Link
・Textarea

らしいよ?
22Name_Not_Found:2006/02/01(水) 19:59:30 ID:???
>>21
大文字小文字
23Name_Not_Found:2006/02/01(水) 20:15:36 ID:???
>>20
onclick="zoom();" → onclick="zoom(id);"

function zoom() → function zoom(ID)
"kakudai()" → "kakudai('" + ID + "')"
"syukusyou()" → "syukusyou('" + ID + "')"
function kakudai() → function kakudai(ID)
function syukusyou() → function syukusyou(ID)
getElementById("id_img1") → getElementById(ID) // 2箇所
24Name_Not_Found:2006/02/01(水) 20:34:43 ID:???
>>20
引数で id を渡すようにするだけじゃない?
25Name_Not_Found:2006/02/01(水) 20:35:25 ID:???
ぶはっ
20分も遅れてかぶった
26Name_Not_Found:2006/02/01(水) 20:55:05 ID:???
>>19
<input type="text" name="keyword" value="" onKeyUp="search();" id="keyword">
その他、つっこみどころあるけど・・・。

>>21
おいおい(^ ^ ;)どこでそんなこと言ってんの?
27Name_Not_Found:2006/02/01(水) 21:08:43 ID:???
>>19
だからinnerHTMLの代わりにalert()で表示してみ。
それで表示されればinnerHTMLが悪いが、表示されないなら(w
28Name_Not_Found:2006/02/01(水) 21:09:10 ID:???
>>23>>24
ありがとうございます。まだうまく行かないですが・・
もうちょっといじってみます。
29九尾狐 ◆85KeWZMVkQ :2006/02/02(木) 23:09:46 ID:MAYZsaza
初めまして。
ハングル板で暫定看板管理人やっている九尾狐と申します。

看板の架け替えを.jsでランダム表示やっているのですが、アニメgifが表示されません。
よろしければ知恵貸していただけないでしょうか?
よろしくお願いします。

30九尾狐 ◆85KeWZMVkQ :2006/02/02(木) 23:10:40 ID:???
中身はこんな感じです。

fileMax = 5;

//以下IMGファイル名(.jpg,.gif,.png)の指定
IMG = new Array(fileMax);
IMG[0]="f0005.jpg";
IMG[1]="f0007.jpg";
IMG[2]="f0008.gif";
IMG[3]="f0010.jpg";
IMG[4]="f0011.gif";

fileNo = Math.floor(Math.random()*fileMax);
document.write("<IMG src='http://www.horon-bu.com/kanban/",IMG[fileNo],"' border=0>");
31Name_Not_Found:2006/02/02(木) 23:23:30 ID:a+/szrtn
>>30
IMG = new Array("f0005.jpg","f0007.jpg","f0008.gif","f0010.jpg","f0011.gif");
document.write("<IMG src='http://www.horon-bu.com/kanban/"+IMG[Math.floor(Math.random()*IMG.length)]+"' border=0>");
//短いスクリプト書くくらいなら徹底的に短くしようぜ
32Name_Not_Found:2006/02/02(木) 23:23:33 ID:aiBa3OrB
>>30
文字列の足し算は+
33Name_Not_Found:2006/02/02(木) 23:25:53 ID:???
34九尾狐 ◆85KeWZMVkQ :2006/02/02(木) 23:31:23 ID:???
ありがとうございます。
今のところ、これでも動いているようですが、

IMG[4]="f0011.gif";
#これはアニメgifファイルですが、これだけ表示されません。

いろいろと試してみたのですが、ランダムでこのファイルと思われる場合だけ、
画像のリンクエラーになるようです。
35Name_Not_Found:2006/02/02(木) 23:42:42 ID:???
>>34
>>2-3
環境書け
document.write("<img src='http://www.horon-bu.com/kanban/f0011.gif'>")
ってだけでも表示されないのならわからん
36九尾狐 ◆85KeWZMVkQ :2006/02/03(金) 00:00:26 ID:???
>>31
>>32
>>33
>>35
ありがとうございます。

皆さんのヒントのおかげでなんとか解決できました。

document.write("<IMG src='http://www.horon-bu.com/kanban/",IMG[fileNo],"' border=0>");
        ↓
document.write("<IMG src='http://www.horon-bu.com/kanban/"+IMG[fileNo]+"' border=0>");
37Name_Not_Found:2006/02/03(金) 00:00:39 ID:???
>>34
document.write()の複数引数はブラウザ依存。アンタのブラウザで
だけ動いてればよく、他人はどうでもいいというのなら勝手だが。
そういうヤシは製作板に来ないで欲しいね。
38九尾狐 ◆85KeWZMVkQ :2006/02/03(金) 00:05:06 ID:???
>>37
IE、FIREFOX、opera,Sleipnirで動作テストしました。
39Name_Not_Found:2006/02/03(金) 00:06:27 ID:2pFeq6Ih
すいません、どなたかご教授いただけますでしょうか。

今、画像ボタンを押すことで、リンク先をランダムに別窓表示するスクリプトを作っているのですが、
その別窓のアドレスバーとかステータスバーを表示させない様にして
且つ、ウインドウの大きさを縦500と横350くらいに指定して開かせたいのですが、
自分では知識不足でずっと悩んでいます。
テンプレにあった過去スレ等も読んで、もしかしてこうか!みたいな事も試したのですが
どうしても上手くいきません。
以下がスクリプトなのですが、何とかお力を貸していただけないでしょうか。。。
よろしくお願いします。
環境はWinXpのIE6.0です。windows標準搭載のメモ張で作っています。

randomurl = new Array();
randomurl[0] = "http://www.2ch.net";
randomurl[1] = "http://www.goo.ne.jp";
randomurl[2] = "http://www.yahoo.com";
randomurl[3] = "http://www.yahoo.co.jp";
randomurl[4] = "http://www.google.co.jp";
urlCnt = Math.floor(randomurl.length * Math.random());
document.write('<a href="'+ randomurl[urlCnt] +'" target="_blank" ><img src="../img/test.gif" width="100" height="100" border="0"></a>');
40Name_Not_Found:2006/02/03(金) 00:10:17 ID:???
>>39
while(true)
window.status = ""
41Name_Not_Found:2006/02/03(金) 00:18:09 ID:???
>>38
「+」で連結して1つの文字列にするなら、それは「標準通り」
だからそれが通らないブラウザは「標準を逸脱」だし、まず存在
しない。「,」で複数引数にして通らないブラウザは実在した。
昔ぶちあたったことがある。何だったかはもう忘れた。いくつ
テストしようとまだテストしてない奴がそうかも知れないしな。
標準に従うのが難しい場面ならともかく、どっちも1文字なのに
何つっぱってるんだと思うね。
>>39
「何が」分からないのか書いてないんだが。ボタンなんて
どこにあるの?
4239:2006/02/03(金) 00:21:21 ID:2pFeq6Ih
4339:2006/02/03(金) 00:22:40 ID:2pFeq6Ih
すいません。。。書き込んでしまいましたorz

>>40 >>41
ありがとうございます。
4439:2006/02/03(金) 00:25:49 ID:2pFeq6Ih
また書き込んでしまいましたorz・・・・・・・。
2chに慣れてなくて。

randomurl = new Array();
randomurl[0] = "http://www.2ch.net";
randomurl[1] = "http://www.goo.ne.jp";
randomurl[2] = "http://www.yahoo.com";
randomurl[3] = "http://www.yahoo.co.jp";
randomurl[4] = "http://www.google.co.jp";
urlCnt = Math.floor(randomurl.length * Math.random());
document.write('<a href="'+ randomurl[urlCnt] +'"target="blank" ><img src="../img/test.gif" width="100" height="100" border="0"></a>');

ボタンは最終行の img src="../img/test.gif" です。
よくわからない部分は
1.別窓で開いたページのアドレスバーやステータスバーの消し方
2.別窓で開いたページのサイズ指定方法
の2点です。
説明が下手ですいません。
45Name_Not_Found:2006/02/03(金) 00:28:05 ID:???
説明下手だな
4639:2006/02/03(金) 00:35:18 ID:???
>>45
申し訳ないです。ちょっと緊張してしまって。
47Name_Not_Found:2006/02/03(金) 00:36:21 ID:???
緊張してるな
48Name_Not_Found:2006/02/03(金) 00:50:14 ID:???
質問です。
javascriptで\n(改行コード)を<br>に一括変換とかできますか?
ブックマークレット?にしてレンタルブログで記事投稿する際に使いたいんですけれど…
4939:2006/02/03(金) 00:58:01 ID:2pFeq6Ih
なんとか今のスクリプトで完成させたいのですが、
無理ならば、リンク用の画像をJavaScriptの中に入れないで
画像をonClickとかで別窓開くようにして、その新ページの中を
開くと同時にをランダム用に作ったページにランダムに飛ばしてしまう
とかにしないと出来ないのでしょうか?

>>48
申し訳ありません。あたしにはわからないです。
50Name_Not_Found:2006/02/03(金) 01:51:22 ID:???
>>48
正規表現で一発
51Name_Not_Found:2006/02/03(金) 01:58:36 ID:???
>>39
window.open()
52Name_Not_Found:2006/02/03(金) 02:23:03 ID:???
5339:2006/02/03(金) 03:19:12 ID:2pFeq6Ih
>>51 >>52

深夜にも関わらず教えていただいてありがとうございます。
返事遅れてしまい申し訳ございません。

お二人からのアドバイスに基づきリンク先等読ませていただいたのですが、
私には自分のスクリプトのどこに追加していけばいいかがわかりません。。。
どの様に組合わせるとランダムでリンクさせつつ、リンク先のウインドウなどを
操作出来る様になるのでしょうか?

質問ばかりで本当に申し訳ございません。
54Name_Not_Found:2006/02/03(金) 05:14:14 ID:???
饒舌な物乞いだな。
55Name_Not_Found:2006/02/03(金) 05:19:00 ID:???
つか、window.openは迷惑スクリプトに分類してスルーしたほうがよくね?
56Name_Not_Found:2006/02/03(金) 08:55:03 ID:???
>>53
アドレスバー等を消すにはwindow.open()で開く必要があるのでaタグの代わりに
<button onclick="window.open(開くURL, '_blank', '')"><img ...></button>
が生成されるようにすれば。
57Name_Not_Found:2006/02/03(金) 13:17:24 ID:???
>>32 >>37 >>41
10年くらい前だと、document.write()で出力する際に複数の文字列を「,」で
つないでるサンプルが結構あったことを頭の片隅に入れておいてくれ。
もちろん、当時のブラウザも「標準通り」に「+」で文字列が連結できたけどな。
58Name_Not_Found:2006/02/03(金) 14:00:37 ID:???
そんなのねえよーー(笑)
5917:2006/02/03(金) 15:29:41 ID:???
>>26
「id="keyword"」の追加でうまくいきました。
とても勉強になりました。ありがとうございます。

> その他、つっこみどころあるけど・・・。
勉強不足ですみません。
よろしければつっこんでもらえませんか?
6017:2006/02/03(金) 15:32:49 ID:???
>>27
頭がまわりませんでした。
そうやってデバックしたら原因調査ができますね。
ありがとうございます。
61Name_Not_Found:2006/02/03(金) 15:55:31 ID:???
マウスカーソルを非表示にする方法を教えてください。

カーソルの形状を変更する方法調べたらわかったのですが
カーソルを非表示にする方法がわかりません。

よろしくお願いします。
62Name_Not_Found:2006/02/03(金) 15:58:17 ID:???
いやです。
63Name_Not_Found:2006/02/03(金) 16:59:09 ID:???
透明にする
64Name_Not_Found:2006/02/03(金) 18:28:08 ID:???
♪消えます、キエマス、きえます、キ・エ・マ・ス
洩れも古いなorz
65Name_Not_Found:2006/02/03(金) 18:34:28 ID:???
難解はいかんな
66Name_Not_Found:2006/02/03(金) 19:51:29 ID:???
.htaccessでユーザーエージェント規制してるんですが、UA偽装してアクセスする人がよくいるので、
JAVAスクリプトのnavigator.appNameでブラウザチェックした方が、
UA偽装に対して有効だと聞いたんだけど色んな解説サイトで説明を見ると
HTMLページに記述する方法ばかりなんです。
HTMLへのアクセスじゃなく、特定の階層にまとめて置いてある画像や動画ファイルのみに、
navigator.appNameを適応させて、そこのファイルにアクセスしたら、.htaccessのように
別のHTMLに飛ばしたりするには、どうしたらいいですか?
67Name_Not_Found:2006/02/03(金) 19:58:34 ID:???
>>66
スレ違い
68Name_Not_Found:2006/02/03(金) 20:58:48 ID:???
>>66
バイナリの画像や動画ファイルにどうやってJavaScriptを仕込むんだ?
だからHTMLの話ばっかりなんだろ。アンタがやりたいことはCGIでやる
しかないな。
69Name_Not_Found:2006/02/03(金) 21:52:18 ID:???
>>59

>document.getElementById("response")

$("response") //(便利)

>var keyword = $F('keyword');
>var pars = 'keyword=' + encodeURIComponent(keyword);

var pars = Form.serialize("form1");//(これも便利)
<form>もid使う


あとはEvent.observe()使う&
<body>内じゃなくて<head>内に書いたほうが綺麗になるよ。
(ホントは自分的にはHTMLファイルには一切JS書きたくないけど)
70Name_Not_Found:2006/02/03(金) 23:19:09 ID:qegAIbe8
チェックボックスを使ってユーザーがリンク先を選べるようにしたいのですが、Java scriptでできますでしょうか?
以下のような感じです。

□リンク1
□リンク2
□リンク3
OK

(OKボタンでリンク先にジャンプ+複数選択の場合はそれぞれ別々のニューウィンドウで開くようにしたいです)
71Name_Not_Found:2006/02/03(金) 23:22:36 ID:???
>>70
できません。Java scriptスレを探して移動してください。
72Name_Not_Found:2006/02/03(金) 23:24:41 ID:???
>>69
ここで書くにあたって、
一般的な書き方をして、意図の伝わりやすさを最優先した、
という場合が考えられなくもない。
つまり、元ファイルでも $ を使っていないとは断定できない。

というか、こんなかったるいもの使う気にはならないというのが本音じゃないかな。
> function $() {
>  var elements = new Array();
>  for (var i = 0; i < arguments.length; i++) {
>    var element = arguments[i];
>    if (typeof element == 'string')
>      element = document.getElementById(element);
>    if (arguments.length == 1)
>      return element;
>    elements.push(element);
>  }
>  return elements;
>}

また、JSを書く際における作法というものを言い出せば、
$ という文字を使用することは決してほめられることではないだろう。
73Name_Not_Found:2006/02/03(金) 23:28:17 ID:???
RegExp.$1
RegExp.$2
RegExp.$3
74Name_Not_Found:2006/02/04(土) 08:56:23 ID:???
>>73
おいおい、いまどきそんなカビの生えた機能使わないって。
グローバル変数だから危うい。まさに「避けた方がよい」。
過去ログ集でどうやってるか調べればすぐわかるのに。
>>70
ちなみにJavaScriptでだったら普通にできるので。概要は
OKボタンが押されたらチェックボックスの状態を順に見て
チェックされているものに対応するURLを集める。集まった
ものが1個ならlocation.hrefに代入してそのページを表示。
2個以上ならwindow.open()を繰り返し読んで窓を開く。以上。
(全部書けというのは断る。それぞれの書き方は勉強しろ。
どうしても分からない部分はまた質問してくれ。)
75Name_Not_Found:2006/02/04(土) 10:20:39 ID:pahA72aP
>>74
全部書け
76Name_Not_Found:2006/02/04(土) 10:29:45 ID:???
>>75
断る
7769:2006/02/04(土) 10:50:28 ID:???
>>72
なるほど。(´・ω・`)

ちなみにver1.5では $$ 登場予定らしいよ。
7817:2006/02/04(土) 11:17:28 ID:???
>>69
> $("response") //(便利)
こんな書き方できたんですね。すごい。

> var pars = Form.serialize("form1");
これも便利ですね。
「prototype.js」を読んでみたんですけど
複数個のパラメータを渡す必要がある時もこれ一行でOKで
おまけにURIエンコードもしてくれという感じであってますか?

> Event.observe
これも便利そうなものですね。
どう使っていいのかわからないですけど^^;

scriptは読んで頂きやすいようにベタ書きしました。
私も外部からインクルードが好きです。

>>72
フォローありがとうございます。
7917:2006/02/04(土) 11:22:03 ID:???
アドバイス頂いて修正したソースものせておきます。
ソースの改行、インデントなどは修正しています。

<html>
<head>
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript">

function search() {
var url = 'keyword.php';
var pars = Form.serialize("form1");
var myAjax = new Ajax.Request(
url,{method: 'get', parameters: pars, onComplete: showResponse});
}

function showResponse(originalRequest) {
$("response").innerHTML = originalRequest.responseText;
}
</script>

</head>
<body>

<form name="form1" onsubmit="return false">
<input type="text" name="keyword" value="" onKeyUp="search();">
</form>

<div id="response"></div>

</body>
</html>
80Name_Not_Found:2006/02/04(土) 13:28:27 ID:0EK1DWBS
<html>
<head>
<script language="JavaScript">
<!--
function Name()
{
str = new Array("あ","い"...);

switch(document.ruu.words.value)
{
case str[0]:location.href = "1.html#001"; break;
case str[1]:location.href = "1.html#002"; break;
                        ・
                        ・
                        ・
default:alert("うった文章に誤りがあります。");
}
}
//-->
</script>
</head>
<body>
<form name="ruu" action="none">
<input type="text" size="40" name="words" style="border: solid 1px #0000ff;">
<input type="button" value="検索" onclick="Name()" style="border: solid 1px #000000; color: #ff0000;">
</form>
</body>
</html>
このような、簡易的な検索を作ったときに、検索ボタンを直接おせば
リンク先に移動できるのですが、文章をうった後にEnterキーでも
リンク先に飛ぶようにするには、どうしたらいいでしょうか?
乱文で分かりにくいと思いますが、是非お願いします。
81Name_Not_Found:2006/02/04(土) 13:57:52 ID:???
type="submit"
onclick または onsubmit で Name() の返り値を取るように変更
82Name_Not_Found:2006/02/04(土) 14:06:35 ID:???
>>80 Enterを検出するサンプル。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test(e) {
if(e.keyCode == 13) { alert('enter key'); return false; }
else return true;
}
</script>
</head><body><form name="f0" action="#"><p>
<input type="text" name="t0" onkeydown="test(event)">
<button type="submit">Test</button></p></form></body></html>
83Name_Not_Found:2006/02/04(土) 14:18:39 ID:???
Webブラウザを動作させているクライアントのOS(Windows、Mac、UNIX)を判定して画面に表示するのと、マウスポインタをMENUのどれかに重ねると、文字が大きくなったり、文字色や背景が変わったりするもの。

これを誰かやってみてください
84Name_Not_Found:2006/02/04(土) 14:20:35 ID:???
>>80
<form name="ruu" action="none" onSubmit="Name();return false;">
85Name_Not_Found:2006/02/04(土) 14:30:45 ID:5NhF2nVr
http://www5e.biglobe.ne.jp/~access_r/hp/dhtml/dhtml_136.htmlのように
オンマウスでツリー表示をJavaScriptのみで実行したいのですが、
上記アドレスのソースを、JavaScriptに改造お願いします。
86Name_Not_Found:2006/02/04(土) 15:03:36 ID:W3DZm5NX
>>84
ありがとうございます。たいへん悩んでいたので本当に
ためになりました。もっと、JavaScriptの理解を深めるよう
努力していきたいと思います。
87Name_Not_Found:2006/02/04(土) 16:06:21 ID:???
>>83 >>85
自力でやる気のない奴はこのスレに来てはいけない。>>1 参照。
88Name_Not_Found:2006/02/04(土) 17:03:55 ID:???
87>>
申し訳ございませんでした<m(__)m>
自分でもちょっとやったのでこのあとどこにSTYLE入れるか教えてください。
<SCRIPT Language="JavaScript">
<!--
function OScheck()
{
var theAgent = navigator.userAgent;
if (theAgent.indexOf("Mac") >= 0) return "MacOS";
if (theAgent.indexOf("Win") >= 0) return "Windows95/98/NT";
return "UNIX";
}
// -->
</SCRIPT>
</HEAD>
<BODY bgColor="#FFffFF">
<CENTER>
<H2>OSは<SCRIPT Language="JavaScript">
<!--
document.write(OScheck());
// -->
</SCRIPT>
です。</H2>
</BODY>
</HTML>
ここに<FONT size="5">
<FONT color="#ff0000">
<FONT onmouseover="this.color='#ff0000'" onmouseout="this.color='0000ff'" face="Arial">
<STRONG><I>マウスが乗ると文字色変更</I></STRONG>
</FONT></FONT></FONT>
を入れるにはどこにいれればいいでしょうか?。゜゜(□`。)゜。
89Name_Not_Found:2006/02/04(土) 17:52:23 ID:???
>>88
その滅茶苦茶なHTMLをまず直せ。FONTは非推奨だから。
色を変えたい範囲の前に
<span style="font-size:large; color:#ff0000"
onmouseover="this.style.color='#ff0000'"
onmouseout="this.style.color='#0000ff'">
そして色を変えたい範囲の後に
</span>
を入れるんでしょ。
90Name_Not_Found:2006/02/04(土) 18:04:28 ID:???
まあ、非推進のタグでもCSS使うときとかに使うよな
91Name_Not_Found:2006/02/04(土) 18:06:45 ID:???
うん。たしかにそうだが、そんなメチャクチャな書き方もあるんだなあ。
勉強になる。
92Name_Not_Found:2006/02/04(土) 19:44:52 ID:???
推進じゃない、推奨だ!!
そして非推奨なもん使う必要は普通ないぞ。
93Name_Not_Found:2006/02/04(土) 20:24:04 ID:???
このスレってWeb制作者どれくらい居るわけ?
94Name_Not_Found:2006/02/04(土) 20:36:56 ID:???
いくらかもいません
95Name_Not_Found:2006/02/04(土) 22:42:17 ID:5NhF2nVr
<SCRIPT TYPE="text/javascript">
<!--
var background_out = "#E4E4E4"; //マウスが外れた時の背景色
var background_over = "#FFFFFF"; //マウスが乗った時の背景色
//メニュータイトルと対応する飛び先のアドレスの数は必ず一緒にして下さい。
//ポップアップに表示されるメニュータイトル
var menu_name = new Array("CSS", "JavaScript", "DHTML", "アクセス向上", "色について", "HTML");
//ポップアップでメニュータイトルに対応する飛び先のアドレス
var address = new Array("http://www5e.biglobe.ne.jp/~access_r/hp/css/",
"http://www5e.biglobe.ne.jp/~access_r/hp/javascript/",
"http://www5e.biglobe.ne.jp/~access_r/hp/dhtml/",
"http://www5e.biglobe.ne.jp/~access_r/hp/access/",
"http://www5e.biglobe.ne.jp/~access_r/hp/else/color.html",
"http://www5e.biglobe.ne.jp/~access_r/hp/html/");
if(window.createPopup){
var menu_status = ""; //メニュー内容
var oPopup = window.createPopup(); //ポップアップオブジェクト作成
menu_status = '<DIV STYLE="border:1px solid black; background:' + background_out + ';">';
//メニュー内容作成
for(count = 0; count < menu_name.length; count++){
menu_status += ('<DIV ' +
'onmouseover="this.style.background=\'' + background_over + '\';" ' +
'onmouseout="this.style.background=\'' + background_out + '\';" ' +
'onClick="parent.location.href=\'' + address[count] + '\';" ' +
'STYLE="font-size:10px; height:11px; padding:3px; cursor:hand; border-bottom:1px outset gray; border-right:1px outset gray;">' +
menu_name[count] + '</DIV>');
}
menu_status += '</DIV>';
}
続く
96Name_Not_Found:2006/02/04(土) 22:42:56 ID:+PicB9z5
質問です。
contentEditableを設定したエリアでの改行は<p>とおなじですが、
これを、<br>にするにはどうすればよいのでしょうか。
97Name_Not_Found:2006/02/04(土) 22:43:44 ID:5NhF2nVr
続き

function ContextMenu(){
if(window.createPopup){
var topper = event.clientX + 10; //ポップアップを表示するX座標を取得
var lefter = event.clientY + 10; //ポップアップを表示するY座標を取得
oPopup.document.body.innerHTML = menu_status; //ポップアップに表示する内容を設定
//ポップアップを表示するメソッドをcall
oPopup.show(topper, lefter, 200, (17 * menu_name.length) + menu_name.length + 2, document.body);
return(false);
}
}
//-->
</SCRIPT>
<A HREF="../../index.html" onMouseOver="ContextMenu();">ポップアップメニュー</A>

このスクリプトを2つ設置したいんだけど、どの変数・名称を変えればいいの?
98Name_Not_Found:2006/02/04(土) 23:12:37 ID:???
createPopup でやる気をなくした
他のブラウザにも対応できるスクリプトを探した方がいいかと
99Name_Not_Found:2006/02/05(日) 01:25:58 ID:???
>>95
menu_name, address, menu_status を一組にまとめて、これを二組用意する。
一つのoPopup.document.bodyの内容を書き換えて使いまわす。
関数ContextMenuにmenu_status, menu_nameという名前の2引数を持たせれば、変更は少なくて済む。
100Name_Not_Found:2006/02/05(日) 01:51:18 ID:???
>>96
function ps2brs(section) {
var ps = section.getElementsByTagName('p');
while (ps.length) p2br(ps.item(0));
}
function p2br(p) {
p.appendChild(document.createElement('br'));
p.removeNode(false);
}
101Name_Not_Found:2006/02/05(日) 10:20:08 ID:???
いろいろ調べたのですが、できないので質問させてください。
データバインドでテキストファイルから配列を作りたいのですが、

<object id="ID1" classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83">
<param name="DataURL" value="data.txt">
</object>
<span id=hidden1 style=display:none datasrc=#ID1 datafld=text></span>
<script language=javascript>
var rs = ID1.recordset;
var Test = new Array();
for(var i = 0; i < ID1.recordset.RecordCount; i++){
Test[i]=rs.fields(0);
rs.MoveNext;
}
document.write(Test);
</script>

-------data.txt------
data0
data1
data2
---------------------

こんな感じで作ってみたのですが、無理でした。
どうすれば、うまくいくでしょうか。
102Name_Not_Found:2006/02/05(日) 14:14:34 ID:???
103Name_Not_Found:2006/02/06(月) 09:39:04 ID:???
input textに対してのみスタイルを設定したい場合はどのようにすればいいのでしょうか?
input {}でやるとinput type=submitのボタンにまで適用されてしまいます。

あとスタイルでonkeyup〜とかのスクリプトを埋め込みたいのですがどうしたらいいのでしょうか?
不躾で2つもすみません。
104Name_Not_Found:2006/02/06(月) 09:54:37 ID:???
>>103
1つ目の方はJSの質問じゃないような気がするけど、単にスタイルを適用したい部分にclass=をつければいいんでないか。
2つ目の方は質問の意味がわかりにくいけど、onkeyup="this.style.〜=〜"とかonkeyup="this.className=〜"とか書けばいいんでないか。
105Name_Not_Found:2006/02/06(月) 10:03:00 ID:???
>>103-104
submitボタンを<button type="submit">...</button>にするとかも。
2番目の質問はほんと意味が分からん。
106Name_Not_Found:2006/02/06(月) 10:07:50 ID:???
input[type="text"]でがまんしなさい
IEが7になったら対応してくれるから
107103:2006/02/06(月) 10:43:09 ID:???
わかりにくくてすみませんでした。
2番目はonkeyupとかの動作もクラスに埋めこめれないかということなんですが
例えば input {onkeyup=〜} とかで指定できたら
<input type=text onkeyup〜 ←ここの部分も個々に記述しなくても良くなるので・・
ってこれスレ違いですかね??CSS板いった方がいいですか?
いろいろすみません。
108Name_Not_Found:2006/02/06(月) 11:25:22 ID:???
>>107
全部CSSでやらせたいと思うのなら当然CSSスレへ逝け。
109Name_Not_Found:2006/02/06(月) 11:40:44 ID:???
いや無理なんじゃないか?
あーでもIEのexpressionならできるのかなぁ
俺はまったく使ったことないからわかんないけど
110Name_Not_Found:2006/02/06(月) 11:47:35 ID:???
ごめん今の発言取り消して
知らないのに中途半端なこと言うもんじゃないな
expressionじゃなくてDynamic Propertiesだったし
111IEマニア:2006/02/06(月) 18:19:54 ID:???
便所でつぶやき

behavior
112IEマニア:2006/02/06(月) 18:32:47 ID:NxlreVw1
お風呂でつぶやき

おやおや
向こうで叩かれてもめげるなよw
113Name_Not_Found:2006/02/06(月) 18:34:41 ID:???
シャワでつぶやき

あげスマソ
114Name_Not_Found:2006/02/06(月) 19:33:31 ID:???
Web制作板なんだから可能なかぎりクロスブラウザで。
IE専はできるだけ避ける。
115Name_Not_Found:2006/02/06(月) 22:47:40 ID:???
自分で調べて試してみたのですが、上手くいかない(新しく開かない)ので、質問させてください。
自分のサイトにきたら、別ウインドウを出す(サイズ指定して、画面中央表示)っていうのを
したいのです。

自分で参考にして書いたソースは、

<script language="javascript">
<!--
 function new Win(){
  w=screen.availWidth/3;                  //有効な幅の1/3を取得
  h=screen.availHeight/3;                  //有効な高さの1/3を取得
window.open("top.html", "newWin1", "width=800, height=550, scrollbars=no, titlebar=yes, resizable=no, menubar=no, status=yes, toolbar=no");
  newWin1.moveTo(w,h);                   //中央に移動
 }
//-->
</script>

です。
どうかご指導お願いします。
116Name_Not_Found:2006/02/06(月) 23:59:21 ID:???
>>115 エラー出てないよね?出てるのならそれを書かない奴は質問するなと。
(1)関数を定義だけして呼び出している箇所がないから開かないんでしょ。
最後に「Win();」とか入れれば?
(2)ウィンドウ名は変数名になるわけではない。「w = window.open(...)」
のようにして自分で変数に入れて「w.moveTo(...);」で動かす。
(3)どう見ても窓の幅は「800」高さは「550」に固定にしか見えないんだけど…
117Name_Not_Found:2006/02/07(火) 00:31:12 ID:???
function new Win(){
function new Win(){
function new Win(){
118Name_Not_Found:2006/02/07(火) 00:51:32 ID:???
あらー絶対エラー出てるじゃん。エラーがチェックできない
奴は2度とくるな。
119Name_Not_Found:2006/02/07(火) 01:17:00 ID:???
>>118>>116へのレスですよね?
120Name_Not_Found:2006/02/07(火) 02:22:15 ID:???
基本がダメダメじゃん
テトリスだな
121Name_Not_Found:2006/02/07(火) 14:17:08 ID:???
printで印刷ダイアログはだせると思うのですが
印刷プレビューをだす関数とかってないですかね??
122Name_Not_Found:2006/02/07(火) 19:03:40 ID:???
>>121
ポストスクリプトは誰が吐くんだよw
123Name_Not_Found:2006/02/07(火) 20:26:38 ID:qiJZ3eB7
すみません、htmlでJavaスクリプトを使って
ローカルのバッチファイルを起動させたいのですが、どうすればよいでしょうか?
PCはWindowsOSです。

ネットで調べたところ、WSHというものを使い

<script language="jscript">
wshshell=new ActiveXObject("WScript.Shell")
wshshell.run("〜.bat p1 p2")
</script>

とやれば出来ると書いてあったのですが、
上記のJavaスクリプトを起動させる方法がわかりません。

お手数ですが、お教え頂ければと思います。
124Name_Not_Found:2006/02/07(火) 21:34:32 ID:???
WSHスレへ逝けば?
125Name_Not_Found:2006/02/08(水) 00:33:52 ID:???
>>122
二日酔いの俺が吐くから安心汁 ゲボ
126Name_Not_Found:2006/02/08(水) 02:03:44 ID:???
ブックマークレットはスレ違いになりますか?
127Name_Not_Found:2006/02/08(水) 02:11:26 ID:???
おk
128Name_Not_Found:2006/02/08(水) 02:16:57 ID:???
ブックマークレットの専用スレがあれば、そちらへ。
129Name_Not_Found:2006/02/08(水) 02:25:47 ID:???
専用スレは検索したのですが、無かったみたいなので、質問させていただきます。

http://www.abcde.com/fghijk/xxxxx/←開いてるページ

http//xxxx.abc.com/xxxx/fghijk/←開きたいページ

このようなブックマークレット(これは例ですが)を作りたいのですが、ヒントをください。
自分はjavascriptの経験が0なのですが、このようなブックマークレットを作ってみたいと思い、
質問しました。

仕事で使うとかではなく、これだけを作りたいので、全部を勉強するのおっくうで…。
130Name_Not_Found:2006/02/08(水) 02:27:56 ID:???
>>129
自力でやる気がない人は手取り足取りスレに行ってください
それから質問の内容がさっぱりです
131Name_Not_Found:2006/02/08(水) 02:29:50 ID:???
>>130
スレ違い申し訳ないです。説明も下手ですみません。
該当スレの方に再質問しにいきます。ありがとうございました。
132Name_Not_Found:2006/02/08(水) 02:46:54 ID:???
JavaScriptアプリ/Bookmarkletスレッド vol.4
http://hobby7.2ch.net/test/read.cgi/appli/1133742090/

この程度の検索すら出来ないなんて、死ぬことを許可するよ
133Name_Not_Found:2006/02/08(水) 03:21:09 ID:???
>>132
板名見えてる?
134Name_Not_Found:2006/02/08(水) 08:41:27 ID:???
>>129 この程度のbookmarkletなら専用スレ逝かなくてもホレ。
javascript:var a=location.href.match(/ttp:\/\/www\.(.*)\/([^\/]+)\/([^\/]+)\/$/);if(a)location.href='http://'+a[3]+'.'+a[1]+'/'+a[3]+'/'+a[2]+'/';void(0)
135Name_Not_Found:2006/02/08(水) 09:14:09 ID:???
>>134
>>129
xxxxx ==> xxxx
abcde ==> abc
136Name_Not_Found:2006/02/08(水) 11:15:17 ID:???
別にいいじゃん、このサンプルからどうにでも直せるでしょ。
137Name_Not_Found:2006/02/08(水) 15:00:09 ID:???
ブックマークレットで衝突回避不可能な変数を勝手に作っちゃまずいのでは。
if (location.href.match(/^(http:\/\/)www([^\/]+\/)([^\/]+\/)(([^\/]+)\/)$/))
  location.href = RegExp.$1.concat(RegExp.$5, RegExp.$2, RegExp.$4, RegExp.$3);
138Name_Not_Found:2006/02/08(水) 15:53:05 ID:???
>>137
RegExp.$1を使うくらいなら
function(){var a = ...}();void(0);
とすればよい。変数いくつでも使えるので汎用性もある。
もっと過激なのはこうだな。
function(a){if(a)location.href=...}(location.href.match(...));void(0);
139Name_Not_Found:2006/02/08(水) 17:17:28 ID:jvsFAZqU
JavaScriptで、ブラウザ関係の質問です。

internet Explorer5.5、6.0およびsafari以外のブラウザに対して
「推奨ブラウザではありません」と表示させるにはどう記述すればいいでしょうか。
140Name_Not_Found:2006/02/08(水) 17:40:34 ID:???
>>139
そんなアホなブラウザ限定やめなよ。自分がスキルゼロなのを告白
してるようなもんだぞ。
141Name_Not_Found:2006/02/08(水) 17:44:26 ID:???
>>139
そいつらかどうか調べて、innerHtmlとか。
142Name_Not_Found:2006/02/08(水) 17:51:55 ID:???
>>141
なんでそうなるわけ。document.write()で十分じゃん。
143Name_Not_Found:2006/02/08(水) 17:56:25 ID:???
>>138
そう書くなら、void 不要。
144Name_Not_Found:2006/02/08(水) 18:02:05 ID:???
>>138
(function () { })( ) のようにしないと、宣言と解釈されてしまう実装あり。
( ) が省略できるのは、= の右側など、式であることがはっきり分かる場合。
145Name_Not_Found:2006/02/08(水) 18:02:41 ID:???
>>141
大文字小文字
146Name_Not_Found:2006/02/08(水) 18:30:59 ID:???
>>139
WinIE は、条件コンパイル。
読み込み時に一度処理されるだけだから、これ以上速いものはない。
または、typeof document.compatMode == 'string' とか。

Safariは、0 <= navigator.userAgent.indexOf('AppleWebKit') とか。
147Name_Not_Found:2006/02/09(木) 00:36:15 ID:???
質問失礼します。
当方イラストサイトを作成中です。
現在はフレームの左にメニュー、右に絵を表示という形をとっています。
作品数が増えてきたため、ツリー式メニューを利用しようと考えています。

現在、ツリー式メニューを同一ページに複数設置出来たのは良いのですが、
そのリンクをクリックしてもtarget指定先(フレームの右)に表示されません。
いろんなサイトで調べてみたのですが、サイトによって細かいところが違ううえに
やはり表示されませんでした。
おかしい箇所、足りない記述等ありましたらご指摘お願いします。
ブラウザはIE6です。

http://irohamomijiaozora.web.fc2.com/frame.htm

…それでチェックしていただきたくてWEBにアップしてみたところ、正常に表示されました…
なぜオフラインで作業していると正常に表示されないのでしょうか。
WEBで正常に動くならそれで良い気もするのですが
何か気持ち悪いのでお答え下されば幸いです。
訳の分からない書き込みになってしまいすいません。

宜しくお願いします。
148Name_Not_Found:2006/02/09(木) 08:30:28 ID:???
ローカルファイルとWeb経由とではセキュリティ制約の扱いが
変わる。これみたいにフレームの片側で別サイトのを表示させ
ようとかするのなら、ローカルからだと動かなかったかも
知れない。
149Name_Not_Found:2006/02/09(木) 12:50:00 ID:???
http://www2u.biglobe.ne.jp/~oz-07ams/prog/
このサイトは役にたたないのかなテンプレにないけど
150Name_Not_Found:2006/02/09(木) 12:58:40 ID:???
初めまして。質問なのですが、
document.write("・・・");でMETAタグの記述は出力できますでしょうか。
イラスト系サーチエンジン用のMETAを出力できたらと思っています。

HTML
<head><title>・・・</title><META 省略>
 <script type="text/javascript">
 <!--
  chieri();
 // -->
 </script>
<script type="text/javascript" src="test.js"></script>
・・・
</head>

外部ファイル
function chieri(){
document.open();
・・・
document.write("<META NAME='chieri-update' CONTENT='" + 時間変数+ "'>");
・・・(他2つ似たような記述
document.close();
}

ご回答よろしくお願いいたします。
151Name_Not_Found:2006/02/09(木) 13:39:41 ID:6yb0PHrd
>>150
もちろん出力は可能だけど、で、やってみてどうだったの?
使いモノになった?
152Name_Not_Found:2006/02/09(木) 13:47:55 ID:???
>>151
回答ありがとうございます。できますか!
本当は「HEADが書けるか」だけお聞きして、できるようであれば
実際に使ってみて(日付を今日にしてHEADを更新、ロボットの巡回を待つ)、
イラストサイトの更新サイト一覧に表示されるかテストすることにしていました。
ロボットが来るまで待たないといけないので、
使い物になるかはもう少し待たないと結果が出ないです。
153Name_Not_Found:2006/02/09(木) 13:57:01 ID:???
>>147
質問とは関係ないところですまんが、メニューのサブ項目は初期状態で
展開しておいたほうがいいよ。で、メニューページのonLoadでたたむ。
初期状態でたたんであると、スクリプトを実行しない環境でサブ項目に
アクセスできなくなっちゃうよ。

>>150
それ、そのサーチエンジンのクローラ(サーチボット)がスクリプトを解釈して
くれないと意味無くない? まずはそのサーチエンジンにそこから問い合わせる
のが先じゃないかと。
154Name_Not_Found:2006/02/09(木) 14:01:35 ID:???
>>153
回答ありがとうございます。そしてorz
そうでした・・・クローラがとりにくるタイプなのでこれじゃ意味ないですね・・・
本当にありがとうございました。
JSに更新内容まとめてHTMLいじらないようにしたかったのですが、この仕様だけ無くします。
155Name_Not_Found:2006/02/09(木) 14:35:55 ID:???
>>149
テンプレ中のECMAの和訳はそのページのリンクにあるヤシだけどね。
そうだね、次回テンプレでこのページ入れようか。
156Name_Not_Found:2006/02/09(木) 17:45:09 ID:qRuQKAw0
質問失礼します。
ページにフレームを使っていて、メニュー(f1)とボディ(f2)の2つに分け、
さらにその中に一つずつインラインフレームを置いてるのですが、
ボディのiframe(f3)のリンクをクリックすると、
メニューのiframe(f4)が変わるようにするにはどうしたらよいのでしょうか。

f3内で、
[外部JS]
function aaa(){ parent.frames['f4'].location.href="./***/aaa.html"; }
[HTML]
<a href="JavaScript:aaa()">リンク</a>
のようにしているのですが、クリックしても何も変わってくれません。

ご回答宜しくお願い致します。
157156:2006/02/09(木) 17:55:48 ID:???
図にしたらこんなかんじです。
http://v.isp.2ch.net/up/cc61100e5176.png
158Name_Not_Found:2006/02/09(木) 18:42:21 ID:???
>>156-157
iframeのWindowオブジェクトを取得する例は過去ログ調べれば
あるよ。
159Name_Not_Found:2006/02/09(木) 18:56:16 ID:???
×<a href="JavaScript:aaa()">リンク</a>
○<a href="javascript:aaa()">リンク</a>

160156:2006/02/09(木) 20:36:29 ID:???
お返事ありがとうございます。

>>158
いろいろ調べてみましたが、結局、同一ページにiframeを2つ置くことで解決しました。
何日間も悩んでたのがうそみたいにすんなりとw

>>159
確かにそうですよね。ご指摘どおり直しました。ありがとうございます。
161Name_Not_Found:2006/02/09(木) 21:23:27 ID:???
<a href="#" onclick="aaa();return false">リンク</a>
のほうが正しい。
javascript:〜は非公式。
162Name_Not_Found:2006/02/09(木) 21:39:07 ID:???
>>161
そうなんですか!?
やってみたら、確かにそのタグでも動きました。
こちらのほうが、不具合が少ないのでしょうか・・・。
それなら大変だけど、全ページ書き直そうと思います。
163161:2006/02/09(木) 21:51:24 ID:???
aaa()の最後にreturn falseを追加すれば
<a href="#" onclick="aaa()">リンク</a>
でも同じ動作に。
164Name_Not_Found:2006/02/09(木) 22:09:59 ID:???
>>163
そっちのほうがすっきりしていいですね。
早速直すことにします。
詳しく教えてくださってありがとうございました。
165Name_Not_Found:2006/02/09(木) 22:58:37 ID:???
>>157
しかしそのページ構成はどうなのか。
166Name_Not_Found:2006/02/09(木) 23:15:02 ID:???
parent.parent.frames['f1'].frames['f4'].location.href=
167Name_Not_Found:2006/02/09(木) 23:48:04 ID:???
['f1'] が新手の毒男に見えた
168Name_Not_Found:2006/02/10(金) 02:08:03 ID:???
161を信用してはいけません
169Name_Not_Found:2006/02/10(金) 03:06:49 ID:???
>>159
アホか。文法上はどちらもラベルに過ぎない。自動で作られる匿名関数内の。

>>163-164
アホか。HTMLのイベント属性は、自動で作られる匿名関数内に書いているわけだから、
onclick="return aaa()"
170156:2006/02/10(金) 03:16:46 ID:???
サイトいじってたらこんな時間になっちゃいました。
見たら書き込みが増えていたので、寝る前に。

>>165
解決なんて言っておきながら、いじってるといろいろ不都合な点が出てきて。
もうパンク状態です。

>>166
それで明日やってみます。

>>169
全部>>163で書き直してしまいましたが、一番いいので作りたいので、
こうなったらトコトン直すつもりです。
これまた明日、それに直します。
171Name_Not_Found:2006/02/10(金) 03:29:54 ID:FJ9NeM37
>>170 人信じすぎじゃね?オレエレ詐欺にひっかかるタイプw
172Name_Not_Found:2006/02/10(金) 04:30:38 ID:???
>>171
人を信じて何がわるいか
オレにはわかんらんよ。
173Name_Not_Found:2006/02/10(金) 09:47:39 ID:???
>147です。

>148さん
そうだったんですか!
それではWebでコソーリ動作確認してからうpすることにします。
回答ありがとうございました!

>153さん
なるほど、そうですね。
申し訳ありませんが、初期状態で開いておくためは
どんな記述をすれば良いのでしょうか?
174Name_Not_Found:2006/02/10(金) 10:17:25 ID:LI/VXlyO
単にクリックで文字を表示させるように
<span onmouseover="document.all.item('text1').style.visibility='visible'">
を使いたいのですが、
'text1'と'visible'の ’’(アポストロフィー?)が前後の文章に使われていて、使えません。
''の代わりになるものは""以外に何かあるのでしょうか?

もしくは検索でのググるようの単語を教えてくださいorz 
(括弧とかで調べてみたのですがわからなかったです)
175153:2006/02/10(金) 17:22:07 ID:???
>>173
各メニューのスタイル指定で display:none ってなってるのをはずせば OK。
で、onLoad ハンドラで

document.getElementById("treeMenu1").style.display = "none";
document.getElementById("treeMenu2").style.display = "none";
(以下メニューの数だけ繰り返し)

ってやって全部たためばいい。
176Name_Not_Found:2006/02/10(金) 20:38:27 ID:???
>>173
document.write('<style type="text/css" media="screen, projection">',
'#treeMenu1, #treeMenu2, #treeMenu3 {display: none;}',
'<\/style>');

>>175
JS に onLoad はないが、onload ならある。
HTML は大文字小文字を区別しないが、DTDでは小文字で定義してある。
177Name_Not_Found:2006/02/10(金) 21:07:13 ID:???
>>176
それは畳み方の説明で、173の質問(開いておくのはどうするか)の
答えになってない。
178Name_Not_Found:2006/02/10(金) 21:49:21 ID:???
>147、>173です。
みんなthxです!

>175さんの助言を受けて、「ハンドラとは何か」から調べたので、
記述の仕方がちょっと違うけど、一応出来ました。

http://irohamomijiaozora.web.fc2.com/frame.htm

こんな感じで良いでしょうか?
しかし今度は下2つのタイトルにカーソルを当ててもカーソルが変化しなくなった…
なんでだ。
179Name_Not_Found:2006/02/10(金) 22:23:09 ID:fz8VPOSF
質問です。
トグルスイッチを1行スクリプトで作ろうとして、
<a href="#" onclick="javascript:n=1;if(n){alert('Good');n=0}else{alert('Bad')}">
のようにしましたが、n=1に戻って来る時点で切り替わりません。
どうかけばよいでしょうか。
180Name_Not_Found:2006/02/10(金) 22:42:03 ID:???
>>179

<html>
<body>
<a href='#' onclick='window.n=(window.n==1)?0:1;if(n){alert("Good");}else{alert("Bad");}'>click</a>
</body>
</html>
181179:2006/02/10(金) 23:04:13 ID:???
>>180さん
ありがとうございました。なるほどと感心しきりです。
182Name_Not_Found:2006/02/10(金) 23:07:49 ID:???
<a href="#A" name="A" onclick="javascript:void( n=!n; alert( n ? "A" : "B" ); );return false;">
183Name_Not_Found:2006/02/10(金) 23:08:43 ID:???
>147兼>173>兼178です。
やっぱり不具合がある…メニューの開閉が「電車男」しか反映されない。
他の作品名をクリックしても電車男しか開閉しないし、閉じない…
以下のページです。記述ミスの指摘をお願い致します。

http://irohamomijiaozora.web.fc2.com/test2.htm

あともし変なものを見てしまった人がいるなら忘れてください。
184Name_Not_Found:2006/02/10(金) 23:11:43 ID:???
>>182
javascript: て書くの流行ってるの?

>>183
どう見ても id が全部一緒です
本当にありがとうございました
185Name_Not_Found:2006/02/10(金) 23:40:46 ID:???
>184
…orz
本当にありがとうございました 本気で
186Name_Not_Found:2006/02/11(土) 01:44:13 ID:8wbd1j9b
javascriptファイルから別のjavascriptファイルを呼ぶ方法ってりますか?
187Name_Not_Found:2006/02/11(土) 09:03:57 ID:???
>>186
普通に書けば
188Name_Not_Found:2006/02/11(土) 17:45:47 ID:40uhc7/h
質問です。
ページを読み込んだときにCGIから時刻を送って来るのですが、
表示時間は刻々と変化しません。CGIからの表示画像は
<img id="clock" src="dummy.gif">
という画像に表示することにし、スクリプトを

onload=function TimeGet(){
document.images['tc'].src="http://www.blabla/cgi-bin/....";
setTimeout('TimeGet()',10000)
}

しかし、これで画像の分表示の部分が変化してくれません。
表示時刻は「12:34」のようになります。
アドバイスお願いいたします。
189188:2006/02/11(土) 17:48:10 ID:40uhc7/h
>>188
×document.images['tc'].src
○document.images['clock'].src

すいません。
190Name_Not_Found:2006/02/11(土) 18:07:15 ID:???
>>188-189
同じsrcを入れ直してもダメじゃないの?URLの最後を
「...?" + Math.random()」とかしてみてはどうかな。
191186:2006/02/11(土) 18:34:07 ID:8wbd1j9b
>>187
えと、1000行位になってるんですけど・・・
192Name_Not_Found:2006/02/11(土) 19:15:03 ID:???
>191
標準的にはJSファイル上ではないでしょ
ん?自作ライブラリでも使ってるんか?
動的に読み込めばいいんでないの?

・適時フレームで読ませるとか(フレームを同期しないとな)
・XMLHTTPRequestでeval()とか
・あとなんかある?w
193Name_Not_Found:2006/02/11(土) 19:17:35 ID:???
>>191-192
過去スレを読めば「script要素のsrc属性を設定」という一番
普通のワザがすぐ見つかると思うけど。
194192:2006/02/11(土) 19:23:14 ID:lN7RqRYL
>193
ああ、それが本道だね
ド忘れw

つーか動的解釈ってのは
読み込みの保証を考えたら
Web上ではあんまやりたくない技だけどね

195153:2006/02/11(土) 20:06:27 ID:???
>>183
ID が全部同じ……、というのは 184 さんの指摘で解決してるね。

またまたスクリプトとは関係ないところで悪いんだけど、
マウスカーソルを変えるのにスクリプト使う必要は無いよ。
スタイル指定で cursor:pointer; ってしておけばいい。
今回の例だと span エレメントを

<span id="p1" onclick="Node_Click('c1')" style="cursor:pointer;"><B>電車男</b></span>

とすれば OK。

脇にそれてばっかりでスマン。
196192:2006/02/11(土) 21:17:11 ID:???
>>191
ま、動的と言うよりは単純に
構造化プログラミング的に共有ライブラリの組み方工夫でどうじゃろ

<script type="text/javascript" src="Lib01.js"></script>
<script type="text/javascript" src="Lib02.js"></script>

複数に分けてやれば各ドキュメントに必要なライブラリだけで済むよね
ま、どこまで小分けできるかは内容次第かなぁ
1000行ぐらいならキャッシュを期待して1発読みでいいんじゃないかな

そんなのは分かってんだよ?www
じゃこれでバイバイw
197Name_Not_Found:2006/02/12(日) 14:37:54 ID:8ZyNAJ5N
初心者の質問ですいません。
new Arrayで作成した配列を引き出すときに
function EXIT(No)
{
exit0.innerTEXT = Ex[No][0];
exit0.innerTEXT = Ex[No][1];
exit0.innerTEXT = Ex[No][2];
}
Ex = new Array();
Ex[0] = new Array("Ex1","Ex1-1","Ex1-2");
Ex[1] = new Array("Ex2","Ex2-1","Ex2-2");
Ex[2] = new Array("Ex3","Ex3-1","Ex3-2");
・・・・・
上記のようなスクリプトを組んで配列から引き出そうとしているのですがうまく作動してくれません。
外部からファイルを読み込むようにしてあるのですがどうでしょうか?
198Name_Not_Found:2006/02/12(日) 15:10:16 ID:???
>>197
意味不明だな。「引き出し」だったら洩れのうちの箪笥にもあるが。
何をどうしたいのか分かるように説明できたら考えてみるよ。

ヤマカンで言うなら、表示したい箇所にID振って
document.getElementById('exit0').innerHTML = Ex[No].join();
199Name_Not_Found:2006/02/12(日) 16:04:54 ID:???
xsltでhtmlとして表示され、部分ごとに分割されたサイトを作成しているのですが

menu.xslによって表示されているメニュー部分のとあるリンク(仮に0501とする)
をクリックするとその0501という文字列(OR数字)をコンテンツ表示部分のmain.xslに変数として移し、
main.xsl側で文字列(数字)に応じた変換結果を得たいのですが、javascriptで可能でしょうか?

200Name_Not_Found:2006/02/12(日) 16:19:51 ID:???
>>199
それはJavaScriptの問題ではなく、XSL Transformの知識が足りない事による勘違いだと思う。
xslファイルにjsから情報を送るのは無理、というか処理のフェーズが違う。
201Name_Not_Found:2006/02/12(日) 16:33:11 ID:???
>>199
可能。.xslふぁいるはXMLだから、DOM操作で変更すればよい。
202Name_Not_Found:2006/02/12(日) 20:44:44 ID:???
>>199
変数の値をxsl:paramで受け取るという話?
だとしたら、その方法はXSLプロセッサ毎に異なる。
その処理をサーバ側でやるのだったら、スレ違い。
クライアント側でやるのであれば

ttp://www.mlab.im.dendai.ac.jp/~yamada/web/xml/xslt/scripting.html

が参考になると思う。
203Name_Not_Found:2006/02/13(月) 01:09:57 ID:???
>>200−202
素早い返答ありがとうございます御三方。

>>200
単純にjsからxsltに送る事ができるかなと思っていたので確かに知識不足でした。

>>201
感覚的に言えばDHTMLのようにxslを書き換えてしまえということで良いですか?

>>202
一般的なjsの使用法通りクライアント側での実行(websiteとして)を考えているので、
ブラウザ毎の違いは覚悟しています。
リンク先参考になります。


質問から質問を派生させるのはあまりよろしくは無いと思いますが、
jsとxmlの親和性ってどの程度(主観・客観問わず)なのでしょうか?
よく扱うデータ形式によって適したスクリプト言語(プログラム言語)があるという話は目にしますが。
204Name_Not_Found:2006/02/13(月) 07:35:47 ID:???
>>203
書き換えるでOKだが、あくまでクライアントのキャッシュ上だということは分かってるよね?
205Name_Not_Found:2006/02/13(月) 07:48:49 ID:???
>>203
適しているかどうかはともかく、W3Cに準拠しているかどうかについては、
JavaScriptとJScriptはずば抜けて高い。
206Name_Not_Found:2006/02/13(月) 13:10:47 ID:iDHR4KG0
JavaScriptが有効であったらForm->Submitを有効に
もしJavaScriptが無効であったらForm->Submitを無効にさせたいのですが
どのように記述すればいいのか全く解りません。。(;;)

投稿フォームを作っていて、Javascriptで連続した投稿を制限しているのですが、
JavaScriptを無効にされてたら意味がないので、有効ならSubmitを表示、無効ならSubmitを表示させないで有効にしてもらう
というようにしたいのです。

よろしくお願いします。
207Name_Not_Found:2006/02/13(月) 13:14:55 ID:???
document.write() で submit ボタンを書き出すのが一番簡単。
でも JavaScript on を強要するのはちょっとどうかな。
208Name_Not_Found:2006/02/13(月) 13:58:34 ID:???
ありがとうございます。
ただ、連続投稿の制限をしたいので、、

やはりJavaScriptでの制限 && JavaScriptのON強制はNGですかね?
209Name_Not_Found:2006/02/13(月) 14:13:14 ID:???
連投規制とかデータの整合性のチェックとかは
本来、鯖側のアプリケーションが備えているべき機能。
JavaScript はそれを補ったり、使いやすい UI を提供するのが役目。

補うという点で
JS で submit ボタンを disable にするとかはアリかとは思うけど。
210Name_Not_Found:2006/02/13(月) 14:34:25 ID:???
なるほど。
ただ、ブラウザで高速にEnterを押されて規制しているのに何度も投票されてしまうんです。。

なのでJavaScriptで対処しようかと。。
211Name_Not_Found:2006/02/13(月) 14:57:34 ID:???
連投は鯖側の負荷が上がるのでクライアント側で規制さす
のはアリと思うよ。document.write()でsubmtiを書くのが
洩れも簡単でいいと思う。または最初disabled trueにして
おいてJSでfalseに変更とかも。

UIとしては、ただ単にdisableするより、ただのボタンに
しておいて押すと普通はすぐsubmitするが連投だと一定時間
カウントダウンしてからsubmit、とかだとイライラしにくくて
いいかもね。
212Name_Not_Found:2006/02/13(月) 15:11:18 ID:???
CGIでsleep()を使っても、Formの送信が高速に行われてると連投規制が出てしまう前に投稿が完了してしまうようなので、是非それでやってみようと思います。
ありがとうございました。
213Name_Not_Found:2006/02/13(月) 22:15:33 ID:uw4rmBkw
よくわからんのでおまえらの知恵を貸してくれ。
ブログにバナー式のアクセス解析を埋め込んでるんだけど、
ある人からのコメントの書き込みがあって、ブログの方からコメントのログを見ると、
IPがわかるよね。でもアクセス解析の方には、その時間にその人のIPはないの。
これはどういうことなの?相手側はjavaスクリプトをOFFにしているんだろうか??
214Name_Not_Found:2006/02/13(月) 23:21:39 ID:???
画像 OFF にしてるとか直接コメント叩いてるとか
まぁスレ違いだ他池
215Name_Not_Found:2006/02/13(月) 23:49:09 ID:???
iframeタグを使わずにjavascriptでflashを表示させるには、
どうすればいいのでしょうか。
216Name_Not_Found:2006/02/13(月) 23:51:21 ID:???
>>215
ふつーiframeなんか使わんだろ。embedをdocument.write()
で書けばいいだけだし。
217Name_Not_Found:2006/02/13(月) 23:53:20 ID:???
ソース例を公開してくれているサイトとか、
ありませんか?
218Name_Not_Found:2006/02/14(火) 00:16:47 ID:???
iframeタグ禁止のサイトだったので、
javascriptで何とかならないかと思ったんですけど。
初心者スレで聞いた方がいいですか?
219Name_Not_Found:2006/02/14(火) 00:39:07 ID:i+lDyDfD
そうでもない
220Name_Not_Found:2006/02/14(火) 00:50:04 ID:???
htmlでjavascriptをロードするときに引数param1を渡して、

<script src="hoge.js?param1=helloWorld" type="text/javascript"></script>

helloWorldを表示させるにはどのようなスクリプトを書けばよいのでしょうか。
よろしくお願いいたします。
221Name_Not_Found:2006/02/14(火) 02:01:01 ID:???
setTimeoutで設定したタイマーを一定の条件ですぐに実行したいのですが
timerid等を使ってsetTimeoutの時間を変える事などって出来ますか?
222Name_Not_Found:2006/02/14(火) 09:05:00 ID:???
>>221
できない。timeridを使ってキャンセルし、動作は別途 呼び出す。
>>220
scriptタグの「?」の後ろを取るのは面倒だよ。まずそのscriptに
id振って「document.getElementById('ID名').src」でsrc全体を
取り出し、あとは文字列操作で「?」の後ろをとる。以上があらすじ。
あとは自分で勉強すれ。
>>218
日本語が読めないのか。Flash使うのにiframeなんて不要だろ。
iframeタグ禁止だろうと関係ないじゃん。初心者スレ逝った方が
いいと洩れは思う。
>>217
embedをJSで書き出すのは過去スレのどっかに複数あったな。
223Name_Not_Found:2006/02/14(火) 09:06:06 ID:u3NiyzMN
リンクが押されたら0.5秒間waitさせたいのですが、どのように記述すればいいですか?
224Name_Not_Found:2006/02/14(火) 09:27:42 ID:???
>>220
var src, q;
//IE
src = document.scripts.item(document.scripts.length - 1).src
//W3C
src = document.getElementsByTagName('script').item(
         document.getElementsByTagName('script').length - 1).src

//RFC3986
if (src.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/))
  q = RegExp.$7;
225Name_Not_Found:2006/02/14(火) 11:47:06 ID:???
>>224
標準にこだわってるわりにはECMA標準にない$nとか使うのね。
var a = src.match(...); if(a) q = a[7];
>>223
<a href="JSオフ用行き先"
onclick="setTimeout(function(){location.href='行き先';},500);return false">...</a>
226Name_Not_Found:2006/02/14(火) 14:10:58 ID:???
>>225
RegExp が実装されていて、RegExp.${一桁} を使えない実装の例を挙げてくれ。
227Name_Not_Found:2006/02/14(火) 15:09:15 ID:???
>>225
要するに、古いスクリプトを処理するために実装はされ続ける可能性は高いが、
新規に書くスクリプトでは、非標準で廃止が進むRegExp.$nは使うな、ということね。

というか、RFC3986の正規表現はJSで取得するsrcプロパティならば
必ずマッチするから、実は、if が不要。src.match(...)[7] みたいに書ける。
228Name_Not_Found:2006/02/14(火) 17:06:32 ID:???
>>227
それは過激じゃない?正規表現書き間違うこともあるし。
>>226
標準に準拠してるかどうかという話なんだから実装状況は関係
ないでしょ。今は並列ってないけど、もし並列実行とか入ったら
Regexp.$nはグローバル変数だから危ういことになるとか。
それとこのnを計算で求めるときは配列の方がずっと素直に
書けるというのもあるね。「Regexp['$' + i]」じゃちょっとね。
229Name_Not_Found:2006/02/14(火) 18:26:29 ID:???
 らくばかり
 くろうしらずのいいじだい
 だけどじぶんでかけてこそ
 いちにんまえ
230Name_Not_Found:2006/02/14(火) 23:53:19 ID:???
iframeタグを使って
ページの一部にflashゲームみたいなのを入れようとしたら、
iframeタグが使えないようなので、
javascriptを使って同じようなことをしたいのですが、
どうすればいいでしょう。

また、flashゲームをiframeを使わずに表示しようとすると、
flashプラグインの有無を判別するコードなどを書かなければならないと
言われたのですが、
それはどうすればいいのでしょう?
231Name_Not_Found:2006/02/15(水) 00:23:29 ID:???
>>230
flashプラグインの有無を判別するコードなどを書かなければならない
232Name_Not_Found:2006/02/15(水) 00:27:45 ID:???
下手な煽り方だな
233Name_Not_Found:2006/02/15(水) 01:06:50 ID:???
マルチらしいよ
234Name_Not_Found:2006/02/15(水) 01:12:03 ID:???
>230
>216
235Name_Not_Found:2006/02/15(水) 08:24:07 ID:???
>188
ブラウザのキャッシュが効いてるからでしょ?
画像のHTTPヘッダで、
Cache-Control=no-cache
Expires=-1
Pragma=no-cach
あたりを指定すれば更新されるはず
236Name_Not_Found:2006/02/15(水) 08:40:31 ID:???
>>230
何回言えば分かるんだ、過去ログのどっかにあるから探せ。
過去ログが探せるようになるまでここは2度と書き込むな。
手取り足取りスレに行けば物好きが面倒見てくれるかも。

以後、この質問はスルーで。
237Name_Not_Found:2006/02/15(水) 14:05:53 ID:???
addEventListenerで指定する関数って()とる必要がありますが、どうにかしてパラメータを渡す事って出来るでしょうか?
238Name_Not_Found:2006/02/15(水) 14:07:35 ID:???
>>237
出来ます
239Name_Not_Found:2006/02/15(水) 14:09:42 ID:???
>>238
自分で考えたのは、グローバルな変数に入れて取り出すぐらいなのですが
他に方法があれば教えてください。
240Name_Not_Found:2006/02/15(水) 14:21:08 ID:???
そのぐらいしか思い付かないな
241Name_Not_Found:2006/02/15(水) 14:32:58 ID:???
第2引数を無名関数にしてその中で実行する関数に引数渡すとか

Object.addEventListener( Event, function(){ test(a) }, capture );
242Name_Not_Found:2006/02/15(水) 16:03:21 ID:???
>>222
>>224

>>220が言おうとしてるのは違うんじゃないか?
サーバーサイドでスクリプトを生成したいってことじゃないのかな?
まぁjsのみでは当然無理だが。
243Name_Not_Found:2006/02/15(水) 18:00:51 ID:???
任意の数字を、任意の桁数まで、先頭にゼロを埋める方法はどうしたらいいの?

それが、zero_prefix(num, size) として、

document.write(zero_prefix(123, 6));
=> 000123

となってほしいんだけれども。

あとついでに、
document.write(insert_comma(12345));
=> 12,345

とかも、そういうのって、定石ある?
244Name_Not_Found:2006/02/15(水) 18:01:28 ID:???
>>237 >>239 >>240
このスレの過去スレ読めば山のようにそのやり方が議論されて
るぞボケ。>>241 の方法は外側の環境でaの値を変更して
しまうとイベントハンドラが呼ばれる時の値も変わってしまう。正解は
addEventListener(..., function(a){return function(){test(a)};}(引数), ...);
245Name_Not_Found:2006/02/15(水) 18:03:06 ID:???
>>243
過去スレで繰り返し出て来る質問。探せ。終了。
246Name_Not_Found:2006/02/15(水) 19:11:54 ID:???
(・_・)
247Name_Not_Found:2006/02/15(水) 19:27:55 ID:???
>>244
addEventListenerで過去スレ検索してみたけど
議論されている様子は特になかったぜ…
248Name_Not_Found:2006/02/15(水) 20:30:11 ID:???
addEventListenerと関係なく沢山使われてる。
249Name_Not_Found:2006/02/15(水) 20:39:38 ID:???
でも実際こんなカオスなコードを書かないといけないあたりおかしいんだけどな。
250Name_Not_Found:2006/02/15(水) 21:08:07 ID:???
>>249
へー、じゃあプログラミング言語的にはどうあればいいって
いうわけかな。(まあMLとかにもっと書きやすい構文あるけどね。)
251Name_Not_Found:2006/02/15(水) 21:33:06 ID:???
全くカオスに見えないんだけど

カオスに見える奴は新しいプログラミングパラダイムに慣れていないんじゃないかと思う
252Name_Not_Found:2006/02/15(水) 21:57:54 ID:???
関数クロージャってLispからだからかれこれ40年くらい歴史
あるだろ。ただ、いまどきクロージャが駆使できる言語って
関数型の系列を除くとJavaScriptだけだから皆慣れてないの
だよね。C、C++、Javaで甘やかされてるというか(まああっちは
あっちで面倒なとこは別にあるんだけどさ)。
253Name_Not_Found:2006/02/15(水) 22:05:54 ID:???
>>252
確かに新しい、というのは語弊だったね。
その人にとって新しい、という風に読み替えてください。
254Name_Not_Found:2006/02/15(水) 22:26:09 ID:???
過去ログ読め読め言うなよ。
確かに過去ログに答えは載ってるかも知れないけど、
それじゃあ質問スレの意味がなくなっちゃうじゃん。
255Name_Not_Found:2006/02/15(水) 22:26:33 ID:???
なんかキモイスレになってきた
256Name_Not_Found:2006/02/15(水) 22:39:59 ID:???
>>254
目新しい質問は歓迎するよ。過去スレにあるようなものは
繰り返すな、探す努力をしろ、というのがここ何十スレに
渡っての方針なわけ。だからテンプレにずっとそう書いて
あるだろ。それに反対なら800過ぎてからテンプレ改訂論議を
してくれ。もっとも、探す努力してるのが分かれば常連も
そうむげにはねつけたりはしないと思うけどね。
257Name_Not_Found:2006/02/15(水) 23:33:08 ID:???
JavaScriptは蔑称「邪魔スクリプト」とも呼ばれ、
多くの場合は管理側の営利目的、または単なる自己満足、装飾のためだけに設置され
訪問者にとってはほとんどプラスになる要素はないが、
実用レベルの演算,変換処理を行わせる用途であれば、
非常に有用な言語へと化ける。
そのユーザビリティを履き違えてはならない。
258Name_Not_Found:2006/02/15(水) 23:47:18 ID:???
>>236
なかったけど。
259Name_Not_Found:2006/02/15(水) 23:56:48 ID:???
いないよ、今ここに人間なんていないよ
260Name_Not_Found:2006/02/15(水) 23:58:26 ID:AX/CvTZ3
答えられない質問を過去ログ嫁で片付けてりゃ
さぞかし楽だろうなw
261Name_Not_Found:2006/02/16(木) 00:06:35 ID:???
>>257
ひどい曲解だな
262Name_Not_Found:2006/02/16(木) 00:26:56 ID:???
>>258
ttp://user.ftth100.com/mirrorhenkan/javascript/read.php?key=1119184696&st=558&to=558
山程あるうちから適当に1つ見つけた。iframeは使ってないよな。
Flashは表示させてるよな。で何か?
>>260
そうやって煽っても無駄ということも過去ログが証明してるよ。
>>257
演算つか計算するならC++とかの方がよくね?JSのろいし。
263Name_Not_Found:2006/02/16(木) 00:49:03 ID:???
>>243
左から"00000"くっつけて、右からsliceで6個とる。
264Name_Not_Found:2006/02/16(木) 01:20:34 ID:???
これはJavascriptだけでなく、JAVA appletにも言える事なのです。
自分の制作したJavascript又はJAVA appletを表示させるHTML fileを、自分
のPCにIE v.6.0.2900 で表示させようしました。そうとすると、アドレ
スバーの下に、「セキュリティ保護のため・・」と書かれた情報バーが必ず
出ます。そうすると、そのたびに「ブロックされているコンテンツを許可」
をクリックしない表示できません。

自分のPCですから、ステイタスバーの右端のアイコンは「マイコンピュー
タ」になっています。
いちいちそうするのはうざいので出ないようにしたいのですが、どうすれば
いいでしょうか。

JavascriptとJAVA appletの両方ともIEの設定を以下の様に設定しても、や
っぱり情報バーは出ます。
スクリプトを実行しても安全だとマークされていないActiveX cotrolの初期化
とスクリプト実行:有効
署名されていないActiveX controlのダウンロード:有効
Wep pageが制限されたプロトコルをactive contentに使用する事を許可する:有効

以下に、次のように書かれています。
http://office.microsoft.com/ja-jp/assistance/HP030895491041.aspx
>>つまり、ユーザーのコンピュータのフォルダやドライブをセキュリティ
>>ゾーンに割り当てることはできません。
265Name_Not_Found:2006/02/16(木) 02:25:08 ID:???
>>264
【ie 情報バー 非表示】Yahoo検索の一発目に出たぞ。

>1. [ツール] - [インターネットオプション] - [詳細設定]
>2.「セキュリティ」項目内の 「マイ コンピュータのファイルでのアクティブ コンテンツの実行を許可する」にチェックを入れる。
266Name_Not_Found:2006/02/16(木) 22:51:51 ID:???
>>265
ご返答有り難うございました。
示された項目をcheck ONにすると情報バーが出なくなりました。
267223:2006/02/17(金) 03:30:33 ID:BofjAKfc
>>225
あれからいろいろ手を加えてみて、
次はフォームでやってみようと頑張っています。

onSubmit
で "setTimeout(function(){location.href='行き先';},500);return false"
を動かそうと思い、onSubmit="setTimeout('retrun true',500);"
としましたが、うまく動きません。。(IE6)

どうすればフォームの送信でも0.5秒間の待ち時間を作れるのでしょうか?
268Name_Not_Found:2006/02/17(金) 07:58:00 ID:???
>>267
onsubmitハンドラの最後でreturn falseしないとsubmitが起きて
しまうだろ。そして0.5秒後にreturn trueだけやっても無意味。
そういう基本的なことを一通り勉強しなよ。時間の無駄(お互いに)。

つか、洩れが書いたそれ全体をonsubmitの中に入れるんだってば。
分かっていなさすぎ。「あれこれやる」のはやめて本でも買って
地道に学習しろ。
269Name_Not_Found:2006/02/17(金) 08:01:55 ID:???
0.5秒差を体感できる奴って居るのかな…
270223:2006/02/17(金) 10:32:24 ID:BofjAKfc
onclick="setTimeout(function(){location.href='行き先';},500);return false"
をonSubmitにしてやったのですが、フォームの値がきちんと送信されていないんです。。

Javascriptを切ると正常に送信されているのですが、、
271Name_Not_Found:2006/02/17(金) 12:41:40 ID:???
>>270
ちょwwwwww
それサブミットしてないじゃんw
だからちゃんと勉強しろって。
272Name_Not_Found:2006/02/17(金) 13:11:16 ID:???
<Input type=submit value="送信" onclick="setTimeout(function(){location.href='行き先';},500);return false">

ということでしょうか?

とりあえずこれでやってみます。
273Name_Not_Found:2006/02/17(金) 13:18:17 ID:???
>>272
this.form.submit()
274Name_Not_Found:2006/02/17(金) 13:28:20 ID:???
試行錯誤して
onclick="setTimeout(function(){document.forms[0].submit()},500);return false"
でできました。

クライアントサイドは初めてでしたが、いろいろとありがとうございました。
275220:2006/02/17(金) 13:36:12 ID:CeTtDxvS
javascriptで引数を表示させる方法ですが、やっと分かりました。

<script language="JavaScript" src="loader.js"></script>
<script language="JavaScript">ret=func("hoge");</script>

loader.jsの中身
function func(str){
document.write(str);
}

こんな感じでやれば引数を渡せました。
もしかして常套手段なのかもしれませんが、
flash使いとかにはかなり便利だと思うので一応報告しておきます。
276Name_Not_Found:2006/02/17(金) 15:36:41 ID:Y3xV0D98
質問です。
イベントハンドラの件ですが、
テキストフィールドで
<input type="text" onchange="....>
のようにonchangeを使うのは正しいですか?
277Name_Not_Found:2006/02/17(金) 15:42:14 ID:???
278276:2006/02/17(金) 17:27:09 ID:???
>>277さん ありがとうございました。
やっぱしてはイケナイことですね。
279Name_Not_Found:2006/02/17(金) 18:29:19 ID:???
>>278
> <!ATTLIST INPUT 略 onchange %Script; #IMPLIED 略 >
280276:2006/02/17(金) 19:00:10 ID:???
あれあれ。イケナクないのでしょうか。
W3Cの原文を読む力もありません。悲しいです。
281Name_Not_Found:2006/02/17(金) 19:40:52 ID:???
>>280 教養が無いって悲しいね。

次の質問者どうぞ
282276:2006/02/17(金) 20:37:45 ID:???
教えて!モナ〜ちゃ〜ん!
283Name_Not_Found:2006/02/17(金) 20:47:01 ID:???
INPUTのATTLISTにonchangeは定義されているモナ!
それ以上でもそれ以下でもないモナ!
284Name_Not_Found:2006/02/17(金) 21:10:21 ID:???
>>282
全角を使うときに罠があった気がする。
285Name_Not_Found:2006/02/17(金) 21:46:31 ID:???
| |
| |∧∧
|_|・ω・`) ひとあし遅かったでつ。
|鬱|o o. みんなやさしくね。
| ̄|―u' 
""""""""""
286Name_Not_Found:2006/02/17(金) 23:32:40 ID:g+4csxp8
readonlyをJSで動的に設定したいのですが・・・
287Name_Not_Found:2006/02/17(金) 23:46:12 ID:???
JavaScriptでCGIのタイムスタンプを欺くことは可能でしょうか。
可能ならコード教えてください。
よろしくお願いします。
288Name_Not_Found:2006/02/18(土) 00:28:59 ID:???
なんだって?
289Name_Not_Found:2006/02/18(土) 01:31:00 ID:???
>>286
すれば?要素にID振って
「document.getElementById('ID名').readOnly = true/false;」
>>287
できません。終了。
290Name_Not_Found:2006/02/18(土) 03:34:31 ID:QqdBGCbh
質問させてください。
html内で<meta name="page" content="hoge">として、

------------------------------------------------------------------------------------
page = document.getElementsByName("page").item(0).content;
SetCookie( "page", page );

function SetCookie( entry, value ){
document.cookie = entry + "=" + value + "; expires=Thu, 1-Jan-2030 00:00:00; ";
}
------------------------------------------------------------------------------------

とすると、firefoxでは、狙い通り page に hoge が格納されるんですが、
IE6.0だと二行目で
「オブジェクトでサポートされていないメソッドまたはプロパティです。」
と出て、動作させることが出来ません。
javascript:alert(document.getElementsByName("page").item(0).content);
とやってみると、ちゃんと hoge と表示されるんですが。。。
よろしくお願いしますm(_ _)m
291Name_Not_Found:2006/02/18(土) 20:05:44 ID:???
ID 振るんじゃ駄目なの?

<html>
<head>
<meta id="page" content="hoge">
<script>
SetCookie( "page", document.getElementById("page").content );
function SetCookie( entry, value ){
    document.cookie = entry + "=" + value + "; expires=Thu, 1-Jan-2030 00:00:00; ";
}
</script>
</head>
<body><script>document.write(document.cookie)</script></body>
</hrml>
292Name_Not_Found:2006/02/19(日) 00:43:00 ID:???
再起処理ってどういう条件でループから抜けるんですか?
たとえば↓のサブディレクトリの再帰処理ってとこ。
http://pureheart.ddo.jp/wsh/

基本javascriptで書いててちょっとScripting.FileSystemObjectを借りようかと。
で、サンプルで動くには動くんですが、
再起処理が終わった時点で違う関数に飛ばそうと思っても
どこにコード挟めばいいのかわかりません。


293Name_Not_Found:2006/02/19(日) 01:57:35 ID:???
>>292

最後だと思う。
294Name_Not_Found:2006/02/19(日) 02:13:25 ID:???
>>293
最後っていうのは・・・
var fso = new ActiveXObject("Scripting.FileSystemObject");
var target = "c:\\targetfolder";
var f = fso.GetFolder(target);
function showfiles(folder) {
var folders = new Enumerator(folder.SubFolders);
var fc = new Enumerator(folder.Files);
WScript.Echo("フォルダ: "+ folder);
for(; !folders.atEnd(); folders.moveNext()) {
WScript.Echo(folders.item());
}

for(; !fc.atEnd(); fc.moveNext() ) {
WScript.Echo(fc.item());
}
folders.moveFirst();
for(; !folders.atEnd(); folders.moveNext() ) {
showfiles(folders.item());
}
ここ?
}
showfiles(f);

この場所にたとえばalert(1)ってやると
見つかったフォルダの数だけ実行されます。
ifか何かでフィルタかければよさそうだけど
「最後の再起処理」がどういった状態なのかよくわからず
条件がかけません。
295Name_Not_Found:2006/02/19(日) 02:15:16 ID:???
てかさっきから・・・
×再起処理→○再帰処理
296Name_Not_Found:2006/02/19(日) 02:15:43 ID:???
>>294
一番最後のこと。

showfiles(f);
WScript.Echo("------------------ここ-------------------");
297Name_Not_Found:2006/02/19(日) 02:19:01 ID:???
>>296
すいません。言い忘れてました。
onload後任意のタイミングで実行したいんです。
それだとそこはダメですよね?
298Name_Not_Found:2006/02/19(日) 02:28:20 ID:???
>>297

>292
>再起処理が終わった時点で違う関数に飛ばそうと思っても〜

おいおい( ̄□ ̄;)!!
299Name_Not_Found:2006/02/19(日) 02:29:51 ID:???
>>298
あ〜ひょっとして自分大変な勘違いしてますか?
300Name_Not_Found:2006/02/19(日) 02:29:59 ID:???
>>291
どうも原因不明なんで、nameじゃなくてidにしました。
CSS使っててややこしいんで、あんまりid使いたくないんですが。。。
しかしなんで動かないんですかね。。。
301Name_Not_Found:2006/02/19(日) 02:40:29 ID:???
>>300
おれの環境では普通に動くけど。エラーなんかでないよ。
外部jsファイルにしたら、
var page = document.getElementsByName("page").item(0).content;
にしないと何故かだめだったけど。(var付けただけね)

>>298
ボタンでも押されたら処理とめるってこと?
showfiles(folders.item());
この部分をifではさむとかは?
その前のforは実行されるけど。
302Name_Not_Found:2006/02/19(日) 02:50:55 ID:???
>>301
これ使って必要なファイルの一覧を作ろうかと思ってます。
この再帰処理とやらで一番わからないのは
どうなったらループが終わるのかということなんです。
自分の知識ではこれ永遠に回るんじゃないか?と思ってしまうんですが
サブフォルダを一巡したら処理が終わりますよね?
それはどういう条件で処理終了とみなしてるんでしょうか?

それがわかればどうとでもできそうなんですが
なんだかよくわかりません。
303Name_Not_Found:2006/02/19(日) 03:06:44 ID:???
>>302
こういうこと
var fso = new ActiveXObject("Scripting.FileSystemObject");
var target = "c:\\targetfolder";
var f = fso.GetFolder(target);

function showfiles(folder) {//@引数でフォルダ受け取る
var folders = new Enumerator(folder.SubFolders);//A受け取ったフォルダのサブフォルダコレクション作成
for(; !folders.atEnd(); folders.moveNext() ) {//Bサブフォルダの数だけ回す。だからなければ終わり。
WScript.Echo(folders.item().Name);//確認用(渡すフォルダの名前)
showfiles(folders.item());//@にもどる。
}
}
showfiles(f);//一番最初の実行(@へ)
304Name_Not_Found:2006/02/19(日) 05:56:21 ID:???
305Name_Not_Found:2006/02/19(日) 08:53:35 ID:???
>>303
>こういうこと
>var fso = new ActiveXObject("Scripting.FileSystemObject");
>var target = "c:\\targetfolder";
>var f = fso.GetFolder(target);

>function showfiles(folder) {//@引数でフォルダ受け取る
>var folders = new Enumerator(folder.SubFolders);//A受け取ったフォルダのサブフォルダコレクション作成
folders.moveFirst(); ←★これはなんでしょう??
>for(; !folders.atEnd(); folders.moveNext() ) {//Bサブフォルダの数だけ回す。だからなければ終わり。
>WScript.Echo(folders.item().Name);//確認用(渡すフォルダの名前)
>showfiles(folders.item());//@にもどる。
>}
>}
>showfiles(f);//一番最初の実行(@へ)

for(; !folders.atEnd(); folders.moveNext() ){
showfiles(folders.item())
}
のforは一度だけしか実行されない!?
forで自分自身を呼び出したときは
そのforの直前までしか実行されない??
そうじゃないとfolders.moveFirst()でコレクションの先頭に戻ってまたforに入って・・・
あれれれ???
すんませんもうちょい詳細な流れをお願いします。
306305:2006/02/19(日) 09:20:07 ID:???
同時に二つの質問で申し訳ないですがもうひとつ大変な事態が。
アクティブデスクトップで動作するウィジェット的なものを作ってます。

簡単に言うとページをリロードしてもメモリが開放されず、
数回リロードするとエクスローラが落ちます。
さらに顕著な症状として、ObjectでWMP埋め込んでますが
再生したままリロードしても再生がとまりません。
リロードしたページでさらに再生かけると音が重なって再生されます。
停止させるにはタスクマネージャでエクスプローラを殺すしかありません。

これはez-htmlなどのエディター上でも同じで、
プレビュー画面で再生したままコード画面に戻っても再生がとまりません。
数回同じようにプレビュー→コード→プレビュー
と繰り返すとメモリ使用量がどんどん増大してez-htmlも落ちます。
落ちるときのメモリ使用量は256積んでて100M越えぐらいのとき。

原因というかこうなったきっかはわかってます。
ひとつのhtmlファイルにすべてのスクリプトを書いてたときは問題ありませんでしたが、
ウィジェットの各機能をモジュール方式にしてからおかしくなりました。

@>>305の方法でmoduleフォルダ下のjsファイルを検索、ロード。
Aそのjsから必要なhtmlや設定データを個別にxmlhttpで取得。
Bdocument.body.insertAdjacentHTMLで本体に書き込み。
C動作開始
という仕様にしてみたところこの問題が発生しました。

onunload時に書き込んだhtmlを削除するといくらかマシですが
時間稼ぎにしかなりません。

長文になってしまいましたが
自力ではまったくお手上げ状態なので力を貸してください。
307Name_Not_Found:2006/02/19(日) 11:35:26 ID:???
>>305
showfiles()という関数が沢山あるとおもいなよ。
showfiles0()、showfiles1()、showfiles2()、…
で、最初にshowfiles0()を呼ぶ。そうするとそれは
フォルダの数と同じ回数だけshiowfiles1()を呼ぶ。それは
サブフォルダの数と同じ回数だけshowfiles2()を呼ぶ。…

しかし実際にはこれらは1つのshowfiles()という関数なわけね。
だから「1回だけやりたいこと」はshowfiles()の中に書いては
いけない。何回も呼ばれるんだから。showfiles()を最初に
呼び出すところに(そのshowfiles()の呼び出しの直後に)
書けばshofiles()による処理がすべて終わった後で1回実行される。
308Name_Not_Found:2006/02/19(日) 11:43:29 ID:s7YdMegH
質問です。
TABLEの<TD></TD>タグ内に外部のファイルを読み込ませることはできますか。
できれば、概説お願いします。
309303:2006/02/19(日) 11:51:41 ID:???
>>305

>folders.moveFirst(); ←★これはなんでしょう??

そのレベルで、リファレンス持ってないんですか?落としてきたほうがいいですよ。
どうやってコード書いてんのか謎です。

>>306の内容については私はサッパリですので、
WSHスレで聞いたほうがいいと思いますよ。
310Name_Not_Found:2006/02/19(日) 11:59:26 ID:???
>>308
その<td></td>の中にiframeタグ入れれば。
311305:2006/02/19(日) 12:23:39 ID:???
>>307
ふむ。なるほど!
しかしそれだと再帰処理やらしてその結果を
returnで受け取る的な使い方は不可能ってことに?
なんだか使い勝手が悪いですね。

>>309
>どうやってコード書いてんのか謎です。
いや〜近視眼的にjavascriptばっかりやってたものでWSHは。。
jsのリファレンスはありますよ。。サイ本も。

>>306 サッパリですか・・・
ところでこの内容ってWSHなんすか?

ん〜動的に追加したobject埋め込みがよくないのかなぁ〜?
でもそんなことでこの問題が発生するとしたら
重大なバグですよね?
たぶんweb上で再現できますよこれ。

困った。モジュール化は絶対実現したいしなー
312Name_Not_Found:2006/02/19(日) 13:47:16 ID:???
>>311
別に受け取りゃいいじゃん。何が問題なんだ。ただし
大元は「1つの関数を」呼ぶんだから、最後は「1つの値が」
帰るようにすべて設計する必要がある、それだけだ。
その1つの値が配列だろうと何だろうとそれは自由。
制御構造がグチャグチャのうちに他のバグを取ろうなんて
無理に決まってるじゃん。

アンタの再帰の学習をするスレじゃないんだ。そういう
ことの勉強がしたいのならプログラム板へ逝ってくれ。
FileSystemObjectは普通のWebでは使えないから、それの
アドバイスはWSHスレに逝くのがよい。IEにはバグは沢山あるとも。
313305:2006/02/19(日) 15:21:15 ID:???
>>312
再帰処理についてはほんと勉強不足なんで
おっしゃるとおり他でがんばってきますね。

でもこのバグは興味ありませんか?JS使いとして。
どんな制御構造がグチャグチャのコードだったとしても
リロードしてもメモリが解放されず動作し続けるなんて
ちょっとひどくないすか?

もうちょい格闘してみます。
何かわかったら報告しますね( ̄ー+ ̄)
314Name_Not_Found:2006/02/19(日) 22:27:52 ID:JGzDQCi9
<FORM NAME="A" ACTION="B">という要素があった場合に
その属性名「NAME」「ACTION」を抜き出したいのですが、
どう書けばよいのかおしえてください。
315Name_Not_Found:2006/02/19(日) 22:55:49 ID:???
属性値じゃなくて属性名を取り出したいの?
316Name_Not_Found:2006/02/19(日) 23:41:51 ID:SQduCDmZ
質問です。
以下のようなスクリプトを組みましたが、動いてくれません。
どこがいけないのでしょうか。どうしてもわかりません。

var timerID = 0;
var ichi = 68;
var maxX = 120;
var perX = 2;
var speed = 10;

function layerMv(){
  if(ichi<maxX) {
ichi = ichi + perX;
if(document.all){
document.all['S1'].style.visibility = "visible";
document.all['S1'].style.left = ichi;
}
if(document.layers){
document['S1'].visibility = "visible";
document['S1'].left = ichi;
}
timerID = setTimeout("layerMv()",speed);
  }else if(ichi==maxX){
clearTimeout(timerID);
  }
}

よろしくお願いします。
317Name_Not_Found:2006/02/20(月) 00:21:30 ID:???
>>316 まずはテンプレの >>2 を読もうや。
4)自分で調べたこと/試したこときちんと書く(調べもしない奴は最低)。
 ただ「動きません」「エラーです」は何も情報がないため嫌われる。
 エラーは「どの行で何のエラー」を書く(ブラウザをそのように設定すれ)。
 OS、ブラウザ、バージョン、うまく行かない条件を明記しエラー再現可能に。
318Name_Not_Found:2006/02/20(月) 00:24:44 ID:???
>>316
document.all は(一応) IE 専
document.layers は Netscape4 専

どこかのサイトを参考にしたのなら
もうちょっと新しめのスクリプトを探した方がよいかと

あと
やりたいことを推測して html を書くのはまんどい
次からは最小限の html も書いてくれ
319Name_Not_Found:2006/02/20(月) 00:29:59 ID:???
>>316
1つ聞くが、その動かそうとしてるレイヤーはposition:absoluteを
指定してあるんだろうな? あとざっと見たところ:

(1)document.allはやめてID振ってdocument.getElementById()を使え。
それでIE5以降、Gecko、Operaなどすべて対応。N4とIE4は対応しないが。
(2)CSSでの位置指定には単位が必要。最後に「'px'」を連結すれ。N4では不要。
(3)ほんとにいまどきN4に対応するつもりなのか?
(4)clearTimeout呼ぶ必要ないだろ。よく考えろ。
320Name_Not_Found:2006/02/20(月) 00:41:12 ID:???
>>316
function f(){
if( document.getElementById('S1').style.pixelLeft < 500 ){
document.getElementById('S1').style.pixelLeft + = 10;
setTimeout('f()',10);
}
}
こうしたら動いた。
NN4はもう要らんような気がするが。
321Name_Not_Found:2006/02/20(月) 07:53:28 ID:???
pixelLeftはIE専だから教えるならそのことを注意しろよ。
洩れはやっぱり自前で(JS側で)変数持っておくのがよいと思う。
322Name_Not_Found:2006/02/20(月) 12:26:00 ID:???
>>320
+=
323Name_Not_Found:2006/02/20(月) 14:56:44 ID:???
講座サイトから訪問回数を表示するスクリプトを拾ってきて、自ページに貼って使ってます
訪問回数は、クッキーを利用しますよね?プログラム内で何日クッキーを記録させるかとか設定しますが、
その部分を何日ではなくて、日が変わると(深夜0時を過ぎると)クッキーを初期化する事って出来ないのでしょうか?
Javascriptに関しては無知なもので全く分かりません…どなたかお願いします
324Name_Not_Found:2006/02/20(月) 15:13:05 ID:???
>>323
そりゃ現在時刻を元にして0時との差分を計算すりゃ出来るが
そんなことしても大して意味無い。
ブラウザの設定によっていくらでも制限がかかる可能性があるからな。

というか多分オマエは Cookie をわかってないぞ。
JavaScript と Cookie を切り離して考えろ。
325Name_Not_Found:2006/02/20(月) 15:22:04 ID:???
>>323
クッキーに訪問回数に加えて最終更新日を記憶させ、
その日付が今日なら回数を1プラスし、そうでなければ
ゼロにリセットすればいいんだろ。「無知」で「全く
分からない」ならそれ以上どう説明のしようもないから、
自分で勉強してくれ。がんがれ。
326Name_Not_Found:2006/02/20(月) 15:33:27 ID:wZUd753B
以下のJavaScriptで別窓を開いた時、ウィンドウのキャプションにURLが
入りますが、URLを表示せずにタイトルだけを表示する事は可能でしょうか?
location=yes にしたら出来ますが、アドレスバーは出したくないです。
http://localhost - test - Mozilla Firefox」
--> 「test - Mozilla Firefox」

function NewWin(){
var NW;
NW=window.open("","NewWin1","toolbar=no,location=no,directories=no,Width=400,Height=150");
NW.document.open();
NW.document.write("<html><head><title>test</title></head><body>aaa</body></html>");
NW.document.close();
}
327Name_Not_Found:2006/02/20(月) 17:14:58 ID:???
>>326
それは「ユーザをだます窓が作れないようにわざとそうして
いる」ように思えるね。ということは回避するのは無理ぽ。
328Name_Not_Found:2006/02/20(月) 17:41:02 ID:wZUd753B
>>327
仕様かもしれないんですねー。
その事を明記してある文章って何かありますでしょうか?
329Name_Not_Found:2006/02/20(月) 18:28:22 ID:???
まぁアドレス情報をどこにも出さないと『セキュリティホールだ!』とか言ってくる
なかなか仕事熱心なセキュリティ屋が出てくるから困る
330Name_Not_Found:2006/02/21(火) 11:32:57 ID:3Bgt/J6G
質問です。
「003」から「004」を取得するにはどうしたらよいですか。
一般に「00n」から「00(n+1)」にする方法を知りたいです。
(ケタを揃えて)
331Name_Not_Found:2006/02/21(火) 11:45:33 ID:???
詐欺師乙
332Name_Not_Found:2006/02/21(火) 11:51:34 ID:???
>>330
過去ログに多数回登場してる質問。探せば?
333Name_Not_Found:2006/02/21(火) 11:53:06 ID:???
わーい過去ログの人出たー
334Name_Not_Found:2006/02/21(火) 11:58:34 ID:???
>>332
過去ログの夢でも見たんんだろ。多数とは、何回、どこで?
どうせ根拠は民主党の堀江メールみたいなものにちがいないw
335Name_Not_Found:2006/02/21(火) 12:00:24 ID:???
「過去ログくん」というDBがほしいw
336Name_Not_Found:2006/02/21(火) 12:04:01 ID:???
小学生かよ
どのみちここは手取り足取り教えるスレじゃない
337Name_Not_Found:2006/02/21(火) 12:06:50 ID:???
アンカーとか検索キーくらい示してあげればいいのに
338Name_Not_Found:2006/02/21(火) 12:09:43 ID:???
>>334
お前は今まで食べたパンの枚数を覚えているのか?
339Name_Not_Found:2006/02/21(火) 12:14:15 ID:???
今まで食べた米粒の数 > 今まで食べたパンの枚数 > 過去ログ
340Name_Not_Found:2006/02/21(火) 12:23:16 ID:???
>>338
そうだな、いま数えてみると、36万5247枚になるなあ。
ずいぶん食べたもんだ<今まで食べたパンの枚数

で、おまえの方は?何回見たんだ?volナンバーも教えろや
341Name_Not_Found:2006/02/21(火) 12:27:24 ID:???
キミも一流の回答者になれる。
コツは「過去ログに多数回登場してる質問。探せば?」
と書けばOKw
ヴォケをつけると尚酔い
342Name_Not_Found:2006/02/21(火) 12:27:47 ID:zuN8LjiS
ajaxで2Mぐらい読むと5、6秒ぐらい固まるんですが仕様ですか?
343Name_Not_Found:2006/02/21(火) 12:45:58 ID:???
>>340
パン好きなんだね
344Name_Not_Found:2006/02/21(火) 12:46:46 ID:???
>>342
どっかにバグがあると思うよ。何度も見直した方が良い。
345Name_Not_Found:2006/02/21(火) 13:09:16 ID:???
>>342
innerHTML?

読むのは問題ないけど、書くので固まるな。
346Name_Not_Found:2006/02/21(火) 13:13:24 ID:???
これです↓ぱくったんであんましくみ分からないんです
function loadXMLDoc(url){
//* XMLHttpRequestオブジェクト作成
var xmlhttp = createXmlHttp();
if (xmlhttp == null) {
window.alert("XMLHttpRequest非対応のブラウザです。");
}

//* レスポンスデータ処理方法の設定
xmlhttp.onreadystatechange = handleHttpEvent;

//* レスポンスデータ処理用のコールバック関数を定義
function handleHttpEvent(){
if (xmlhttp.readyState == 4) {
document.getElementById("moto").innerHTML = xmlhttp.responseText; //レスポンスデータを表示します。
}
}
//* HTTPリクエスト実行
xmlhttp.open("GET", url + ".html" , true);
xmlhttp.send(null);

}
347続き:2006/02/21(火) 13:15:02 ID:???

function createXmlHttp(){
var xmlhttp;
// branch for native XMLHttpRequest object
if(window.XMLHttpRequest) {
try {
xmlhttp = new XMLHttpRequest();
} catch(e) {
xmlhttp = false;
}
// branch for IE/Windows ActiveX version
} else if(window.ActiveXObject) {
try {
xmlhttp = new ActiveXObject("MSXML2.XMLHTTP");

} catch(e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
xmlhttp = false;
}
}
}
return xmlhttp;
}

あと、.htmlを付けてるのは実験してみたかっただからですので、SEO避けではありませぬ
348Name_Not_Found:2006/02/21(火) 13:25:26 ID:???
>>346

これに変えてみてみ。たぶん理由がわかる。

function handleHttpEvent(){
if (xmlhttp.readyState == 4) {
alert("読込み完了、これから書き込むぞ");
document.getElementById("moto").innerHTML = xmlhttp.responseText; //レスポンスデータを表示します。
alert("書き込み完了");
}
}
349Name_Not_Found:2006/02/21(火) 13:38:16 ID:???
激しく間が開きますね・・・・・
というか普通に開いても重いのか・・・・・
350Name_Not_Found:2006/02/21(火) 14:55:46 ID:???
>>340
とりあえず1つ探したが。ほんと沢山あるよ。もっと探しても
いいけどアンタも代わりに何か芸を見せなよ。
ttp://user.ftth100.com/mirrorhenkan/javascript/read.php?key=1099662733&st=700&to=705
351Name_Not_Found:2006/02/21(火) 15:18:18 ID:???
>>350
これじゃ芸はまだ見せられんな。
だいたい、>>330の訊いてることとまったくちがうだろ。
アンタの提示したのは、ただのケタそろえにすぎん。
インクリメントってのは知ってるの?
352Name_Not_Found:2006/02/21(火) 16:04:41 ID:???
アホか。そんな応用力のないヤシはとっとと帰れ。
このスレに居るべきでないね。
353Name_Not_Found:2006/02/21(火) 16:05:27 ID:???
そういうヤシのための「手とり足とり」スレですよ。
354Name_Not_Found:2006/02/21(火) 16:10:17 ID:???
355Name_Not_Found:2006/02/21(火) 16:27:41 ID:???
ゴネれば答えてもらえるという前例を作るなよ
356Name_Not_Found:2006/02/21(火) 17:10:26 ID:???
1 「xについて教えてください」
2 「過去ログ読め。終了」
3 「過去ログ読め読め言うなよ」
4 「http://example.com/
5「ゴネれば答えてもらえるという前例を作るなよ」
6 「yについて教えてください」
7 「過去ログ読め。終了」
8 「過去ログ読め読め言うなよ」
9 「ゴネれば答えてもらえると思うなよ」
10「どうせ答えられねーんだろ」
11無駄にスレ消費

2の段階でさらっとアンカーでも出せばいいのに
357Name_Not_Found:2006/02/21(火) 17:19:49 ID:???
過去スレ検索できないヤシって腹立つんだよな。だから過去ログ
読め読めはこれからも言わせてもらうね。読めというときは自分で
探せば見つかるという確信はあるね。
358Name_Not_Found:2006/02/21(火) 17:20:19 ID:???
とりあえず過去ログ嫁って言っときゃいいんだよ
質問スレなんてどうせロクに検索しないでくるやつばっかなんだから
359Name_Not_Found:2006/02/21(火) 17:21:07 ID:???
もっとやれ。
360Name_Not_Found:2006/02/21(火) 17:21:31 ID:???
いや、過去スレに無いのに読めっていったらまずいだろ。
読めと言われたら必ずある、というふうにしないとね。
361Name_Not_Found:2006/02/21(火) 17:32:42 ID:???
String(10001 + parseInt(str,10)).substring(1)
だとxの桁数に柔軟に対応できないので
>>354見てこういうのを考えてみたんだけど
もっと上手く出来るかアドバイスくれないか

function zeroHeadedString(str,n){
var a=str.match(/^([+-])?(0+)([0-9]+)$/);
if(a){
a[3] = parseInt(a[3],10) + n;
if(a[3] < 0) a[1] = '-';
return ((a[1] ? a[1] : '') + a[2] + Math.abs(a[3]));
} else return false;
}
alert(zeroHeadedString('003',1));
362Name_Not_Found:2006/02/21(火) 17:40:25 ID:???
>>361
10桁くらいまで「String(10000001 + ...)」とかでできるだろ。
何がやりたいのか書いてくれよ。そのreturn falseとかする
仕様が謎すぎ。
363Name_Not_Found:2006/02/21(火) 17:41:13 ID:???
完全に釣られまくってるな。
とにかく、過去ログ読めとかいってないで、自分で何行か書けないのか?
洩れなら、ヒントですませる。
どこにあるかも分からず過去ログに誘導するようなレベルのヤシは帰れ。
これはネタだから、洩れは場外だが。
364Name_Not_Found:2006/02/21(火) 17:43:58 ID:???
>>361
alert(zeroHeadedString('009',1)); やってみ

001 みたいな数字ってわかってるなら
length とったらもうちょっと楽にかけるでしょ
365361:2006/02/21(火) 17:47:31 ID:???
>>362
str='003';
alert(String(10001 + parseInt(str,10)).substring(1))
にすると0004になっちゃうからさ、003を入れれば004、000003を入れれば000004
になるようにしたいんだ。return falseはとりあえず何も考えてなかった。
'abc'とか入れられたらfalseで返せくらい

>>364
あ...
366Name_Not_Found:2006/02/21(火) 17:48:31 ID:???
調べもしないで質問に来るヤシに何行か書いたら学習しないじゃん。
だから読め読めと言ってるだけで。書いた方が自分にとっては速い
に決まってるけどね。
367Name_Not_Found:2006/02/21(火) 17:55:59 ID:???
>>358
こんなのがここにいるから、信用できんのだよ<過去ログ嫁
368Name_Not_Found:2006/02/21(火) 17:56:38 ID:???
>>365
意図は分かったが、自分のページで何桁にそろえたいかはそれぞれ
決まっているんじゃないのか。その桁数を決め打ちで書いて1行で
済ませた方がずっと分かりやすくていいと思うよ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<script type="text/javascript">
function f(s, d) {
var a = String(s).match(/^(0+)([1-9]+)$/); if(!a) return s;
var n = String(d + Number(a[2]));
return (n.length>a[2].length?a[1].substring(1):a[1]) + n;
}
document.write(f('000009', 3) + '<br>');
document.write(f('000003', 2) + '<br>');
</script>
</body></html>
369Name_Not_Found:2006/02/21(火) 17:58:25 ID:???
>>367
別に信用しないのは勝手だよ。答えを知りたくないのならここに
来る必要はないわけだしさ。ちなみに >>368 みたいな関数は過去
ログにはなかったと思うな。
370Name_Not_Found:2006/02/21(火) 18:00:30 ID:???
>>366
おれのいちばんきらいなたいぷ。
こんなとこにいないで学校のセンセでもやれよ。
こまってる人を助けたら、それでいいじゃん。べつに。
371Name_Not_Found:2006/02/21(火) 18:01:31 ID:???
要するに過去ログ読めと言ってるのはホレ氏なのね。
そりゃ山のようにサンプル書いてるから自分で書いた
覚えがあるんだろうね。
372Name_Not_Found:2006/02/21(火) 18:04:58 ID:???
> ホレ氏
この人まだ居るの?
373Name_Not_Found:2006/02/21(火) 18:05:34 ID:???
>>370
もちろん自分の性格の悪さはこのスレで昔から自分で認めている。
それこそ過去ログにあるな(w

今更どうにもならんね、悪いけど。嫌いなヤシのいないとこへ
行けばいいんじゃないの。でも洩れ、難しい質問なら真剣に
答えてるよ。安易な質問するヤシは蹴飛ばすけどね。
374Name_Not_Found:2006/02/21(火) 18:07:04 ID:???
>>372
洩れは >>368 のコードはかなりそれっぽいと見た。
375Name_Not_Found:2006/02/21(火) 18:11:01 ID:???
げげ、>>368 のRegExpにバグあるじゃん。ま、バグ取るのは
練習問題ってことで。何がバグか気づけば簡単だよね。
376Name_Not_Found:2006/02/21(火) 18:13:08 ID:???
寝覚めが悪いのでやっぱり出しとく、スレ浪費すまそ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<script type="text/javascript">
function f(s, d) {
var a = String(s).match(/^(0+)([1-9][0-9]*)$/); if(!a) return s;
var n = String(d + Number(a[2]));
return (n.length>a[2].length?a[1].substring(1):a[1]) + n;
}
document.write(f('000009', 3) + '<br>');
document.write(f('000003', 2) + '<br>');
document.write(f('000100', 3) + '<br>');
document.write(f('000199', 1) + '<br>');
</script>
</body></html>
377Name_Not_Found:2006/02/21(火) 18:15:03 ID:???
>>368
あの、これ実行しました?
これ何やる関数?
378377:2006/02/21(火) 18:16:10 ID:???
>>375-376見てなかった。
379Name_Not_Found:2006/02/21(火) 18:18:00 ID:???
>>377
「003を入れれば004、000003を入れれば000004」のつもりだけど。
第1引数は当然ながら文字列、足す値が第2引数でそれは数値。
380Name_Not_Found:2006/02/21(火) 18:24:41 ID:???
document.write(f('000009', 100) + '<br>');

これは想定内?
381Name_Not_Found:2006/02/21(火) 18:30:02 ID:???
>>380
2桁増えることは考えてなかったね。そこを直すとすればこうか。
うん、かえって簡潔になったよ、ご指摘感謝。ただし先頭の「0」
が足りないとエラーになるという弱点が新たに生じるので注意。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<script type="text/javascript">
function f(s, d) {
var a = String(s).match(/^(0+)([1-9][0-9]*)$/); if(!a) return s;
var n = String(d + Number(a[2]));
return a[1].substring(n.length-a[2].length) + n;
}
document.write(f('000100', 3) + '<br>');
document.write(f('000199', 1) + '<br>');
document.write(f('000009', 100) + '<br>');
</script>
</body></html>
382361:2006/02/21(火) 18:36:44 ID:???
>>368>>376>>381を参考にしてまた書いてみた
言うの忘れてて申し訳ないんだけど減算も対応してみたかったんだ...

function f(s, d) {
var a = String(s).match(/^([+-])?(0+)([1-9][0-9]*)$/); if(!a) return s;
var n = Math.abs(d + Number(a[3]));
var l = String(n).length-a[3].length;
if(d<0) a[1] = '-';
return (a[1]?a[1]:'')+((l > 0)?a[2].substring(l):a[2]) + String(n);
}
document.write(f('000003', 5) + '<br>');
document.write(f('000009', 3) + '<br>');
document.write(f('000009', 300) + '<br>');
document.write(f('000009', 3000000) + '<br>');
document.write(f('000001', -2) + '<br>');

というかこんなんに付き合ってくれてありがとう
383Name_Not_Found:2006/02/21(火) 18:58:29 ID:???
>>382 そこまでぐちゃぐちゃならこの方が素直かも。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<script type="text/javascript">
function f(s, d) {
var l = s.length, i = Number(s), j = i+d, r = String(j);
if(j >= 0) { while(r.length < l) r = '0' + r; }
else { if(i >= 0) ++l; while(r.length < l) r = '-0' + r.substring(1); }
return r;
}
document.write(f('000003', 5) + '<br>');
document.write(f('000009', 3) + '<br>');
document.write(f('000009', 300) + '<br>');
document.write(f('000009', 3000000) + '<br>');
document.write(f('000001', -2) + '<br>');
</script>
</body></html>
384361:2006/02/21(火) 21:28:25 ID:???
>>382はちょっとまちがってた。また書き直してとりあえずこんな感じで満足
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title></head><body>
<script type="text/javascript">
function f(s, d) {
var a = String(s).match(/^[+-]?(0+)([1-9][0-9]*)$/); if(!a) return s;
var j = d + Number(s), r = String(Math.abs(j)), l = r.length-a[2].length;
return ((j<0)?'-':'')+a[1].substring(l) + r;
}
document.write(f('000003', 5) + '<br>');
document.write(f('000009', 3) + '<br>');
document.write(f('000009', 300) + '<br>');
document.write(f('000009', 3000000) + '<br>');
document.write(f('000001', -2) + '<br>');
document.write(f('-000001', -2) + '<br>');
document.write(f('abc', -2) + '<br>');
</script></body></html>

>>383
おーそれもいいかも

みんなほんとにありがとう。いろいろ勉強になったよ!>>330の参考にもなると幸い。
385Name_Not_Found:2006/02/21(火) 22:21:39 ID:???
>>340
そんなにたくさんパンを食べる方法を教えてください。
30年毎日食べ続けても、一日30枚以上ですよ?
386Name_Not_Found:2006/02/21(火) 22:47:29 ID:???
>>340は齢1000歳
387Name_Not_Found:2006/02/21(火) 22:58:45 ID:???
IEで見出し固定、1,2列目固定、縦、横スクロールは可能
というテーブルを作成したいのですが
現在、見出し固定に関しては
ttp://chaichan.hp.infoseek.co.jp/qa3500/qa3637.htm
上記ページにて可能になったのですが、
1、2列目のテーブルを固定にする方法が
わかりません。
よろしくお願いします
388340:2006/02/21(火) 23:24:39 ID:???
>>385
え?30年だって?ぼくは、1年と8か月くらいしかかかんなかったよ。
毎日、きょうは1枚、あしたは1枚と半分、あさっては2枚って具合に食べ
たのさ。式に書くとだね、
bread=0
for(i=0;i<(1.65*365);i=0.5+i)
bread += i;
alert(b)
かな。
なんか文句ある?
389340:2006/02/21(火) 23:26:31 ID:???
ごめん。変数まちがえちゃった。
alert(b)-->alert(bread)ね。
390Name_Not_Found:2006/02/21(火) 23:49:06 ID:???
IE 専用でいいなら VBScript でかまわないような気がするが。
こんなんでどう?

<html><head>
<style>
table { width:400px; border:1px solid black;}
th, td { width:200px; border:1px solid black;}
</style>
</head><body>
<div id="midashi" style="width:300px; overflow:hidden;">
<table><tr><th>見出し1<th>見出し2<tr><th>見出し1<th>見出し2</table>
</div>
<div style="width:320px; height:50px; overflow:scroll;" onscroll="vbscript:midashi.ScrollLeft=Me.ScrollLeft">
<table><tr><td>データ<td>データ<tr><td>データ<td>データ<tr><td>データ<td>データ</table>
</div>
</body></html>
391Name_Not_Found:2006/02/22(水) 00:08:47 ID:???
禿しくズレてる
392Name_Not_Found:2006/02/22(水) 06:32:08 ID:???
みんなが楽しそうにしてるんで、私も書いてみました。

function numbers_increase(numbers,increase)
{
    var value = Number(numbers)+increase;
    var s1 = numbers.replace(/[+-]/g,'').length;
    var s2 = value.toString().replace(/-/g,'').length;
    var padding = new Array(1+Math.max(s1-s2,0)).join('0');
    return (padding+value).replace(/(0*)(-)/,'$2$1');
}
alert(numbers_increase('-0100',101));
alert(numbers_increase('0100',-101));

しずかちゃんすごいね。
393Name_Not_Found:2006/02/22(水) 08:16:44 ID:???
マッチングに変数を指定することは出来ますか?
出来るとしたらどのように記述したらよいのでしょうか。

hoge = abcdefg;
という変数hogeがあるとして、

match(/ /)
    ↑ここにabcdefgを適用させたいのです。
394Name_Not_Found:2006/02/22(水) 08:42:11 ID:???
>>393
reg = new RegExp(str, "i");
hoge.match(reg);
395Name_Not_Found:2006/02/22(水) 16:24:53 ID:88oRAtHI
すいません。
var n = new Array('K','I','N','G');
q=n.replace(/,/,'');
alert(q);
として「KING」にしたいのですが、運とも寸ともいいません。
どこがいけないのでしょうか。
396Name_Not_Found:2006/02/22(水) 17:12:50 ID:???
>>395
配列にreplaceメソッドなんてない。
まずjoinか何かで文字列にしたら。
397Name_Not_Found:2006/02/22(水) 17:33:03 ID:???
>>395
var n = new Array('K','I','N','G'); alert(n.join(''));

n='KING'; alert(n[0]);とか出来るんだから
そもそも配列に入れなくてもいいと思うけど
398395:2006/02/22(水) 17:47:15 ID:???
>>396
そうですね、たしかに。ありがとうございました。
399Name_Not_Found:2006/02/22(水) 17:51:57 ID:???
>>397
var n = new Array('K','I','N','G');
alert(n.join('')); →「undefined」
400399:2006/02/22(水) 17:54:03 ID:???
>>399 全面削除

n='KING'; alert(n[0]); →「undefined」
の方だった。orz ゴメソ
401Name_Not_Found:2006/02/22(水) 17:58:48 ID:???
>>400
ほんとだ。IEの方確認してなかった
402Name_Not_Found:2006/02/22(水) 18:18:35 ID:???
>>398ごめん嘘教えた
stringでn[0]みたいのFirefoxとOperaはできたけどIEじゃダメみたいだから
n.charAt(0)とかn.slice(0,1)とかn.substring(0,1)とか適当にやって
403Name_Not_Found:2006/02/22(水) 19:01:05 ID:???
>>402
だからさ…実験して「できた」じゃなく標準にそういうのは
ナイんだから。これが逆(IEでできてGeckoでできない)だと
できないブラウザが悪いとか言う奴が出没するんで困るんだよな。
IE専もGecko専もちっともいいことではない。
404Name_Not_Found:2006/02/22(水) 19:01:06 ID:bE0bKZDE
こんばんは。
テキストリンクをクリックしたときに、リンク先URLがステータスバーに
で(てしまい)ますが、表示しないようにできますか。色々考えたので
すが、ダメでした。クイズゲームで使用したいです。
405Name_Not_Found:2006/02/22(水) 19:10:56 ID:???
>>404
ゲームなんだからリンクを使わずに
<button onclick="location.href='行き先'">...</button>
にすればいいんでない?ただしJS OFFだと遊べないけどね。
406Name_Not_Found:2006/02/22(水) 19:11:33 ID:???
>>403
ごめんよう
407Name_Not_Found:2006/02/22(水) 19:30:13 ID:???
>390

サンクス。
おかげで条件を満たす表ができました。
408Name_Not_Found:2006/02/22(水) 21:00:29 ID:???
コレクションと配列はどのように違うものですが?
コレクションとは何かがよくわかりません。
409Name_Not_Found:2006/02/23(木) 01:04:35 ID:???
>>408
配列はJS言語(ECMA-262)で規定されたオブジェクトで、
Collectionはそれとは別にDOM2などの標準側で規定された
オブジェクト。添字アクセスしてるぶんには同じだけど、
ふるまいが微妙に違うんだよね。
410Name_Not_Found:2006/02/23(木) 01:33:31 ID:???
>>390
> onscroll="vbscript:
これ、文法的にはただのラベル。
IEにとってだけ、vbscript, vbs, perlscript というラベルが意味を持つ。
(IEにとって意味を持つラベルがこれで全てかどうかは知らない。)
例えば、onclick="vbs:msgbox(1)" は、IEにとっては有効なVBScriptだが、
その他にとっては、無効なJavaScriptであるということ。
つまり、ブラウザ分別として全く機能していない。
411Name_Not_Found:2006/02/23(木) 03:05:13 ID:???
>>409
>ふるまいが微妙に違うんだよね
kwsk
412Name_Not_Found:2006/02/23(木) 07:06:59 ID:q2EC9IMN
JavaScriptのプログラムテキストをホームページなどから
そのまま割り出すのはどういった方法が最適ですか?

413Name_Not_Found:2006/02/23(木) 07:19:55 ID:???
>>411 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<div><a href="t0.html">0</a><a href="t1.html">1</a><a href="2.html">t2</a><br>
<script type="text/javascript">
var a = [1,2,3,4], b = document.links;
for(var x in a) document.write(x + ':' + a[x] + '<br>');
for(var x in b) document.write(x + ':' + b[x].href + '<br>');
</script></div>
</body></html>
414Name_Not_Found:2006/02/23(木) 07:24:15 ID:???
>>412
それをJavaScriptでやるっていうはなし?HTMLと一緒に入ってる
奴ならdocument.documentElement.innerHTMLとか
document.body.innerHTMLとかを取り出してその文字列の中から
抽出するのかな。
415Name_Not_Found:2006/02/23(木) 11:33:44 ID:???
>>388
そんなにたくさんパンを食べる方法を教えてください。
一斤6枚切りとしても、最終日は17.1kg以上ですよ?
416Name_Not_Found:2006/02/23(木) 11:49:06 ID:???
そうそ。少しずつ地道に増やして行くと、そんなにたくさん食べるこ
ともできるようになるんだ。継続はチカラなり。勉強といっしょだね。
417411:2006/02/23(木) 12:23:40 ID:???
>>413
ホレ氏、サンクス

こういうこと?
javascript組み込みの配列を扱うArrayオブジェクトはその目的の仕様として
lengthプロパティなどにはfor(in)列挙されない
特殊な属性がある(列挙されてしまうと不便だからw)

HTMLCollectionつーのはあれか?w
DOMの組み込み仕様として
とある同じ条件で集めたnode(HTML要素ならHTML要素名、同nameや、あるHTML要素の子要素の範囲で、とか)
を配列で返してくれるもの
ただし、こっちは前述のArrayオブジェのような仕様はなく
また実際に取得した配列で実在する要素へのアクセスは読み取り専用である(DOMとして直接取得した要素は書き換えできない。意味ないがw任意要素は追加可)

こんなんで?
418411:2006/02/23(木) 12:28:50 ID:???
つか411は408ではありませんw
ただの通りすがりですw
419Name_Not_Found:2006/02/23(木) 12:31:49 ID:???
>>417
どうも「たとえば」そういう点があるようだ(ブラウザによって?)、
というだけで、それが全てというわけでもない。つまり「微妙に」
違う。あと忘れていたけど

interface HTMLCollection {
readonly attribute unsigned long length;
Node item(in unsigned long index);
Node namedItem(in DOMString name);
};

だから当然、item()やnamedItem()がある(配列にはない)。
420Name_Not_Found:2006/02/23(木) 18:35:41 ID:gChkpR2C
ページの中に2つsetTimeout()を使うと、一方が止まってしまいます。
回避方法はありますか?
421Name_Not_Found:2006/02/23(木) 18:56:59 ID:VzRY3Tui
リンクボタンを押した際に開くウィンドウを
常に1つに限定したいと考えています。
どのように指定すればできますでしょうか?
よろしくお願いします。
422Name_Not_Found:2006/02/23(木) 19:10:32 ID:???
>>410
390 にはブラウザ判別云々は関係ないような。
ターゲットブラウザが IE 決め打ちでいいんなら (VBScript からしか操作できない) IE の
独自拡張機能を気にせず使っちゃえってことでしょ。
確かに JavaScript スレから見ればスレ違いな解決法だが。
423Name_Not_Found:2006/02/23(木) 19:14:59 ID:???
>>421
target
424421:2006/02/23(木) 19:24:38 ID:VzRY3Tui
>>423

ご回答ありがとうございます。
targetを使う場合、

<a href="URL" target="_●●●●">test</a>

のように指定すると思うのですが、
この●●●●の部分をどのようにしたら
良いのかがわかりません。

「_blank」で新規ウィンドウを開いた後、
そのウィンドウ内で新たなリンク先を
表示したいと思っています。
新規に開いたウィンドウにname属性をつけるのかな?とも
想像したのですが、その方法自体がわからず
考えあぐねている所です。
お手数ですが、教えていただけないでしょうか?
425Name_Not_Found:2006/02/23(木) 19:49:39 ID:???
>>424
そこは自分の好きな名前にすればいい。
いくつかのアンダースコア ( _ ) 付の名前が特別なウィンドウを示す予約名なだけであって、
それとかぶらなければどうとでも自分の好きな名前にしてかまわない。
開いたときのターゲット名が以後そのウィンドウの名前になる。
426421:2006/02/23(木) 20:24:35 ID:???
>>425

ご丁寧にありがとうございました。
ご指示の通りに試した所無事成功しました。

>>開いたときのターゲット名が以後そのウィンドウの名前になる。

まさにここの部分で悩んでいたので非常に嬉しいです。
ありがとうございました。
427Name_Not_Found:2006/02/23(木) 22:32:16 ID:???
>>420
使い方がおかしいとしか思えない。2つsetTimeout()があっても問題なく動くぞ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var d0, x0 = 10, s0 = 3, d1, x1 = 20, s1 = 5;
function init() {
d0 = document.getElementById('d0'); d1 = document.getElementById('d1');
setTimeout(f0, 50); setTimeout(f1, 38);
}
function f0() {
if(x0>400) x0-=400; d0.style.left = (x0+=s0) + 'px'; setTimeout(f0, 50);
}
function f1() {
if(x1>400) x1-=400; d1.style.left = (x1+=s1) + 'px'; setTimeout(f1, 38);
}
</script>
</head><body onload="init()">
<div id="d0" style="position:absolute">0</div>
<div id="d1" style="position:absolute">1</div>
</body></html>
428393:2006/02/23(木) 23:28:53 ID:???
>>394
レス感謝です。
説明が下手ですみません。

hoge = abcdefg;
という変数hogeがあるとして、
match()の内部で変数hogeと正規表現を混在させたいのですが。

例えばある文exampleの末にあるabcdefghijという文字のマッチングは
example.match(/abcdefghij$/)と書けば良いですよね。
これを変数hogeとhijとを組み合わせてmatch文の中に書く方法はありませんか?
429Name_Not_Found:2006/02/23(木) 23:40:57 ID:???
>>428
abcdefgは変数なんだろ?
430393:2006/02/24(金) 00:11:30 ID:???
文字列です。
本来はsubstring等を使って文字列を切り出す予定なのです。
431Name_Not_Found:2006/02/24(金) 00:41:38 ID:???
>>430
example.match(new Regexp(hoge + 'hij$'))
Regexpコンストラクタを使えば任意の文字列を組み立てて
それをRegexpにできるから万能。それくらい知っとけ。
432Name_Not_Found:2006/02/24(金) 00:43:53 ID:???
example = "abcdefghij";

hoge = "abcdefg";//文字列なんだろ?
example.match(new RegExp(hoge+"hij$"));


hogeに正規表現リラテルが混じってる場合のエスケープ処理も必要だ
433393:2006/02/24(金) 00:48:15 ID:???
>>431,432
勉強になりました。ありがとうございました。
精進していきます。
434Name_Not_Found:2006/02/24(金) 01:08:55 ID:XhHCd9xE
ホームページなどからプログラムテキストを
そのままコピーするにはどのような方法が
一番適していますか?
435394:2006/02/24(金) 02:11:34 ID:???
なんで俺にはお礼を言ってくれないん?
436393:2006/02/24(金) 06:45:47 ID:???
>>435
>>428でお礼申し上げております。
改めて感謝申し上げます。ありがとうございます。

おかげで目標としていたスクリプトが動くようになりました。
437Name_Not_Found:2006/02/24(金) 08:49:44 ID:???
>>434
「ソースを表示」してマウス等で選択してコピペ。
JSの別ファイルならscriptタグのsrcを見てURLを調べ
ブラウザで改めて開くか普通のダウンローダで取る。
438Name_Not_Found:2006/02/24(金) 10:59:55 ID:???
質問なのですが、getElementById("ID名")で、ID名に変数を使用する方法はありますか?
439Name_Not_Found:2006/02/24(金) 11:05:41 ID:???
>>438
var hensuu = "変数名";
getElementById(hensuu)

という話ではなくて?
440438:2006/02/24(金) 11:05:48 ID:???
自己解決しました。
441Name_Not_Found:2006/02/24(金) 11:17:17 ID:???
<form>
<p>
<span></span>
<input type="button" onclick="func(ココ);" />
</p>
</form>

DOMで<span></span>の部分を指し示したい時、ココにはどう記述すればいいですか?
442Name_Not_Found:2006/02/24(金) 11:18:40 ID:???
すみません。言い忘れました。
IDやNAME属性を使わないやり方でお願いします。
443Name_Not_Found:2006/02/24(金) 11:42:40 ID:???
thisとした場合それ自体を示しますが、1つ前の要素を示したい場合や、1つ後の要素を示したい場合はどうすればいいですか?
ということです。
444Name_Not_Found:2006/02/24(金) 11:42:52 ID:???
質問です。

テキスト入力項目を添え字を指定しない配列にしたとき、
その対象エレメントを指定するにはどうしたら良いのでしょうか?

(例1)
入力1:<input type="text" name="txt[0]">
入力2:<input type="text" name="txt[1]">
入力3:<input type="text" name="txt[2]">

このとき、
document.form1.elements('txt[2]').focus()
とすると入力3のテキストボックスにカーソルが移動しますが、

(例2)
入力1:<input type="text" name="txt[]">
入力2:<input type="text" name="txt[]">
入力3:<input type="text" name="txt[]">

この場合はエラーになります。どのようにしたら入力3のテキスト
ボックスにカーソルを移動させることができるでしょうか?
445Name_Not_Found:2006/02/24(金) 11:58:41 ID:???
>>444
DOM
ageよろ。
446Name_Not_Found:2006/02/24(金) 11:59:32 ID:w+58+dhe
au WIN CDMA 1X W22SA
でjavaスクリプトを使う裏技
447Name_Not_Found:2006/02/24(金) 12:19:06 ID:Fz32vOug
教えてください。
JavaScriptでは、「2_24」は整数とみなされるということですが、
Number(2_24)やNumber('2_24')はいずれもエラーです。
どういうことなのでしょうか。
448Name_Not_Found:2006/02/24(金) 12:41:50 ID:???
>>443
一つ後のノードはnextSiblingでとれる。
一つ前は、親ノードの子ノードを数えて、一個前、かな。
449Name_Not_Found:2006/02/24(金) 12:48:11 ID:???
>>448
それは違う気がします。
450444:2006/02/24(金) 13:03:53 ID:gpLSMvrW
>>445
えーと…DOM…なんですが、よく分かりませんでした。
「HTML DOM Text Object」ってところを見たんですが……

あと、補足です。
document.form1.elements(n).focus()
というエレメントの順番での指定を使用せず、
txtというエレメント名を指定してのやり方を教えて頂ければと存じます。
451Name_Not_Found:2006/02/24(金) 13:10:52 ID:???
>>447
どこでそんな大嘘を習ったのかぜひ教えてくれ。
>>444
input type="text" で名前を同じにするのはHTMLとして
正しくないから一般的に言えば何が起こるか分からないが、
多くのブラウザでは
document.form1.elements('txt[]')[2].focus()
で動作するんじゃないかなあ〜
>>441 ホレ(</span>と<input>の間は改行しないのが吉)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<form action="#" onsubmit="return false"><p>
<span>Test</span><input type="button"
onclick="alert(this.previousSibling.innerHTML);"></p></form>
</body></html>
452444:2006/02/24(金) 13:25:00 ID:???
>>451
おおお出来ました。すごーい!!
こういう情報って、ググるにしても検索キーワードでいいのが
思いつかないし、解説サイト(とほほとか)見ても載ってないケースなので、
非常に助かりました。多謝 m(..)m
453441:2006/02/24(金) 13:30:02 ID:???
>>451
ありがとうございました。
previousSibling.innerHTMLという記述ですが、これはDOMの記述でしょうか?
innerHTML以外で要素の中を参照する記述方法はないでしょうか?
それともinnerHTMLはDOM Level1の正式な記述方法なのでしょうか?
454Name_Not_Found:2006/02/24(金) 13:43:08 ID:???
>>451
ttp://www.site-cooler.com/kwl/javascript/2.htm
ここ↑の、「JavaScriptの数値」という小タイトルのとこです。
けっこうまともなページだと思ってたのですが、ガセですか?
455441:2006/02/24(金) 14:02:00 ID:???
質問内容を言い換えますと・・・

document.getElementById('id').innerHTML

上記をDOMではどういう記述になりますか?

document.getElementById('id').nodeValue ではないみたいですし・・・
456Name_Not_Found:2006/02/24(金) 14:24:30 ID:???
>>452
とほほは推奨されないとテンプレにもあるだろ(w
>>454
ガセだね。言語仕様はテンプレにあるECMA(の和訳)を見れ。
>>455 ホレ。
ただしタグがあると別ノードになるからね。一般にテキスト
は要素ノードの子供ノードであるテキストノードの値。
innerHTMLはIE独自拡張だが今は多くのブラウザが対応している。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<form action="#" onsubmit="return false"><p>
<span>Test</span><input type="button"
onclick="alert(this.previousSibling.firstChild.nodeValue);"></p></form>
</body></html>
457Name_Not_Found:2006/02/24(金) 14:26:34 ID:???
>>455
<Element>.firstChild.nodeValue が多分オマエが表示したいモンだ
458441:2006/02/24(金) 14:33:32 ID:???
まことにありがとうございました。
459447:2006/02/24(金) 14:41:32 ID:???
>>456
まことにおさわがせしました。
460Name_Not_Found:2006/02/24(金) 14:47:37 ID:w3ToP+L/
javascriptから
calc.exeコマンドを打って電卓をだしたいのですが
スクリプトからシステムコマンドうてないでしょうか・・
461Name_Not_Found:2006/02/24(金) 14:52:58 ID:???
>>460
アンタのブラウザではそんなのが許されているの?
それなら「del *.*」を実行するリンクのページでも開いてみる?





自分の脳内で都合のいいことだけはできて都合の悪いこと
はできないとか思ってもだめよ。Web制作のイロハだろ。
勉強しておいで。
462Name_Not_Found:2006/02/24(金) 14:59:21 ID:???
WSH は板違い、とでも書けばスマートだったな
463441:2006/02/24(金) 15:06:40 ID:???
<p><span>1000</span><input type="button" onclick="alert(this.previousSibling.firstChild.nodeValue);"></p>

上記ではうまくいくのですが、

<p><span>1000</span>円<input type="button" onclick="alert(this.previousSibling.firstChild.nodeValue);"></p>

要素と要素の間に文字列を入れた場合、エラーになります。
何か良い解決策はないでしょうか?
464Name_Not_Found:2006/02/24(金) 15:14:19 ID:???
>>463
解決策もなにも、そこに「円」という文字列のノードがあるんだから
「this.previousSibling.previousSibling.firstChild.nodeValue」
にしないと駄目だろ、何を学んでるんだ。
465Name_Not_Found:2006/02/24(金) 15:16:52 ID:???
>463
<p><span>1000円</span><input type="button"value="OK"
onclick="alert((this.previousSibling.firstChild.nodeValue).substring((this.previousSibling.firstChild.nodeValue).length-1,(this.previousSibling.firstChild.nodeValue).length);"></p>
とでもやってみる?
エラーの内容くらい書けよ。オブジェクトがないわけっしょ?
466441:2006/02/24(金) 15:20:51 ID:???
見事です。解決です。
467Name_Not_Found:2006/02/24(金) 16:50:57 ID:???
質問させてもらいたいのですが

<span>20</span>個
<span>6</span>個
<span>25</span>個
<span>10</span>個
<span>2</span>個

html内にこのようにspanで囲まれた数字がいくつもあって、その数字を合計した値を取得する方法はありますか?

ただし、個数以外の文字列とか数字が入ったspanも入り乱れております。
全てに異なるidを付けてその中の数字を足していくというようなスマートじゃない方法は避けたいです。
468Name_Not_Found:2006/02/24(金) 17:01:42 ID:???
>>467
方法はある。DOM使え
469467:2006/02/24(金) 17:04:43 ID:???
しかし、name属性はXHTML1.0 Strictでは使えませんし、id属性は同じものは使えません。
となると、方法は無いように感じるのですが。
1つ可能性があるとすれば、spanの右にある"個"という文字を認識に使えば、あるいは・・・
470467:2006/02/24(金) 17:15:02 ID:???
どう考えても無理っぽそうなので、ちょっと妥協したいんですが、どうしても

<span id="span0">20</span>個
<span id="span1">6</span>個
<span id="span2">25</span>個
<span id="span3">10</span>個
<span id="span4">2</span>個

myTotal = document.getElementById('span0').firstChild.nodeValue
+ document.getElementById('span1').firstChild.nodeValue
+ document.getElementById('span2').firstChild.nodeValue
+ document.getElementById('span3').firstChild.nodeValue
+ document.getElementById('span4').firstChild.nodeValue;

こんな書き方はしたくありません。また

myTotal = span0 + span1 + span2 + span3 + span4;

こんな書き方もしたくないです。
もっとスマートに書く方法はないでしょうか?たとえば

for(i = 0; i = 4; i ++){ myTotal = span + i }

こんなスマートな書き方です。
めちゃくちゃですが雰囲気を察してもらえればありがたいです。
471Name_Not_Found:2006/02/24(金) 17:15:48 ID:???
>>451
> input type="text" で名前を同じにするのはHTMLとして正しくないから
> 一般的に言えば何が起こるか分からないが、

アフォ?
472Name_Not_Found:2006/02/24(金) 17:16:43 ID:???
あ、間違えました。

for(i = 0; i = 4; i ++){ myTotal = myTotal + (span + i) }

(span + i)というのは、変数名に数字をくっつけて、その数字をforで1ずつ足していきたいということです。
そんなやり方はないでしょうか?
473Name_Not_Found:2006/02/24(金) 17:22:40 ID:???
>>469
この場合、確かに name や id は使いたくないよな。

以下はヒントです。

* span 要素を列挙する
  document.getElementsByTagName('span')
  span 要素の配列(本当は配列じゃないんだけど)が得られる
* 要素の内容を取り出す
  innerHTML
  若しくはelem.firstChild.data
* 数値に変換する
  Number(text)
  数値に変換できない場合、NaN が返ってくる

あなたの場合、そろっと DOM の仕様書に手を出しても良いんないかな。
できることの幅が広がるよ。
474Name_Not_Found:2006/02/24(金) 17:23:26 ID:Fz32vOug
質問です。
<input id="x" value="0"....... />での「0」の有無を確かめるために
document.getElementBy('x').value.indexOf('0')
としていますが、「サポートされていない」とのエラーです。
どう書けばよいのでしょうか。
475Name_Not_Found:2006/02/24(金) 17:25:06 ID:???
>>472
total += Number(document.getElementById('span' + i).firstChild.nodeValue);
しかし思うに、数字の入るspanに決まったclassを指定して
var a = document.getElementsByTagName('SPAN');
for(var i = 0; i < a.length; ++i)
if(a[i].className == '決まった名前')
total += Number(a[i].firstChild.nodeValue);
なんていうのが分かりやすいのでは。
476Name_Not_Found:2006/02/24(金) 17:26:21 ID:???
>>474
> getElementBy

getElementById
         ~~
ここかな?
477474:2006/02/24(金) 17:26:28 ID:???
>>474
誤記訂正。すいません。
× getElementBy('x')
○ getElementById('x')
478467:2006/02/24(金) 17:27:10 ID:???
>>473
ヒントありがとうございます。
DOMの仕様書に手を出したいと思います。

>>475
それらは最高の答えです。
ありがとうございます。
479Name_Not_Found:2006/02/24(金) 17:27:17 ID:???
>>474
getElementById()じゃないの?
480467:2006/02/24(金) 17:29:02 ID:???
それにしてもclassをcss以外の目的で使用しても良いとは知りませんでした。
目からうろこです。
481474:2006/02/24(金) 17:29:30 ID:???
すいません、解決しました。
元のが>>476さんのご指摘のように間違ってました。
なさけね〜。
482Name_Not_Found:2006/02/24(金) 17:31:03 ID:???
>>474 何ら問題なく動くけど。別のところでのミスでは?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() { alert(document.getElementById('x').value.indexOf('0')); }
</script>
</head><body>
<form action="#" onsubmit="return false"><p>
<input name="i0" id="x" value="0"><button onclick="test()">Test</button>
</p></form></body></html>
483Name_Not_Found:2006/02/24(金) 17:33:17 ID:???
さっきから<title>???</title>の人が、いちいち書いて動作確認してることに萌え
484Name_Not_Found:2006/02/24(金) 18:02:41 ID:???
>>480
class指定しとけば、後で数字を大きくしてもらえるー?って言われた時にも便利じゃないか
485Name_Not_Found:2006/02/24(金) 18:11:59 ID:???
変数に?Objectが入ってる場合、alertとかwriteで[Object]って表示されるんですけど、何が入ってるのか見る方法ありますか?
486Name_Not_Found:2006/02/24(金) 18:16:23 ID:???
>>485
「何」とはどういう情報のこと?ちなみに現行JavaScriptには
クラスはないから「クラス名」とかは存在していないよ。
487485:2006/02/24(金) 19:07:13 ID:???
>>486
document.hoge.hugeとかのことです。
488Name_Not_Found:2006/02/24(金) 19:10:11 ID:???
おーい、エスパーさん呼んで来てー
489Name_Not_Found:2006/02/24(金) 19:38:15 ID:???
>>485
要は、オブジェクトのプロパティを列挙したいってことだよね?

ttp://www.kawa.net/works/js/jkl/dumper.html
↑ここの JKL.Dumper が要望に合うと思うよ。
490Name_Not_Found:2006/02/24(金) 19:49:37 ID:???
>>488
鞄の中から出られません。
491Name_Not_Found:2006/02/24(金) 20:05:12 ID:???
文字列strの途中から終わりまでを抜き出すスマートな書き方はありますか?
途中から終わりまでの文字数は変化します。
492Name_Not_Found:2006/02/24(金) 20:07:15 ID:???
>>491
メソッドsubstring()は第2引数を省略すると末尾まで
を抜き出す。少し上で散々それ使ってるだろ。
493491:2006/02/24(金) 20:13:16 ID:???
>>492
失礼しました。
494Name_Not_Found:2006/02/24(金) 20:40:49 ID:???
>>483
「いちいち」というのは、いい意味では使わないよな。ホレ氏に悪いだろ。
495Name_Not_Found:2006/02/24(金) 20:47:59 ID:Fz32vOug
たとえば、getElementsByTagName('SPAN') などのとき、HTMLではCIですが、
JavaScriptではCSですよね。
getElementsByTagName('SPAN') とgetElementsByTagName('span') はちがいま
すか。
496Name_Not_Found:2006/02/24(金) 21:07:02 ID:???
質問です。document.writeを使わずDOMでやりたいです。
HTML内に30個ほどある全てのselect要素内に同じoption要素を一括生成するにはどうすればいいですか?
497496:2006/02/24(金) 21:09:16 ID:???
<select>
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>



<option value="100">100</option>
</select>
<select>
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>



<option value="100">100</option>
</select>




こういうことで、oprion要素は全てDOMで一括生成したいです。
498Name_Not_Found:2006/02/24(金) 21:20:38 ID:???
>>496-497
DOMの勉強をすれば普通にできるようになると思うが。
勉強したくないのならここはアンタの来る場所じゃない。
もっとも、optionの生成とかは過去ログには沢山ある。
煽っても代わりに検索はしてやらないのでそのつもりで。
499496:2006/02/24(金) 21:30:01 ID:???
>>498
ありがとうございます。
過去ログ見てみます。
500Name_Not_Found:2006/02/24(金) 21:48:55 ID:???
"過去ログ読め !" は相変わらずなんだな.
貴重な記事もなくはないが S/N ratio 悪すぎ !
誰かがまとめれば良いのだろうけど 極めて非現実的だ.
501Name_Not_Found:2006/02/24(金) 22:08:29 ID:???
別にキーワードは分かってるわけだし過去スレ検索いけるだろ。
502Name_Not_Found:2006/02/24(金) 22:28:59 ID:???
"類似の質問が繰り返されるのは 我慢ならない"
と言う気持ちは解らないでもない.
さりとて, 膨大な量のがらくたの山から お宝を探せ と言っているに等しい.
識別能力のない人には絶対に不可能な要求だ.

"過去ログ読め !" よりも "半年 ROM ってろ !"
の方が理にかなっていると思いやすぜ.
こまめに覗いていると たまに拾い物があるもんね.
503Name_Not_Found:2006/02/24(金) 22:53:51 ID:???
nullが一番noisyな件について
504Name_Not_Found:2006/02/24(金) 23:06:53 ID:???
2月の第5週目は質問をDOMに限るとか。探しやすくて委員じゃない。
大学の集中講義思い出した。
505Name_Not_Found:2006/02/24(金) 23:10:40 ID:???
過去ログ読め批判の人は何で質問に答えてやらないんだ?
それかまとめwikiでもつくればいいのに
506Name_Not_Found:2006/02/24(金) 23:15:11 ID:???
しつもんがなくて さみしいんだよ〜 !
"手取り足取り" もよろしく〜. (ぶつぶつ...)
507Name_Not_Found:2006/02/24(金) 23:20:48 ID:???
いったことないけど、ほんとに手取ったり足取ったりしてくれるの?
はなしうますぎるよかん。
508Name_Not_Found:2006/02/24(金) 23:22:42 ID:???
過去ログ読め批判の人?ちがうだろ。
○○の1つ覚えで過去ログ読め読めいってるヤシだろ。
509Name_Not_Found:2006/02/24(金) 23:23:51 ID:???
>>505
ごもっとも !
でも僕はここの体質に合っていないんだ.
(理屈ではなく, 応用に重点を置いている)
んで, 過去ログまとめは考えたことがある.
しかし見事に頓挫.

このスレッドの歴史が解ったのが唯一の収穫だったっぽ.
510496:2006/02/24(金) 23:25:16 ID:???
過去ログは流れてたのでいろいろ調べてここまで出来たんですが、どうしてもこれ以上は無理そうです。

<script>
function start(){

var eSelects = document.getElementsByTagName('select');

for (i = 0; i < eSelects.length; i++){

for (j = 0; j < 100; j++){

nd = document.createElement('option');
nd.value = j;

var str = document.createTextNode(j);
eSelects[i].appendChild(str);

eSelects[i].insertBefore(nd, eSelects[i].firstChild);
}
}


}
</script>
<body onload="start();">
<select>
</select>
</body>
511496:2006/02/24(金) 23:25:50 ID:???
これを実行すると、

<SELECT>
<OPTION value=99></OPTION>
<OPTION value=98></OPTION>



<OPTION value=0 selected></OPTION>
0123456789101112131415161718192021222324252627282930
3132333435363738394041424344454647484950515253545556
5758596061626364656667686970717273747576777879808182
8384858687888990919293949596979899
</SELECT>

となってしまいます。
どうすればいいでしょうか?

<select>
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>



<option value="99">99</option>
</select>

という結果を得たいのですが、どうすればいいのかご指導いただけないでしょうか?
512Name_Not_Found:2006/02/24(金) 23:33:42 ID:???
>>507
だまされたと思って来てくれ〜.
でも僕は "手取り足取り" と言うよりも "丸投げスレッド" だと思ってる.
"こんなのできる〜 ?" と言うのに答えて
"どうでぃ ?! おいらに不可能はないっぽ !" てな感じの趣向だ.
513Name_Not_Found:2006/02/24(金) 23:42:11 ID:???
>>511
>eSelects[i].appendChild(str);
nd.appendChild(str);
>eSelects[i].insertBefore(nd, eSelects[i].firstChild);
eSelects[i].appendChild(nd);

だよ
514Name_Not_Found:2006/02/24(金) 23:50:16 ID:???
>>512
どんなお題でもいいの?
515496:2006/02/24(金) 23:51:18 ID:???
>>513
今自己解決しましたが、それと一致しておりました。
ありがとうございました。
516Name_Not_Found:2006/02/24(金) 23:54:11 ID:rBisTbhW
<html><head></head><body><script type="text/javascript">
<!--
function Kei(){
var i = document.f1.i.value - 1;var j = document.f1.j.value - 1;var l = 0; var k = 0;var result=0;
var M = new Array();
for(k=0;k<4;k++){var M[k] = new Array();
for(l=0;l<4;l++){M[k][l]=1;}
}
M[0][0] = M[2][0] = M[1][1] = M[0][2] = M[2][2] = M[3][3] = 0;
M[1][0] = M[0][1] = 2;
for(k=0;k<4;k++){for(l=0;l<4;l++){result += M[i][k] * M[k[l] * M[l][j];}}
document.f1.t1.value = result;
}//-->
</script>
<form name=f1><br>i = <input type=text name=i><br>j = <input type=text name=j>
<input type="button" value="D" onclick="Kei()"><br>
M [ i ] [ j ] = <input type=text name=t1>
</form></body></html>

が動作しないんですが、どこが間違ってるか教えていただけたら幸いです。。。
517Name_Not_Found:2006/02/25(土) 00:15:15 ID:???
>>516
debug を他人に依頼するようでは先行き不安だ.
まさか debug の定石を知らないんじゃないんじゃないよね ?!
518Name_Not_Found:2006/02/25(土) 00:23:03 ID:uf3/VPOy
alert()以前に
関数を呼び出せないんで・・・。
HTMLの記述で不備があるのかな、と踏んでますが、如何とも・・・。
519Name_Not_Found:2006/02/25(土) 00:23:29 ID:???
>>516
とりあえず
>var M[k] = new Array();
M[k] = new Array();
>for(k=0;k<4;k++){for(l=0;l<4;l++){result += M[i][k] * M[k[l] * M[l][j];}}
for(k=0;k<4;k++){for(l=0;l<4;l++){result += M[i][k] * M[k[l] * M[l][j]];}}
あとk[l]==undefind

これ直してもNaNだけど
520Name_Not_Found:2006/02/25(土) 00:33:25 ID:???
sage忘れてた。。。
しかも凡ミスだorz 何かもう恥ずかしいな・・・。
521516:2006/02/25(土) 00:36:31 ID:???
・・・組み込んでちゃんと動作させました。。。
もうこんな恥ずかしい事絶対聞かねーorz
522Name_Not_Found:2006/02/25(土) 00:40:42 ID:???
>>516 >>518 >>520
エラー出てただろ?それをちゃんと報告できない奴は
2度とくるな。
>>510
それを調べたのは評価するけど、テンプレを見れば過去
スレ全集というのが見つかったはずなんだけど。
523Name_Not_Found:2006/02/25(土) 00:44:18 ID:???
>>520
ごめん
>>for(k=0;k<4;k++){for(l=0;l<4;l++){result += M[i][k] * M[k[l] * M[l][j];}}
>for(k=0;k<4;k++){for(l=0;l<4;l++){result += M[i][k] * M[k[l] * M[l][j]];}}
for(k=0;k<4;k++){for(l=0;l<4;l++){result += M[i][k] * M[k][l] * M[l][j];}}
だこれでいける
524Name_Not_Found:2006/02/25(土) 01:48:55 ID:???
525Name_Not_Found:2006/02/25(土) 01:56:06 ID:???
>>451
> input type="text" で名前を同じにするのはHTMLとして
> 正しくないから
INPUT要素型のname属性はCDATAだから、正しい。
526Name_Not_Found:2006/02/25(土) 10:37:53 ID:???
>>525
HTMLの仕様といった場合、構文部分と意味部分とがあると思うのね。
INPUTについてはTYPEによって意味が変わるでしょ。で、
ttp://www.w3.org/TR/1999/REC-html401-19991224/interact/forms.html
[checkboxes]
Several checkboxes in a form may share the same control name.
[radio buttons]
Radio buttons are like checkboxes except that when several share
the same control name, they are ...
「同じコントロール名」について言及されているのはこの2種類だけ
なので、残りは同じコントロール名というのはないと読んだのだけど。
激しくスレ違いなので、この議論続けるならStrictスレに移動して
そこで聞くというのはどうかな。
527Name_Not_Found:2006/02/25(土) 10:48:34 ID:3Q/i9DpB
こんにちは。
var num = 1;
Math.log(num) / Math.log(10);
というのは、どういうことですか。解説お願いできますでしょうか。
528Name_Not_Found:2006/02/25(土) 10:54:44 ID:???
>>526 の英文を翻訳させててみました。
[checkboxes]
Several checkboxes in a form may share the same control name.
[radio buttons]
Radio buttons are like checkboxes except that when several share
the same control name, they are ...

[チェックボックス]
1つのフォームの中にあるいくつかのチェックボックスは同一の制御名を共有
しうる。
[ラジオボタン]
ラジオボタンはチェックボックスと同じようなものであるが、ボタンのうちの
いくつかのものが同一の制御名を共有する場合に、それらのボタンは・・・

・・・のこのあとが主題と思われw
529Name_Not_Found:2006/02/25(土) 11:07:59 ID:???
>>527
高校数学習った?numの常用対数をとってるんだよ。
Math.LN10という定数があることは知らないみたいだけど。
530Name_Not_Found:2006/02/25(土) 11:22:30 ID:???
>>528
checkboxとradioで複数あるのは当然。問題はtype=textだろ。
Strictスレいこ。
531527:2006/02/25(土) 12:43:29 ID:???
>>529
お答えありがとうございます。
numの常用対数をとるとどうなるんでしょう。その意味は?
すいません、高校中退(1年)のうえにアタマは文科系です(ナキ
532Name_Not_Found:2006/02/25(土) 12:56:07 ID:???
>>531
log(x)/log(10) = log10(x) = 「xを10進数で表記したとき何桁あるか」
たとえばxが1だと0、10だと1、100だと2、1000だと3。これらの間の数
もそれなりの数値になる。1だと0というのは分かりにくいかもしれないが
1というのは0.9999999...のことだと思ってくれ(これ以上突っ込みたければ
理系板の数学のスレへ行ってくれ)。
533Name_Not_Found:2006/02/25(土) 12:57:56 ID:???
読み返してみると「何桁あるかマイナス1」と説明するべきだったな。
数学屋じゃないのでごめん。
534527:2006/02/25(土) 13:11:04 ID:???
>>532-533さん
親切なご説明ありがとうございました。勉強になりました。
多謝。
535Name_Not_Found:2006/02/25(土) 14:21:55 ID:???
すみませんecmascriptというのはどのブラウザでも問題なく動作するのですか?
javascriptとjscriptの最小公倍数(最大公約数だっけ?)というわけではないんですか?
536Name_Not_Found:2006/02/25(土) 14:27:34 ID:???
質問なのですがdocument.body.scrollTopはDOMでしょうか?
537Name_Not_Found:2006/02/25(土) 14:29:43 ID:???
違います
538Name_Not_Found:2006/02/25(土) 14:34:38 ID:???
ぶっほい!
539536:2006/02/25(土) 14:36:24 ID:???
>>537
即レスありがとうございます。
それではDOMで、document.body.scrollTopに当たるのはどういった記述でしょうか?
540Name_Not_Found:2006/02/25(土) 14:43:05 ID:???
>>539
DOMは文書構造にアクセスしたりするインターフェイスで
javascriptだけじゃなくPerlもPHPもJavaもその他いろいろも使うんだよ
そんなのにscrollTopみたいなのがあると思うかい?
541536:2006/02/25(土) 14:52:51 ID:???
ないと思います。
だからself.pageYOffsetでクロスブラウザなJavaScriptにしたいと思います。
542527:2006/02/25(土) 15:05:35 ID:???
>>541
ほんじゃ、これでどーよ。
var x,y;
if (self.pageYOffset) // all except Explorer
{
x = self.pageXOffset;
y = self.pageYOffset;
}
else if (document.documentElement && document.documentElement.scrollTop)
// Explorer 6 Strict
{
x = document.documentElement.scrollLeft;
y = document.documentElement.scrollTop;
}
else if (document.body) // all other Explorers
{
x = document.body.scrollLeft;
y = document.body.scrollTop;
}
543Name_Not_Found:2006/02/25(土) 15:10:06 ID:???
ok
544536:2006/02/25(土) 15:16:06 ID:???
>>542
こんな感じで組んでたのですが

(document.all && !window.opera){
var scrY = document.body.scrollTop;
}else{
var scrY = self.pageYOffset;
}
document.getElementById('allTotalSection').style.top = (scrY + offY) + 'px';

そっちの方が良さそうなので使わせてもらって

var scrY;
if (self.pageYOffset){
scrY = self.pageYOffset;
}else if (document.documentElement && document.documentElement.scrollTop){
scrY = document.documentElement.scrollTop;
}else if (document.body){
scrY = document.body.scrollTop;
}

こうなりました。
ありがとうございました。
545536:2006/02/25(土) 15:16:55 ID:???
あ、上の最初の行ifが抜けてました・・・
546Name_Not_Found:2006/02/25(土) 15:38:24 ID:LYd9TyVI
質問です。
デジタルカレンダー風にひにちの連番を作りたいのですが、月末と月初の数字の
断絶のところで悩んでいます。これを、new Date() を使うなどして自動的に整合
させることはできるでしょうか。
いまは、「0331」になったら、次の番号が「0401」になるように個別に仕込んでいます。
547Name_Not_Found:2006/02/25(土) 15:45:30 ID:???
<html>
<script type="text/javascript">
function Ex()
{
document.Ex.Ex1.value = Nn;
Ex1.innerHTML = elve(Nn + 1);
</script>
<body>
<form name="Ex">
<span id="Ex1">0</span><br>
<br>
<a href="javascript:Ex()">+1</a>
</form>
</body></html>

と表示させたいのですが表示してくれません。
書き出して、1を加えて再度書き直したいのですがどのようにすればできるかご教示お願いします。


548Name_Not_Found:2006/02/25(土) 15:57:06 ID:LYd9TyVI
質問なんですが、p.htmlというファイルが、q というディレクトリに入って
いるときに、この「q」というディレクトリの名前を取得する方法はありますか。
よい方法がありましたら、教えてください。
q(dir)

├p(file)
549Name_Not_Found:2006/02/25(土) 15:59:49 ID:???
>>547
マジ?本屋に行って立ち読みしてからこいよ。
550Name_Not_Found:2006/02/25(土) 16:10:54 ID:???
>>546
これも過去スレに沢山あった質問だなあ。ごそごそ…
ttp://user.ftth100.com/mirrorhenkan/javascript/read.php?key=1134536221&st=874&to=878
551546:2006/02/25(土) 16:25:56 ID:???
>>550
ありがとうございます。過去ログまで示していただいてすいません。
わたしがやりたいのは、いわば静的な日付けなんです。
たとえば、var date='060331'という変数を取り込んで次の数字(実体
は文字列)を取得します。通常は、'060332'が期待されますが、こ
れを手作業で修正するのが大変なため、なにか方法があるのでは、と
お聞きした次第です。説明不足で申し訳ありませんでした。
552548:2006/02/25(土) 16:39:30 ID:???
すいませんでした。自己解決しそうです。やってみます。
553Name_Not_Found:2006/02/25(土) 17:03:51 ID:???
>>551
> 通常は、'060332'が期待されます
期待するのは'060401'ではなくて?
554Name_Not_Found:2006/02/25(土) 17:12:08 ID:???
こちぁーっす!!質問があります!!
textareaのキャレットの位置に、ボタンをクリックすると
対応した文字列が挿入されるシクリプトを作りたいです!
過去ログ検索、google検索させていただきましたが
いまいちぱっとするものが見当たりません!!
なんかイイやり方がありましたら
自分めにぜひ教えてくださいっ!!!
555Name_Not_Found:2006/02/25(土) 17:15:46 ID:???
>>554
過去スレ
556551:2006/02/25(土) 17:24:39 ID:???
>>553
>> 通常は、'060332'が期待されます
>期待するのは'060401'ではなくて?

すいません。言葉の使い方が誤っているかもしれません。
要するに、プログラム上では、「060332」になる。しかし、
実際には「060401」にしたい(ならなければならない)と
いうことです。重ねてよろしくお願いします。
557Name_Not_Found:2006/02/25(土) 17:27:35 ID:???
>>555
即レス アッッシタ!!
質問はいくつか見つかりましたが、それに対する回答が見当たりません!
よろしければガイドをよろしくお願いいたします!!!
558Name_Not_Found:2006/02/25(土) 17:50:04 ID:???
>>557
過去スレ。
559Name_Not_Found:2006/02/25(土) 18:10:51 ID:???
>>556
550にある過去スレで解決すると思うけど。
'060331'をDateに入れ、一日後を求めれば。
560Name_Not_Found:2006/02/25(土) 18:13:13 ID:???
nextSiblingだらけになってしまうのを防ぎたい。
ただしIDとかは使いたくない。
561556:2006/02/25(土) 18:31:07 ID:???
>>559
ありがとうございます。
あ、そうですね。やってみたらきちんとした日付になりました。
ただ、年が4ケタにしなければならないので、文字列操作が必要
です。「06/02/25」のように2ケタを使うことはもうできないの
でしょうか。「20060225」だとちょっと長いので。
562Name_Not_Found:2006/02/25(土) 19:06:06 ID:???
質問させていただきたいのですが、

oSelect.parentNode.previousSibling.firstChild.firstChild.nodeValue = hoge;

上記のコードがIEでは問題なく動きますが、Mozillaでは下記のエラーが出てしまいます。

oSelect.parentNode.previousSibling.firstChild has no properties

対処法はありませんか?
563Name_Not_Found:2006/02/25(土) 19:09:25 ID:???
>>562
それだけじゃわかんないって
564562:2006/02/25(土) 19:13:23 ID:???
すみません。
HTMLソースは下記です。

<tr>
<td><span>ココ</span>ですよ。</td>
<td><select onchange="func(this);"><option value="huge0">huge0</option><option value="huge1">huge1</option></select></td>
</tr>

thisからココを参照したいわけです。
565Name_Not_Found:2006/02/25(土) 19:21:51 ID:???
>>562-564
GeckoとIEでテキストノードのできかたに違いがある。具体的には
...</xxx>
<yyy>...
というとき、Geckoではxxxとyyyの間に「改行」のみのテキストノードが
はさまるが、IEでははさまらない(勝手にそれを削除してしまう)。ふるまい
としてはGeckoのが正しいらしい(確かに勝手に情報を削除されるのはヘン)。
ともあれ、この非互換性を避けるためには、ある要素と次の要素の間で
改行しないように、つまり次のように書けばよい
...</xxx><yyy>...
アンタの場合は</td>と次の<td>の間がこれに相当するわけ。ただし
全部長い1行にしろという意味じゃなくて、テキストの途中とかタグの
属性名の前とか、問題のないところで改行すればよい。おわかりかな。
566562:2006/02/25(土) 19:23:57 ID:???
>>565
わかりました。
アナタ頭いいですね。
567Name_Not_Found:2006/02/25(土) 19:28:53 ID:??? BE:347189478-
>>505さんの仰るようにwikiをつけてみました。

http://user.ftth100.com/mirrorhenkan/javascript/wiki/

余裕と志のある方はどうぞです
(ごめんなさい 当方余裕ないです)
568Name_Not_Found:2006/02/25(土) 20:04:15 ID:???
>>526
違う。仕様にID型にするなんて一切書いてない。
569Name_Not_Found:2006/02/25(土) 20:19:11 ID:???
IEには独自にallとchildrenがあるのだから、上手に使えよ。
また、nodeTypeを調べながらループしたって、大概は一回か二回のループだから、
速度は全然問題にならない。何レスも費やすような事じゃないから。ループで即決しろよ。
あと、DOM-Traversalが最良の解決方法になる場合もある。
570Name_Not_Found:2006/02/25(土) 20:21:30 ID:???
汎用のxmlhttp関数を作ってみたんですがこれ何か問題ありますか?
function HTTP(url,funcName){
 if(url.search(/\?/)==-1)url +='?' + (new Date()).getTime();
 var httpObj = new ActiveXObject("Microsoft.XMLHTTP");
 httpObj.onreadystatechange=function(){
  if(httpObj.readyState==4)window[funcName](httpObj.responseText);
 }
 httpObj.open("GET", url , true);
 httpObj.send();
}
571Name_Not_Found:2006/02/25(土) 20:27:09 ID:???
なにそれ?
なににつかうの?
572Name_Not_Found:2006/02/25(土) 20:27:18 ID:???
>>570
// 汎用?特化だろ。
ActiveXObject(...) を使う時は、忘れず try-catch。
573570:2006/02/25(土) 20:35:12 ID:???
>>571
>>306なんですが、おかしな動作はここが原因かもと思って。

>>572
他におかしなところありませんか?
574Name_Not_Found:2006/02/25(土) 20:43:48 ID:???
replaceについて質問です。

'abcabc'.replace('a', 'z');とした場合、zbcabcとなるんですが、zbczbcみたいに全部に対して置き換えるにはどうすればいいのでしょうか?
575Name_Not_Found:2006/02/25(土) 20:50:09 ID:???
>>574
...replace(/a/g, z)
文字列じゃなく正規表現リテラルを使え。それが何か
分からないなら論外だから自分で本でも買って勉強しろ。
576Name_Not_Found:2006/02/25(土) 20:50:19 ID:???
split()
join()
577Name_Not_Found:2006/02/25(土) 20:52:15 ID:???
>>573
なんだ、WEB板から外れた話題ですか。
だったら、try-catchは特に必要なくなるだろうし、
"Msxml2.XMLHTTP.6.0" とか、"WinHttp.WinHttpRequest.5.1" とかに決めて書くんじゃないの?
578562:2006/02/25(土) 20:52:25 ID:???
事故解決しました。
579Name_Not_Found:2006/02/25(土) 20:52:35 ID:???
>>576
なるほど。
580Name_Not_Found:2006/02/25(土) 20:54:42 ID:???
>>575
ありがとでーっす。
581Name_Not_Found:2006/02/25(土) 20:55:37 ID:???
そのこころは?
582Name_Not_Found:2006/02/25(土) 20:57:23 ID:???
正規表現リテラル
583570:2006/02/25(土) 21:04:30 ID:???
>>577
それはMicrosoft.XMLHTPと比べて何がいいんですか?
それと現状の>>570はメモリ解放関係でなにか問題ありますか?
584Name_Not_Found:2006/02/25(土) 21:09:47 ID:???
>>576は少し遅い。
function split_join() {
   var s = new Date;
   Array(65536).forEach(function () {"abcaef".split("a").join("z")});
   print(new Date - s);
}
function replace_g() {
  var s = new Date;
  Array(65536).forEach(function () {"abcaef".replace(/a/g, "z")});
  print(new Date - s):
}

js> Array(8).forEach(function () {split_join()})
1735
1797
1625
1765
1625
1781
1610
1781
js> Array(8).forEach(function () {replace_g()})
922
922
891
1390
906
922
938
1375
585Name_Not_Found:2006/02/25(土) 21:16:00 ID:???
>>583
http://msdn.microsoft.com/library/en-us/xmlsdk/html/04857975-1ddd-4beb-8b83-f561a82454f4.asp

> メモリ開放
つうか、分かって聞いてるでしょ、これは問題ないって。
586570:2006/02/25(土) 21:22:13 ID:???
>>585
ん?分かってないですよ?

>これは問題ないって。
Microsoft.XMLHTTPが問題ない ということですか?
587Name_Not_Found:2006/02/25(土) 21:23:06 ID:???
おっせー
588Name_Not_Found:2006/02/25(土) 21:25:58 ID:???
forEach使うから遅いとかもあるように思うが。
589Name_Not_Found:2006/02/25(土) 22:28:02 ID:???
2つの変数に同じ値を代入する際に省略した記述方法はありませんか?

a = 1;
b = 1;
590589:2006/02/25(土) 22:33:49 ID:???
思いつきました。

a = b = 1;

あってますか?
591Name_Not_Found:2006/02/25(土) 22:56:28 ID:???
>>586
基本は循環参照 → 明示的な循環だけ(誤)
というふうに記憶が誤って変化していました。
申し訳ない、>>585は間違いです、メモリリークします。

http://msdn.microsoft.com/library/en-us/ietechcol/dnwebgen/ie_leak_patterns.asp
を信じれば、要するに、クロージャを匿名にせずに、
後から参照してnullを代入すればGCされるらしい、と。

function HTTP(url, funcName) {
  if (url.search(/\?/) == -1) url += '?' + (new Date()).getTime();
  var httpObj = new ActiveXObject("Microsoft.XMLHTTP");
  var httpObj_onreadystatechange = function () {
    if (httpObj.readyState == 4) {
      window[funcName](httpObj.responseText);
      httpObj.onreadystatechange = null;
      httpObj_onreadystatechange = null;
    }
  };
  httpObj.onreadystatechange = httpObj_onreadystatechange;
  httpObj.open("GET", url , true);
  httpObj.send();
}
592Name_Not_Found:2006/02/25(土) 23:02:59 ID:???
>>588
Array#forEach ら、Gecko1.8b2の独自拡張は、引数を束縛するから、
寧ろ、純粋な速度比較ができるような気がしますよ。

function f() {
  print(1);
  f = function () {print(2);}
}

js> Array(2).forEach(f)
1
1 // f は書き換えられたはずなのに、ループ内では反映されない。束縛されている。
js> f.toString()
function () {
    print(2);
}
js> Array(2).forEach(f)
2
2
593Name_Not_Found:2006/02/25(土) 23:05:50 ID:???
>>592
これってどうやってテストしてるんですか?
(何使ってるんですか?ってことです。)
Rhinoで試したけどforEach使えないっぽいんですが。
594570:2006/02/26(日) 12:24:38 ID:???
>>591
とりあえず
>httpObj.onreadystatechange = null;
この行、型が一致しませんエラーが出ますよ。

自分も英語読んできます。
595Name_Not_Found:2006/02/26(日) 14:19:10 ID:???
質問なのですが、画面下部にナビゲーションを固定したいと思っております。

if (self.pageYOffset){
scrY = self.pageYOffset;
}else if (document.documentElement && document.documentElement.scrollTop){
scrY = document.documentElement.scrollTop;
}else if (document.body){
scrY = document.body.scrollTop;
}
document.getElementById('navi').style.bottom = - scrY + 'px';

上記のようにするとMozillaでは大丈夫ですが、IEでは下にスクロールするとスクロールバーが永久に伸びます。
どのようにすればいいでしょうか?
596595:2006/02/26(日) 15:04:35 ID:???
自己解決しました。
597Name_Not_Found:2006/02/26(日) 16:21:21 ID:???
DOMで現在選択中のoptionのvalueを参照するにはどういう指定をすればいいですか?
598597:2006/02/26(日) 16:29:53 ID:???
とりあえず今ここまで考えたんですが、まだわかりません。

document.getElementById('a').attributes.getNamedItem('selected').nodeValue;

nodeValueではないみたいです。
599Name_Not_Found:2006/02/26(日) 16:43:33 ID:???
<select>
<option value="00" id="hour00">00</option>
<option value="01" id="hour01">01時</option>
<option value="02" id="hour02">02時</option>
<option value="03" id="hour03">03時</option>
<option value="04" id="hour04">04時</option>
<option value="05" id="hour05">05時</option>
<option value="06" id="hour06">06時</option>
<option value="07" id="hour07">07時</option>
<option value="08" id="hour08">08時</option>
<option value="09" id="hour09">09時</option>
<option value="10" id="hour10">10時</option>
<option value="11" id="hour11">11時</option>
<option value="12" id="hour12">12時</option>
<option value="13" id="hour13">13時</option>
<option value="14" id="hour14">14時</option>
<option value="15" id="hour15">15時</option>
<option value="16" id="hour16">16時</option>
<option value="17" id="hour17">17時</option>
<option value="18" id="hour18">18時</option>
<option value="19" id="hour19">19時</option>
<option value="20" id="hour20">20時</option>
<option value="21" id="hour21">21時</option>
<option value="22" id="hour22">22時</option>
<option value="23" id="hour23">23時</option>
</select>
こんなプログラムでプルダウンメニューを作ってるんだけど
PCの内部時計に合わせて過ぎた時間を消していくことってできる?
過ぎた時間を選択することはできないようにしたいんだけど。
600Name_Not_Found:2006/02/26(日) 17:21:01 ID:???
なぜDOMなの?
601Name_Not_Found:2006/02/26(日) 17:25:01 ID:???
IEでいうdocument.selection.clear()をFireFox(というかできるだけ多くのブラウザ)でも実現するにはどうしたらよいですか?
ドラッグ中に選択範囲を解除したいのです。
602Name_Not_Found:2006/02/26(日) 18:23:03 ID:???
>>597
var select = document.getElementByTagName("select")[0];
alert(select[selectedIndex].text);
603597:2006/02/26(日) 18:34:52 ID:???
>>602
レスありがとうございます。
しかしそれを参考に組むと、selectedIndexは宣言されていませんというエラーが出ます。
604Name_Not_Found:2006/02/26(日) 19:16:50 ID:???
select[select.selectedIndex].text
605597:2006/02/26(日) 19:28:58 ID:???
>>604
神!!!!!!!!!!!!!!!!!!!!!!!!!!!!
606Name_Not_Found:2006/02/26(日) 21:43:04 ID:???
どうしてもcheckboxのcheckedをtrueかfalseか調べることができません・・・


<input type="checked" id="id" onclick="alert(this.attributes.getNamedItem('checked').nodeValue);" />


こういう風にしてるんですけどfalseしか返ってきません。
DOMでやりたいんですけどやり方ないでしょうか?
607606:2006/02/26(日) 21:44:05 ID:???
あ、間違えました。


<input type="checkbox" onclick="alert(this.attributes.getNamedItem('checked').nodeValue);" />


これです。
608Name_Not_Found:2006/02/26(日) 22:19:14 ID:???
今週の重点項目はDOMにきまりだな。
609604:2006/02/26(日) 22:40:20 ID:???
>>608
同意
onclick="alert(this.checked)"
610606:2006/02/26(日) 22:42:30 ID:???
checkedはDOMです?
611Name_Not_Found:2006/02/26(日) 22:56:59 ID:???
checked は、HTMLInputElement インターフェイスの属性ですね。

HTML に対する DOM API は、
DOM の仕様書の中で DOM HTML という形で記述(定義)されてるよ。
612606:2006/02/26(日) 23:07:03 ID:???
>>611
ありがとうございました。
>>604
ありがとうございました。
613Name_Not_Found:2006/02/27(月) 15:18:04 ID:???
1つのタグの中でonclick="selectClick()"とonchange="selectChange()"を
よびだしたいんだけど無理?
つまり、プルダウン等で値が変わったときとクリックされたとき
それぞれ違うことをしたいんだけど
614Name_Not_Found:2006/02/27(月) 15:19:03 ID:???
>>613
あ、それ、ワシもやりたい。
615Name_Not_Found:2006/02/27(月) 15:41:08 ID:???
URLのhash部分をscriptで、リロード無しで書き換えたいのですが、
Mac IEだけ
 location.hash='foo';
としても書き換わらないんですが、もしかしてRead Onlyで実装されてるのでしょうか。

「読み込み中」表示のままになったり(Safari)、
 location.hash='';
としたときにリロードしてしまうブラウザ(Firefox?)があったりするのですが、
Mac IEだけ、hashの書き換え自体ができないようなので。
616Name_Not_Found:2006/02/27(月) 15:43:45 ID:???
location.hash = "#foo";
にしる
617Name_Not_Found:2006/02/27(月) 16:36:03 ID:???
http://www.openspc2.org/reibun/javascript/table/003/
上記ページを参考に、リンク集を作ることを考えていました。
条件としては、いくつかの項目によってソートができることと、
外部ファイル(上記の場合はcsvファイル)にテーブルの要素となるものを
記述することで、更新の手間が簡略化できることです。
ただ、ここで書かれた方法だと、IEぐらいしか対応していないので、他の
ブラウザにも対応した方法はないものかと考えています。
(IE・FIREFOX・OPERAのそれぞれ最新版で対応されてる程度)
候補として、
http://allabout.co.jp/career/javascript/closeup/CU20050630A/index.htm
上記ページに書かれた方法も考えているのですが、他にも簡単な方法があれば
教えていただきたいと思い、書き込みさせていただきました。
これから勉強することになりますので、「方針」についてアドバイスをいただけると
ありがたいです。
よろしくお願いします。
618601:2006/02/27(月) 18:10:12 ID:???
すみません、どなたかわかりませんか?
619Name_Not_Found:2006/02/27(月) 18:29:05 ID:???
620Name_Not_Found:2006/02/27(月) 21:15:16 ID:TZdac/N8
var a = 1;
var a = 2;

とか、

for (i=0;i<100;i++) {
var a = 1;
}

とか、
多重に変数宣言される書き方ってだめでしょうか?
621Name_Not_Found:2006/02/27(月) 21:46:47 ID:???
>>620
もちろんダメ。エラーになる。終了。
>>601
過去スレにあったぞ。ちったあ検索しろよ。
ttp://user.ftth100.com/mirrorhenkan/javascript/read.php?key=1114774413&st=588&to=594
622Name_Not_Found:2006/02/27(月) 22:03:39 ID:???
for (i=0;i<100;i++) {
var a = 1;
}

これは問題ないだろ
623Name_Not_Found:2006/02/27(月) 22:23:45 ID:???
624Name_Not_Found:2006/02/27(月) 23:05:02 ID:???
>>623
過去ログでも同じ質問が出てたが、結局すべてのオブジェクトに
onfocus/onblurハンドラをつけてフォーカスが入ったものを常に
追跡するしかないかな、ということになったと思う。
>>622
ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/12_Statements.html#VariableDeclaration
「Block は新しい実行スコープを定義しない」
なんだけど、仕様を読んでみると、複数回varがあるのはエラーじゃ
ないように読める。>>621 は間違いだったようだ、すまん。
625Name_Not_Found:2006/02/27(月) 23:27:01 ID:???
>>624
>>623ではないけどサンクス。
オブジェクトの持つメソッドを列挙しようとしたり、色々無駄なことを試してたよ。
626Name_Not_Found:2006/02/27(月) 23:39:02 ID:epo3oryi
>>619
ありがとうございます!
getSelection().removeAllRanges()でできました。
助かりました!
627617:2006/02/28(火) 03:25:24 ID:???
>>617お願いします。
628Name_Not_Found:2006/02/28(火) 05:59:32 ID:???
>>623
僕は見ていた. しかし through することにしたんだ.
なぜなら "focus の当たっている object/element" と言う対象は
script もしくは user の操作によって変化するからだ.
言い換えると変化の原因をしっかり把握していれば済むことなのだ.

"なぜ, そのことに気づかないんだ ?" というのが through の理由だ.
629Name_Not_Found:2006/02/28(火) 06:20:23 ID:???
また珍説か

>>617を助けてやれよ
nullにはちょうどいい内容だろ
630Name_Not_Found:2006/02/28(火) 07:15:30 ID:???
>>629
僕は未整理の文章を書くヤシが大嫌いなのだ.
この手合いは script を書かせてもグチャクチャ.
大抵絡みまくった script を解読させられることが多い.
"やりたいことをきちんと書く" ヤシしか僕は相手にしたくないのさ.
631Name_Not_Found:2006/02/28(火) 08:56:25 ID:???
nullにそう言われるようじゃおしまいだな(w
>>617
XmlHttpRequestでCSVを読んで自分でフィールドに分けて
自分で整列して整形して表示すればいいんじゃないの。
XmlHttpRequestは検索すれば情報あるよ。あとはどれも
ごく普通のプログラミングだよな。以上が方針。おしまい。
632Name_Not_Found:2006/02/28(火) 09:51:13 ID:???
「僕」だってよ。フフフ
633Name_Not_Found:2006/02/28(火) 09:52:24 ID:???
XmlHttpRequestでCSVを読むのか
634Name_Not_Found:2006/02/28(火) 12:38:15 ID:???
>>632
ウフフフフ
635Name_Not_Found:2006/02/28(火) 16:06:43 ID:???
ホームページの横幅サイズを知る方法を
教えて下さい。
636Name_Not_Found:2006/02/28(火) 16:12:08 ID:???
nullとは誰ですか?
637Name_Not_Found:2006/02/28(火) 16:40:15 ID:???
>>635
それくらい検索しろボケ。
>>636
過去ログ読めばそのコテハン大量に出て来るよ。今は
コテハンやめてるだけで同一人物がいるのは明らか。
まあそれ以上興味あるなら自分で読んで回ってね。
638Name_Not_Found:2006/02/28(火) 17:27:03 ID:???
javascript でマウスカーソルの位置を設定する事はできますか?
ブラウザであるページを開いた時に、無条件に画面に左上などに
マウスカーソルを移動させたいのですが、アドバイス
よろしくお願いします。
639Name_Not_Found:2006/02/28(火) 17:30:08 ID:???
>>638
ほほお。それはおもしろいね。で、どこまで調べたの?結果は?
640Name_Not_Found:2006/02/28(火) 17:40:55 ID:???
mozillaでinsertBeforeを実行すると、おそらく要素のfirstChildにテキストノードがない場合に下記のエラーが出ます。

エラー: uncaught exception: [Exception... "Not enough arguments [nsIDOMHTMLTableCellElement.insertBefore]"
nsresult: "0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)"
location: "JS frame :: file:///D:/script.js :: initialization :: line 5" data: no]

要素のfirstChildに何もない(空要素)場合、テキストノードを挿入するには他の命令があるのでしょうか?
ちなみにIEではエラーは出ません。
641Name_Not_Found:2006/02/28(火) 18:30:08 ID:???
createTextNode, appendChild
642640:2006/02/28(火) 18:35:29 ID:???
あ、勘違いしてました。
では失礼。
643640:2006/02/28(火) 18:48:55 ID:???
あ、すみません。
要素とclass属性をJavaScript内で生成したものにclassで指定しているCSSがIEでのみ適用されないのは仕様ですか?
あと、mozillaでcreateElementした場合、その要素の前に改行が入るのは仕様ですか?

また、対処法はありませんか?
ご存知の方よろしくお願いします。
644640:2006/02/28(火) 18:53:34 ID:???
あ、前者の件については過去ログにて解決しました。
645Name_Not_Found:2006/02/28(火) 19:07:18 ID:???
>>617
"リンク集" なるものが どんなものか不明なんだけど,
"table を使って sort できる" と言う発想が理解できない.
むしろカテゴリーごとに表示したほうが良いのではないのか ?
目的にあったアプローチを根本的に考え直したほうが良いんでないの ?

一般的に "リンク集" は 作っておしまいと いうものではない.
となると... もっとも重要なことは...
変更のしやすさと, data の使いまわしができることになるだろう.
大切なのは script そのものよりも data file をいかに作るかと言うこと.

"これから勉強する" 人に data file 作りの過程で発生する
bug を fix できるのだろうか ?
(data file を作るときに些細なミスを犯しやすく,
動作しなくなる ことが多い)
646Name_Not_Found:2006/02/28(火) 19:22:56 ID:???
>>643
> あと、mozillaでcreateElementした場合、その要素の前に改行が入るのは仕様ですか?
手元では入らない。実例は?
647640:2006/02/28(火) 19:50:07 ID:???
>>646
今実例を出そうとしてたら原因が判りました。
どうやら

</td><td>★ここにappendChild★
</td><td>・・・

上記のような形で、改行のみのテキストノードをIEが勝手に削除するというバグ対策をすると起こるようです。
そこで

</td><td>★ここにappendChild★</td><td>・・・

上記のように</td>を改行しないことにより解決しました。
ありがとうございました。
648640:2006/02/28(火) 19:51:07 ID:???
どうやら改行をしていたのは自分自身だったようですね。
649Name_Not_Found:2006/02/28(火) 19:54:59 ID:9uwz3V4l
>>637

検索した結果、わからなかったので、
宜しくお願いします。
650Name_Not_Found:2006/02/28(火) 19:59:52 ID:???
>>649
ホームページ 横幅 サイズ
じゃ分からんな
651Name_Not_Found:2006/02/28(火) 20:21:23 ID:???
>>650
それじゃ無理だろ。
>>649
で、どういう検索語でどこを検索したのよ。それも書かずに
お願いしますもないもんだ。
652Name_Not_Found:2006/02/28(火) 20:54:11 ID:???
>>651
ユードラで3,000万円振りこめば話は別だが。
(ホンモノはケタにカンマが入ってるんだよ、永田クン)
653Name_Not_Found:2006/02/28(火) 20:59:05 ID:???
>>650
ホームページでの注文ならだれにも内緒でできます。最近ご自分の横幅に
お悩みのあなた。サイズを気にする必要はもうありません。「幅ドカン!」
なら、明日からすぐにスッキリ美人になれます。

というのが、引っ掛かりましたが、なにか?
654Name_Not_Found:2006/02/28(火) 21:00:02 ID:???
>>653
なにか?ってなにが?
655Name_Not_Found:2006/02/28(火) 22:18:19 ID:???
>>653
だから「どこの検索に」「どういう指定で検索したか」を
書けといっている。それができるようにならないとここで
その1件だけ教えてもザルで水汲むようなもんだろ。
656Name_Not_Found:2006/02/28(火) 22:20:16 ID:???
>>655
それが人にものを尋ねる態度か?
657Name_Not_Found:2006/02/28(火) 22:35:05 ID:???
( ^ω^)こんがらがってどっちが質問者か読んでてわけわからん
655が質問者なのか?
658Name_Not_Found:2006/02/28(火) 22:35:33 ID:???
>>656
いや別にいいよ。アンタもう帰ったら。ここで質問するのに
向いてないね。二度とくるな。

最後に教えといてやろ。「JavaScript ページ 横幅」でぐぐれ。
二度と来るなよ。
659Name_Not_Found:2006/02/28(火) 23:10:10 ID:???
>>658
なんで俺がぐぐらないといかんの?
当人に言ったら?
660Name_Not_Found:2006/02/28(火) 23:24:37 ID:???
ガ━━(゚Д゚;)━━━ン!!!!!
661Name_Not_Found:2006/03/01(水) 00:01:50 ID:???
あのう、お客さまはもうとっくにお帰りなりましたんや
けどなぁ? よろしく、ゆうてはりましたわ。
662Name_Not_Found:2006/03/01(水) 05:48:42 ID:???
msdn.microsoft.com や developer.mozilla.org があるのに、
ぐぐって劣化コピーを漁れとは、おかしな話だ。
663Name_Not_Found:2006/03/01(水) 08:19:51 ID:???
いきなりリファレンスが読めるヤシがあんな質問するかよ。
664Name_Not_Found:2006/03/01(水) 08:49:52 ID:???
>>662-663
ど初心者にそこ教えたら完璧IE専のをつくっちゃうだろうなあ。
665Name_Not_Found:2006/03/01(水) 09:21:56 ID:???
はじめから100点満点とる必要はないでしょ
666Name_Not_Found:2006/03/01(水) 12:58:12 ID:???
>>663-665
MSDNとMDCの話をしたのに、document.compatMode で分岐する話を補足しないのは、なぜでしょうねえ。
もしかして、おまえらが初心者でしたか。知ってたけど(笑)
667Name_Not_Found:2006/03/01(水) 13:14:56 ID:???
このスレの回答例でcompatModeの出て来るものなんてないだろ。
それはなぜだろうね(w
668Name_Not_Found:2006/03/01(水) 13:15:31 ID:???
使用可能なフォントの一覧を取得することってできますか?
669Name_Not_Found:2006/03/01(水) 13:29:01 ID:???
>>668
できないと思うなあ。
670Name_Not_Found:2006/03/01(水) 13:36:44 ID:???
>>669
http://ma.la/mirrorman/wiki.cgi/%E4%BD%9C%E3%81%A3%E3%81%9F%E3%82%82%E3%81%AE
できるって書いてあるのを見つけたんですが
具体的にどうするのかがわかりません。
671Name_Not_Found:2006/03/01(水) 13:40:08 ID:???
>>670
ActiveXでやるのがあるんだ。そりゃ検索して探すしかないだろ。
洩れはGecko使いだから助けてやれないのであしからず。
672668:2006/03/01(水) 13:49:32 ID:???
673Name_Not_Found:2006/03/01(水) 13:57:52 ID:???
最速インターフェース研究会か
674635:2006/03/01(水) 14:31:06 ID:???
>>658

こんにちは。
実際には>>635>>649しか書いてないのですが、いろいろ皆さんで書いて頂き感謝してます。
特に「JavaScript ページ 横幅」でぐぐれと教えてくれた方、ありがとうございます。

document.body.clientWidth等で幅を調べるとウィンドウの幅でサイズを判断するじゃないですか。
そうじゃないんですよ。これは質問前からわかってるんです。

ウィンドウを縮小したときに、横スクロールが出ない限界サイズはいくつか知る方法を教えて欲しいんです。

ウィンドウの横幅サイズではなく、ホームページの横幅サイズなんです。
ここで聞くのは無理なのかな…、とにかく頼みます。
675Name_Not_Found:2006/03/01(水) 14:36:52 ID:???
「ホームページの横幅サイズ」ではやはり意味が分からんが、
ページの中身をこつこつ調べるしか無いと思う。
もしくは、実際に縮小していって、スクロールバーの出たサイズを
求める。
676Name_Not_Found:2006/03/01(水) 14:54:55 ID:???
>>674
そりゃ書いてる内容によるんじゃないの?
たとえばテーブルのサイズが500pxならウィンドウ幅が
その値に近くなったときにスクロールバーが表示される。

というかその値を求めて何がしたいか書いたほうがいいと思う。
まったく別の方法でやりたいことが実現できることがある。

慣れないうちは自分で思いついたものしか
選択肢がないように思い込んでしまうものだし。
677Name_Not_Found:2006/03/01(水) 15:29:36 ID:???
>>674-676
何をしたいかはほぼ明らかだと思うが。内容幅を調べて
スクロールバーが出ないように窓の幅を調整するんでは。
そういうインタフェースはアリだと思うな。で、ホレ。
(本来のページ内容を全部1つのdivに入れるようになってる)。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function init() {
var w0 = document.body.clientWidth;
var w1 = document.getElementById('d0').offsetWidth;
window.resizeBy(w1+20-w0, 0);
}
</script>
</head><body onload="init()">
<div id="d0" style="position:absolute">
<pre>
abcdeabcdeabcdeabcdeabcdeabcdeabcdeabcdeabcdeabcde
</pre>
</div>
</body></html>
678Name_Not_Found:2006/03/01(水) 15:35:20 ID:???
エスパー乙
679Name_Not_Found:2006/03/01(水) 15:48:05 ID:???
<html><body>
<input type="button" value="追加" onclick="widthTest()">
height:<span id="result"></span>
<div id="testDIV1" style="width:100px; height:100px; border:1px solid black;">
<div id="testDIV2"></div>
</div>
<script>
function widthTest(){
 testDIV2.insertAdjacentHTML('beforeEnd','適当な文字列');
 result.innerHTML=testDIV1.style.height;
}
</script>
</body></html>

縦横をピクセル指定したtestDIV1の中の
testDIV2の内容が動的に増えてtestDIV1が押し広げられたとき、
testDIV1の現在の正しいwidthやheightを取得する方法はありませんか?

この場合どんなに押し広げられても元の100pxという値しか取得できません
680Name_Not_Found:2006/03/01(水) 15:52:51 ID:???
>>679
テンプレを読んでないな。とくに FAQ>>3 は必須なんだが…
ともかく、>>677 みたいにoffsetWidth等を参照するのがいいのでは。
まさか >>677 すらも熟読していないとか…そんな奴は帰って欲しいが。
681Name_Not_Found:2006/03/01(水) 15:55:05 ID:???
>>679
正しいstyle.heightは100で正しい
ttp://east.portland.ne.jp/~sigekazu/css/javascript10.htm
682679:2006/03/01(水) 16:01:29 ID:???
>>680 >>681
あー関係のある質問してる人がいたんですね。
offsetWidthとoffsetHeightでいけるんですね。
ありがとうございました。

683Name_Not_Found:2006/03/01(水) 16:36:06 ID:???
文字化けで質問なんですが、
Ajaxでcsvファイルを読み込んで表示させる場合、
IEとFireFoxでは問題ないんですが、
Operaの場合文字化けしてしまいます。
文字コードはhtml、csvともUTF-8です。
なんとかならないでしょうか。
宜しくお願いします。
684Name_Not_Found:2006/03/01(水) 17:03:08 ID:???
>>683
UTF8ならいいはずだけどなあ。読み込む時に文字セットを指定してみれ。
過去スレにあるから…ごそごそ…これで逆にUTF8を指定してみれば。
ttp://user.ftth100.com/mirrorhenkan/javascript/read.php?key=1130892220&st=753&to=807
685683:2006/03/01(水) 18:03:48 ID:???
>>684
だめでした・・・。以下、簡単な確認ソースです。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Ajax</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript">
<!--
function dataLoad(){
var http = null;
try{http = new ActiveXObject("Msxml2.XMLHTTP");}
catch(e){http = new XMLHttpRequest();}
http.open("GET","sample.csv",false);
http.setRequestHeader("Content-Type","text/csv;charset=UTF-8");
http.send("");
document.getElementById("hoge").innerHTML = http.responseText;
}
//-->
</script></head><body>
<input type="button" value="load" onclick="dataLoad()" />
<div id="hoge">表示エリア</div>
</body></html>

Content-Typeはtext/csvでいいのかググってもよくワカラン('A`)
txtファイルにするしかなさそうですorz
686Name_Not_Found:2006/03/01(水) 19:49:05 ID:???
UTF-8 と UTF-8N の違いとか。
687Name_Not_Found:2006/03/01(水) 20:41:28 ID:???
>>685
ちゃんと読んだのかよ、overrideMimeType()を使ってみなよ。
それでOKかどうかは確信ないけどね。げげ、もしかしてOpera
だとそのメソッドないのかな?
688Name_Not_Found:2006/03/02(木) 01:22:43 ID:???
JavaScriptとJavaの違いを理解できず、スクリプトを組むための最低限の
HTML・CSSを理解できない私はどこのスレッドに行ったらいいのか教えてください。
689Name_Not_Found:2006/03/02(木) 01:26:37 ID:???
もちろん、Web製作初心者スレへどうぞ。特にJSがらみなら
手取り足取りスレへ。
690Name_Not_Found:2006/03/02(木) 01:33:11 ID:???
JavaScriptとJavaの違いを理解できないのではっきりJSかどうか分からないのですが
一応
<SCRIPT language="JavaScript">
<!--
function ms(){
で始まってるので手取り足取りスレへ行ってみます。
ありがとうございます>>689
691685:2006/03/02(木) 08:38:22 ID:???
>>686
両方試してダメでした。
>>687
Operaには無いようです。
692Name_Not_Found:2006/03/02(木) 08:44:56 ID:???
693685:2006/03/02(木) 08:55:26 ID:???
>>692
>>684さんのところの>>756で見ました。

>Operaには(8.01現在)setRequestHeaderメソッドが実装されていません。
>そのためHTTPクライアントとしての機能は非常に制限されたものとなっています。

というのがあったんですが、8.5と9.0では特にエラーでjsがとまることも無いので、
使えるのかなと思ってやってみたんですが、文字化けは直らないですね。
もうバグだということにしてあきらめようと思ってます。
694Name_Not_Found:2006/03/02(木) 09:17:04 ID:???
617が参考になるんじゃない?
695Name_Not_Found:2006/03/02(木) 09:55:23 ID:???
>>693
これはさあ、>>692 に書かれているURIを読むとOperaでは文字
コードを常に自動判別としてるじゃない。UTF-8を自動判別って
いうのは危ういと思うんだよね。先頭にUTF-8だと判別されやすい
データをわざといれるとかどうかな(どういうデータというのは
よく分からないけどさ)。
696Name_Not_Found:2006/03/02(木) 12:43:18 ID:v7/pi70d
単純な質問で恐縮です。
var many=4;
var fig='z';
としたとき、変数 many と fig を1回ずつ使って、文字列
z+z+z+z
を作る書きかたってありますか。掛け算なら簡単なのですが
分からなくなってしまいました。
697696:2006/03/02(木) 12:51:36 ID:???
ごめんなさい。肝心なこと書き忘れました。
for(i=0;i<many;i++){
res+='fig'
}
とかのfor文でないやりかたが知りたいのです。
698Name_Not_Found:2006/03/02(木) 12:53:21 ID:???
宿題ですか
699Name_Not_Found:2006/03/02(木) 12:58:54 ID:???
それ間違ってるし。

forがダメならwhileとかあるけどな
700Name_Not_Found:2006/03/02(木) 13:22:08 ID:v7/pi70d
referrerについて質問です。
JavaScriptでアクセス制御をやりたいのですが、限界があるという話を
聞きました。やはりクライアントサイドでは無理というか不十分ですか?
訪問者がJavaScriptを切っていたらムダだという意味だと理解したので
すが・・・。
701Name_Not_Found:2006/03/02(木) 13:39:19 ID:???
JavaScriptでのアクセス制御自体の可否は知らないけど

>訪問者がJavaScriptを切っていたらムダ
重要な情報は外部ファイルのスクリプトで表示を制御
することにして、そのスクリプトファイル自体もCGIで
呼び元によってスクリプトの内容を出力する/しないを
制御すれば隠匿は可能かも。
702701:2006/03/02(木) 13:53:53 ID:???
ごめん、クライアントサイドだけで、って話だったね。
703Name_Not_Found:2006/03/02(木) 13:56:43 ID:v7/pi70d
ネスケでは<PRE>タグ内の文字列の空白を詰める設定がCSSであったとおもい
ますが、IE(6)で、改良されている文字列の改行を破棄するにはどうすれば
いいのでしょうか。具体的には、

杉田玄白たちは医学のプロだったがオラ
ンダ語は素人同然だった。そのた めに
1日かけて「眉というのは目の上に生え
た毛である」という言葉を翻訳している。

というのを

杉田玄白たちは医学のプロだったがオランダ語は素人同然だった。そのた[改行なし]
めに1日かけて「眉というのは目の上に生えた毛である」という言葉を翻訳している。

のようにずっとつなげたいです。すいません、よろしくお願いします。
704703:2006/03/02(木) 13:59:54 ID:v7/pi70d
重ねての質問ですいません。訂正です。
>>703
×改良  ○改行
705Name_Not_Found:2006/03/02(木) 14:24:58 ID:???
>>703
/* CSS・スタイルシート質問スレッド【52nd】
http://pc8.2ch.net/test/read.cgi/hp/1139885961/

white-space、word-spacing、IE6のDOCTYPEスイッチ、あたりは見たかな?
706Name_Not_Found:2006/03/02(木) 14:30:20 ID:???
>>703-704
JSの話題じゃないじゃん!!! CSSスレへ逝けアホ。
>>700
document.referrerは「URL直打ち」や「お気に入りから飛ぶ」
場合は値が入らないから何の役にも立たないよ。
707Name_Not_Found:2006/03/02(木) 16:03:27 ID:???
>709、06
みなさん、ありがとうございました。
2chの人でもやさしい方いらっしゃるんですね。
708Name_Not_Found:2006/03/02(木) 16:10:35 ID:EkDcu9ll
いろんなサイトのJSをいじったりしてみたら、セキュリティがどうのと、でてきたりするんですが、
ウイルスにやられたり、不正アクセスで、サイトの管理人とかに通報されたりしないでしょうか?
709Name_Not_Found:2006/03/02(木) 16:17:38 ID:???
>>708
ハア?もっと具体的に書いてくれないと答えようがないよ。
「いろんな」じゃなく、どれか1つに絞って、どこで何をしたら
どういうメッセージ(省略せずにそのもの全部)が出たけどという
風に質問してくれ。
710Name_Not_Found:2006/03/02(木) 16:27:12 ID:???
URLもぜひたのむ。
711Name_Not_Found:2006/03/02(木) 16:32:11 ID:???
>>709=まちゃまちゃ
712708:2006/03/02(木) 17:04:56 ID:EkDcu9ll
すみません。スレ違いな質問でした。
713Name_Not_Found:2006/03/02(木) 18:24:28 ID:lL9W5LFf
同じ項目のtextbox等作るときいちいちonkeyup〜とか記述するのが
めんどいのですが
この重複を省くことはできないのでしょうか?
CSSのクラスとかみたいに管理できれば嬉しいのですが・・。
714Name_Not_Found:2006/03/02(木) 18:33:42 ID:???
onload で textarea にイベントハンドラ付ける
わからなければ今まで通りにやっとけ
715Name_Not_Found:2006/03/02(木) 18:44:09 ID:???
ハハハ。厳しいが Good な回答だな。
716Name_Not_Found:2006/03/02(木) 22:08:02 ID:???
ちょっと疑問に思ったのだけれど、
別ドメインのjsを読み込んだとき、そのスクリプトから見えるドメインはどこなんだろう?

たとえば
http://test.com/a.html
で、
<script type="..." src="http://example.com/example.js"></script>
と記述した場合、

example.jsの中でexample.comに(たとえばXMLHttpRequestで)アクセスした場合、
それは動かないと思うんだけど(というのもsrc属性はそこに当該URIの内容を埋め込むから)、
この認識はあっているかな?
717Name_Not_Found:2006/03/02(木) 22:17:51 ID:???
>>716
それであってるだろ。srcなんだし
718Name_Not_Found:2006/03/03(金) 19:56:12 ID:???
<script langage="JavaScript">
<!--
//最近2chで質問しようと文章を打っているうちにこたえが浮かぶようになってしまった
//淋しいような気もするけど、ちょっとうれしい。ありがとう。
// -->
</script>
719Name_Not_Found:2006/03/03(金) 20:44:52 ID:???
文章を打つというのは自分で整理するということでもあるから、
その過程で解決策が浮かぶのはそれほど不思議なことではないけどね
720Name_Not_Found:2006/03/03(金) 21:18:20 ID:X6Hq8mCR
DOMでformのvalueにアクセスするのは、邪道ですか。
var f=document.getElementsTagName('form');
f[0].childNodes[2].nodeValue='test';
みたいなコードはできないでしょうか。
721Name_Not_Found:2006/03/03(金) 21:31:22 ID:KbaktoFX
ajax使って入力文字からPHP→DB→XML→フォームの値を与える
ってことやってるんですが、
document.getElementById('total').value = total;
みたいにして input の値は書き換える事できたんですが、
select の値が変わりません。(選択が変わりません。

ちなみに
<select name="course">
   <option value="第一コース">第一コース</option>
<option value="第二コース">第二コース</option>
</select>
となってて、value と インデックスは 一緒の値です。
722Name_Not_Found:2006/03/03(金) 21:38:40 ID:???
>>720
ちゃんとノードツリーの構造が合ってればいいんでは。
なお、getElementsTagNameというメソッドは存在しない。
>>721
selectの場合は「...selectedIndex = 番号」で選択肢の
番号を設定すれ。
723Name_Not_Found:2006/03/03(金) 21:59:10 ID:???
>>722
有難うございます。
document.form.course.selectedIndex = 2;
とかすれば変わったのですが、
XMLから取得する値はvalueの値なんで数字がわからないんです。。
数字以外の方法か、valueの値から番号を取得する方法ってないですかね?
724Name_Not_Found:2006/03/03(金) 22:02:04 ID:bkec/b30
>>3にある
>innerHTMLは非標準ですがIE、Opera、Gecko(N6/N7/Moz等)で対応済。
とのことですが、それに変わる何か推奨される手段はありますか?
725Name_Not_Found:2006/03/03(金) 22:02:31 ID:???
>valueの値から番号を取得
optionをforで回してvalueと任意の文字列とが等しいか判定
番号はi
726Name_Not_Found:2006/03/03(金) 22:09:52 ID:KbaktoFX
>>725
できればもう少し詳しくお願いしますm(_ _)m
727Name_Not_Found:2006/03/03(金) 22:11:55 ID:???
>>725
>番号はi
で混乱した
728725:2006/03/03(金) 22:32:15 ID:???
list = new Array("あいう","かきく","さしす","なにぬ","はひふ");
num = null;
for(i=0;i<list.length;i++){
if(list[i]=="なにぬ"){
num = i;
break;
}
}
alert(num); //3
729Name_Not_Found:2006/03/03(金) 22:50:22 ID:c6kBsDzo
質問です。
bodyに要素を追加して、その要素をクリックしたら削除する、ということがしたいです。

function obj(){
this.div = document.createElement("div");
this.txt = document.createTextNode("閉じる");
this.div.appendChild(this.txt);
this.div.onclick = function(){ this.remove(); }
}
obj.prototype.append = function(){
document.body.appendChild(this.div);
}
obj.prototype.remove = function(){
document.body.removeChild(this.div);
}
var o = new obj();
obj.append();

と書いたのですが、this.remove is not a functionとエラーになります。
おそらくthisのスコープ?がおかしいのは解るのですが、どのように書けばよいのかが
解りません。
その他おかしいところもあるかもしれませんが、よろしくお願いします。
730Name_Not_Found:2006/03/03(金) 23:16:43 ID:KbaktoFX
document.getElementById('>>728').value = ありがとうございます。うまくいきましたm(_ _)m
731Name_Not_Found:2006/03/04(土) 00:02:29 ID:???
>>729
コンストラクタがなんで要るのかわからん。

function add_div(parent_obj) {
var div = document.createElement('div');
div.appendChild(document.createTextNode("閉じる"));
div.onclick = function () { parent_obj.removeChild(this); }
parent_obj.appendChild(div);
}
add_div(document.body);

この方が好み。

element.onclick=function(){...} 中の this は element を指すので
オブジェクトを指すためにはコンストラクタ内で
self = this と保存して self を使ったりする。
732729:2006/03/04(土) 00:10:30 ID:NQKAJ77o
>>731
ありがとうございます。
実際に使うときには、このブロックの中に他にもいくつかの要素がはいり、かつ、
このブロックがいくつも生成されるので、オブジェクトにしています。
> element.onclick=function(){...} 中の this は element を指す

は理解できました。
コンストラクタ内で
> self = this と保存して self を使ったりする

がよく理解できません。上記のエレメントの無名関数になんとか
オブジェクトを渡さなければならないんですよね?
733729:2006/03/04(土) 00:15:59 ID:NQKAJ77o
早計でした。
ちょっとわかりかけましたので、もう少し悩んでみます。
また解らなかったら質問します。
ありがとうございました。
734Name_Not_Found:2006/03/04(土) 02:27:38 ID:???
>>731
http://msdn.microsoft.com/library/en-us/ietechcol/dnwebgen/ie_leak_patterns.asp

どーでもいいが、Rubyが地味に流行り始めてから、
識別子が 動詞 + 目的語 の形であっても、_ で繋いで平然としている鈍感が増えた。
ttp://merd.sourceforge.net/pixel/language-study/syntax-across-languages.html#VrsTkns
735674:2006/03/05(日) 12:34:41 ID:89xgebl7
>>676
>>677

かなり遅くなりましたが、ありがとうございます!
で、何がしたいかというと、

ホームページって印刷するとA4に収まりにくいじゃないですか。
はじっことかはみ出たり。
初心者にとっては、プリンタのサイズ調整とか、別のブラウザを使うとか、
メーカーから出てるソフト使って印刷とかそういうのって面倒だと思うんです。

ですから、JavaScriptでブックマークレットみたいに使って、
どんなページでも横がA4サイズに収まるにしたいんです。
縦はしょうがないにしても、横のサイズを無理やりでもいいので。

がいしゅつならごめんですが、目的はそれです。
出来る方、宜しくお願いします。
736Name_Not_Found:2006/03/05(日) 20:32:19 ID:???
これでおーるおっけー
javascript:for(i=0;i<document.styleSheets.length;i++){void(document.styleSheets.item(i).disabled=true);}
737Name_Not_Found:2006/03/05(日) 22:02:50 ID:???
微妙な質問ですがわかれば教えてください。
javascriptを使ってチャットなどで相手にブラクラ送ったりするようなことは
できるのでしょうか?
宜しくお願いします。
738Name_Not_Found:2006/03/05(日) 22:06:11 ID:???
>>737
何が微妙なんだ?とりあえず市ね
739Name_Not_Found:2006/03/06(月) 00:41:45 ID:y1gYDlx+
javascriptを使って他サイトから直リンク等で各ページに直リンクされた場合
トップページに自動的に飛ばす方法があるらしいのですがやり方がわかりません。
何方か教えてください。よろしくお願い致します。
740Name_Not_Found:2006/03/06(月) 00:53:10 ID:FztYTvvX
同ドメインからのアクセス以外はトップページに飛ばす
741739:2006/03/06(月) 02:00:21 ID:y1gYDlx+
レスありがとうございます!
ググったりして色々調べたのですがやり方が分からない次第です。
時間をとって悪いのですがソースを教えてくれませんか?
参考になるページのURLでも良いので。
他サイトからの直リンクが減らず困っています。
どうかよろしくお願いします。
742Name_Not_Found:2006/03/06(月) 02:14:10 ID:FztYTvvX
743Name_Not_Found:2006/03/06(月) 05:23:12 ID:gOkjn7K0




と分けたとき

margin padding border を 0にすると
中と下の間は埋まるのに

どうしても
上のDIV要素と中のDIV要素の間にスペースが入ってしまうんだけど


どうすれば良いの?
744Name_Not_Found:2006/03/06(月) 06:20:16 ID:???
>>743
ソースうp。改行は?
745Name_Not_Found:2006/03/06(月) 09:05:37 ID:???
>>743-744
JSの質問じゃないじゃん! CSSスレへ逝くべきだろ。
746Name_Not_Found:2006/03/06(月) 09:12:45 ID:OsDIbqnS
<a href="http://hoge.jp/2006/3/6.html">hoge</a>
というURLの日付の部分を、アクセスした日の日付に変えて表示するには、
どういうふうにすればいいですか?
747Name_Not_Found:2006/03/06(月) 09:19:40 ID:???
>>746
見ている途中で変更しないんだよな。だったらdocument.write()で
そのタグ全体を書き出すのが一番素直と思われ。日付はDateオブジェクト。
あとは自分でやるべきだな。
748Name_Not_Found:2006/03/06(月) 09:26:36 ID:3wVmb1Iw
>>736
CSS 解除ってことではありません
749Name_Not_Found:2006/03/06(月) 10:08:58 ID:???
だいたいさあ、preとかで長い行があったらどうやったって
横幅広くなっちゃうよね。どういう方針で幅を調整するって
いうことなのかな。長いのは切れてもいいわけ?
750Name_Not_Found:2006/03/06(月) 10:25:04 ID:3wVmb1Iw
>>749

でしゅね
751750:2006/03/06(月) 10:28:19 ID:3wVmb1Iw
まちがった

>>749

ですね。

うまい具合に収めるってのがあいまいだし、
無理だってことでしょうか。

WEBを印刷するってよくあることなので、
何かあるかなと思ったんでした。


752Name_Not_Found:2006/03/06(月) 11:17:17 ID:???
プリントアウトにいつもA3使ってる。
勝手に用紙サイズ指定されたくない。
753Name_Not_Found:2006/03/06(月) 12:41:52 ID:???
>>752
まあまあ、用途にもよるから。社内ネットワークで内部にだけ公開するための文書とかなら
そういうのもありでしょ。

>>751
CSS で screen メディアでの横幅を指定すればすむことのような気がするけど。
A4 なら @media screen {body{width:210mm;}} とかでいいんじゃないの?
749 のいうように画像とか pre とか画面上では見えてても印刷すると切れちゃう
かもしれないものもあるけど。

---------- サンプル ----------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>サンプル</title></head>
<body>
<button onclick="window.document.body.style.width='297mm'">A3</button>
<button onclick="window.document.body.style.width='210mm'">A4</button>
<button onclick="window.document.body.style.width='148mm'">A5</button>
<hr>
The Quick brown fox jumps over the lazy dog.
The Quick brown fox jumps over the lazy dog.
The Quick brown fox jumps over the lazy dog.
</body></html>
---------- ここまで ----------
754Name_Not_Found:2006/03/06(月) 12:42:55 ID:???
>>752
あほか?bookmarkletを使って印刷するヤシが手元で
調整するという話をしているんだろ。
755Name_Not_Found:2006/03/06(月) 12:53:35 ID:lu5JYneJ
javascriptで用紙設定を変えれたり、、、はしないですよね?このページだけはB5で印刷されるとか
無理ですね。
756Name_Not_Found:2006/03/06(月) 15:11:43 ID:???
A3→A4の縮小コピーの容量で

javascript:(function()%7Bvar%20objZoom=document.getElementsByTagName('body')[0].style.zoom=prompt('何倍にしますか?',%201);%20%7D)()

で0.7程度にして、印刷すると、まあまあいい感じでした。
757Name_Not_Found:2006/03/06(月) 17:25:49 ID:???
なるほどねえ。ただしzoomはIE専だよな、Moz使いの洩れには
使えないわ。
758Name_Not_Found:2006/03/06(月) 17:38:51 ID:???
印刷のときだけIE使えばいいんじゃね?
759Name_Not_Found:2006/03/06(月) 17:56:28 ID:???
それじゃあ印刷専用のブラウザ作れば解決じゃね?
760Name_Not_Found:2006/03/06(月) 18:12:28 ID:???
>>758
説明が不足していてすまん。Unix系だとIEがないんだわ。
761Name_Not_Found:2006/03/06(月) 18:24:56 ID:???
>>760
なるほど。
印刷はブラウザの独自機能だから、出来るとしたらpdfの動的生成くらいかな。
762Name_Not_Found:2006/03/06(月) 21:21:38 ID:jm7rrGIr
質問です。
ある要素内のテキストノードだけを検索し、マッチした部分をspan要素で括る、ということが
したいです。で、下記のように書きました。
var pattern = "/検索パターン/ig";
function addTag(obj){
    var tmp = obj.childNodes;
    for(var i=0 ; i<tmp.length ; i++){
        if(tmp[i].nodeType == 3){
            tmp[i].nodeValue = tmp[i].nodeValue.replace(pattern,"<span>$1</span>");
        }
        else{
            addTag(tmp[i]);
        }
    }
}

これでは、ただ<span>という文字列が書き込まれるだけで、要素は生成されないのは
わかったのですが、ではどうしたら良いのかわかりません。
アドバイス頂けますでしょうか。
よろしくお願いします。
763Name_Not_Found:2006/03/06(月) 23:26:25 ID:???
>>762 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<style type="text/css"> span { background-color: purple } </style>
<script type="text/javascript">
function test() {
addt(document.getElementById('d0'), /(.*?)(bc)/g);
alert(document.body.innerHTML);
}
function addt(e, p) {
for(var i = e.childNodes.length-1; i >= 0; --i) {
var f = e.childNodes[i];
if(f.nodeType == 1) { addt(f, p); }
else if(f.nodeType == 3) {
var s = f.nodeValue.replace(p, function(x,y,z) {
if(x != '') e.insertBefore(document.createTextNode(y), f);
var span = document.createElement('span');
span.appendChild(document.createTextNode(z)); e.insertBefore(span, f);
return ''; });
if(s == '') e.removeChild(f); else f.nodeValue = s;
}
}
}
</script>
</head><body><p><button onclick="test()">Test</button></p>
<div id="d0">abcdabcd<p>abcdabcdb</p>ceabcdbcabcd</div></body></html>
764Name_Not_Found:2006/03/06(月) 23:54:42 ID:???
どうしてそんなに見づらく書くんだぜ
765Name_Not_Found:2006/03/07(火) 00:05:09 ID:???
行数制限あるんで〜。字下げは取れちゃうんだよね、でもコピペ
して実行できる方がいいと思うから。
766Name_Not_Found:2006/03/07(火) 00:29:46 ID:???
質問があるのですがお願いします。

JSで子ウィンドウから、親ウィンドウのSubmit命令を連続で行いたいのですが、
「アクセス拒否されました」や「書き込み出来ません」などのエラーが出てしまいます。
これを防ぐ方法はありませんでしょうか?

ちなみに下記の様にやっています

function func(){
 for(i = 0;i < submit回数;i++){
  while(1){
   if(window.opener.document.readyState == "complete"){
    break;
   }
  }
  window.opener.document.form.submit();
 }
}

一応、親ウィンドウが前のsubmitを処理したのを確認出来るように組んだつもりですが
上記の様なエラーが出てしまいます。
ご存じの方がいらっしゃいましたらよろしくお願いします。
767Name_Not_Found:2006/03/07(火) 04:40:11 ID:???
(´・ω・`)「アクセス拒否されました」
768766:2006/03/07(火) 06:59:37 ID:???
すいません追記です。
正常に終了することもあるのですが、かなりの確率で上記の様なエラーが出てしまいます。
情報の後出しすいませんでした。
769Name_Not_Found:2006/03/07(火) 08:40:39 ID:???
>>766
Submitの連投==迷惑スクリプトとしか思えん。
迷惑スクリプトは回答されない。>>1-5
正当な使用法だというのならどういう用途なのか説明してみれ。
770Name_Not_Found:2006/03/07(火) 09:01:38 ID:???
迷惑スクリプトに決まってんだろ。
whileで待とうとしてる時点でオワットル
771Name_Not_Found:2006/03/07(火) 13:22:50 ID:sm1fW6Z0
<script type="text/javascript">
function browser(num){
var ua = navigator.userAgent;
if(ua.indexOf("MSIE 6", 0)>=0
{return ture;}
else if(ua.indexOf("MSIE 5", 0)>=0
{return ture;}
else if(ua.indexOf("Safari", 0)>=0
{return ture;}
else if(ua.indexOf("MSIE 7", 0)>=0
{return ture;}
else{return false;}
}
var answer = browser(num);
</script>

<script type="text/javascript">
<!--
if(answer=="ture"){
document.write("テスト\n");
}

//-->
</script>
772Name_Not_Found:2006/03/07(火) 13:23:33 ID:sm1fW6Z0
「answerは宣言されていません」とエラーがでます。
どこがおかしいんでしょうか。
773Name_Not_Found:2006/03/07(火) 13:28:00 ID:rhBzSv3u
質問です。
画像プロパティへのアクセスで、imgタグでname="pic"としたとき、
document.pic.src = 'car4.jpg';
のような記述は正しいですか?
774Name_Not_Found:2006/03/07(火) 14:39:14 ID:???
>>773
DOM的には正しくない。動くブラウザもあるだろうけど。
(1) document.images.pic.src = ...
(2) document.getElementsByName('pic')[0].src = ...
(3) ID振って document.getElementById('ID名').src = ...
のいずれかをおすすめする。
775762:2006/03/07(火) 14:41:14 ID:FkdrXalS
>>763
ありがとうございました。
おかげで、replaceの2番目の引数に関数を使う方法を学習しました!
776Name_Not_Found:2006/03/07(火) 14:41:19 ID:???
>>771
本当にその順で書いてあるの?あとnumが未定義だと思うが。
エラーのでる行はどの行?
777773:2006/03/07(火) 14:51:37 ID:???
>>774
ありがとうございます。
778ポーションまずい:2006/03/07(火) 14:58:36 ID:sm1fW6Z0
>>776
if(answer=="ture"){  の行で「answerが宣言されていない」とでます。

>numが未定義だと思うが。
詳しくお願いします。
プログラミングは初めてなもんで。
779Name_Not_Found:2006/03/07(火) 15:07:22 ID:???
>>771
if(ua.indexOf(.. の分岐のどっかで return されて var answer = は走ってないんじゃ?
780Name_Not_Found:2006/03/07(火) 15:14:29 ID:???
>>771
これは読みにくい。
var answerは関数の外にあるようにみえるが、、

var answer = browser(num);
のnumはからっぽ。
numを引数にする必要は?
781766:2006/03/07(火) 16:08:12 ID:???
携帯からなので簡単に書かせて頂きます。
JAVAのlistの内容を親ウィンドウに表示させていて、
そのlistのレコード数を子ウィンドウに合わせたいので一々submitで行っています。
非常に阿呆なコーディングをしているのは解っていますが親のソースを変えられないので
このような手間のかかる方法しか思い付きませんでした。
ご迷惑おかけして申し訳ありませんでした
782Name_Not_Found:2006/03/07(火) 16:20:22 ID:???
んなわけねーだろ





といってみるてす
783Name_Not_Found:2006/03/07(火) 16:22:51 ID:KgxZHMIC
マジ初心者なんだけど質問スマソ。
IEで動作確認しながらスクリプトを組み、正常に作動するのを確認して(IEからバク通知もなかった)、webにアップロードした。
webでは正常に動作している。
けれど、同ソースがローカルで動作しなくなった。
(同ソースを再度アップロードすると、web上にあれば読み込める模様。)
インターネットのセキュリティ設定は全て規定値で、いじっていない。
原因として、何が考えられると思いますか?
784Name_Not_Found:2006/03/07(火) 16:28:47 ID:???
どう動作しないのか書かんと分からんだに
785783:2006/03/07(火) 16:41:42 ID:KgxZHMIC
あ、すんません。
スクリプトはフォームタグで作ったボタンを押すと、関数を呼び出してMath.random()によって決定された乱数に従い、document.write()で文章を書き出す単純なもの。
ローカル環境で実行すると、ボタンを押してもドキュメントが書き出されず、エラー表示もされません。
786Name_Not_Found:2006/03/07(火) 17:03:59 ID:???
ローカルで動作させるとセキュリティ関係の設定が
Web上と違うので動作しないとかはあることだけど。
ところで「どこに」書き出すの。別窓とかだよね。
JSから別窓を開くのが抑止されてるとかじゃないのかな。
787Name_Not_Found:2006/03/07(火) 18:35:18 ID:???
>785
文言で説明するより、そのscriptを貼った方が早いと思うんだが。
788Name_Not_Found:2006/03/07(火) 19:22:59 ID:3Wln2SCp
>>781

携帯からなので簡単に答えさせて頂きます。

んなわけねーだろ

789Name_Not_Found:2006/03/07(火) 19:44:21 ID:???
>>788
ワロス
790Name_Not_Found:2006/03/07(火) 20:24:14 ID:RdCOqZqo
変数のスコープに関する質問なんですが、

var arr = [];
function func(param) {
 arr.push(function () {return param;});
}
func(1);
func(2);
arr.pop()(); // 2 を返す
arr.pop()(); // 1 を返す

このようなコードでparamという変数はどこのスコープにどう値を保持してるのでしょうか?
単純にfuncのローカルスコープと考えると2回目のpopの時点で上書きされていそうな1という値が復元できてしまう仕組みがよくわかりません。
791Name_Not_Found:2006/03/07(火) 20:29:28 ID:???
>>771
タイプミス多すぎ 色分けできるエディタ使ったほうがいいよ
browser()でifの条件式が閉じれてない
trueがtureになってる
792Name_Not_Found:2006/03/07(火) 20:29:59 ID:???
>>790
いやそのまんま func のスコープ、で、当前の動作だろう。
普通は呼ばれる度に破棄されるものだが function () {} の中で束縛されるから保持できてるわけだ。
「上書きされていそう」ってあやふやな理解してると後々面倒になるぞ。知ったことじゃないが。
793Name_Not_Found:2006/03/07(火) 20:52:53 ID:???
>>792
レスどうもです。
func(1)の呼び出しが終了した時点でparamはfunction () {}に束縛されているために破棄されていないのはわかりました。
それでその後でfunc(2)の呼び出しのときにfuncのスコープのparamは2に束縛し直されていますが、1はなぜ保存されているのですか?
794Name_Not_Found:2006/03/07(火) 21:33:03 ID:???
>>793
んんん?func(1) のときの func のスコープと func(2) のときの func のスコープは別物ってことは分かるよね?
再帰とかでスコープがどうなってるか考えてみ
795790:2006/03/07(火) 21:47:45 ID:???
>>794
禿しく納得しました。再帰の例でスコープの認識間違いに痛烈に気づきました。
お恥ずかしい限りでorz
ありがとうございました。
796Name_Not_Found:2006/03/07(火) 23:16:34 ID:n6QEAWTF
ボタンをクリックしたら、テキストエリアに日時を表示する方法ってどのようにやるのでしょうか?
教えてください。
797Name_Not_Found:2006/03/07(火) 23:30:32 ID:???
>>796
ボタンをクリックしたときの動作はonclick="..."に書く。
テキストエリアオブジェクトを参照するのは色々方法あるけど
たとえばID振って「document.getElementById('ID名').value = 入れる値;」
日時は一番簡単には「new Date().toString()」。
以上ですな。これで組合せられないほど分かってないようなら、このスレ
では教えてもらえないから自分で勉強すること。
798Name_Not_Found:2006/03/08(水) 09:17:45 ID:O8273IB1
質問です。
JavaScriptのソースを開くとsharsetがShift_JISでないものは半角片仮名にな
って文字化けしますよね。これをちゃんと読めるようにするにはどうすればい
いんですか。お願いします。
799Name_Not_Found:2006/03/08(水) 09:43:37 ID:???
HTMLの中に「.gif」と「.png」の混合している<IMG>タグがあったとき、
たとえば、「.png」画像の数をDOMで求めるにはどう書けばいよいですか。
<IMG src="xx.png">が10個あれば、10を求めたいです。
800Name_Not_Found:2006/03/08(水) 10:35:22 ID:???
>>798
そんなの自分でコード変換すれ。つかブラウザでその.jsのURL開けば?
>>799
var count = 0;
for(var i = 0; i < document.images.length; ++i) {
if(document.images[i].src.match(/\.png$/)) ++count;
}
alert(count);
書いただけでテストしてないけど。
801771:2006/03/08(水) 13:09:15 ID:I5W7hCDZ
<script type="text/javascript">
<--
function browser(){
var ua = navigator.userAgent;
if(ua.indexOf("MSIE 6", 0)>=0
{return true;}
else if(ua.indexOf("MSIE 5", 0)>=0
{return true;}
else if(ua.indexOf("Safari", 0)>=0
{return true;}
else if(ua.indexOf("MSIE 7", 0)>=0
{return true;}
else{return false;}
}
//-->

</script>



<script type="text/javascript">
<!--
if(browser()=="true"){
document.write("テスト\n");
}
//-->
</script>
802771:2006/03/08(水) 13:10:10 ID:???
ライン:355
文字:1
エラー:オブジェクトを指定してください。
コード:0

どういうことでしょうか。
803Name_Not_Found:2006/03/08(水) 13:13:03 ID:???
どこが355行目なのさ。そもそも「(」と「)」の数が
違うっていうだけで既に(ry
804Name_Not_Found:2006/03/08(水) 13:29:12 ID:???
<html>
<head>
<script type="text/javascript">
<!--
function browser(){
var ua = navigator.userAgent;
if(ua.indexOf("MSIE 6", 0)>=0){
return true;
}else if(ua.indexOf("MSIE 5", 0)>=0){
return true;
}else if(ua.indexOf("Safari", 0)>=0){
return true;
}else if(ua.indexOf("MSIE 7", 0)>=0){
return true;
}else{
return false;
}
}
//-->
</script>
</head>
<body>
<script type="text/javascript">
<!--
if(browser()){
document.write("テスト\n");
}
//-->
</script>
</body>
</html>
805Name_Not_Found:2006/03/08(水) 13:30:31 ID:???
JavaScriptの開発をIE上でやるのがアフォ
806Name_Not_Found:2006/03/08(水) 13:33:38 ID:???
>>805
じゃ、何でやるの?
807Name_Not_Found:2006/03/08(水) 13:38:47 ID:???
>>806
Firefox + Venkman
808Name_Not_Found:2006/03/08(水) 13:42:04 ID:NlV0gLg6
2chとかで扱われているクッキーをフォームに書き出すJavaScriptなんですが
わけあってネスケ3にも対応させたいのですが無理でしょうか?
809Name_Not_Found:2006/03/08(水) 13:47:37 ID:???
>>808
N3ねえ、やってみるっきゃないでしょ。できればできる、
できなければできない、それだけ。ここで質問されても
ブラウザ自体持ってないしアドバイス難しいよな。
810Name_Not_Found:2006/03/08(水) 14:01:19 ID:???
>>806
ありがとう
811Name_Not_Found:2006/03/08(水) 14:10:33 ID:NlV0gLg6
>>809
やってみたと言うより理屈がわからないんだネスケ4とかは食うんだよな
CGI側でUTF-16をURLエンコしたのをクッキーに焼く
JavaScriptでデコードしてフォームに入れる
でネスケ3のクッキーファイルにはエンコされた%XXで入っている
例えば
<script language="JavaScript"><!--
a="あ";b=escape(s);c=unescape(r);
document.write(""+b+"<br>");
document.write(""+c+"<br>");
// --></script>
と書くとエンコもデコもされる
ネスケ3の分離できないバグなら諦めがつくのですが
812Name_Not_Found:2006/03/08(水) 14:18:46 ID:NlV0gLg6
間違い
<script language="JavaScript"><!--
a="あ";b=escape(a);c=unescape(b);
document.write(""+b+"<br>");
document.write(""+c+"<br>");
// --></script>
813Name_Not_Found:2006/03/08(水) 14:21:24 ID:???
>>811
N3はUNICODEに対応していません。自前でUNICODEの表を
全部持つしかない。いやむしろ、CGI側でJISで同じ内容を
重複してクッキーに焼くとかの方が素直かも知れない。
814Name_Not_Found:2006/03/08(水) 14:28:05 ID:NlV0gLg6
>>813
サンクス!
これで諦めて利用者には他のブラウザを利用するか
クッキー無しで利用してね。と、言えます。ありがとう!
815Name_Not_Found:2006/03/08(水) 14:54:20 ID:???
(´-`).。oO(ネスケ3の利用者ってどんな人なんだろう)
816Name_Not_Found:2006/03/08(水) 14:55:44 ID:???
コンピュータ歴史博物館館長
817810:2006/03/08(水) 14:58:43 ID:???
>>810>>807へのレスの間違い。

で、Venkman使ってみたんですが、使い方もよくわからんし、
自分の環境では重過ぎて使い物にならないってことで、ダメっぽいorz。
818Name_Not_Found:2006/03/09(木) 02:05:06 ID:Qhasn1aY
var xmlns = new Namespace("http://purl.org/rss/1.0/");
var xml = new XML(text,'');
var items = xml..xmlns::item;

という処理の意味を教えてください。
itemsには何が代入されるのでしょうか?
819Name_Not_Found:2006/03/09(木) 02:08:11 ID:???
::って何?
820Name_Not_Found:2006/03/09(木) 02:09:25 ID:Lk1vRNyb
特定の文字列を画像に変換する関数を定義していますが、うまくいきません。

内容は、textの文字列の文字が

一つずつASCIIに変換し、

strl[0] == "\xf8" && strl[1].match("[\x9f-\xfc]")

もしくは

strl[0] == "\xf9" && strl[1].match("[\x40-\x49\x50-\x53\x55-\x57\x5b-\x7e\x80-\xfc]")

に当てはまった場合、ASCII文字列にし、結合させ、画像URLに変換

当てはまらなかったらそのまま出力

としています。


どうすればうまく動くでしょうか。。

function iencoding(text){
tlength=text.length;
for(i=0; i<tlength; i++) {
strl = text.charAt(i);

if (strl[0] == "\xf8" && strl[1].match("[\x9f-\xfc]") || strl[0] == "\xf9" && strl[1].match("[\x40-\x49\x50-\x53\x55-\x57\x5b-\x7e\x80-\xfc]"))
{strl[0]=strl[0].charCodeAt(0);
strl[1]=strl[1].charCodeAt(0);
hexid = strl[0].toString(16)+strl[1].toString(16);
document.write('<img src="http://****.ne.jp/img/'+hexid.toString(10)+'.gif" border=0>');
}else{document.write(strl);}
821Name_Not_Found:2006/03/09(木) 03:13:18 ID:???
つかLinuxプロジェクト痞えね
822Name_Not_Found:2006/03/09(木) 04:32:02 ID:???
>>818
ドットも二つ入ってる。
823818:2006/03/09(木) 08:06:56 ID:Qhasn1aY
>>822
いや、実際にソースがそうなってるんですよ。
コードは動いてるけど、ひょっとしたら
xml.xmlns::item;
ってことなのかも?

そもそも new されてる XMLクラスってのはなんですかね?
824Name_Not_Found:2006/03/09(木) 08:14:46 ID:???
>>820
var a = '<aaa';
var b = '>bbb';
var c = a.charCodeAt(0).toString(16) // '3c'
        + b.charCodeAt(0).toString(16);// '3e' ==> '3c' + '3e' ==> '3c3e'
alert(parseInt(c 16));// 15422
825Name_Not_Found:2006/03/09(木) 08:21:41 ID:???
826Name_Not_Found:2006/03/09(木) 08:54:33 ID:???
827Name_Not_Found:2006/03/09(木) 09:42:53 ID:???
ずっーとAjaxをアジャックスだと思ってたw
828Name_Not_Found:2006/03/09(木) 09:51:05 ID:???
>>827
俺も最初見て、アジャックスかと思ってた
アジャックスのほうが語呂がいいので、
おれはアジャックスと読み続けることにした
829Name_Not_Found:2006/03/09(木) 10:08:45 ID:???
あやっくす…
830Name_Not_Found:2006/03/09(木) 10:42:23 ID:???
まじめな話、:は言語使用に無いよね?
831Name_Not_Found:2006/03/09(木) 12:15:52 ID:???
>>830
JScript.netやAS2に存在する、
  var r:ActiveXObject = new ActiveXObject("...");
のような ":" は、ECMA262-3には存在しない。

JSにとって意味のある ":" が存在するか、という話なら、
  var o = { p : 2, m : function () {} }
  var x = <p:t xmlns:p="http://example.com/ns/"/>
のように、オブジェクトリテラルやXMLリテラルの中に限って存在する。

また、言語仕様ECMA262-3を読めば、"?:" が存在するし、
拡張仕様ECMA357-2を読めば、"::" が存在する。

話は逸れるが、
  var x = <a/>;
  x.setNamespace(new Namespace('foo', 'http://example.com/ns/'));
  alert(x.toXMLString());// <foo:a xmlns:foo="http://example.com/ns/"/>
のように、出力テキストに、意味のある ":" が含まれる場合もある。
832Name_Not_Found:2006/03/09(木) 12:26:33 ID:???
仕様じゃなくて規格だろ。ヴォケ
833Name_Not_Found:2006/03/09(木) 15:07:41 ID:???
ECMAのお供にこれいいんでない?

javascript:(function(){d=document;var%20tx=d.selection?d.selection.
createRange().text:window.getSelection();void(window.open(
'http://pewebdic2.cw.idm.fr/display/display.html?search_str='+tx));
})();
834Name_Not_Found:2006/03/09(木) 15:28:58 ID:mtFTmhKt
すみませんajaxのxml処理って普通のhtml形式は無理ですか・・?
えっと巨大なファイルを読み込むと固まっちゃうので百個ずつデータをロード&ライトしていきたいんですけど
835Name_Not_Found:2006/03/09(木) 16:04:50 ID:???
>>834
無理
836Name_Not_Found:2006/03/09(木) 17:03:08 ID:???
マウスに画像がついてくるスクリプトをページで実行させたいのですが、
そういうのが嫌いな人もいると思われるので、
そのスクリプトのON・OFFができるボタンをつけたいと思います。
またできればその情報をクッキーに保存させたいと思います。
画像のマウス追跡のソースは手に入れたのですが、
それのONOFFを制御するスクリプトの方が見つかりません。

もしご存知のかたおられましたらよろしくお願いいたします。
837Name_Not_Found:2006/03/09(木) 17:09:09 ID:???
>ソースは手に入れたのですが、
>ソースは手に入れたのですが、
>ソースは手に入れたのですが、

>スクリプトの方が見つかりません。
>スクリプトの方が見つかりません。
>スクリプトの方が見つかりません。
838Name_Not_Found:2006/03/09(木) 17:11:02 ID:???
>>837
病院行った方がいいぞ。
839Name_Not_Found:2006/03/09(木) 17:16:06 ID:???
>>836
マウスシーカーとかカーソル変更する必然性がなければ
いらないと思うよ。
おれクッキーも食わせてないからウザいだけ。
ぶっちゃけマウスシーカーはやめたほうがいい
840Name_Not_Found:2006/03/09(木) 17:33:29 ID:???
シーカー?
841Name_Not_Found:2006/03/09(木) 18:22:57 ID:???
>>836
ttp://lan.rgr.jp/essay/javascript
ま、これ↑をご一読のうえ再検討を
842Name_Not_Found:2006/03/09(木) 18:49:35 ID:D5na8Oei
>>841
こういうサイトは馬鹿だなぁって思う。
嫌なら見なければいいじゃねーか。
843Name_Not_Found:2006/03/09(木) 19:07:33 ID:mtFTmhKt
>>835
やはり、xml形式ではないといけないんですか・・・・orzエクスポーダが対応してないから自作か・・・
844Name_Not_Found:2006/03/09(木) 19:20:04 ID:???
>>835
FirefoxならoverrideMimeTypeでContent-Type上書きできる
OperaならContent-Typeの制限なし
じゃなかったか?
845Name_Not_Found:2006/03/09(木) 19:39:59 ID:???
>>843
XHTMLで送れば良いだけ。
846Name_Not_Found:2006/03/09(木) 20:07:17 ID:RJlsUNsw
【目的】 小窓を開く。

いわゆるサブウィンドウを開くJavaScriptを自サイトにおいて用いてみたいということで、
次のサイトよりそのままコピーしようとしている者です。
www.phoenix-c.or.jp/~s-moon/sub323.htm

ある文章中において、その文章内の一単語に小窓をリンクさせたいのですが、
コピーして実際にテストしたところ、
『ここをクリック』の部分、すなわちアンカーテキスト部分の前後に改行が入ってしまいました。
ソースを見るに <p> </center> なる、対タグの用意されていない意味不明の使い方がなされているタグを発見し、
これを削除したら、前後にスペースが入るものの、先の問題は解決されました。

そこで発生した疑問(というより気になる)点が、これを削除して問題はないのかということです。
どうなのでしょうか。
847Name_Not_Found:2006/03/09(木) 20:07:53 ID:g15D1HF2

prototype.js を使おうとすると以下のような JavaScript エラーが出ます(Firefox1.5 + WindowsXP SP1 です)。


エラー: illegal XML character

ソースファイル: file:///C:/<略>/prototype.js

行: 1, 列: 1
ソースコード:
<%= include 'HEADER' %>


ソースは↓まで簡略化してもエラーは無くなりません。
prototype.js はついさっきダウンロードしてきたばかりのものです。
その他大勢の *.js たちも同じディレクトリに入っています。
どうすればよいでしょうか?

<html>
<head>
<script type="text/javascript" src="prototype.js"></script>
</head>
<body>
hoge
</body>
</html>
848846:2006/03/09(木) 20:08:50 ID:RJlsUNsw
【念のためにそのソースを次に】
<script language="JavaScript">
<!--
function openWin(wUrl,wWidth,wHeight){
scWidthCenter=screen.availWidth/2;
scHeightCenter=screen.availHeight/2;
wOption =
"scrollbars=no,resizable=no,width="+wWidth+",height="+wHeight+",left="+(scWidthCenter-(wWidth/2))+",top="+(scHeightCenter-(wHeight/2));
window.open(wUrl,'window1',wOption);
}
//-->
</script>

<a href="JavaScript:openWin('http://www.phoenix-c.or.jp/~s-moon/',300,300)">ここをクリック</a></center>
<p><script language="JavaScript">
<!-- function openWin(wUrl,wWidth,wHeight){ scWidthCenter=screen.availWidth/2; scHeightCenter=screen.availHeight/2;
wOption = "scrollbars=no,resizable=no,width="+wWidth+",height="+wHeight+",left="+(scWidthCenter-(wWidth/2))+",top="+(scHeightCenter-(wHeight/2));
window.open(wUrl,'window1',wOption); } //--> </script>
849847:2006/03/09(木) 20:17:46 ID:???
ああ自己解決・・・

# Download the latest version (1.4.0)
でダウンロードした prototype.js には、>>847のような <%= include 〜の記述があるのでエラーになってました。

# Just the .js, please
でダウンロードした prototype-1.4.0.js が、そのまま使ってOKなやつでした。

トホホ
850Name_Not_Found:2006/03/09(木) 21:33:19 ID:mtFTmhKt
>>845
それもあったけど・・・・(~∇、~;) ハァハァどのくらい準拠しなきゃいけないか分からない・・・

次の壁は、リファラー?を読んで他サイトからのcgiの実行を拒否するタイプをajaxでやろうと思ったけど
これは規制はいってるのでajaxでは無理だと思ったんで(やってもむりだった)
locationで他のサイトはIEでは開けましたがOとかFFとかでエラーが出るんですが
locationはOやFFでは初期化されないでそのまま元のサイトの情報を持ったまま逝くと思うんですが
これを回避する方法はありますか?
851Name_Not_Found:2006/03/09(木) 22:59:52 ID:???
>>850
location.replace の事を言っているのか?

ついでに言っておくと
質問の意味をマジで理解しにくいぞ。
『ですが』を変な場所に使って謎文章にしてるんじゃねぇボケ。
852Name_Not_Found:2006/03/09(木) 23:51:58 ID:???
>>850
日本語でOK
853835:2006/03/09(木) 23:52:49 ID:???
>>844
IEは?
854Name_Not_Found:2006/03/10(金) 01:39:51 ID:???
チョン
855818:2006/03/10(金) 04:50:34 ID:ssgYRCwT
>>825 >>826 >>831

どうもありがとうございました。じっくり読んでみます。
856Name_Not_Found:2006/03/10(金) 05:00:32 ID:VH+lRGeH
アジャコングがクスクス笑ってajaxなんつって
857Name_Not_Found:2006/03/10(金) 09:02:58 ID:CQJeiv9w
>>851
ごめん途中で文章の根幹を変えちゃったんで、修正が行き届かなかった

例だとゲオシティーズからinfowebのcgiに~~~.cgi?name=aaaaaってのをリンクで飛ぶとエラーが出てトップに飛ばされますが、
これを回避して表示することは出来ないでしょうか?
ゲオから
location.href = ttp://aaaa.infoweb.co.jp/cgi-bin/serch.cgi?name=aaaa;
ってのを実行するとIEでは表示できますがOやFFではエラーが出てしまいます

やったことはlocation.hrefをlocalhostを開かせてからやろうとしても失敗で
時間差でやろうとしても、時間自体が短縮されて?リンク時は一括処理っぽいので無理でした

setRequestHeaderを弄ろとしても、ajaxは規制食らってるのでやるだけ無駄ですし
何か方法ありますか?IEだけならまあajaxで処理は出来ないけどjavaで開けるので良いとして
他のソフトが無理でした
858857:2006/03/10(金) 09:08:39 ID:CQJeiv9w
ああついで、スパイウェアつくろうとは思ってません。
859Name_Not_Found:2006/03/10(金) 09:40:33 ID:???
いづれにしても危険な発想。おわり。
860Name_Not_Found:2006/03/10(金) 13:07:24 ID:???
>>858 「ああついで、」
この文章センスは性(サガ)だな
JS以前
861Name_Not_Found:2006/03/10(金) 13:37:35 ID:???
Script全くかけないオイラに誰か救いの手を・・・。
画像を固定ピクセルではなく、現在のブラウザの表示サイズに自動的に合わせて表示するScriptが欲しいです。

サムネイルの画像をクリック → 画像をスクロールしなくても自動的に、現在のブラウザの表示できるサイズを
                     取得して画像をリザイズ表示する。勿論表示だけリサイズします。

こんな感じの機能です。よろしく御願いします。
862Name_Not_Found:2006/03/10(金) 13:46:10 ID:847iRqay
onKeyup="hogeHoge(this);"

onKeyup="hogeHoge(this)"

末尾のセミコロンの有無の違いって、何かに影響しますか?
付けても付けなくても同じですよね?
863Name_Not_Found:2006/03/10(金) 13:48:56 ID:???
>>861
厳しいかもしれんが、ここは、スクリプトをある程度書ける人、あるいは、書こうと努力する人用のスレ
864861:2006/03/10(金) 13:54:10 ID:???
>>863
すれ違いでしたね。引っ越してきます。失礼しました
865Name_Not_Found:2006/03/10(金) 14:17:57 ID:???
>>850
なんで人格攻撃なんだよ・・・・
866Name_Not_Found:2006/03/10(金) 16:36:18 ID:???
WindowsXPの視覚スタイルを判別する方法ってないのかねぇ。
867Name_Not_Found:2006/03/10(金) 17:13:40 ID:4yFk8jps
JavaScriptでマルチバイト文字を分割する方法は有りますか?
868Name_Not_Found:2006/03/10(金) 18:40:38 ID:???
>>862
なわけねーだろ じゃ、つけないでこれからも行けよ
姐歯のヅラじゃねえぞ
869Name_Not_Found:2006/03/10(金) 19:03:59 ID:???
>>867
あります
870Name_Not_Found:2006/03/10(金) 19:42:21 ID:JwUulNfq
質問です。
画像の呼び出しで、「a.gif」という画像がなかったときに、onnerrorのような
情報を取得して、ちがう拡張子で読み出すことはできるでしょうか。
q='gif'|'jpg';
のような感じで書けないものかとやってはみたんですが、いい結果でませんでした。
871870:2006/03/10(金) 19:44:37 ID:JwUulNfq
すいませんスペルまちがえてます。onerrorです。m(__)m
872Name_Not_Found:2006/03/10(金) 20:01:30 ID:???
tryでいいんじゃね?
873Name_Not_Found:2006/03/10(金) 20:30:05 ID:???
Flashはスクリプトのエラーくらいじゃ停止しないから困る
874Name_Not_Found:2006/03/10(金) 20:37:41 ID:???
>>873
JSも一部ではそうだな
875Name_Not_Found:2006/03/11(土) 00:44:21 ID:XiB4KQYw
質問です。
str='';
onload=function(){
x=['あ','い','う','え','お'];
for(i=0;i<5;i++){
str=str+","+x[i];
ver item = str.split(",");
}
alert(item[2])
}
というようにして配列にデータを格納して、「う」を取り出そうと
おもったのですが、うまく行かないようです。どこがいけないでし
ょうか。
876875:2006/03/11(土) 00:47:00 ID:XiB4KQYw
すいません。verの誤記が原因でした。
しかし、item[2]の結果は「い」になります。
「う」にならないのはなぜなのでしょうか。
877Name_Not_Found:2006/03/11(土) 00:52:46 ID:???
配列の添字は0から
878Name_Not_Found:2006/03/11(土) 00:54:49 ID:gKlCJgJ4
javaスクリプトを組めるように勉強しようと思うのですが、
入門書は何が良いのでしょうか?
879877:2006/03/11(土) 01:01:32 ID:???
>>876
ごめん読み違えた
str = str+","+x[i]ってやってるから
0が空文字列になるんだな
880Name_Not_Found:2006/03/11(土) 05:20:51 ID:???
>>878
とりあえずとほほ
881Name_Not_Found:2006/03/11(土) 08:56:04 ID:???
>>839-840
ttp://www.google.co.jp/search?sourceid=navclient&ie=UTF-8&rls=GGLG,GGLG:2005-49,GGLG:en&q
=%E3%83%9E%E3%82%A6%E3%82%B9%E3%82%B9%E3%83%88%E3%83%BC%E3%82%AB%E3%83%BC
882Name_Not_Found:2006/03/11(土) 13:39:34 ID:+lYbg0do
教えてください。現在受け付けシステムを作っているのですが、エラーが出て対処方法がわからなく書き込みました。
CGIにデータを渡すところ(<form action="./uketuke.cgi" method="POST">)を追加したらエラーが出ました。
<form action="./uketuke.cgi" method="POST">と最後の</form>を削除すると正常に動きます。
どのようにしたらよろしいのでしょうか?
<SCRIPT LANGUAGE="JavaScript">
<!--
function time() {
myDate1 = new Date();
Y = myDate1.getYear();
M = myDate1.getMonth() + 1;
D = myDate1.getDate();
document.ukeform.uked.value= Y+"年"+M+"月"+D+"日";
}
function time2() {
myDate2 = new Date();
Y2 = myDate2.getYear();
M2 = myDate2.getMonth() + 1;
D2 = myDate2.getDate();
document.myform.yotei.value= Y2+"年"+M2+"月"+D2+"日";
}
//-->
</SCRIPT>
</head>
<body>
<form action="./uketuke.cgi" method="POST">
<table border="1" width="80%">
<tr><td bgcolor="#00FFFF">受付日:</td><td><form name="ukeform"><input type="text" name="uked"><INPUT TYPE="button" VALUE="日付表示" onClick="time()"></form></td></tr>
<tr><td bgcolor="#00FFFF">予定日:</td><td><form name="myform"><input type="text" name="yotei"><INPUT TYPE="button" VALUE="日付表示" onClick="time2()"></form>
</td></tr></table></form>
883Name_Not_Found:2006/03/11(土) 13:52:39 ID:???
エラーが出た  じゃわかんねえ

どういうエラーが出たのか書けって天麩羅にも書いてあるだろうがボケ
884Name_Not_Found:2006/03/11(土) 14:02:05 ID:???
form追加したんなら構造おかしくなったんだろ
ソースみてないけど
885882:2006/03/11(土) 14:04:16 ID:+lYbg0do
>>883
すみません。エラーは以下のとうりです。
ライン: 10
文字: 1
エラー: 'document.ukeform.uked'は、NULLまたは、オブジェクトではありません。
コード:0

です。
886Name_Not_Found:2006/03/11(土) 14:05:16 ID:???
FORM 要素内に他の FORM 要素を記述してはいけません。
887882:2006/03/11(土) 14:10:28 ID:+lYbg0do
>>886
FORM 要素内に他の FORM 要素を記述してはいけないとしたら、Javascriptの文またはHTML文をどのようにしたらよろしいのでしょうか?
888Name_Not_Found:2006/03/11(土) 14:14:07 ID:???
>>887
> FORM 要素内に他の FORM 要素を記述してはいけないとしたら、Javascriptの文またはHTML文をどのようにしたらよろしいのでしょうか?

FORM要素内に他のFORM要素を記述しないようにすればいい
889Name_Not_Found:2006/03/11(土) 14:15:14 ID:???
>>887
888見てわかったけど、前半まるっきり886のコピペなのなw
890Name_Not_Found:2006/03/11(土) 14:16:26 ID:???
>>882
言っておくけど、もう答えは出ているからこれ以上教えないよ
ずばりの回答なんて絶対しないから無駄な希望捨てたほうがいいよ
891Name_Not_Found:2006/03/11(土) 14:32:19 ID:???
>>887
こっちで聞いたほうがいいかも。
手とり足とり教えるJavaScriptスレpart2
http://pc8.2ch.net/test/read.cgi/hp/1141800978/
892882:2006/03/11(土) 14:39:29 ID:+lYbg0do
解決しました。単純にcgiに渡すfomeのところにname=a として
document.a.uked.value= Y+"年"+M+"月"+D+"日";
document.ayotei.value= Y2+"年"+M2+"月"+D2+"日";

としたらできました。ありがとうございました。
893Name_Not_Found:2006/03/11(土) 15:33:46 ID:???
ジェイコブズのシステム開発の法則:
ソフトウェアの開発が遅れているからといって応援を頼むと、
ますます遅れてしまう。
894Name_Not_Found:2006/03/11(土) 20:20:08 ID:2cJqeoTA
JavaScriptで詰まってしまいました。お助けください。
メールフォームの送信ボタンを画像で作ったのですが、何故かWinIE5で
送信できません。IE6や他のブラウザではちゃんと動きます。
ソースは

***スクリプト***
<script language="JavaScript">
<!--
function sbmt(){
document.form.submit();
}
// -->
***ボタンのソース***
</script>
<a href="#"><img src="xxx.gif" border="0" onClick="sbmt()"></a>

という感じです。何がおかしいのでしょうか?ちなみに
・普通のinput type="submit"のボタンでは正常に送信されました。
・イベントハンドラがonMouseDownだと何故か送信されます。
・CSSを使うという手もありますが、それだとMacのSafariとかで
適用されないのでパスしました。
895894:2006/03/11(土) 20:21:42 ID:???
↑失礼。「***ボタンのソース***」の位置がずれてしまいました。お察しください。
896Name_Not_Found:2006/03/11(土) 20:37:46 ID:???
>>894
submit()は
<form action=""></form>を送信するためのもの。
formタグかいてあるならそっちも晒す。

で、なんとなく参考にしているのが時代遅れな書き方くさいので、
別のサイトなり本なりで調べた方が無駄な事しなくていいと思う。
897Name_Not_Found:2006/03/11(土) 20:38:48 ID:???
<button> か <input type="image"> 使え
898Name_Not_Found:2006/03/11(土) 20:48:25 ID:???
>>894
これはどう?
<a href="javascript:sbmt();"><img src="xxx.gif" /></a>
899Name_Not_Found:2006/03/11(土) 20:49:58 ID:???
>>894
event.cancelBubble = true
900894:2006/03/11(土) 20:52:15 ID:???
さっそくありがとうございます。
>>896
ええ。ActionScriptをちょっとだけいじれるだけなのでJSはからっきしです。
formタグはあることを前提にしてしまいました。もちろんあります。
いろいろ調べたんですがこういった不具合は見つかりませんでした。
>>897
<button>はやはりSafariなどで画像が表示されないんです。
<input type="image">なら送信できました。ただリセットボタンもできれば同じ書き方で
作りたかったので選択肢にありませんでしたが、格好ばっかりこだわってもしょうがないですよね…
ところでIE5のこの不具合は一般的なのでしょうか?
901Name_Not_Found:2006/03/11(土) 20:54:46 ID:???
だから全部晒せとw
902894:2006/03/11(土) 20:55:08 ID:???
>>898
うはっこれで出来ました!ありがとうございます!神様!
ていうか僕が勉強不足なだけなんだろうけど…
精進します。
903Name_Not_Found:2006/03/11(土) 20:56:12 ID:???
>>900
> この不具合は一般的なのでしょうか
というか、一般的にそれは不具合ではない。
904Name_Not_Found:2006/03/11(土) 21:01:02 ID:???
>>898
そーゆーときは、borderに注意。これキホンね
905Name_Not_Found:2006/03/11(土) 21:02:29 ID:???
>>902
神様も安く見られたもんだ
906Name_Not_Found:2006/03/11(土) 21:03:03 ID:???
>>904
kwsk
907Name_Not_Found:2006/03/11(土) 21:06:04 ID:???
さて、いよいよラスト100突入。このスレの水準
をググッと上げるようなオ前エ挽回の質問キボンヌ
908Name_Not_Found:2006/03/11(土) 21:09:13 ID:???
みんな承知ながら使いまくるね、javascript-scheme
別にいいの?
909Name_Not_Found:2006/03/11(土) 21:18:19 ID:???
>>908
みんな?
910Name_Not_Found:2006/03/11(土) 21:23:00 ID:???
>>908
3つ(>>897-899)の中で、それを使っているのは 1つだけ。
911Name_Not_Found:2006/03/11(土) 21:58:46 ID:W27sB9cK
MacのsafariでWindowsで動くほとんどのJavascriptが
動作しないのですが、これは仕方のない事なのでしょうか?
912Name_Not_Found:2006/03/11(土) 22:19:18 ID:???
>>911
はなから Win IE 専で書かれたものは動かないだろうね
913Name_Not_Found:2006/03/11(土) 22:44:01 ID:???
>>911
各社の仕様は現場ではどうにもならない。ECMAの標準規格を遵守する仕様で各社
が実装することをの望むだけだ。しかし、MacのsafariはJSを切ってるに等しいな。

914Name_Not_Found:2006/03/11(土) 22:52:03 ID:???
ブラウザの実装の違いを吸収するために、
FLASHが一気に広まったしね。
915Name_Not_Found:2006/03/11(土) 23:08:36 ID:???
最初からsafariに対応するように作ればいいだけのこと

…DOMモデルからしてIE/FFと違うのはやめてくれませんか
916Name_Not_Found:2006/03/11(土) 23:30:16 ID:???
IEとFFで処理分ければいいだけのこと
917Name_Not_Found:2006/03/11(土) 23:59:52 ID:???
>>916
正気じゃない
918Name_Not_Found:2006/03/12(日) 01:06:46 ID:???

function getBrowserName()
{
if(navigator.appName == "Microsoft Internet Explorer") return "IE";
else return "Netscape";
}

var isIE;
var isGecko;
var isSafari;
var isKonqueror;
function HJS_BC_getUserAgent()
{
isIE = 0;
isGecko = 0;
isSafari = 0;
isKonqueror = 0;
ua = navigator.userAgent.toLowerCase();
if((ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1)
&& (ua.indexOf("webtv") == -1))
isIE = 1;
if(ua.indexOf("gecko") != -1)
isGecko = 1;
if(ua.indexOf("safari") != -1)
isSafari = 1;
if(ua.indexOf("konqueror") != -1)
isKonqueror = 1;
}
919Name_Not_Found:2006/03/12(日) 05:10:53 ID:???
>>911
>>2

>>918
そのコピペは使えない。
IEは条件コンパイルで分岐、残りは出来るだけダックタイピングで。
920Name_Not_Found:2006/03/12(日) 05:14:04 ID:???
>>919
使えない理由を書いてくれ
921Name_Not_Found:2006/03/12(日) 10:05:58 ID:???
ECMAでsubstr()は廃止されたってホント?
922Name_Not_Found:2006/03/12(日) 12:39:54 ID:???
XMLHttpRequestやIFrameトリックを利用して、
なんとか他のドメインにアクセスしたいのですが、方法は無いでしょうか?

配布するJavaScriptの内部で、私のサーバにアクセスしてデータを持っていってもらいたいのですが、
出来ることならリダイレクトするだけのCGIを配布することなく実現したいと思っています。
整理すると、
http://myserver.com/abc.datahttp://client.com/x.htmlから取得したい
・myserver.comは私のサーバで、いくらでも手を入れることが出来る
・client.comでクライアントはファイルのアップロードしか出来ない(CGIが使えない)
このような状況を想定しています。

自分のサイトにJavaScriptを置いてsrc属性で…というのも考えたのですが、
このスレの>>716-717でそれは出来ないと書かれていました。
みなさんのアイデアをお貸しください。よろしくお願いします
923Name_Not_Found:2006/03/12(日) 13:17:03 ID:???
XMLHttpRequestつかえるんじゃね?
924Name_Not_Found:2006/03/12(日) 13:28:09 ID:???
>>923
ドメインが違ったら無理じゃない?
925Name_Not_Found:2006/03/12(日) 14:11:26 ID:???
無理ぽ。常識だね、異度目印。
926Name_Not_Found:2006/03/12(日) 14:47:15 ID:???
途中にPerlとかPHPを噛ませばいいと思う
俺にはやり方はわからんが
927Name_Not_Found:2006/03/12(日) 15:54:49 ID:???
>>850あたりで俺やったけど
XMLHttpRequestこっちはなんか書き込みエラーが出るopenかsendで
後者は知りませんorz
928Name_Not_Found:2006/03/13(月) 09:21:48 ID:fR+uon/t
質問です。
form内のselectオブジェクトを関数で呼び出すとき、そのオブジェクトを
グローバル変数に宣言するとオブジェクトなしのエラーが出てしまいます。
簡単に書くと次のような場合です。
<script>
var s=document.forms[0].elements['s']
function getText(){
if(s.options[s.options.selectedIndex].value=='p'){
//statement
}else{....}
}
</script>
<form>
<select id="sel" name="s" onchange="getText()">
<option value="p" selected>txt-p
<option value="q">txt-q
</select>
</form>
グローバルで呼び出すようにするにはどう書けばよいのでしょうか。
929Name_Not_Found:2006/03/13(月) 11:29:17 ID:???
>>928
コードが実行された時点でまだ name が s のエレメントが存在しないから。
document.forms[0].elements['s'] を取得できるようになるのは
<select id="sel" name="s" 〜> より後。
たとえば次のようにすればOK。

<html><head>
<script>
var s;
function init(){s=document.getElementById("sel");}
function getText(){alert(s.value);}
</script>
</head><body onload="init()">
<form>
<select id="sel" name="s" onchange="getText()">
<option value="p" selected>txt-p
<option value="q">txt-q
</select>
</form>
</body></html>
930928:2006/03/13(月) 12:46:03 ID:???
>>929さん
納得です。ありがとうございました。
931Name_Not_Found:2006/03/13(月) 13:00:08 ID:CfskfnRu
<script type="text/javascript">
document.write( "こんにちは!<BR>" );
document.write( "<h1 align="center">株価速報</h1>" );
document.write( "YAHOO! の株価[$] " );
document.write( 12336 );
</script>

極最近勉強始めました
それでテンプレにあるチュートリアルサイトのソースをコピってみたけれど表示されません

document.write( "テスト" );
ではテストと表示されるのに
document.write( "<h1 ←この空白と属性を書くと→align="center">テスト</h1>" );
真っ白になります

何が起きてるんでしょう?
OSはWindowsXP Pro sp1
ブラウザはsleipnirの最新版、エンジンはIEに設定
オフラインで練習してます

932836:2006/03/13(月) 13:08:21 ID:???
遅レスですみません。
マウス追跡のON/OFFの件で質問をした者です。
導入に関してのアドバイスありがとうございます。
そういうギミックが嫌いな方が多いのは重々承知なので、
デフォルトではOFFの設定にするつもりです。

それでボタンを押すと機能がONにできる
(jsファイルを呼び出す、とかいう感じですか?)という風にしたいのですが、
どのようにすればよいでしょう?
933Name_Not_Found:2006/03/13(月) 13:09:20 ID:???
>>931
つGoogle【エスケープシーケンス javascript】
934Name_Not_Found:2006/03/13(月) 13:29:19 ID:???
>>931
劇藁!! そのdocument.writeしているもののどこからどこ
までが文字列なのか考えてみなよ。つかエラー出てるだろ、
エラー出てるのに無視して質問すんじゃねえボケ。>>1-3嫁。
>>932
JSファイルを呼び出すとか面倒なんで、ボタンを押すと
onmousemoveハンドラを設定する、それまではマウス移動
してもイベントが取れないので何も動かない、というので
いいのでは。
935Name_Not_Found:2006/03/13(月) 13:38:50 ID:???
>>933
ありがとうございます
>>934
エラー出るんですか?

ただ>>934氏の話考えてもう一度書いてみました

<html>
<body>
<script type="text/javascript">
document.write( "こんにちは!<BR>" );
document.write( "<h1 align=center>株価速報</h1>" );
document.write( "YAHOO!株価[$]" );
</script>
</body>
</html>

centerを""で囲む必要が無いって事でしょうか?
936Name_Not_Found:2006/03/13(月) 13:49:38 ID:???
document.write( "<h1 align=\"center\">株価速報</h1>" );
document.write( '<h1 align="center">株価速報</h1>' );
document.write( "<h1 align='center'>株価速報</h1>" );

一番いいのは
document.write( "<h1>株価速報</h1>" );
スタイルでデザイン
937Name_Not_Found:2006/03/13(月) 13:53:27 ID:???
>>922
>自分のサイトにJavaScriptを置いてsrc属性で…というのも考えたのですが、
>このスレの>>716-717でそれは出来ないと書かれていました。

src属性に指定したCGIから吐き出したJavaScriptで
変数にデータを設定することはできるよ。
それでは目的が達成できない?
938Name_Not_Found:2006/03/13(月) 13:54:41 ID:???
>>935
あのさあ、アンタの最初のは一番左の「"」で文字列が始まる
だろ、それで「align="」のところの「"」でその文字列が終わる
わけ。その後の「center」というのは文字列の外にある何かの
名前で演算子も何もないんだから構文エラーになるだろ。エラー
出てないわけがないじゃん。よく目ン玉見開いて見ろよ。

プログラム書く時に脳内で自分の都合のよいように解釈してたら
永遠に書けるようにならないぞ。

エラーメッセージが読めるようになるまで2度と来るな。
939Name_Not_Found:2006/03/13(月) 13:55:55 ID:???
前提条件無しで二度とくるな
940Name_Not_Found:2006/03/13(月) 14:08:08 ID:???
>>936
>>938
ありがとうございますorz
そういう事だったんですね、精進します
でもほんとにエラーはでてないんですよorz

http://uploader.fam.cx/data/u2583.jpg
941Name_Not_Found:2006/03/13(月) 14:09:28 ID:???
ここはひどいインターネットですね
942Name_Not_Found:2006/03/13(月) 14:12:28 ID:???
http://www.axis.t.u-tokyo.ac.jp/~shunak/ecmascript/hello-js.html

◆ 出力例
◆ 色々と出力させる。
ブラウザーに数字やHTMLタグを出力させてみます。基本的には上に解説したものと同じです。


<script type="text/javascript">
document.write( "こんにちは!<BR>" );
document.write( "<h1 align="center">株価速報</h1>" );
document.write( "YAHOO! の株価[$] " );
document.write( 12336 );
</script>

数字を出力する際は、とくに " で囲む必要はありません。
943Name_Not_Found:2006/03/13(月) 14:13:21 ID:???
>940
有限会社 近代でググると設計会社が出てきた。
944Name_Not_Found:2006/03/13(月) 14:15:26 ID:???
それと、専ブラ使えw
945Name_Not_Found:2006/03/13(月) 14:15:53 ID:???
>>943
そこではないですが
とにかくありがとうございます
スレ汚してしまった様ですみませんorz
消えます
946Name_Not_Found:2006/03/13(月) 14:17:58 ID:???
テンプレにFIreFox追加希望
947Name_Not_Found:2006/03/13(月) 14:19:18 ID:???
テンプレに、「仕事に関係することは業者に頼め」追加希望
948Name_Not_Found:2006/03/13(月) 14:49:20 ID:???
>>946
具体的にどこに何を追加しろと。ブラウザ個別の話は
もともと入ってない。GeckoとMSというくくりで十分では?

ちなみに新スレは975超えたらね。
949Name_Not_Found:2006/03/13(月) 15:01:09 ID:???
>>948
たとえば>>938
>エラーメッセージが読めるようになるまで2度と来るな。
とか言ってるけどこの場合IEではエラーでてないし、
FireFoxの場合エラー箇所をソース中で表示してくれたりするから。
当然IEでのチェックは必須だけど普通最初のチェックはFireFoxでやらね?
950Name_Not_Found:2006/03/13(月) 15:20:12 ID:???
ガーン! IEではこれエラーでないのorz スマソかった。
なんで明らかな構文エラーなのにエラーが出ないの???
そりゃもうぜひ「FF使え」をテンプレに入れましょ。
951Name_Not_Found:2006/03/13(月) 15:21:03 ID:???
>>941
世の中にここがインターネットだという場所はない
952Name_Not_Found:2006/03/13(月) 15:27:21 ID:???
おいおい、>>931はIEで明らかにエラーだろ。
ライン3
)がありません

これが出ないブラウザがあるのか?>>938が説明しているように、明らかな
文法違反。もちろん>>942はエラーはでない。ただし、ひどいHTMLだが。
953Name_Not_Found:2006/03/13(月) 15:32:17 ID:???
>>952

<html>
<body>
<script type="text/javascript">
document.write( "こんにちは!<BR>" );
document.write( "<h1 align="center">株価速報</h1>" );
document.write( "YAHOO! の株価[$] " );
document.write( 12336 );
</script>
</body>
</html>

試してみて。
俺はWinXP(SP2)IE6.0で無反応
954953:2006/03/13(月) 15:35:59 ID:???
と書いたが、スクリプトのエラーごとに通知にしたらでたわ。orz
まさかみんなは常にこの状態で使ってんの?
955Name_Not_Found:2006/03/13(月) 15:39:28 ID:???
>>954
ん?ページの左下に小さい黄色いアイコン・・
956Name_Not_Found:2006/03/13(月) 15:44:55 ID:???
>>955
ふつうは出るよなぁ。俺>>953のソースで出ないんだけど・・・。
ぶっ壊れてる?
957Name_Not_Found:2006/03/13(月) 15:48:15 ID:???
オレもわざわざ試してみたが、出たよ
958Name_Not_Found:2006/03/13(月) 15:49:20 ID:???
>>956
いや、>>954がエラーダイアログ出すように(ry
>>953は何も出ない。なにも。
959Name_Not_Found:2006/03/13(月) 15:51:07 ID:???
あれ?おれのが変なんじゃね?
IE6なんだけど
960955:2006/03/13(月) 15:51:38 ID:???
IDでないのか,,
961Name_Not_Found:2006/03/13(月) 15:53:02 ID:???
javascriptのデバッガってあるのでしょうか
962953==958:2006/03/13(月) 15:54:21 ID:???
>>958
名前欄わすれてた。スマソ。
IDってどうやってだすの?
963Name_Not_Found:2006/03/13(月) 15:55:55 ID:???
>>962の名前まちがた。
>>953=956だ。
964Name_Not_Found:2006/03/13(月) 15:57:35 ID:???
IDはでない
965Name_Not_Found:2006/03/13(月) 16:44:18 ID:???
>>961
IEならこれ入れる。
ttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/sdbug/html/sdbug_1.asp

FxならJavaScriptコンソールとDOMインスペクタだけで十分な気がする。
これだけじゃ物足りないようなら
ttps://addons.mozilla.org/quicksearch.php?q=Java+Script§ion=A&application=firefox
ttps://addons.mozilla.org/quicksearch.php?q=debug§ion=A&application=firefox
あたりから色々試してみて。


>>958
アクティブスクリプトの実行自体が禁止してあるってオチじゃないでしょうね?
966Name_Not_Found:2006/03/13(月) 17:50:31 ID:???
>>953-959
あのさあ、「</h1>」みたいな閉じタグがあるとそこで
<script>が終わってしまう可能性あるって知らないの?
ブラウザはJavaScriptの文字列なんて知らないわけだから。
だから必ず「<\/h1>」のようにエスケープするべきなんだが。
つか常連の書いたコードは皆そうなってるだろうに…
967Name_Not_Found:2006/03/13(月) 17:54:53 ID:???
>>966
>>953-959ってネタだろ。それくらい小学s(ry
968ケンタコピペ:2006/03/13(月) 17:56:15 ID:BAFYXHrw
こんにちは。今年に入ってPC弄り始めたケンタです(^^)

先週、HTMLという言語(?)の勉強をはじめました!
気づいたらスルスル頭に入っていくというか、どういうものか理解できてしまった!
勢いでWEBサイトを作って公開しました〜>_<

それで、僕が借りてるサーバはHTMLのソースに広告タグを付加してページを
出力するようになってるんですが、そこにJavaScriptが使われていたので今日勉強しはじめました。

すると・・・もうJavaScriptがだいたいどういうものか理解できてしまった!というかWEBがだいたい
どういうものか分かった!んで、今PHP書いてます!もちろんこれはJavaScriptと違ってサーバ側で
動くのでブラクラにはあまり関係ありませんね(笑)

ぶっちゃけプログラミングってかなり簡単。。基礎さえ分かれば関数調べるだけじゃん。。
969Name_Not_Found:2006/03/13(月) 17:56:20 ID:???
ネタかも試練が本当に>>966を知らないヤシもいそうな希ガス
970Name_Not_Found:2006/03/13(月) 17:57:01 ID:???
半年ROMってろ
971Name_Not_Found:2006/03/13(月) 17:57:20 ID:???
>>968
うるさい。質問がないなら書き込むな。
972Name_Not_Found:2006/03/13(月) 18:00:48 ID:???
>>968
ワロスww
973953:2006/03/13(月) 18:11:16 ID:???
>>966>>967>>969
えと、マジなんですが、

> あのさあ、「</h1>」みたいな閉じタグがあるとそこで
> <script>が終わってしまう可能性あるって知らないの?
↑どういう場合?

> ブラウザはJavaScriptの文字列なんて知らないわけだから。
↑<script>タグ内の " " or ' ' で囲まれてても?


まあ、それよりも、
>>953で左下に黄色いアイコンが出ないのが普通なのかが一番知りたいんですが。
974Name_Not_Found:2006/03/13(月) 18:18:18 ID:???
"<\/h1>"は規格にないから嫌だな
面倒でも "<"+"/h1>" とすべき

外部スクリプトファイルにすれば関係なくなるけれどね
975Name_Not_Found:2006/03/13(月) 18:21:12 ID:???
>>973 これで「\/script」の「\」取ってみ。>>953
洩れもちゃんとエラー出るけどね。ブラウザの設定じゃねの?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<script type="text/javascript">
document.write("<p>ABCDE<\/p>");
document.write("<script>x = 12345<\/script>");
document.write("<p>x = " + x + "<\/p>");
</script>
</body></html>
976Name_Not_Found:2006/03/13(月) 18:36:31 ID:???
>>975
なるほど、そういう時使えるんですね。

俺、今までこうやってたorz
document.write("<s"+"cript>x = 12345</s"+"cript>");
977& ◆R7PNoCmXUc :2006/03/13(月) 18:41:00 ID:???
>>976
それでもいいけど、なんか「<」と「/」がくっついてるのが
よくないからそこで分けるべき、だったように思うよ。分ける
のは読みづらいので洩れは「\」をつける派だなー。

新スレ
http://pc8.2ch.net/test/read.cgi/hp/1142242220/l50
978Name_Not_Found:2006/03/13(月) 18:44:20 ID:eK7tIeds
 
979Name_Not_Found:2006/03/13(月) 18:52:29 ID:???
>>977

HTMLの仕様書にも触れられてる。
まあこういう話はStrictスレとかの方でやったほうが詳しく聞けると思うが。
ttp://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/appendix/notes.html#notes-specifying-data

ところで>>974の「規格にない」ってのはどういう意味?
"<\/h1>"もECMAScriptとして間違ってないと思うけど。
980Name_Not_Found:2006/03/13(月) 18:55:50 ID:???
>>979
マジですか?そうだとしたら思い込みの発言すまなかった
\/ がエスケープとして存在するとは知らなかった
981Name_Not_Found:2006/03/13(月) 18:57:44 ID:???
と言うか全ての文字にエスケープできる
982Name_Not_Found:2006/03/13(月) 19:05:45 ID:???
正規表現
983Name_Not_Found:2006/03/13(月) 19:05:59 ID:???
>>977
最後にもう一個だけ質問なんですが、
これって<script>タグの時だけって考えでもいいんですよね。
984Name_Not_Found:2006/03/13(月) 19:09:52 ID:???
>>983
お前馬鹿か?

今の話の流れを全くつかんでないだろ?
985Name_Not_Found:2006/03/13(月) 19:13:26 ID:sB6VjHw8
javascript:txt=document.selection.createRange();b=txt.text.replace(/\n/g,' ');fso=new ActiveXObject("Scripting.FileSystemObject");newFile=fso.OpenTextFile("c:\\test.txt",8,true);newFile.WriteLine(b);newFile.Close();

という選択範囲をローカルのc:\test.txtに追加書き込みするスクリプトを書いたのですが、
数語以上の英文を選択して実行すると「ページでエラーが発生」が出て、ファイルに書きこまれません。
(日本語の場合は大丈夫)
どこをどういじれば意図した通りに動作するでしょうか?

環境はWindows98se IE6.0 セキュリティレベルはActiveX関連の物は有効かダイアログ表示に設定してます。
986Name_Not_Found:2006/03/13(月) 19:16:22 ID:???
>>984
いや、こういう書き方(\/)してるとこある?
ココのスレだけかなと思ったんで。
<script>タグ以外に問題なったことないから。
987986:2006/03/13(月) 19:29:52 ID:???
ちょっと探してみたらmozillaのサイトでやってた。
今度からそうします。スレ汚しスマソ。
988Name_Not_Found:2006/03/13(月) 19:42:09 ID:???
>>986
何も理解してなくて萌え。
989949:2006/03/13(月) 20:10:11 ID:ufuRhzi5
質問させてもらいたいのですが

var domMenuItemDiv = document.createElement("div");
1) domMenuItemDiv.onclick = _onclick;
2) domMenuItemDiv.attachEvent('onclick', _onmouseover );

1は問題ないですが、なぜ2はエラーになるのでしょう?
990Name_Not_Found:2006/03/13(月) 20:28:00 ID:???
>>989
そのdomMenuItemDivをドキュメントのどっかに挿入したあとで
やってみてはどうかな。

新スレ
http://pc8.2ch.net/test/read.cgi/hp/1142242220/l50

991989:2006/03/13(月) 20:50:41 ID:ufuRhzi5
挿入した後でも前でもだめでした。
エラーメッセージは「種類が一致しません」でした。

992Name_Not_Found:2006/03/13(月) 20:54:50 ID:???
>>963,986
「見てはいるが見ず、聞いてはいるが聞かず、また、悟ることもしないからです」
(聖書マタイ)
どうやら懇切な回答も無駄だったようだ
993989:2006/03/13(月) 20:56:41 ID:ufuRhzi5
どうやら、
_onmouseover がおかしかっただけなのに気づきました。
すいません。お騒がせしました。
994Name_Not_Found:2006/03/13(月) 21:07:11 ID:???
どうやら
そろそろ新すれ
995Name_Not_Found:2006/03/13(月) 21:09:46 ID:???
996Name_Not_Found:2006/03/13(月) 21:14:52 ID:???
そんなことより埋めようぜ
997 ◆KONAN/fu2I :2006/03/13(月) 21:17:02 ID:??? BE:95078584-#
>>1
乙! (・∀・)ニヤニヤ
998 ◆KONAN/fu2I :2006/03/13(月) 21:18:26 ID:??? BE:41596872-#
ゴバークw (・∀・)ニヤニヤ
999Name_Not_Found:2006/03/13(月) 21:30:25 ID:???
よーし。こんどこそパパが1000取っちゃうぞ
1000 ◆KONAN/fu2I :2006/03/13(月) 21:30:32 ID:??? BE:11885322-#

1000!! ( ̄ー ̄)ニヤリ

次スレ
http://pc8.2ch.net/test/read.cgi/hp/1142242220/
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。