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

1 名前:Name_Not_Found 投稿日:2005/05/25(水) 17:16:53 ID:???
━━━━━JavaScript質問スレ道場訓━━━━━
 一、礼節を重んじ常に努力精進すること
 一、ブラクラに打ち勝つ精神力を持つこと
 一、心身の優れたJavaScriptを学ぶこと
 一、雑草の如く生涯JavaScriptを貫くこと
 一、感謝と反省を忘れないこと
 以上
━━━━━━━━━━━━━━━━━━━━━━

このスレに書き込むことが許されるものは以下のとおり
・JavaScriptとJavaの違いを理解する者
・スクリプトを組むための最低限のHTML・CSSを理解する者
・ユーザーに迷惑となるスクリプトを書かない者
・FAQ・過去ログや関連資料を読むことができる者
・「初心者です」を振りかざさず、質問を分かる日本語で説明できる者
・対象環境や使用技術は質問者の裁量であることを理解する者
 (質問時、回答時にはなるべく対象環境を明記しよう)

前スレ http://pc8.2ch.net/test/read.cgi/hp/1114774413/l50
まとめサイト http://web2ch.s31.xrea.com/?JS
FAQ・注意>>1-5、過去ログ・関連資料・関連スレ>>1-50またはまとめサイト

2 名前:Name_Not_Found 投稿日:2005/05/25(水) 17:17:30 ID:???
【質問を書く上で】
1)多くの質問は検索すれば瞬時に分かるようなもの。書き込む前にまず
 google等で検索すること。検索してないとどう煽られても文句は言えない。
2)ユーザ(閲覧者)に迷惑がかかる性悪スクリプトは回答されない。
 例: 別窓開きまくり、閉じる/戻るのを妨害、全画面占有、etcは最悪。
 答えさせようと「分からねえんだろ」と煽っても無駄(過去スレが証明)。
3)言葉でぐだぐだ書かずにソースを貼る、ただし要点を整理して。
 そのまま貼って動かせると試してもらいやすい(ただし回答者に連結さすな!)
 長い(1レスに入らない)場合はアップロードしてURIを貼る。
4)初心者という言葉は危険なので使わない方がよい。
 初心者を言い訳に自力で調べない/考えない奴が最悪に嫌われる。
5)自分で調べたこと/試したこときちんと書く(調べもしない奴は最低)。
 ただ「動きません」「エラーです」は何も情報がないため嫌われる。
 エラーは「どの行で何のエラー」を書く(ブラウザをそのように設定すれ)。
 OS、ブラウザ、バージョン、うまく行かない条件を明記しエラー再現可能に。
6)どういう時にどういう動作をさせたいのかを脳内にとどめずきちんと書く。
 例:「自動ポップアップしたい」←どういう場合(マウスオーバー、クリック、
 ボタン押し、select選択)に何(別窓、レイヤー、その他)が出るのか書け!
7)質問はまっとうな(他人に理解できる)日本語で。
 前項の例に限らず、他人に理解できない質問文は煽られるだけで時間の無駄

3 名前:Name_Not_Found 投稿日:2005/05/25(水) 17:18:09 ID:???
【FAQ】
Q1. 開いた別窓/フレームの内容にアクセスできないのですが…
A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。
Q2. JavaScriptでローカルファイルを読み/書きたいのですが…
A2. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに…
Q3. document.write(...)でページ内容を追加したいのですが…
A3. 一度ページ表示完了後にwrite()すると内容はクリアされちゃいます。
 部分的に内容変更するには(1)他フレーム/iframe/別窓への表示、
 (2)textarea等への表示、(3)DOMでノード挿入、(4)innerHTMLのどれかで。
 innerHTMLは非標準ですがIE、Opera、Gecko(N6/N7/Moz等)で対応済。
Q4. table/tbody/tr要素のinnerHTMLを書き換えるのがうまく行かないのですが…
A4. IEはそれらの要素のinnerHTMLは変更不能。DOMを使って書き換えるしかない。
Q5. Aタグのonclickで動作指定してるのですが時々動きません…
A5. 「onclick="...;return false"」としないとページ移動しちゃうから。
Q6. 変数w1、w2…を順にループで(番号をiに入れて)設定/参照したいのですが…
A6. グローバル変数はwindowのプロパティだからwindow['w'+i]を読み書きすれ。
Q7. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A7. 「document.forms.myform.elements[変数名].value」でどぞ。
 JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
 例:「obj.p0=obj.p1=...=obj.p8=0;」⇔「for(i=0;i<9;i++) obj['p'+i]=0;」。
Q8. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A8. IEではe.currentStyle、Geckoではwindow.getComputedStyle()を使います。
Q9. 100*1.15の結果が114.999…998となってしまうのですが…
A9. コンピュータの実数計算は全て近似値だと思え。誤差が嫌なら整数で計算。
Q10. 任意のデータをサーバ(別鯖ではない)から取り寄せたいのですが…
A10. Geckoのnew XMLHttpRequest()、IEのnew ActiveXObject("Microsoft.XMLHTTP")
 を使えばできる。古いブラウザだと隠しフレームに読むなどのワザが必要。

4 名前:Name_Not_Found 投稿日:2005/05/25(水) 17:25:19 ID:???
(まだ検討中だけど一応)
【よくある主張の対立:他人の嗜好は尊重。損得の議論は歓迎】
・IE専用/アンチIE/クロスブラウザ:「○○は不要」「○○だけであと
 は無視」は不毛。質問者が分かって選択していれば尊重する。無知か
 らIE専なのは指摘してあげると親切。
・標準準拠 vs 使えればよい:標準はブラウザが変わっても維持される
 可能性大。非標準機能も損得を分かった上で使うならよい。
・MS vs アンチMS:MS固有の情報はMSのサイトで見ないと分からないが、
 そこだけ見ているとIE専になる。あとは上2件と同様。
・別窓、イベント抑止など:一般には迷惑スクリプトだが質問者に正当
 な理由があることも。尋ねて分かってないようなら煽っても可(w
・innerHTML vs DOM:それぞれに長所/弱点があるので理解した上で選
 択するべき。一概にどちらは駄目、とは言えない。
・eval():数値化→eval(x)⇔parseInt(x)/parseFloat(x)、変数参照
 →eval(v)⇔window[v]等、代替手段があることが多い。適切に選択を。
 必要な場合(例:まとまったコード文字列の評価)には使うのがよい。
・on属性 vs addHandler()等:ハンドラが1つだけと分かっていれば
 on属性で簡単にハンドラを設定もあり。上書きが心配ならaddXXX()。
・JavaScript vs PHP等:サーバ側とJSのどちらが適切かという議論は
 ありだが、JSスレなので基本的にはJSでの方法を検討。

5 名前:Name_Not_Found 投稿日:2005/05/25(水) 17:59:58 ID:???
前スレ976に対してなんだけど、表を作るのもinsertCell()とか駆使するより
普通にcreateElement()/appendChild()とかの方が分かりやすくバグも枯れてない?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var t = document.createElement('table'); t.border = 1;
var b = document.createElement('tbody'); t.appendChild(b);
for(var i = 0; i < 20; ++i) {
var r = document.createElement('tr'); b.appendChild(r);
for(var j = 0; j < 20; ++j) {
var c = document.createElement(i*j==0?'th':'td'); r.appendChild(c);
var x = document.createTextNode(String(i+j)); c.appendChild(x);
}
}
document.getElementById('d0').appendChild(t);
}
</script>
</head><body>
<p><a href="javascript:test()">test...</a></p>
<div id="d0"></div></body></html>

6 名前:Name_Not_Found 投稿日:2005/05/25(水) 18:05:34 ID:???
【過去ログ】vol.23までは全部読めます。マスターしたらあなたもJavaScriptのプロ。
vol. 1 (倉庫)ttp://mentai.2ch.net/hp/kako/972/972192155.html
vol. 2 (倉庫)ttp://natto.2ch.net/hp/kako/985/985424635.html
vol. 3 (倉庫)ttp://natto.2ch.net/hp/kako/994/994168119.html
vol. 4 (倉庫)ttp://natto.2ch.net/hp/kako/997/997445548.html
vol. 5 (倉庫)ttp://pc.2ch.net/hp/kako/1002/10025/1002539301.html
vol. 6 (倉庫)ttp://pc.2ch.net/hp/kako/1005/10059/1005979370.html
vol. 7 (倉庫)ttp://pc.2ch.net/hp/kako/1010/10108/1010823511.html
vol. 8 (倉庫)ttp://pc.2ch.net/hp/kako/1014/10142/1014289221.html
vol. 9 (倉庫)ttp://pc.2ch.net/hp/kako/1017/10176/1017668857.html
vol.10 (倉庫)ttp://pc.2ch.net/hp/kako/1022/10220/1022077876.html
vol.11 (倉庫)ttp://pc.2ch.net/hp/kako/1026/10266/1026611260.html
vol.12 (倉庫)ttp://pc3.2ch.net/hp/kako/1030/10301/1030162756.html
vol.13 (倉庫)ttp://pc3.2ch.net/hp/kako/1033/10333/1033385900.html
vol.14 (倉庫)ttp://pc3.2ch.net/hp/kako/1036/10369/1036934434.html
vol.15 (倉庫)ttp://pc5.2ch.net/hp/kako/1041/10417/1041701828.html
vol.16 (倉庫)ttp://pc5.2ch.net/hp/kako/1045/10452/1045265973.html
vol.17 (倉庫)ttp://pc5.2ch.net/hp/kako/1047/10478/1047807902.html
vol.18 (倉庫)ttp://pc5.2ch.net/hp/kako/1051/10510/1051020507.html
vol.19 (倉庫)ttp://pc5.2ch.net/hp/kako/1054/10540/1054043048.html
vol.20 (倉庫)ttp://pc5.2ch.net/hp/kako/1056/10568/1056808693.html
vol.21 (倉庫)ttp://pc5.2ch.net/hp/kako/1059/10595/1059553020.html
vol.22 (倉庫)ttp://pc5.2ch.net/hp/kako/1062/10629/1062943541.html
vol.23 (倉庫)ttp://pc5.2ch.net/hp/kako/1067/10670/1067085950.html

7 名前:Name_Not_Found 投稿日:2005/05/25(水) 18:05:58 ID:???
【過去ログつづき】
vol.24 http://pc5.2ch.net/test/read.cgi/hp/1070943773/l50 (行方不明)
vol.25 http://pc5.2ch.net/test/read.cgi/hp/1075096787/l50 (行方不明)
vol.26 http://pc5.2ch.net/test/read.cgi/hp/1077362343/l50
vol.27 http://pc5.2ch.net/test/read.cgi/hp/1080743738/l50
vol.28 http://pc5.2ch.net/test/read.cgi/hp/1084943518/l50
vol.29 http://pc5.2ch.net/test/read.cgi/hp/1087889503/l50
vol.30 http://pc5.2ch.net/test/read.cgi/hp/1091236825/l50
vol.31 http://pc5.2ch.net/test/read.cgi/hp/1095310099/l50
vol.32 http://pc5.2ch.net/test/read.cgi/hp/1099662733/l50
vol.33 http://pc5.2ch.net/test/read.cgi/hp/1103844975/l50
vol.34 http://pc5.2ch.net/test/read.cgi/hp/1107580877/l50
vol.35 http://pc8.2ch.net/test/read.cgi/hp/1110578338/l50
vol.36 http://pc8.2ch.net/test/read.cgi/hp/1114774413/l50

8 名前:Name_Not_Found 投稿日:2005/05/25(水) 19:53:14 ID:???
>>1
まとめサイトの意味がないなw

9 名前:Name_Not_Found 投稿日:2005/05/25(水) 20:45:11 ID:???
【標準規格・リファレンス】
規格を読まずにどうなってるか分からんとか質問しないこと!

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

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

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

MSDN Library JScript / DHTML (現在日本語版は古杉)
http://www.microsoft.com/japan/msdn/library/ja/script56/html/js56jsoriJScript.asp
http://msdn.microsoft.com/workshop/author/dhtml/reference/dhtml_reference_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/

10 名前:Name_Not_Found 投稿日:2005/05/25(水) 20:45:44 ID:???
【チュートリアルサイト・サンプルサイト】
規格が読めないならまずはチュートリアル。サンプルサイトも沢山ある。

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

MetaGraphic Cell
http://www2u.biglobe.ne.jp/~oz-07ams/prog/

どら猫本舗のリファレンスカウンター
http://www.doraneko.org/

はぎさんちのページ Mozilla's DOM Sample Project
http://cgi.din.or.jp/~hagi3/JavaScript/JSTips/Mozilla/mds.cgi

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

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

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

JavaScript深層
http://www.hawk.34sp.com/

(とほほのJavaScriptリファレンスは誤り多数という意見もあり議論中)

11 名前:Name_Not_Found 投稿日:2005/05/25(水) 20:47:53 ID:???
【検索】
「キーワード『…』で検索しろ」「ぐぐれ」と言われた場合はこちらへ
http://www.google.co.jp/

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

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

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

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

役に立つ書籍は? 2冊目
http://pc5.2ch.net/test/read.cgi/hp/1099736818/l50

12 名前:Name_Not_Found 投稿日:2005/05/25(水) 22:01:27 ID:9pTlnCB9
教えてください。

window.openを使えば名前を指定して新しいwindowが開けますが、
URLにプロパティが表示されてしまうのが困るので、
formをsubmitする方式で名前を指定して新しいwindowを作りたいんです。

自分なりに考え、
<form action=XXX target="hoge">
としたら、新しいwindowを作ることができました。

で、この新しいwindowが開いているかどうか、また開いていたらfocusを当てる、
というのはどうしたらいいでしょうか?

window.openなら名前を指定できるんで、
subwin=window.open(XXXXXX)みたいなので取得できたんですが。。。

よろしくおねがいします。

13 名前:Name_Not_Found 投稿日:2005/05/25(水) 22:16:35 ID:???
>>12
subwin=window.open(XXXXXX)としたら
onclick="subwin.focus();" をクリックしたらウィンドを開くところに入れてみては?

14 名前:Name_Not_Found 投稿日:2005/05/25(水) 22:45:19 ID:9pTlnCB9
>13

早速の返事ありがとうございます。

えっと書き方がまずかったのですが、
>window.openなら名前を指定できるんで、
>subwin=window.open(XXXXXX)みたいなので取得できたんですが。。。

っていうのをwindow.openじゃなくて
targetに"hoge"と指定して開いたwindowでやりたいんです。


15 名前:Name_Not_Found 投稿日:2005/05/25(水) 22:55:09 ID:???
> URLにプロパティが表示されてしまうのが困るので、

この辺がよくわからない

16 名前:Name_Not_Found 投稿日:2005/05/25(水) 23:08:47 ID:???
>>14
状況がよく分からない。普通にfocus()が新たに開いたページに移っていると思うが・・・

17 名前:Name_Not_Found 投稿日:2005/05/25(水) 23:29:00 ID:???
>>12 よ、日本語が不自由すぎて皆迷惑しているぞ。通訳しよう。

(1)フォームの結果に応じて窓を開くのに、window.open()を使うと
GETでCGIを呼ぶため、CGIに渡すパラメタがURIの一部として
見えてしまうので困る。そのため、POSTを使ってformタグのtarget
を用いて新しい窓を開かせるようにした。
(2)この窓は新しく開く時にはフォーカスは当たっているが、それ
以外(データが更新された時とか)にも再度当てたい。そのため、
w.focus()のようにしたいが、
(3)変数wにウィンドウオブジェクトを取得するにはどうしたらよい
のか分からない。window.open()であれば簡単だったのだが…

そして回答だが、target="hoge"で開いたのであれば、
w=window.open('', 'hoge'); で変数wにウィンドウオブジェクトが
取得できるよ。過去スレで何回もガイシュツだボケ!!

18 名前:かなこ 投稿日:2005/05/25(水) 23:34:44 ID:NrsYGZkf
プログラムについて全く無知なのですが、学校で課題が出ました。

javascriptで九九の表を作れる方いらっしゃったら教えてください。

助けてください。お願いします。

19 名前:Name_Not_Found 投稿日:2005/05/25(水) 23:46:30 ID:???
自分で調べたり勉強しない奴は来る資格なし。誰も回答しないと
思うよ。お気の毒ですが。

20 名前:Name_Not_Found 投稿日:2005/05/25(水) 23:49:14 ID:???
>>18-19
もしかして >>5 の足し算を掛け算に取り替えて提出とかね。
自分でやってないことがバレバレになるとは思うが。

21 名前:Name_Not_Found 投稿日:2005/05/25(水) 23:58:50 ID:???
>>18
表って、テーブルタグ<TABLE>も使って作るやつか?
とりあえずサンプルだけ書いておくから、適当に書き換えておいて

<BODY bgcolor="#ffffff">
<div id="kuku"></div>
<script type="text/javascript">
msg = "";
msg += '<TABLE border="1">\n';
for(gyo=1;gyo<=9;gyo++) {
msg += "<TR>\n";
for(retu=1;retu<=9;retu++)
msg += '<TD width="20" align="center">' + gyo*retu + '</TD>';
msg += "</TR>\n";
}
msg += "</TABLE>\n";
document.getElementById('kuku').innerHTML = msg;
</script>

22 名前:Name_Not_Found 投稿日:2005/05/26(木) 00:44:48 ID:???
>>12
<FORM>から開いた別窓を開き元のページ内スクリプトから操作したいようだね?
w=window.open()などが、むしろ特殊(許された機能)だと思ったほうがいいね。
ユーザー操作が前提のHTML要素の<A>や<FORM>などから
開いた別窓は名前がついていようとアクセスできないようにしたセキュリティ仕様でしょ。
<FRAME>などの子ウインドウや、openメソッドによる明示的な開き元との親子関係とは違うからだよね。
単純にリンクターゲットにはなるがスクリプト的にはアクセスできないよ。
これもクロスドメインフレーム制約と一緒に知っておこう。

23 名前:12 投稿日:2005/05/26(木) 06:15:58 ID:rqE/1jay
>>17,22
ありがとうございます!
17さん。
補足説明どおりです!ほんと日本語足りなさすぎでした。
URLに出て困るのは、パラメータの値を替えて操作できないように
したいためでした。
また(2)の説明もほんとそのとおりでびっくりです。

22さん。
そうなんですね。
サンプルなどでよく見かける、「親窓から子窓を操作」とかって、
全部window.open()ばかりだったので、困ってました。

ありがとうございます。

24 名前:Name_Not_Found 投稿日:2005/05/26(木) 16:56:36 ID:???
<FORM name="A"> <このフォームを私は FORMA と呼んでます

25 名前:Name_Not_Found 投稿日:2005/05/26(木) 19:13:48 ID:???
ホント人いないなぁ・・・
>>24も頭がおかしくなる訳だ。ほぼ10時間後のレスが>>24なんだぞ。
みんなもうこの質問スレの必要性がなくなったのか?
過去スレ読んだりググれば十分答えが出るってか?
陰湿な煽りに耐え兼ねて初心者達は逃げて行ったのか?

>>24を読むたびに、そんな事を考えさせられる。

26 名前:Name_Not_Found 投稿日:2005/05/26(木) 19:21:23 ID:???
>>25
どんな質問にでも回答していれば人は増えるだろうけどね。
質問を選ぶと人は減るのは仕方ないでしょ。

27 名前:Name_Not_Found 投稿日:2005/05/26(木) 19:58:42 ID:???
別に無理に盛り上げることはない。初心者に媚びる必要もない。
まっとうな質問を求む。

あと、自分のいい加減な知識でデタラメに回答できる程度の
質問を待ち望んでいる奴がいないことを希望するよ。

28 名前:Name_Not_Found 投稿日:2005/05/26(木) 20:34:32 ID:???
片手間に見てる側としては、あんまり繁盛すると、読む気無くすし回答する気も無くすので、これくらいがちょうどいいかも。
新着50件とか超えるとびびったり。

29 名前:Name_Not_Found 投稿日:2005/05/26(木) 22:20:24 ID:???
>>25
俺の携帯はFOMAじゃなくてDOCOMOダケどな

30 名前:Name_Not_Found 投稿日:2005/05/26(木) 22:26:33 ID:???
おい、どーした、質問は?

31 名前:Name_Not_Found 投稿日:2005/05/26(木) 22:37:54 ID:+FMw28Wh
外部スタイルシートにしたらgetElementByIdでスタイルシート取得出来なくなった
どうして?

32 名前:Name_Not_Found 投稿日:2005/05/26(木) 22:42:15 ID:???
>>31
普通そういうことはないんだが。最小限の例題にしてどうやってるか
貼ってみれ。

33 名前:Name_Not_Found 投稿日:2005/05/26(木) 23:00:37 ID:???
>>31
DOM2ではElement.styleではインライン指定されたものしか取れないはず。
各実装はそうでもないけど。

DOM2準拠ブラウザならgetComputedStyle
IEならcurrentStyle

34 名前:Name_Not_Found 投稿日:2005/05/26(木) 23:02:36 ID:+FMw28Wh
<html>
<head>
<style>
#i{
position: absolute;
left: 100px;
}
</style>
<script>
function f(){
alert(document.getElementById("i").style.left)
}
</script>
</head>
<body>
<div id="i" onMouseDown="f()">ここクリック</div>
</body>
</html>

例えばクリックするとleftを表示したいのですが
これだと何も書いてないです

35 名前:Name_Not_Found 投稿日:2005/05/26(木) 23:24:06 ID:???
>>34
<style>タグじゃなくて直接タグの中に書き込むとアラートで数値は出るんだけどね・・・なんでだろ?
<div id="i" onMouseDown="f()" style="position : absolute; left: 200px; top : 10px;">ここクリック</div>

36 名前:Name_Not_Found 投稿日:2005/05/26(木) 23:29:42 ID:???
>>31-32 >>34-35
藻前ら、FAQ>>3のQ8/A8は何のためにあるんですか???
画面上でスタイルシート適用されてるからってstyleプロパティで
取れるわけじゃないですよ。よく考えれ。

37 名前:Name_Not_Found 投稿日:2005/05/26(木) 23:31:36 ID:???
元質問者はともかくFAQも理解せず回答しようとする奴はイタイな。

38 名前:Name_Not_Found 投稿日:2005/05/26(木) 23:33:51 ID:???
>>36
まぁえぇ、その使い方まで説明して記述してみぃ
それができんかったら偉そうな口叩いてもバカを見るだけやでぇ

39 名前:Name_Not_Found 投稿日:2005/05/27(金) 00:17:10 ID:???
過去スレにもあったけどね。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<style type="text/css">
#i { position:absolute; left:100px }
</style>
<script type="text/javascript">
function test() {
var l, e = document.getElementById('i');
if(e.currentStyle) l = e.currentStyle.left;
else if(!window.getComputedStyle) l = '???';
else l = getComputedStyle(e,'').getPropertyValue('left');
alert(l);
}
</script>
</head><body>
<div id="i" onmousedown="test()">test...</div>
<div id="d0"></div></body></html>

40 名前:Name_Not_Found 投稿日:2005/05/27(金) 00:19:20 ID:???
煽るなんて阿呆じゃないの。FAQの内容を理解してない常連など…
約1名いるか。そいつは糞だな。

41 名前:Name_Not_Found 投稿日:2005/05/27(金) 00:24:33 ID:???
>>40
理解していない常連とかじゃなくて、理解してても使い方が分からんのが
質問する初心者でもあるだろw
自分が分かっているからって、偉そうに知識をひけらかして
他人をバカにするようになったら、答えをするとか指導者になるには適してないよ
お前の自己満足をする場所じゃねーんだから、ここは

42 名前:Name_Not_Found 投稿日:2005/05/27(金) 00:33:38 ID:???
>>41=アホな質問をして追い返された初心者


43 名前:Name_Not_Found 投稿日:2005/05/27(金) 00:47:12 ID:???
>>42=自分はJavaScriptマスターだと勘違いしている低学歴

44 名前:Name_Not_Found 投稿日:2005/05/27(金) 01:04:57 ID:???
FAQ読んでないのは×だろ。読んで使い方が分からないなら
そう質問すればいいわけで。

45 名前:Name_Not_Found 投稿日:2005/05/27(金) 01:06:50 ID:???
使い分けめんどっち。直接タグの中に書き込んじゃえよw

46 名前:Name_Not_Found 投稿日:2005/05/27(金) 06:30:04 ID:???
>>45
CSSスレでその暴言やってきてみな(w

47 名前:Name_Not_Found 投稿日:2005/05/27(金) 11:15:25 ID:???
DOMにappendChildはあっても、prependChildが無いわけで。

みなさん、要素群の最初に要素を登録するときどうしてますか?




*append: add to the end, prepend: add to the beggining

48 名前:Name_Not_Found 投稿日:2005/05/27(金) 11:24:34 ID:???
insertBefore

49 名前:Name_Not_Found 投稿日:2005/05/27(金) 11:25:44 ID:???
>>46
ここは JS のスレじゃー、CSS なんざ・・・とも言えないんだよなぁw
両方組み合わせて使うこともよくあるし、両方とも正しい使い方や
仕組みを知ってないと面倒だね

50 名前:Name_Not_Found 投稿日:2005/05/27(金) 12:18:34 ID:???
>>48そんなのあったね。
あるサイトで、insertBefore(oNode,index)とか書いてあるから、
一生懸命indexにchildNodesのインデックスを入れたら、
怒られて訳がわかんなかったよ。
insert(newNode,refNode)が正解なのね。


51 名前:Name_Not_Found 投稿日:2005/05/27(金) 13:04:53 ID:???
変数が文字列かTextNodeか確かめるにはどうしたら良いですか?

52 名前:Name_Not_Found 投稿日:2005/05/27(金) 13:45:03 ID:DINfeKUh
吐いて出勤拒否してる間にDAT落ちorz
これ以上ブラウザ入れる気しねぇと言う漏れはヘタレですかそうですか

>>51
何が言いたいのか判らんがtypeofじゃ駄目なのか?

53 名前:Name_Not_Found 投稿日:2005/05/27(金) 13:45:42 ID:???
おっとすまんageちまった

54 名前:Name_Not_Found 投稿日:2005/05/27(金) 14:42:24 ID:???
>>51
なんか妙な質問だな。本当に「文字列」か「テキストノード」
かが分からないの?もしそうなら>>52 が言うように、
「typeof x == 'string'」とかで判定できるが。

55 名前:Name_Not_Found 投稿日:2005/05/27(金) 14:43:58 ID:???
>>50
そういう「あるサイト」は晒すべきだろ。しょうもない。

56 名前:Name_Not_Found 投稿日:2005/05/27(金) 14:52:30 ID:???
てゆーか
>>50 > insert(newNode,refNode)が正解なのね。
insert() なんて見たことないぞ。

57 名前:Name_Not_Found 投稿日:2005/05/27(金) 15:33:26 ID:???
>>56書き間違いだ。察しろよ!!!って察してね^^

>>55ここに晒しても良いかは考え物だが一応
http://tomizawa-web.hp.infoseek.co.jp/method/insertBefore.htm
ここは、プロパティ・メソッド一覧が見れるんでそういう意味では重宝してるのだが・・・

>>54
コードの一部を関数にして分けたんで、引数の扱いを悩んでね。
function hoge(comment,・・・・){
    if((typeof comment) == 'string){
       document.・・・・.appendChild(document.createTextNode(comment));
    else{
       document.・・・・.appendChild(comment);
    }
}
将来どっかのテキストノードをそもまま持ってくることがあるかなぁと思って一応。

あとこれだと、文字列は判別できるが、テキストノードかを判別できないなぁ。
elseのなかにif(comment.nodeName =='text')とかなのかな?

58 名前:Name_Not_Found 投稿日:2005/05/27(金) 15:34:48 ID:???
'string→'string'ね。指摘される前に

59 名前:Name_Not_Found 投稿日:2005/05/27(金) 15:41:58 ID:???
>>57
DOM2のドキュメントくらい読んでよ。それが「ノードだと分かって」
いるのなら、「nodeType == 3」がテキストノードになるんだが、
いちいち他人にそういうのを調べさせないでホスイ。

60 名前:Name_Not_Found 投稿日:2005/05/27(金) 15:42:24 ID:???
if(comment.nodeName =='#text')でした。

しかし、なんでシャープつくんだろう?
ここらへんのこと詳しく説明してるサイトってある?

61 名前:Name_Not_Found 投稿日:2005/05/27(金) 15:46:07 ID:???
>>60
だからー!!! それがまさにDOM2の文書そのものだってば!!!
ttp://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247

62 名前:Name_Not_Found 投稿日:2005/05/27(金) 15:50:59 ID:???
>60
もしシャープがつかなかったらどうなるか考えたことある?

63 名前:Name_Not_Found 投稿日:2005/05/27(金) 17:09:08 ID:???
>>62
半音下がるんじゃないかな。

64 名前:Name_Not_Found 投稿日:2005/05/27(金) 17:11:21 ID:???
それはフラット。

65 名前:Name_Not_Found 投稿日:2005/05/27(金) 17:15:19 ID:???
64 :Name_Not_Found sage :2005/05/27(金) 17:11:21 ID:???
それはフラット。

64 :Name_Not_Found sage :2005/05/27(金) 17:11:21 ID:???
それはフラット。

64 :Name_Not_Found sage :2005/05/27(金) 17:11:21 ID:???
それはフラット。




m9(^Д^)プギャーーーッ

66 名前:Name_Not_Found 投稿日:2005/05/27(金) 17:24:36 ID:???
♭ <俺はフラットだ!
♯ <俺はシャープだ!
#  <俺は井桁だ!

67 名前:Name_Not_Found 投稿日:2005/05/27(金) 18:32:12 ID:???
>>63>>66のようなものを許容するなら、
ド素人とは言わんが、ある程度のレベルまでなら
頭ごなしに天婦羅嫁ではなくて、
やさしく諭してあげれば?

>>59(多分=>>61)の言い方だと、実装バグの報告とか
よほどの発見がない限り、天婦羅嫁で終わりそう。何でも教えて君だったかな?
(大体、「nodeType == 3」がテキストノードなんて、>>61に載ってないし。
 #textは載ってたけど。まあ値求めれば分かるがな)

まあ、愚痴なんでスルーして。

こっから本題。

var insert_tag = document.createElement("div").appendChild(document.createTextNode(description));

めんど臭くて、一片に書いたらdivタグが現れなかったよ。
(よくよく考えれば至極当然なのだが)
でもそうすると、insert_tagは何物?と思って色々実験してみたら
document.createTextNode(description)っぽいんだけど、
文法的に
unknownVariable1 =document.createElement("div");
unknownVariable2 =document.createTextNode(description);
AddedNode = unknownVariable.appendChild(unknownVariable2);
なんで
insert_tag = AddedNode = unknownVariable2 = document.createTextNode(description)
こういうことなんだね。

68 名前:Name_Not_Found 投稿日:2005/05/27(金) 19:26:14 ID:wyVj/Pd+
すいません質問があります。
<html><head><title>test</title><script type="text/JavaScript">
<!--
function dd(obj){
if(document.getElementById){document.getElementById(obj).style.display=='none'?document.getElementById(obj).style.display='':document.getElementById(obj).style.display='none'}
else if(document.all){document.all(obj).style.display=='none'?document.all(obj).style.display='':document.all(obj).style.display='none'}
else if(document.layers){document.layers[obj].display=='none'?document.layers[obj].display='':document.layers[obj].display='none'}
}
//-->
</script></head><body>
<table border=4><tr><td>
<a href="javascript:dd('fo00')"> ほげ</a>
</td>
<td>数値A</td></tr>
<tr><td>
<div class="d2"style="display:none"id="fo00">
fuga
</td>
<td>数値B
</div>
</td></tr>
</table></body></html>
--------------------------------
というHTMLでfugaと数値Bを同時に隠したいのですが
どのように記述すればよろしいのでしょうか?
(上記HTMLだとfugaしか隠れない)
お教えいただきますと幸いです。

69 名前:Name_Not_Found 投稿日:2005/05/27(金) 19:32:57 ID:???
id を tr につければいいだけじゃねえ?

70 名前:Name_Not_Found 投稿日:2005/05/27(金) 20:01:15 ID:???
>>64 # をつけたら半音上がるから、# とったら半音下がるでそ。 相対相対。

>>67 当たり前すぎて何がなにやら・・・
つか、>>59 の言ってることは、
 質問者が、DOM2ドキュメント読んでないのはわかる。スゲーよくわかる。
 だが回答者が読んでねーで、あまつさえ回りくどい答えだすってのはどういうことだぁ〜?!おぉお〜!?
ってことなのでわ。
僕も英語のは読んでないけど、いろいろ検索して知ってるから、それくらいはやらんと。

>>68
当たり前。 タグ入れ子にすんなやw
HTML-Lint につっこんでみなさい。怒られるから。

>>69 のいってるのは、<div> じゃなくて <tr> に id つけろということね。

71 名前:Name_Not_Found 投稿日:2005/05/27(金) 20:59:33 ID:???
>>67
nodeTypeの値ちゃんと載ってるだろー! まさに >>70 と同じ文句を言いたいぞ!
interface Node {
// NodeType
const unsigned short ELEMENT_NODE = 1;
const unsigned short ATTRIBUTE_NODE = 2;
const unsigned short TEXT_NODE = 3;

72 名前:Name_Not_Found 投稿日:2005/05/27(金) 21:11:51 ID:EJr8t/ZK
<input type="text" id="sp1_text">
<button onmousedown="sp1_text.value = parseInt(sp1_text.value)+1">

連打ができません。
なぜ??

73 名前:Name_Not_Found 投稿日:2005/05/27(金) 22:15:48 ID:???
>>72
IDつけたら直ちに変数になるっていうわけじゃない。
document.getElementById('...')で参照する必要がある。で、長くなる
から結局別に関数定義する方がいいよね…

74 名前:Name_Not_Found 投稿日:2005/05/27(金) 22:19:00 ID:???
>>72
ん?1回は動くの?よく分からないけどエラーが出るわけ?

75 名前:Name_Not_Found 投稿日:2005/05/27(金) 22:22:05 ID:???
>>74
1回はというか、2回/秒くらいの連打なら反応する。
でもそれ以上の連打は、ボタンはピコピコするものの、
oncluckイベントは発生しない。

...なぜ (TT)

76 名前:Name_Not_Found 投稿日:2005/05/27(金) 23:46:36 ID:???
>>72=75
おまえに "oncluck"イベント起こしたい。

つーか onmousedown にしてんじゃんw

まあ原因としては "sp1_text" を見つけるのに時間かかってるんでしょ。
変数かIDかもわかんないし。
一回ノード見つけさせたときに、どっかの変数にキャッシュしとけば少しは早くなるかもしれんね。
でも 16連打/s できるほど早くは動かないね

var obj;
function test () {
    if (!obj) obj = document.getElementById('sp1_text');
    obj.value ++;
}
・・・
<input type="text" id="sp1_text" value="0">
<input type="button" value="test" onmouseup="test()">

なんで onmouseup にしたかっていうと、実際試してみたら onclick とか onmousedown とかより反応が早かったから。

77 名前:Name_Not_Found 投稿日:2005/05/27(金) 23:56:54 ID:???
コードは丁寧に書かないとねっていういい例になったな

誤差程度の差しかないだろうけど

<script type="text/javascript">
<!--
var obj;
onload = function(){
obj = document.getElementById('sp1_text');
}
//-->
</script>

<form><input type="text" id="sp1_text" value="0"> <input type="button" value="test" onmouseup="obj.value++;"></form>

78 名前:Name_Not_Found 投稿日:2005/05/28(土) 00:01:08 ID:???
>>76

ん。んんんんん!!!
感動しました!

oncluck と onmousedownは、打ちミス。(遅いか...)
普通のスピンボタンのような動作をまねたくてonmousedownにしてた。

初めて気づいたけど、onmouseupのほうが反応早い!
>>76のソースをonmousedownにするだけで遅くなるのは、やっぱり仕様??
ちなみに、IE限定。



79 名前:Name_Not_Found 投稿日:2005/05/28(土) 00:02:26 ID:???
>>77
> コードは丁寧に書かないとねっていういい例になったな

反省。反省。横着したです。





80 名前:Name_Not_Found 投稿日:2005/05/28(土) 00:05:27 ID:???
うん、仕様。 しょうがないね。 (…しょうもないね)

81 名前:Name_Not_Found 投稿日:2005/05/28(土) 00:09:59 ID:???
>>80
そかそか。
でもいい勉強になった!
>76(=80?)氏、>77氏、ありがとう!
おやじぃギャグもありがとう!

82 名前:Name_Not_Found 投稿日:2005/05/28(土) 02:35:27 ID:???
>>80
オヤジw

83 名前:67 投稿日:2005/05/28(土) 07:49:28 ID:???
>>71
ホウホウ。そうかそうか。

ここのスレを見るにはC++の知識も必要なわけだ。
俺は、てっきり説明文だけ読めばいいと思ってたよ。

>>2
1)多くの質問は検索すれば瞬時に分かるようなもの。書き込む前にまず
 google等で検索すること。検索してないとどう煽られても文句は言えない。

   ↓

1)多くの質問は検索すれば瞬時に分かるようなもの。書き込む前にまず
 google等で検索すること。検索してないとどう煽られても文句は言えない。
1')開発言語C++のコード解読能力は必至。DOM等の規格の定義コードが
目に入らなかったなら、煽られようが文句は言えない。

修正お願いします。

84 名前:Name_Not_Found 投稿日:2005/05/28(土) 08:07:55 ID:???
>>83
あれがC++に見えるんだ。知ったかぶりは控えたほうがいいよ。
念のため言っとくとあれはIDL (Interface Definition Language)だからね。
さらに言うとECMAScript Language Bindingなんてのもおまけでついてるんだから
IDLがわからなくてもまったくわからないということはないと思うけど。
ttp://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/ecma-script-binding.html

それからさ、>>70も言ってるけど別に質問者が仕様書読んでないのはいいんだよ。
回答者が読んでないと支障が出るかもしれないというだけであって。
まあ回答者で知らないというのは問題外だけど。
nodeTypeだなんてそれこそ検索すれば
解説ページが山ほど見つかるわけだし。

85 名前:Name_Not_Found 投稿日:2005/05/28(土) 11:08:03 ID:???
まさにそこが問題なんだよな。自分が無知なのを自覚せずに脳内
知識でとうとうと解説されるのは皆の迷惑。どうしても何か書き
たいのなら動かして確認したコードを貼るだけというのがいいん
じゃないかな。それなら迷惑としても最少限に留まるからさ。

86 名前:Name_Not_Found 投稿日:2005/05/28(土) 11:37:54 ID:???
>>83-84
俺も C++ 知らないけど見れば分かるしなw
nodeType のリスト、仕様書見なくても、FireFox でなんかのノードに
for (var name in node) document.writeln( name +' => '+ node[name]; とかすれば見れるよ。

  ELEMENT_NODE=> 1,
  ATTRIBUTE_NODE=> 2,
  TEXT_NODE=> 3,
  ・・・

そのノードの基本メソッドとかも見れてベンリ。

まあ JavaScript なんて、1週間くらいまじめに勉強すれば結構覚えるもんだから、
>>83 もいろいろサイト回ったり本買ったりとかして勉強した芳がいいよ。
サイトも本も、だめなやつはだめだけどなw

87 名前:Name_Not_Found 投稿日:2005/05/28(土) 11:41:04 ID:???
C++ではなくIDL(インタフェース記述言語)でつ。ちなみに(ほぼ)同一情報
をECMAScript形式で記述したものが同じ仕様書の付録部分に含まれてまつ。
回答者がただの質問者より精進するべきなのは当り前だよな。

88 名前:Name_Not_Found 投稿日:2005/05/28(土) 11:51:13 ID:???
「知りませんでした。教えてくれてありがとう。」
って思えば済むのに、余計で的違いな反論して自ら墓穴掘ってる、なんて人としてどうよ?
・・・って人がいるスレはここですか?

89 名前:Name_Not_Found 投稿日:2005/05/28(土) 11:52:32 ID:???
↓まあ次の質問ドゾー ^^

90 名前:Name_Not_Found 投稿日:2005/05/28(土) 15:19:52 ID:???
オッス、オラ悟空。いっちょJavaScriptやってみっかって思ったけど
どうしたらスキルアップできるか分からないから、課題を出してみてくれ!
またはスキルアップできそうな紹介ページがあったら教えてくれ!

91 名前:Name_Not_Found 投稿日:2005/05/28(土) 15:33:24 ID:???
特に無い

↓次

92 名前:Name_Not_Found 投稿日:2005/05/28(土) 15:47:33 ID:???
↑無いわけ無い
↓やり直し

93 名前:Name_Not_Found 投稿日:2005/05/28(土) 16:27:57 ID:???
>>90
innerHTML を使わずに、
フレームAのページの <div id="任意"> 〜 </div> の中の要素全部を、
フレームBのページに、要素も属性も同じ値でそっくりそのままコピーする関数群を作ってみてくれ。

フレームA と フレームB は違うドキュメントなので、cloneNode() が使えなくて、
いろいろ面倒くさかったけど、勉強になったおぼろげな記憶がある。

94 名前:Name_Not_Found 投稿日:2005/05/28(土) 16:29:59 ID:???
>>93
あいやー、ものすごく面倒っち課題だけど、暇があったらやっておきます

95 名前:Name_Not_Found 投稿日:2005/05/29(日) 02:40:52 ID:???
//一応やってみたけど、どかな?1時間かかったなwFF&IE6で動作確認。
function CopyCrossFrames(sSrcFrameID,sSrcElementID,sTargetFrameID,sTargetElementID){
var ColFrame=document.frames;

var ObjDocSrc=(ColFrame)?(ColFrame[sSrcFrameID].document):(document.getElementById(sSrcFrameID).contentDocument);
var ObjSrcElement=ObjDocSrc.getElementById(sSrcElementID);

var ObjDocTarget=(ColFrame)?(ColFrame[sTargetFrameID].document):(document.getElementById(sTargetFrameID).contentDocument)
var ObjTargetElement=ObjDocTarget.getElementById(sTargetElementID);

CopyElement(ObjSrcElement,ObjTargetElement);
}
function CopyElement(ObjNode,ObjParentNode){ //この関数はCopyCrossFrames()のサブセット
if (ObjNode.nodeType==1){
var ObjElementNew=ObjParentNode.ownerDocument.createElement(ObjNode.nodeName);
var ColAttributes=ObjNode.attributes
for (var i = 0;i<ColAttributes.length; i++){
var ObjAttribute=ColAttributes[i]
if (ObjAttribute.specified){ObjElementNew.setAttribute(ObjAttribute.nodeName,ObjAttribute.nodeValue,0)}
}
ObjParentNode.appendChild(ObjElementNew);
var ColChildren=ObjNode.childNodes;
for (var i=0;i<ColChildren.length;i++){
CopyElement(ColChildren[i],ObjElementNew)
}
}else if(ObjNode.nodeType==3){
var ObjTextNew=ObjParentNode.ownerDocument.createTextNode(ObjNode.nodeValue);
ObjParentNode.appendChild(ObjTextNew)}
}

96 名前:Name_Not_Found 投稿日:2005/05/29(日) 03:07:37 ID:???
書けなかったんで連投許してチョ。
1) この2つの関数はフレームの親ページで使用する事が前提。
2) CopyElement()はCopyCrossFrames()のサブセット。CopyCrossFrames()を呼び出して使ってよ。
3) CopyCrossFrames()の引数の解説
 sSrcFrameID;コピーしたい要素があるフレームID
 sSrcElementID;コピーしたい要素のID、※コピーはブロック内子要素、全て含む。
 sTargetFrameID;コピー先のフレームID
 sTargetElementID;子要素としてコピーが追加される親要素ID
4) この関数自体には各フレーム内ドキュメントのonloadはチェックしていないよ。自分でやってくれ。
5) 付録
 フレーム内ドキュメントから親ページに書かれたこの関数を呼び出すには?
 →parent.CopyCrossFrames()とか。
 無駄があるような?
 →あるかも。バグ確認してないしw一応言っておけばIE寄り;;;
  言うまでもなく、エラー処理はしてないよ。
  実使用なら個人的にはこういう時はinnerHTML使うな。じゃ。  
 

97 名前:95 投稿日:2005/05/29(日) 03:16:38 ID:???
あ、今気付いたわ。やばいわw
onclick属性とかあったらコピーしちゃ…ま、見逃してよw

98 名前:Name_Not_Found 投稿日:2005/05/29(日) 06:32:21 ID:???
かなり長い期間,ROMしております。
興味深い話題でしたので便上で質問させてください。

function funcNodeCopy(f1,o1,f2,o2){
window[f2].document.getElementById(o2).appendChild(
window[f1].document.createDocumentFragment().appendChild(
window[f1].document.getElementById(o1).cloneNode(true)));
}

フレーム間のやり取りの部分です。私が使っているものですが。。
Firefoxで動くのですが、IE6で確認すると「引数が無効です」となるのです。

IEに於いては、現在のバージョンでは無理なのでしょうか?

99 名前:Name_Not_Found 投稿日:2005/05/29(日) 13:54:56 ID:???
「引数が無効です」なんだから、
(window[f1].document.createDocumentFragment().appendChild(
window[f1].document.getElementById(o1).cloneNode(true)));

window[f1].document.getElementById(o1).cloneNode(true));
かがおかしいのでは?

var f1o1 = window[f1].document.getElementById(o1);
var clone = f1o1.cloneNode(true);
var f1fg = window[f1].document.createDocumentFragment();
////////////////////
f1fg.appendChild(clone);
////////////////////

var f2o2 = window[f2].document.getElementById(o2);

///////////////////
f2o2.appendChild(f1fg);
///////////////////



100 名前:Name_Not_Found 投稿日:2005/05/29(日) 14:09:06 ID:???
appendChild
>>ttp://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html#ID-1950641247
Adds the node newChild to the end of the list of children of this node. If the newChild is already in the tree, it is first removed.

******************
[Return Value]
The node added. ←これだろ原因。
****************

つまり、

var returnValue = f1fg.appendChild(clone);
returnValue == clone; //登録された返り値のcloneね。

だから
f2o2.appendChild(f1fg);じゃなくて
f2o2.appendChild(clone_Added);してて、それが原因でおかしいんじゃないかなぁ?

101 名前:Name_Not_Found 投稿日:2005/05/29(日) 16:04:05 ID:???
obj.setAttribute("onmouseup","alert(\'発生しました。\')");
が機能しません。

ttp://www.quirksmode.org/dom/tests/attributes2.html#
ここで同じようなことが実験できるんで、色々試したのですが、

このサイトで
<p id="test" ・・・・・・ onclick="alert('Clicked!')"・・・・・>
と最初から記載されていれば、ちゃんとイベントが発生します。

TEST alert(x.getAttribute('onclick'))
をクリックすると
function anoymous(){
   alert('Clicked!');
}
とアラートされます。

でも、Test x.setAttribute('onclick'alert("Changed onclick")')
をクリックすると、指定のPタグをクリックしても、イベントは発生しません。
TEST alert(x.getAttribute('onclick'))
をクリックすると
   alert('Change onclick');としか出ません。

IE6での話ですが、このやり方は無理ということですかね?
他のやり方とかありませんかね?




102 名前:Name_Not_Found 投稿日:2005/05/29(日) 16:18:46 ID:???
いつもの記述の仕方で載せます。

Fid = function(s){return document.getElementById(s)};
Fap = function(a,b){return a.appendChild(b)}
Fce = function(s){return document.createElement(s)};
Fctn = function(s){return document.createTextNode(s)};
Fcef = function(s){ return document.createDocumentFragment()};
  :
 以下、かなりの数の初期定義があります(全ページ共通jsで実行)

それで、ページ内のオブジェクトのコピーは下のように出来ますよね、
function funcNodeCopy2(o1,o2){
var a = Fid(o2);
var b = Fap(a, Fid(o1).cloneNode(true));
Fap(b, Fctn("追加した要素の中の最後に文を追加しました"));
Fap(a, Fctn("最後に追加しています"));
}

Fap()..での戻りを使いたいときだけ変数を割り当てています。そして、
単なるコピーだけなら Fap(Fid(o2),Fid(o1).cloneNode(true))で済むのですが、
複数のオブジェクトの中の不特定多数のリストの中から検索してコピーするとなると、、
一時的に Fcef() のリストに格納していき、最後に整形を施して Fap()させています。

上のコードはFirefoxは勿論、IE6でも大丈夫です。いつも使っていますから。
それが今回の、「フレーム間のやり取り」の場合は、Firefoxが大丈夫で、
IE6がエラーを発生する。ということでした。

window[f1]があると駄目で、無ければ両方とも大丈夫なのだから。。
なんとかならないでしょうか?(と、言いつつも自分でも考えてはいます)。

103 名前:Name_Not_Found 投稿日:2005/05/29(日) 16:39:53 ID:???
>>101
onハンドラをsetAttributeは駄目なんじゃないの。皆setAttribute
が好きだけど、直接プロパティに書くのはOKだがsetAttributeだと駄目
なことは沢山ある。この場合
obj.onmouseup = function() { alert('???'); };
とかじゃなぜ嫌なわけ?
>>102
フレームをまたがって差し込むためcloneした「そのもの」では
駄目でDocumentFragmentを経由させることにしたのにそのFragment
を無視して「そのもの」を差し込んでるから駄目、なんでしょ。
Fap = function(a,b) { a.appendChild(b); return a; }
にしちゃ駄目なの?

104 名前:Name_Not_Found 投稿日:2005/05/29(日) 17:38:11 ID:???
どうせ勧めるならaddEventListener/attachEventとかにすればいいのに

105 名前:95 投稿日:2005/05/29(日) 17:47:02 ID:???
oElement.setAttribute("onclick",v)の実装小調査…

FFGecko
v="alert('click')"
インラインスクリプトと同様にコード文字列でイベントハンドラ有効

IE6
v=function(){alert('click')}
functionオブジェクトで有効

この部分は互いに噛み合いませんw
どっちも使いたくないですけどw

>>103
あ、そうなんだ、異ドキュメント間でもDocumentFragment経由でcloneNodeできちゃうんだ?
IEはだめだったような・・・
試してみるよ


106 名前:Name_Not_Found 投稿日:2005/05/29(日) 18:38:01 ID:???
>>104
setAttributeの代わりに勧めるのには振り分けが必要な奴はちょっと
敷居が高くね?

107 名前:Name_Not_Found 投稿日:2005/05/29(日) 20:02:33 ID:???
>>102
IE の場合、フレームの Window は window のメンバーじゃないのでは?
フレームの親子関係をちゃんと指定しないと駄目だと思うけど。

window プロパティ (IE の場合 window グローバル変数)
Window オブジェクト自身

frames プロパティ
IE: 子のフレームを指す Window オブジェクトのコレクション
Mozilla: Window オブジェクト自身を指してる? (よくわからん)

108 名前:Name_Not_Found 投稿日:2005/05/29(日) 20:29:19 ID:???
>>103
えーと、>>98 は、Fcef()..つまり、document.DocumentFragment()をを通しているのです。
var a = document.D..として受け渡しをしても同じでした。
つまり、最小限のものですが、この状態でFirefoxは可能でIE6が不可能でした。

それと、 Fap = function(a,b) { a.appendChild(b); return a; } の処ですが、

呼び出す際は、aの方は戻りを使う場合に変数として保持しています。ほとんど。
それよりも入れ子が連続して続く場合が多いのでそうしています。

例えば、領域 #data1にある3番目のtableの2番目の列の2番目のセルに新しくtableを追加し、
それのクラスをaddtableとし、その中に新しく作った最初のセルに領域 #data2の最初の子供をコピーする、
場合を考えますと、

追加 → Ftag = function(a,b){return a.getElementsByTagName(b)};

var o = Ftag(Ftag(Ftag(Fid("data1"),"table")[2],"tr")[1],"td")[1];
o = Fap(o,Fce("table"));
o.classNeme = "addtable";
o = Fap(Fap(Fap(o,Fce("tbody")),Fce("tr")),Fce("td")); // 最後の追加のtdが戻る。
Fap(o,Fid("data2").firstChild.cloneNode(true));

で良いわけですよね。Firefox,IE6とも勿論大丈夫です。
で、ほとんどの関数を短く定義し直していますが、一々、document.getElementById(...)とかを、
永延と記述すると、至極簡単なコードでも何がなんだか分からなくなってしまうからです。
そう、上の場合だとばっと見ただけで分かりやすいからです。

>>107
ありがとうございます。試してみます。
確認の時だけのみIEを使っているから。。不勉強でした。

109 名前:Name_Not_Found 投稿日:2005/05/29(日) 23:37:07 ID:???
質問すれば答えがかえってくるのが当たり前か?
バカがっ・・!

世間というものはとどのつまり、なにも肝心なことは
何ひとつ答えてはくれない。

政府の役人ども、不祥事続きの警察、銀行・・
これらが何か肝心な事を答えてくれたか? 答えちゃいないだろうが・・・!
これは企業だから、省庁だからというわけではない個人でもそうだ
大人は質問に答えはしない。それが基本だ。
その基本をはきちがえているから、こんな朽ち果てた場所に来ているのだ
厨房どもめ・・!


110 名前:Name_Not_Found 投稿日:2005/05/30(月) 00:05:51 ID:???
どこを縦読みするんすか?

111 名前:Name_Not_Found 投稿日:2005/05/30(月) 05:34:38 ID:???
念じて読めば官能小説になるそうです。

112 名前:GreatFixer ◆ASWqyCy.nQ 投稿日:2005/05/30(月) 08:17:39 ID:gouvpe/8
<!-- 質問です。これをブラウザで見ると文字列が出てきそうなんですが何も出ません。何故でしょうか? -->
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"><head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" /><meta http-equiv="Content-Script-Type" content="application/x-javascript" />
<title>(@o@)</title></head><body><noscript><p>Activate the JavaScript.</p></noscript>
<script type="application/x-javascript">
var Elm=document.createTextNode("(@o@)"),Celm,i;
Celm=document.createElement("p").appendChild(document.createTextNode("I'm (@o@)."));i=0;
function f(){
i+=1;
document.getElementsByTagName("body").item(0).appendChild(document.createElement("h".concat(i.toString(10))).appendChild(Elm));
document.getElementsByTagName("body").item(0).appendChild(Celm);
if(i!=6){window.setTimeout("f();",1000);}
}
</script></body></html>

113 名前:Name_Not_Found 投稿日:2005/05/30(月) 08:23:28 ID:???
>>112
関数f()は最初どこから呼ばれるつもり?

114 名前:Name_Not_Found 投稿日:2005/05/30(月) 08:37:18 ID:???
>>112
このスレのどっかでも見たが、
appendChild() の返り値は追加されたNodeだ、ってこと分かってる?

var p = document.createElement("p").appendChild( document.createTextNode('*') );
こんな書きかたありえないよ。

115 名前:GreatFixer ◆ASWqyCy.nQ 投稿日:2005/05/30(月) 09:37:54 ID:gouvpe/8
Re:>>113 ありがとうございました。
Re:>>114 分かっていない。DOMを一ヶ月ぐらい使っているけど、DOMの資料が無くて。

116 名前:GreatFixer ◆ASWqyCy.nQ 投稿日:2005/05/30(月) 09:41:20 ID:gouvpe/8
それでは、document.createElement("h1").appendChild(document.createTextNode("MOJIRETSU"))
をbodyに付け加えたときノーマルなテキストが出るのは何故でしょう?Netscape 7.1, Opera 7.53 で確認しました。

117 名前:Name_Not_Found 投稿日:2005/05/30(月) 10:03:01 ID:???
>>116
それは
var node = document.createElement("h1").appendChild(document.createTextNode("MOJIRETSU"));
document.body.appendChild(node);
としたら最後に「MOJIRETSU」と表示されたってこと?
nodeは"MOJIRETSU"という内容のテキストノードなんだからそりゃ当然でしょ。
appendChildするノードがh1の内容だったとしても
bodyにappendChildした時点でそのノードはh1の内容からは取り除かれるからね。
ttp://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/core.html#ID-184E7107
仕様書にはちゃんと書いてあるけど
わかりやすい解説がほしいのなら自分で探してね。

118 名前:Name_Not_Found 投稿日:2005/05/30(月) 10:20:52 ID:???
>>78
解決している上、亀ですがIEってダブルクリックイベント拾ったような記憶が。。
ondblclickだっけか?

119 名前:Name_Not_Found 投稿日:2005/05/30(月) 11:06:35 ID:???
>>116

var node = document.createElement("h1");
node.appendChild(document.createTextNode("MOJIRETSU"));
document.body.appendChild(node);

若しくは、

var node;
(node = document.createElement("h1")).appendChild(document.createTextNode("MOJIRETSU"));
document.body.appendChild(node);

または、

document.body.appendChild(document.createElement("h1")).appendChild(document.createTextNode("MOJIRETSU"));


120 名前:Name_Not_Found 投稿日:2005/05/30(月) 15:28:53 ID:???
>>GreatFixer ◆ASWqyCy.nQ

>>67後半。
>>98に対して>>99>>100
前レスよめや、ぼk.....

121 名前:Name_Not_Found 投稿日:2005/05/30(月) 15:35:23 ID:???
>>104>>106

addEventListener/attachEventとかも興味があったのですが、
なかなか取っ付きにくくて。

W3Cの仕様サイト以外で、こういうDOM2のイベントについて
分かりやすく説明しているサイトありませんかね?

122 名前:Name_Not_Found 投稿日:2005/05/30(月) 15:53:07 ID:???
>>121
何が知りたいわけ。単にElementに対してたとえばonmousedownなら
e.addEventListener('mousedown', 関数, false); //DOM
e.attachEvent('mousedown', 関数); //IE
のどちらかを使うだけでしょ。あとは関数を文字列じゃなく
JavaScriptの関数名か関数リテラルで指定するくらいかな。


123 名前:Name_Not_Found 投稿日:2005/05/30(月) 15:55:43 ID:???
お世話になっております。
以前こちらでクリックしたらtableタグ内のtrが開くというのを教えてもらい以下のようにしました。
--------------------------------
<html>
<head><title>test</title>
<script type="text/JavaScript">
<!--
function dd(obj){
if(document.getElementById){document.getElementById(obj).style.display=='none'?document.getElementById(obj).style.display='':document.getElementById(obj).style.display='none'}
else if(document.all){document.all(obj).style.display=='none'?document.all(obj).style.display='':document.all(obj).style.display='none'}
else if(document.layers){document.layers[obj].display=='none'?document.layers[obj].display='':document.layers[obj].display='none'}
}
//-->
</script>
</head><body>
<table border=4>
<tr><td><a href="javascript:dd('fo00')"> ほげ</a></td>
<td>数値A</td></tr>
<tr class="dd"style="display:none"id="fo00"><td>
ふが</td><td>数値B</td></tr>
<tr class="dd"style="display:none"id="fo00"><td>
しょぼーん</td><td>数値C</td></tr>
</table>
</body>
</html>
--------------------------------
↑のように2つ以上開くとした場合うまく働きません。
大変申し訳ないのですがどのようにすれば2つ以上展開できるのか
お教え頂けますと幸いです。

124 名前:Name_Not_Found 投稿日:2005/05/30(月) 16:07:05 ID:???
>>123
まず「id=」の前にスペースがないのは危ういから注意。
idの値は「同じものを2つつけてはいけない」から注意。
たとえば片方を「"fo01"」とかに替えたとして
「javascript:dd('fo00');dd('fo01')」のように2回呼べ。

125 名前:Name_Not_Found 投稿日:2005/05/30(月) 16:28:42 ID:???
<a href="javascript:dd();"> とかいう書きかた流行ってるの?
<a onclick="dd();"> って書くより何か危うい気がするんだけど、支障ないんだろうか・・・。

126 名前:Name_Not_Found 投稿日:2005/05/30(月) 16:35:55 ID:???
つか、>>123 の場合、最初に
var obj =
  document.getElementById && document.getElementById(id) ||
  document.all && document.all[id] ||
  document.layer || document.layer[id] || null;
ってやったら、if 文で場合分けとかして何度も同じコード書く必要ないんじゃね? とか思うのだが。
なんか煩雑だよねえ。

127 名前:Name_Not_Found 投稿日:2005/05/30(月) 16:36:49 ID:???
↑ごめんちょっと最後の行間違ったw

128 名前:Name_Not_Found 投稿日:2005/05/30(月) 16:38:47 ID:???
>>125
別に流行っているわけではなくそれぞれ使い分ければいいんじゃないの。
hrefのないaタグはリンクではなくアンカーになるって知ってるよな。
アンカーはクリックするのかどうか目で見て分からないという問題がある。
それだったら「<div onclick="...">...</div>」だっていいわけで。

<a href="javascript: ...">...</a> --- JavaScriptを起動するだけの
使い方。たとえばこのスレでテスト関数を呼び出すだけなど。
そしてJavaScriptコードが文字列に変換できるものを返す場合は
その文字列が表示されてしまうので、最後に「...;void(0)」をつける。
しかし単純な(値を返さない)関数呼び出し等はその必要はない。

<a href="代替URI" onclick="....; return false">...</a> --- JavaScript
を起動するがJavaScript OFFの時は代替の行き先へ飛ぶ。本番向けかな。
あとreturn falseがないと危ういので注意…だからちょっとめんどいね。

129 名前:Name_Not_Found 投稿日:2005/05/30(月) 16:42:37 ID:???
>>126
残念だがN4の場合は「.style」があってはいけないので共通化
できないんだよな。DOM/古いIE/N4の3つ分岐というのはまあ
常識的なんでは(古いIEやN4を捨てないのであればだが)。

130 名前:Name_Not_Found 投稿日:2005/05/30(月) 17:22:34 ID:???
>>128
ふむふむ。
つまり例えば C:> perl print 'hoge' って書くか C:> perl hoge.cgi って書くかの違い、ってことかしら。

しかし何だね、
> アンカーはクリックするのかどうか目で見て分からない
IEが <style>a[onclick] { text-decoration:underline; cursor:pointer; } </style>
とでもできれば、そんなの知ったこっちゃないのに。
うちはイベント持つのには仕方なく class 属性付けさせてるけども。

つーか 古いIE や N4 まで考慮してるのに、
JS効かしてないブラウザのことを全く考慮してないのはすごい片手落ちな希ガス

>>129
へー、知らなかったわw
つーか今更CSS1すらほぼまともに働かないブラウザなんて一体誰がt(ry

131 名前:GreatFixer ◆ASWqyCy.nQ 投稿日:2005/05/30(月) 17:28:47 ID:gouvpe/8
Re:>>117 . がどういう演算子なのかをよく理解した方がいいですか?

132 名前:GreatFixer ◆ASWqyCy.nQ 投稿日:2005/05/30(月) 17:30:30 ID:gouvpe/8
Re:>>120 その参照に何の関係があると?

133 名前:GreatFixer ◆ASWqyCy.nQ 投稿日:2005/05/30(月) 17:32:18 ID:gouvpe/8
Re:>>119 どうもありがとうございました。

134 名前:Name_Not_Found 投稿日:2005/05/30(月) 17:38:53 ID:???
>>130
・対象環境や使用技術は質問者の裁量であることを理解する者


135 名前:Name_Not_Found 投稿日:2005/05/30(月) 17:42:46 ID:???
nullひっこめ。大恥かいたのにまだ懲りないのか。

136 名前:Name_Not_Found 投稿日:2005/05/30(月) 17:45:45 ID:???
さっそく>>4が役立つ時が来ましたよ。
【よくある主張の対立:他人の嗜好は尊重。損得の議論は歓迎】

137 名前:Name_Not_Found 投稿日:2005/05/30(月) 17:48:23 ID:???
まあ何というかな、厨房な意見は無視。スルー。これに限るね。

138 名前:Name_Not_Found 投稿日:2005/05/30(月) 17:52:54 ID:???
>>131
「.」を理解しないでJavaScriptを使うというのは考えられないが…
ようするに「オブジェクトのプロパティアクセス」でしょ?

139 名前:Name_Not_Found 投稿日:2005/05/30(月) 19:11:11 ID:???
終了。
次の患者さんGoだ

140 名前:Name_Not_Found 投稿日:2005/05/30(月) 19:46:42 ID:???
なにこのfjのvoidだかDelphi-MLのT田だかしらんが同類項な書き込み(;´Д`)

141 名前:Name_Not_Found 投稿日:2005/05/30(月) 19:52:56 ID:???
しかし現実にnullよりはうるさい回答者の方が役に
たっているわな。過去ログ見ればよく分かるよ。

142 名前:Name_Not_Found 投稿日:2005/05/30(月) 20:14:25 ID:???
nullって誰?

143 名前:Name_Not_Found 投稿日:2005/05/30(月) 20:19:19 ID:???
まあ厨房で知ったかな回答者気取りのことだと思ってくれ。
どれとどれがそうかは知らん。過去スレではよく名乗ってる。

144 名前:Name_Not_Found 投稿日:2005/05/30(月) 20:23:59 ID:???
こう
var hours = *; // 0-23
という 0-23 の任意の時間があるとき、
これを am/pm で 1-12 の範囲の数字に変換したいんだけど、どう書くのがスマートかな?

145 名前:Name_Not_Found 投稿日:2005/05/30(月) 20:31:35 ID:???
>>144 hoursは整数なんだよね?それなら
var x = hours % 12; if(x == 0) x = 12;

146 名前:Name_Not_Found 投稿日:2005/05/30(月) 20:45:05 ID:???
頭いいな! THX! もちょい短くするとこうか。
var x = hours % 12 || 12;

147 名前:Name_Not_Found 投稿日:2005/05/30(月) 21:59:14 ID:???
javascript呼ぶだけなら<a href=javascript:〜>じゃなくて
<button>とか使えばいいだろ。見た目が気に入らなければcssでどうにでもできる
とw3C信者的な事を言ってみる。

148 名前:Name_Not_Found 投稿日:2005/05/30(月) 22:07:04 ID:???
>>147
  >>128-139

149 名前:Name_Not_Found 投稿日:2005/05/30(月) 23:07:26 ID:???
<MARQUEE direction="right" scrollamount="5">           /⌒ヽ<br />
   ⊂二二二( ^ω^)二⊃<br />
        |    /        ブーン <br />
         ( ヽノ <br />
         ノ>ノ<br />
     三  レレ<BR> </MARQUEE>

150 名前:Name_Not_Found 投稿日:2005/05/30(月) 23:07:57 ID:???
誤爆… スマソ

151 名前:Name_Not_Found 投稿日:2005/05/30(月) 23:12:21 ID:???
誤爆はいいが・・・・・・気になるなーーー!!

152 名前:Name_Not_Found 投稿日:2005/05/30(月) 23:15:30 ID:???
ウザイ

153 名前:Name_Not_Found 投稿日:2005/05/30(月) 23:29:46 ID:???
>>149
これは・・・・・・

154 名前:Name_Not_Found 投稿日:2005/05/30(月) 23:35:56 ID:???
direction="right"消すと逆に走るよ

155 名前:Name_Not_Found 投稿日:2005/05/30(月) 23:48:30 ID:???
ttp://www.interactive-salaryman.com/pieces/invisible_j/main.htm
↑flashでやっているんですが、同じことをJavaScriptでやるにはどんな風にしたらいいでしょう?

156 名前:Name_Not_Found 投稿日:2005/05/31(火) 00:17:22 ID:???
body は text-align を center に
中央のボックスを div で囲んで width を指定、position を relative、
上のロゴと下の記事の z-index を高めに、イメージの z-index を低めにして重なるように。
透明になるようなら背景色も指定しておく。
上のロゴと下の記事とイメージ、3つとも position:absolute で初期位置に top で配置、
後は JavaScript でイベントから下の記事の top を増やす処理を書く、て感じだろうか
知らんけど。

157 名前:Name_Not_Found 投稿日:2005/05/31(火) 02:26:46 ID:DzIbrTw9
javaには何というか、処理をしないで
数秒待たせるといった記述ってありますか?

158 名前:Name_Not_Found 投稿日:2005/05/31(火) 02:45:34 ID:???
>>157
あります。

159 名前:Name_Not_Found 投稿日:2005/05/31(火) 04:56:07 ID:???
>>155-156
画像ブロックの margin-bottom を初期値で -300px とかにしといて、
だんだん 0 に近づけていくようにしてもできると思う。

160 名前:Name_Not_Found 投稿日:2005/05/31(火) 06:29:33 ID:???
>>157
Thread.sleep(3000);

161 名前:Name_Not_Found 投稿日:2005/05/31(火) 06:47:35 ID:???
スレ違いにレスつけるな

162 名前:Name_Not_Found 投稿日:2005/05/31(火) 11:50:39 ID:???
>>157>>160を、Javascriptでホントにやって、いろんな意味で怒られてるのが目に浮かぶ。
SEに、「すみませ〜ん。これどうやっても動かないんですが?」
「ちゃんと色々調べたんですけどねぇ。」
見せる相手が、せいぜい学校の先生とかであって欲しい。

<a href='Javascript:Thread.sleep(3000);alert(\'\');'>

163 名前:Name_Not_Found 投稿日:2005/05/31(火) 12:41:43 ID:???
スキーム名(「http:」とか「mailto:」とか)は全部小文字が正しい
ことになっている。まあ大文字書いたらブラウザが小文字に
変換して扱ってくれるだろうけど。

(RFC2396)
Scheme names consist of a sequence of characters beginning with a
lower case letter and followed by any combination of lower case
letters, digits, plus ("+"), period ("."), or hyphen ("-"). For
resiliency, programs interpreting URI should treat upper case letters
as equivalent to lower case in scheme names (e.g., allow "HTTP" as
well as "http").

164 名前:Name_Not_Found 投稿日:2005/05/31(火) 13:41:57 ID:???
csv形式のファイルからデータを読み込み、
それをオブジェクトのvalueに入れたいのですが、
どのようにすればいいのでしょうか?

・test.csv
Column1,Column2
1,a
2,b
3,b

・htmlファイル

<object classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83" id="ID">
<param name="UseHeader" value="true">
<param name="DataURL" value="test.csv">
</object>

<table datasrc="#ID">
<tr><td>
<span datafld="Column1"></span>
<input type="button" name="Column2" value=※ここにColumn2のデータを入れたい>
</td></tr>
</table>


よろしくお願いします。

165 名前:Name_Not_Found 投稿日:2005/05/31(火) 14:16:20 ID:???
>>164 データバインド知らん。XmlHttpRequestなら次の通り。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function load(uri, f) {
var r = null;
if(window.XMLHttpRequest) r = new XMLHttpRequest();
else if(window.ActiveXObject) r = new ActiveXObject('Microsoft.XMLHTTP');
if(!r) return false;
r.onreadystatechange = function() { if(r.readyState==4) f(r.responseText); }
r.open("GET", uri, true); r.send(null); return true;
}
function dsp(s) {
var a = s.split(/[\n\r]+/), h = '<table border="2"><tbody>';
for(var i = 0; i < a.length; ++i) {
if(!a[i]) continue; var l = a[i].split(/,/);
h += '<tr><td>'+l[0]+'<input type="button" value="'+l[1]+'"><\/td><\/tr>';
}
document.getElementById('d0').innerHTML = h + '<\/tbody><\/table>';
}
</script>
</head><body onload="load('test.csv',dsp)"><div id="d0"></div></body></html>

166 名前:Name_Not_Found 投稿日:2005/05/31(火) 14:25:39 ID:???
質問させていただきます。
画像を簡単にダウンロードされないように(出来れば画像ファイルのURLが分からないよう、キャッシュも
残さないように)したいのですが、よい方法は無いでしょうか。
外部ファイルで画像を二重にする方法では上手くいかず…また、CGIが使えない鯖を借りている為にJavaScriptで何とか出来ないかと考えています。
Mac版IE5.1、OS9.2、鯖は只今です。
宜しくお願い致します。

167 名前:Name_Not_Found 投稿日:2005/05/31(火) 14:36:14 ID:???
JSの範疇じゃないっしょ。
どうやろうと画像を見るなら一時的にせよキャッシュは残る。
手っ取り早くサーバ変えとけ

168 名前:Name_Not_Found 投稿日:2005/05/31(火) 14:40:28 ID:???
>>166
どうやったってブラウザで見えている以上右クリ保存されたら
おしまいじゃないの?あきらめた方がいいと思うがね。
Web製作板的には「保存禁止したい」→「そんな大切なら公開すな!」
で終わる話。

169 名前:Name_Not_Found 投稿日:2005/05/31(火) 16:16:13 ID:???
>>164は、IEでADO使ってデータバインドをしたいのでは?

各レコードの動かし方は

id="ID"だったんで、

var recset = ID.recordset;
でレコードセットオブジェクトをとって、
recset.moveNext();
recset.movePrevious();
recset.moveFirst();
recset.moveLast();
で動かせるけど、フィールドの取り方までうまく調べられなかった。
で、俺は歯医者に行く。後は宜しく。



170 名前:166 投稿日:2005/05/31(火) 16:28:35 ID:???
そうですよね…二重にする方法で頑張ってみます。
皆さん有難うございました。
お邪魔しました。

171 名前:Name_Not_Found 投稿日:2005/05/31(火) 18:15:21 ID:???
>>166
その辺のプラグインはあるじゃん。アレだよ。アレ。
http://pc8.2ch.net/swf/


172 名前:Name_Not_Found 投稿日:2005/05/31(火) 18:52:22 ID:???
>>166
ダウンロードさせた瞬間にマシンをクラッシュさせれば?

173 名前:Name_Not_Found 投稿日:2005/05/31(火) 19:26:37 ID:???
技術ネタじゃないんだけどさ。
confirmってなんて発音してる?
営業が「コンフィーム、コンフィーム」って連発してるんだが。
コンファームだよな?

174 名前:Name_Not_Found 投稿日:2005/05/31(火) 19:37:55 ID:???
コンフィームは痛いな

175 名前:Name_Not_Found 投稿日:2005/05/31(火) 19:48:22 ID:???
>>173
そんな疑問、辞書引けば良いだろ。なんで、ここで聞くのや?

176 名前:Name_Not_Found 投稿日:2005/05/31(火) 19:55:30 ID:???
>>166
こまかーく切り刻んで並べる。
まあ、そんなのに出会ったら、スクリーンショットを撮りますけど。

177 名前:Name_Not_Found 投稿日:2005/05/31(火) 20:20:16 ID:???
Javascriptスレじゃなくなったようです。

178 名前:Name_Not_Found 投稿日:2005/05/31(火) 22:41:06 ID:???
空気嫁
   _
  /,ァ、\
  ( ノo o) )
  ) ヽ◎/( ヒタヒタ
 (/(・)(・)\
 (/| x |\)
   ( ヽノ
   ノ>ノ
。。しU

179 名前:164 投稿日:2005/05/31(火) 23:26:34 ID:???
>>165,169
とても参考になりました。
どうもありがとうございます。

結局こんな風になりました。

<script type="text/javascript">
ID.recordset.moveFirst();
while( ID.recordset.EOF == false){
document.write( ID.recordset("Column1") );
document.write( "<input type=\"button\" name=\"Column2\" value=\"");
document.write( ID.recordset("Column2") );
document.write( "\"><br>");
ID.recordset.moveNext();
}
</script>


180 名前:Name_Not_Found 投稿日:2005/05/31(火) 23:40:49 ID:LwbCacQA
ウェブページのソースをダウンロードしてファイル出力したいです。
WSHでこのスクリプトを走らせてもできません。どうすればできますか?
var oXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
oXmlHttp.open("GET", "http://www.google.co.jp/", true);
oXmlHttp.send();
var cont = oXmlHttp.responseText
var fso = new ActiveXObject("Scripting.FileSystemObject")
saveText("cacsh.txt",cont);
function saveText(file, text){
var outFile = fso.CreateTextFile(file, true, false);
outFile.WriteLine(text);
outFile.Close();
}


181 名前:Name_Not_Found 投稿日:2005/06/01(水) 03:39:04 ID:???
>>180
ここがJavaScriptのスレだってわかってる?

182 名前:Name_Not_Found 投稿日:2005/06/01(水) 07:55:40 ID:???
>>180-181
WSH JavaScriptは一応、守備範囲だよね。ただWSHやってる人多くない
から回答は得られにくいかも。洩れもWindowsな人でないし。

183 名前:Name_Not_Found 投稿日:2005/06/01(水) 08:03:00 ID:???
>>180
マウス右ボタンクリック→ソースの表示→ファイル保存

184 名前:Name_Not_Found 投稿日:2005/06/01(水) 08:06:55 ID:???
>>180
> oXmlHttp.open("GET", "http://www.google.co.jp/", true);
最後の引数はasyncだからこの場合falseでは。

>>181
より相応しいWSHスレがム板にあるが、JSの話題として何の問題も無い。
仮にHTTPクライアント限定だとしても、
それがブラウザかXMLHTTPであるかの違いに過ぎない。

185 名前:Name_Not_Found 投稿日:2005/06/01(水) 08:24:47 ID:???
まあそうなんだが、一応ム板のWSHスレも貼っとくね。
活発だし回答ももらいやすそうだよ。
http://pc8.2ch.net/test/read.cgi/tech/1055075469/l50

186 名前:Name_Not_Found 投稿日:2005/06/01(水) 08:59:16 ID:???
>>164

それだとdocument.writeで他の部分のソースが全部消えやしないかい?

function setButtonValue(){

    //tableタグinputタグを他に使って入たら改良してね。
   target_tag = document.getElementsByTagName("table")[0].getElementsByTagName("input");
   value_toput = rs("Colum2");
   var i = 0;
   while(rs.EOF == false){
    target_tag.appendChild(document.createElement("input"));
    target_tag[i].setAttribute("value,"value_toput);
    rs.moveNext();
    i++;
}
※ダミーinputタグは消そう。

でも、これだと"Colum2"、つまりフィールド名を把握してないと動かないよね?
で、フィールド名保持しているオブジェクト、取ってくるメソッドかプロパティを
調べようとしているのだが、MSDNは読みづらいんで、誰か教えてくれ。

187 名前:Name_Not_Found 投稿日:2005/06/01(水) 09:05:19 ID:???
var rs;
function int(){
  rs = ID.recordset;
rs.moveFirst();
}
function setButtonValue(){
  int();
  //以下同じ。


書き忘れ。

188 名前:Name_Not_Found 投稿日:2005/06/01(水) 10:14:37 ID:???
だぶん上だと動かない。忘れてくれ。今改良中。

189 名前:Name_Not_Found 投稿日:2005/06/01(水) 10:27:42 ID:???
<html><head><script type="text/JScript">
<!--
var rs;
function piyo(){
  init();
  setButtonValue();
  alert(document.getElementsByTagName("table")[0].outerHTML);
}
function init(){
  rs = ID.recordset;
  rs.moveFirst();
}
function setButtonValue(){


  var i = 0;
  while(rs.EOF == false){
    var id_num = "col2-" + i;
    var value_toput = rs("Column2");
    var str = "<input name=\"Column2\" id=\"" + id_num + "\" type=\"button\" datasrc=\"#ID\" value=\"" + value_toput + "\">";
    target_tag = document.getElementsByTagName("tbody")[i].getElementsByTagName("span")[0];
    alert(target_tag.outerHTML);
    target_tag.insertAdjacentHTML("AfterEnd",str);
    rs.moveNext();
    i++;
  }
}
//-->

190 名前:Name_Not_Found 投稿日:2005/06/01(水) 10:28:03 ID:???
ヤマカンでそこそこ合ってる回答者もいなくはないけど、
*特に喪前は*きれいに完成させて動作確認してから貼れ。
スレの浪費だ。

191 名前:Name_Not_Found 投稿日:2005/06/01(水) 10:28:15 ID:???
</script></head>
<body onload ="piyo()">
<object classid="clsid:333C7BC4-460F-11D0-BC04-0080C7055A83" id="ID">
<param name="UseHeader" value="true"><param name="DataURL" value="test.csv">
</object>
<table datasrc="#ID">
<tr><td><span datafld="Column1"></span></td></tr>
</table>
</body></html>

192 名前:Name_Not_Found 投稿日:2005/06/01(水) 10:44:09 ID:???
inputをcreateElementして作ると、type="button"をsetAttribute出来ないね。
サポートしてないとか言われた。
ちなみにinput_tag.type="button";もダメ。
ここらへんが、>>103前半で言われてることなのかな?
とりあえずinsertAdjacentHTML(innerHTMLみたいなもの)で逃げたけど、
ちゃんと.appendChild(document.createElement("input"))したいね。

あと一点。
spanタグの方は、HTMLの処理で
<span datafld="Column1"></span>
だけで、3列作っているのに対して、
コーディングが煩雑過ぎないかな?
まあJavascriptで体裁だけちゃんと作れたよで、
本来はもう少しADOのプロパティ/メソッドですんなり行くのだろうかな?

>>190
スレの浪費を問題とするほどスレがドンドン書きこまれていればいいのにね。
これ以上スレ消費が落ちれば>>172>>177のような輩をのさばらせるだけ。

193 名前:Name_Not_Found 投稿日:2005/06/01(水) 11:34:20 ID:???
> 3列作っているのに対して、 コーディングが煩雑過ぎないかな?
function setButtonValue(){
       var i = 0;
       var input_list = document.getElementsByTagName("input");
           while( rs.EOF == false || input_list.length != i){
             input_list[i].value = rs("Column2");
             rs.moveNext();
             i++;
}
}
・・・・・・・
・・・・・・・
<table datasrc="#ID">
<tr><td><span datafield="Column1"></span><input type="button" datafield="Column2"></td></tr>
</table>
</body></html>

こんな感じか?
でも"Column2"も手書きは止めたいよね。
datafieldが"Column2"なのか"column2"なのか
"article1"なのか"number"なのかわからないと
使えないよね。

194 名前:Name_Not_Found 投稿日:2005/06/01(水) 12:06:49 ID:???
>>192
少なくとも回答者を気取るのならIEでは
createElement("<input type='button'>")
としなくてはいけないことくらい知っとけ。

195 名前:Name_Not_Found 投稿日:2005/06/01(水) 12:48:59 ID:???
>>184
falseにしたら出来ました!
ありがとうございました

196 名前:Name_Not_Found 投稿日:2005/06/01(水) 14:16:41 ID:???
>>194
それでググったら、昔のHawk'sのサイトの覚書がキャッシュに残ってて
それくらいしかこの内容に似たものは検出できなかったぞ。
(少なくともに日本語サイトではな。)
チミは、いつも
「少なくとも回答者を気取るのなら〜
としなくてはいけないことくらい知っとけ。 」
というが、そのことを知っていないと解答できないほど知識不足ということなのか?
もう少しマシな促し方をした方が良いのでは?
最近、みんな書きこまないのはこういう解答への萎縮があるんじゃないのかなぁ。

まあ、その話は置いておいて。
ttp://64.233.187.104/search?q=cache:3U-hPqv8edoJ:www.hawk.34sp.com/diarylog/illust.html+createElement(%22%3Cinput+type%3D%27button%27%3E%22)+&hl=ja&lr=lang_ja
(2003/12/13辺り)
なるほどね。日本語で開設しているサイトは少ないが、IEのかなり有名なバグなんだね。
typeの他にnameなんかもそうなんだね。

>>194はなんでも知ってそうなんだが、

>でも"Column2"も手書きは止めたいよね。 datafieldが"Column2"なのか"column2"なのか
>"article1"なのか"number"なのかわからないと 使えないよね。

このcsvファイルのフィールド名の取得の仕方ぐらい朝飯前なんだよねww
「少なくとも回答者を気取るのなら〜
としなくてはいけないことくらい知っとけ。 」
この書き方で良いんで、教えてくれ。

197 名前:194 投稿日:2005/06/01(水) 15:18:25 ID:???
>>196
すまん、完全に俺の勘違い。
function addControl () {
var input = document.createElement("input");
input.setAttribute("type", "button");
input.setAttribute("value", "Hello World");
document.getElementById("para").appendChild(input);
}
でやったらIE 5.01でもボタンが挿入された。
「IEでは実際にどこかの要素に追加する前にtypeを設定する必要がある」が正解だった。
早とちりしたまま実際に自分で確かめもせずえらそうなことをいってすまない。
俺のようにならないようお前には「IEはtypeが変えられない?」と思ったら
「挿入する前なら変えられる」という答えをすぐ調べられるようになってほしい。

それからMSDNライブラリを見る限りTDCには
フィールド名を取得するプロパティ、メソッドはないようだ。
フィールド名を取得したいならXMLHttpRequestを使ってはどうか。

198 名前:Name_Not_Found 投稿日:2005/06/01(水) 15:41:43 ID:0phFFAlu
すみません、質問なんですが・・
test1とtest2っていう項目があって、未入力チェックをしたいと思い
下記のようにしたのですが、上手くいきません。
配列の使い方が間違っているのでしょうか?

test_array = new Array(2);
test_array[0] = 'test1';
test_array[1] = 'test2';

for (i = 0; i <= 1; i++) {
 if (document.FORMname.test_array[i].value==''){
  // エラー処理
 }
}

test_array[i]というところが、上手くいきません。
どなたかわかりましたら教えてください。
お願いしますm(_ _)m

199 名前:Name_Not_Found 投稿日:2005/06/01(水) 15:59:20 ID:???
[text_array[i]]

200 名前:Name_Not_Found 投稿日:2005/06/01(水) 16:03:27 ID:???
document.FORMname.test_array[i].value
だと
document.FORMname.test_array.i.value
と同義になるよな。確か

201 名前:Name_Not_Found 投稿日:2005/06/01(水) 16:12:30 ID:0phFFAlu
>>199
if (document.FORMname.[test_array[i]].value==''){
  // エラー処理
 }

と、試しても見たのですが、エラーになってしまいました。

>>200
はい・・
document.FORMname.test_array.i.value
と同義になってしまします。

どなたかわかりませんでしょうか・・

202 名前:Name_Not_Found 投稿日:2005/06/01(水) 16:20:08 ID:???
>>198
>>3

203 名前:Name_Not_Found 投稿日:2005/06/01(水) 16:22:27 ID:???
>>197
なるほどね。俺も色々アホでしたわ。
appendChildする前ならsetAttributeし放題なわけですね。
で、appendChildしてしまったら、obj.atribute='value';で挿入することになるけど、
.typeは(少なくとも俺の使ってるIEでは)コマンドがサポートされてないため
使えないと。
appendChildする前にsetAttributeするか、
createElement("<input type='button'>");しろと。
こんな感じでまとめときます。

>フィールド名を取得したいならXMLHttpRequestを使ってはどうか。
やっぱそこまで大事になってしまうか。
多分それでは>>164のデータバインドをしよう的なレベルに合わないと思うんで、
これで解答で宜しいですか。>>164
もういないと思うけど.......

function setButtonValue(){
  var i = 0;
  while(rs.EOF == false){
    var value_toput = rs("Column2");
    target_tag = document.getElementsByTagName("tbody")[i].getElementsByTagName("td")[0];
    var input_button =document.createElement("<input name='Column2'>");
    i++;
    var id_num = "col2-" + i;
    input_button.setAttribute("id",id_num);
    input_button.setAttribute("datasrc","#ID");
    input_button.setAttribute("datafield","Column2");
    input_button.setAttribute("value",value_toput);
    target_tag.appendChild(input_button);
    rs.moveNext(); }}


204 名前:Name_Not_Found 投稿日:2005/06/01(水) 16:25:15 ID:???
>>201
getElementsByNameとかしたほうが簡単そう。

205 名前:198 投稿日:2005/06/01(水) 16:25:24 ID:0phFFAlu
>>202
すみません、よく見ていませんでした・・
ありがとうございます。
解決しました!

206 名前:Name_Not_Found 投稿日:2005/06/01(水) 16:37:06 ID:???
>>198
一回変数に代入してみれば
var Id = test_array[i];
if(document.FORMname[Id].value ==""){・・・・

>>202いうように>>3Q7かな?test_array.elements[i]か。

それよりも
alert("document.FORMname[test_array[0]].value");
とかで'test1'が出ることをまず確認した方が良いのでは?

つ〜か、書いてて思ったのだが、
document.FORMname 「.」  [test_array[i]].value
とかしてるね。これではないのかな?
document.FORMname[test_array[i]].value

document.FORMname.(test_array[0]).valueだろ
(違っててまた怒られそう。少なくとも回答者を気取るのなr,,,,,)

207 名前:Name_Not_Found 投稿日:2005/06/01(水) 17:49:43 ID:???
>>206
解決して終わっているものをとうとうと解説せんで欲しい。
何回でもいうがアンタは動くコード一式を貼るだけにとどめろ。
それだけでも我々としては大幅な譲歩なんだ。演説はいらん。

208 名前:Name_Not_Found 投稿日:2005/06/01(水) 18:03:44 ID:???
まぁ、要は馴れ合いしたいなら他に行けと。
そういうことだ

209 名前:Name_Not_Found 投稿日:2005/06/01(水) 21:18:29 ID:???
でも最近は雑談も敬遠されてるみたいで、見てる側としてちょっとつまらんことは確か。
度が過ぎるとただのお答えロボットみたいなスレになりはしないかと心配。
余計なお世話ですが。

まあ >>206 はスレに書く前にローカルで実際に書いて動かして確認しようね、と。
俺も答えるときはいつもやってるぞ、と。

210 名前:Name_Not_Found 投稿日:2005/06/01(水) 22:40:19 ID:???
こんなもん作ってみたんだがもっと良い方法はないかね。
これじゃ激しくメモリ圧迫しそう。

var Thread = new Object();
Thread.sleep = function(millis) { var t = (new Date()).getTime() + millis; while ((new Date()).getTime() < t) ; };

211 名前:Name_Not_Found 投稿日:2005/06/01(水) 23:46:49 ID:???
タイマーで処理しなさいな

212 名前:Name_Not_Found 投稿日:2005/06/02(木) 00:21:54 ID:???
>>210
それじゃほとんどブラクラでは。sleep()がないとプログラムが作れない
などという厨房に構う必要はない。

213 名前:Name_Not_Found 投稿日:2005/06/02(木) 07:15:25 ID:???
>>210
おまえ客殺す気かw
せめて setTimeout 使用するなりして 1秒おき程度に・・・。
ミリs までやっても精度そんなでないと思うし。

214 名前:Name_Not_Found 投稿日:2005/06/02(木) 07:32:48 ID:???
何もしないループってイヤだな。

215 名前:Name_Not_Found 投稿日:2005/06/02(木) 10:09:13 ID:???
>>213
どうやって秒単位にするんだ。sleep()を使うとか
言うんじゃないだろうな(w

216 名前:Name_Not_Found 投稿日:2005/06/02(木) 14:05:07 ID:???
>>210
圧迫するのはメモリじゃないと思うが。

>>>215
おまいは何が言いたいんだ?

217 名前:Name_Not_Found 投稿日:2005/06/02(木) 14:22:01 ID:???
秒単位でもミリ秒単位でもブラクラ化するのは同じだろ。
なんなら秒単位でブラクラ化しないバージョン作ってみせるか?

218 名前:Name_Not_Found 投稿日:2005/06/02(木) 15:44:09 ID:???
>>217
やってくれ

219 名前:Name_Not_Found 投稿日:2005/06/02(木) 15:50:35 ID:???
>>218
ブラクラ化せずにはゼッタイにできない。普通にsetTimeout/setIntervalを
使うしかないというのが分かっている人全員の共通認識。分かってない奴の
相手などする気はない(初心者の質問ならそう説明してやるだけだが)。

220 名前:Name_Not_Found 投稿日:2005/06/02(木) 15:51:53 ID:???
あ、もしかしたらVBSの何かを呼ぶというワザが(当然IE専だが)あるかも。

221 名前:Name_Not_Found 投稿日:2005/06/02(木) 16:05:01 ID:???
非コンパイル型言語で実行時系列の処理をしようと
すること自体がナンセンスだということに気づけ。
次。

222 名前:Name_Not_Found 投稿日:2005/06/02(木) 16:22:50 ID:???
>>221
それは嘘だろ。別にsetTimeout/setInterval使うぶんには
問題ないんだから。

223 名前:Name_Not_Found 投稿日:2005/06/02(木) 17:38:03 ID:???
>>217
ワクワク(゜-゜)

224 名前:Name_Not_Found 投稿日:2005/06/02(木) 18:33:49 ID:???
おまえら、そういうのはチラシの裏にでも書いてろな?

225 名前:Name_Not_Found 投稿日:2005/06/02(木) 18:34:25 ID:???
日本語が読めない奴が多いようだな。>>217 は「絶対に作れない、
作れるもんなら喪前作ってみろ」と言っているわけだが…

226 名前:Name_Not_Found 投稿日:2005/06/02(木) 18:44:37 ID:???
>>225
おまえ>>217か? そうじゃないなら断定はできないだろ。
「なんなら〜作ってみせるか?」は、おまえのいうような解釈も可能だが、
スレの流れからいえば、>>217が作ると言ってると取るのが自然だろ。

227 名前:Name_Not_Found 投稿日:2005/06/02(木) 18:46:51 ID:???
普通の日本人なら断定できると思うけどな。

228 名前:Name_Not_Found 投稿日:2005/06/02(木) 18:54:15 ID:???
でけん。漏れも217が作るのかと思った。

229 名前:Name_Not_Found 投稿日:2005/06/02(木) 20:51:09 ID:???
独りで「我々は」ぶって、玄人気取りでわめき散らしていた
いいかげん君が、ここに来てさらに孤立の色を増してきました。
まともな話題も頓挫して、もはや質問スレッドの機能を失っております。

さあ、このスレはどうなって行くのでしょう!
質問スレに戻るのか?
常連の馴れ合いになるのかいがみ合いになるのか?

乞うご期待!!


↓まあ次の質問ドゾー ^^


230 名前:Name_Not_Found 投稿日:2005/06/02(木) 20:51:32 ID:???
WSHにsleepがあったような記憶が。
ブラウザ上だとActiveXObjec化した時点でセキュリティ警告という、落ちがありそうですが。。

231 名前:Name_Not_Found 投稿日:2005/06/02(木) 22:22:55 ID:???
>>216
newしまくりだからメモリ圧迫するでしょ。

232 名前:Name_Not_Found 投稿日:2005/06/02(木) 23:16:26 ID:???
>>231
ガベージコレクションって知ってるよね。これずっと走らせて
おいても何ら重くならないと思うけど。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var o, e = null, count = 0;
function test() {
if(e == null) e = document.getElementById('d0');
for(var i = 0; i < 1024; ++i) o = new Object();
e.innerHTML = String(++count);
}
</script>
</head><body onload="setInterval(test,100)"><div id="d0"></div></body></html>

233 名前:Name_Not_Found 投稿日:2005/06/03(金) 05:53:26 ID:???
インラインフレームの高さを
表示するページの高さによって
自動調節させるスクリプトを探しています。

ありましたら是非教えてください。

よろしくおねがいしますm(_ _)m

234 名前:Name_Not_Found 投稿日:2005/06/03(金) 08:29:30 ID:???
>>233
表示するページのコンテンツの高さはbodyのoffsetHeightとかで
分かるんじゃないかな。で、インラインフレーム要素のstyle.height
を対応して調節すると。大まかにはそんなとこだろ。じゃ頑張って。

235 名前:Name_Not_Found 投稿日:2005/06/03(金) 08:51:03 ID:???
>>233
フレーム内に表示させるページが別鯖だと高さとか取れない
と思うけどそれはOKかね? FAQ >>3 は読んだ?

236 名前:Name_Not_Found 投稿日:2005/06/03(金) 09:19:07 ID:???
>>235
表示するページってのは、インラインフレームを開く窓のほうじゃないの?

237 名前:Name_Not_Found 投稿日:2005/06/03(金) 09:21:25 ID:???
>>236
??? 表示するページの高さは「インラインフレームの高さ+残りの
部分の高さ」だと思うんだが。その前提でどうやって「表示する
ページの高さに応じてインラインフレームの高さを調節」するのか
分からん。もしかして表示しているウィンドウの高さに応じて、の
間違いなのかな???

238 名前:Name_Not_Found 投稿日:2005/06/03(金) 09:39:50 ID:???
>>237
おれは窓の高さだと理解したけど。
iframeの中身によって高さを変えるなんて面倒なことは考えたくないだけかもしれんがw

239 名前:Name_Not_Found 投稿日:2005/06/03(金) 11:36:27 ID:???
スクロールバーが出なくなる大きさに
インラインフレームを自動で開きたいってことか?

240 名前:Name_Not_Found 投稿日:2005/06/03(金) 11:36:31 ID:???
>>233-238 すると、こうかな。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
window.onload = window.onresize = function() {
var f0 = document.getElementById('f0');
var h = window.innerHeight || document.documentElement.offsetHeight;
f0.style.height = (Number(h) - 30) + 'px';
}
</script>
</head><body>
<iframe id="f0" src="http://www.yahoo.com"></iframe>
</body></html>

241 名前:Name_Not_Found 投稿日:2005/06/03(金) 11:58:01 ID:???
<iframe id="" src="ttp://www.yahoo.com" height=" ? "></iframe>

↑の height=" ? " の部分を「インラインフレームの中に呼び込むページ自体の100%の高さ」に自動調節って出来きませんか?

242 名前:Name_Not_Found 投稿日:2005/06/03(金) 12:53:41 ID:???
>>241
iframe使うなら無理。

243 名前:Name_Not_Found 投稿日:2005/06/03(金) 12:54:03 ID:???
>>241
だから >>235 を読め。終了。

244 名前:Name_Not_Found 投稿日:2005/06/03(金) 13:59:09 ID:???
関数の引数を省略したいんだけど、第1引数の省略って出来ますか?

第1引数を引数列の最後に持ってくればすむことだけど、
hoge( , ar2);
とすると、構文エラーで怒られました。

245 名前:Name_Not_Found 投稿日:2005/06/03(金) 14:26:15 ID:???
>>244
できません。ECMA-262の文法くらい勉強せんと。
しかしhoge(null, ar2);とかですら嫌なわけなの?

246 名前:Name_Not_Found 投稿日:2005/06/03(金) 14:36:32 ID:???
>243の空回り振り(ワラ

247 名前:Name_Not_Found 投稿日:2005/06/03(金) 15:04:50 ID:???
いや、第一引数は、OOPでいうクラス名に当たるものを入れていて
クラス作るまでもないんで、Cみたく書いてたんだけど、
色々使うんで、グローバル変数に変えたんで困ってたわけ。

第2引数に変えると、なんか気持ち悪くて。
かといって、将来そのグローバル変数以外で使わないとも限んないんで
可能かどうか聞いてみました。

まあ後ろに省略する引数は持ってくよ。
書く人がnull入れてくれるかわからないんでね。
まあ、なんであれTHNX!



248 名前:Name_Not_Found 投稿日:2005/06/03(金) 15:17:09 ID:???
>>247
引数がいくつ渡されているかはarguments.lengthで調べられる
ので、1個だったらそれは1個目が省略されていて2個目が使われて
いるものと思う、なんていう風に処理することはできるけどね。

249 名前:Name_Not_Found 投稿日:2005/06/03(金) 15:21:14 ID:???
終ったようなので【参考】

ttp://www.microsoft.com/japan/msdn/library/ja/script56/html/js56jsproArguments.asp

ttp://www.microsoft.com/japan/msdn/library/ja/script56/html/js56jsobjarguments.asp


250 名前:Name_Not_Found 投稿日:2005/06/03(金) 16:14:39 ID:???
>>248なるほどね。

var arLen = anynumber;
if(argument.length < arLen){
  if(arguments.length == arLen -1){
  //確実に第1引数しか省略されない場合に限る
    for(var i = arguments.length; i >0;i--){
      arguments[i] = arguments[i -1];
    }
    argument[0] = substitute_orOmitted;
  }else{
     //エラー処理
  }
}
こんな感じか?
めんどくさいなぁ。

251 名前:Name_Not_Found 投稿日:2005/06/04(土) 18:13:19 ID:y6FjH/1m
こんにちわ。ジャンプメニューを自動見積もりのときの項目に加えて演算できるようスクリプトを書きたいんですがどなたかわかる人いらっしゃいませんか??
いらっしゃるならご指導お願いしますm(__)m

252 名前:Name_Not_Found 投稿日:2005/06/04(土) 18:17:41 ID:???
>>251
あなたの言ってることが意味がわからないのでもう来ないでくださいm(^^)m

253 名前:Name_Not_Found 投稿日:2005/06/04(土) 18:32:19 ID:???
>>251
まずは >>2 を読め。とくに6)とか7)ね。
ちなみにHTMLには「ジャンプメニュー」という要素はないけど、
「選択メニュー(select)」のことかな。で選択メニューの項目ごとに
「足す金額」が決まっていてそれだけ加えればいいわけ?するとこんなのかな
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var vals = [100,200,300];
function calc() {
var e = document.forms.f0.elements;
e.t1.value = parseInt(e.t0.value) + vals[e.s0.selectedIndex];
}
</script>
</head><body>
<form name="f0" action="#" onsubmit="return false"><p>
<input name="t0" value="100" type="text"> +
<select name="s0"><option>A</option><option>B</option><option>C</option>
</select><input name="t1" type="text"><br>
<input type="button" value="計算" onclick="calc()"></p></form>
</body></html>

254 名前:Name_Not_Found 投稿日:2005/06/04(土) 18:38:15 ID:???
>>252確かに!君の言っていることは至極的を得ている。

しかしだ!

1日ぶりの質問の書き込み対してもう少し寛容になることは
果たして出来ないものなのだろうか?
>>251も英知を振り絞って、この閑散とした状況へ
果敢にチャレンジしてきてるのではないか?

もう一度胸に手を当てて考えてもらいたい。
確かに>>251は、多少言語機能に疾患はあるように見受けられるが、
彼なりに、全力でぶつかってきているのではないだろうか?
その勢いに、多少の空回りがあろうとも
温かく迎えてあげる度量があっていいのではないだろうか?

もう一度自分自身に問いただしてもらいたい。



255 名前:Name_Not_Found 投稿日:2005/06/04(土) 18:41:38 ID:???
>>254 にも問題があるようだ。
×的を得ている
○的を射ている
○当を得ている

256 名前:Name_Not_Found 投稿日:2005/06/04(土) 18:43:05 ID:y6FjH/1m
ご迷惑かけましたm(__)mすいません。そしてありがとうございます。


257 名前:Name_Not_Found 投稿日:2005/06/04(土) 18:44:05 ID:???
その上でだ。
>>251は以下のことを明確にしてもらいたい。

・ジャンプメニュー

なんのことなのかさっぱり分かりません。身障甚だしい。

・自動見積もりのときの

どういう状況か分かりません。テメーの脳内で完結させるな。ボケ。

・自動見積もりのときの項目

だから、どういう項目なんだよ!!



以上具体的に書いていただいて宜しいでしょうか?

258 名前:Name_Not_Found 投稿日:2005/06/04(土) 18:49:13 ID:???
もうお帰りになりますた。

259 名前:Name_Not_Found 投稿日:2005/06/04(土) 20:23:23 ID:???
<td> </td>の、TDタグのテキストを判別したいのですが、うまく出来ません。

”TD”をTDタグのエレメントの参照だとして、アラートで値を出してみると
TD.innerHTML = " ";
TD.firstChild.nodeValue = "?";
(nodeNameは#text)
TD.firstChild.nodeValue.charCodeAt(0) = 160;

if(TD.innerHTML == " ")は機能しますが、
if(TD.firstChild.nodeValue == " " || TD.firstChild.nodeValue =" ")
とかは機能しません。

innerHTMLを使わずに判別するには、どうしたら良いでしょうか?
if(TD.firstChild.nodeValue.charCodeAt(0) = 160)もスマートじゃないような。

というか、キャラコード160のnodeValueの値って何者?

260 名前:Name_Not_Found 投稿日:2005/06/04(土) 20:24:53 ID:???
innerHTML =" ";
でお願いします。
ヘンカンワスレテタ

261 名前:Name_Not_Found 投稿日:2005/06/04(土) 20:50:36 ID:???
>>259
 が だ。それくらい調べられるようになれ。たとえば
ttp://www.i18nguy.com/markup/ncrs.html

262 名前:Name_Not_Found 投稿日:2005/06/04(土) 20:51:59 ID:???
すまそ、洩れも失敗した。
 が だ。と書いたつもりだった。

263 名前:Name_Not_Found 投稿日:2005/06/04(土) 22:10:50 ID:???
if (TD.firstChild.nodeValue == "\160") とかでできたりしないかな? と勘でレスしてみる。

264 名前:Name_Not_Found 投稿日:2005/06/04(土) 22:16:12 ID:???
>>263
またいい加減なことを…文字リテラルの中に書くのに10進なわけないだろ。
ちゃんと言語仕様を読めってば。
ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/7_Lexical_Conventions.html#section-7.8.4

265 名前:Name_Not_Found 投稿日:2005/06/04(土) 22:44:15 ID:???
質問です。
表示する画像のサイズを調整したいのですが
prImg = new Image();
prImg.src = c2[i];
var tate = prImg.height;
var yoko = prImg.width;
var hi = yoko / tate;
if (hi < 1) {
 yoko = 270 * hi;
 tate = 270;
} else {
 tate = 270 / hi;
 yoko = 270;
}
c2にはファイル名が入っていて、画像の回数繰り返すようにしています。
こうするとFirefoxではうまく表示されるのに、
IEでは、何枚かの画像がペッタンコな状態で表示されてしまいました。
何が悪いのか教えてください。

266 名前:Name_Not_Found 投稿日:2005/06/04(土) 22:57:25 ID:???
>>265
tateとyokoを計算した後どう使うのか書かれてないので何とも
言えないが、prImg.srcをセットした「瞬間に」もうheightと
widthが取れるという前提が無理無理なんじゃないの。サーバから
画像ファイル取って来ないと分からないんだしさ。まっとうに
やるのならsrcをセットしたときonloadハンドラも併せてセットし、
onloadが呼ばれてからheightやwidthを使うんだと思うけどね。

267 名前:Name_Not_Found 投稿日:2005/06/04(土) 23:20:58 ID:???
つまり、画像が読み込めていないのに計算を始めてしまっていたのですね。
回答ありがとうございました。
onload使ってみます。

268 名前:Name_Not_Found 投稿日:2005/06/05(日) 00:03:07 ID:???
ttp://www.ringolab.com/note/daiya/archives/003053.html
こういうの使っておくべきだった・・・。
メールアドレス変更したら色々不便(ユーザー登録の変更とか)だ
し、、、

269 名前:Name_Not_Found 投稿日:2005/06/05(日) 00:29:34 ID:???
むしろメールアドレスを公開しなければ、そんなことに悩む必要もないけどな。

270 名前:Name_Not_Found 投稿日:2005/06/05(日) 01:21:03 ID:???
おれはHTMLエンティティ化していた。

271 名前:259 投稿日:2005/06/05(日) 05:48:50 ID:???
if(TD.firstChild.nodeValue == "\u00A0")で行けました。
ありがとう。

>>264
いいかげんな事書くなと言われていたのは俺のほうなのだが・・・


272 名前:Name_Not_Found 投稿日:2005/06/05(日) 10:29:20 ID:???
>>271
いやまあみんな名無しなもんで。つまり十進の160だから
\xA0か\u00A0かだろといいたかっただけ。

273 名前:259 投稿日:2005/06/05(日) 14:50:10 ID:???
>>258>>208ではないのか?
これではかなり馴れ合ってしまっているではないか(雄山風)。


まあ、次の質問どーぞ。


やりたいことを分かりやすく書いてくれれば、
若干名を除いて、もう少しやさしいことでも良いと思うぞ。

274 名前:259 投稿日:2005/06/05(日) 14:51:20 ID:???
誤爆。
>>272>>208ではないのか?


275 名前:Name_Not_Found 投稿日:2005/06/05(日) 15:01:30 ID:iIzliC0o
<SCRIPT language=JScript.Encode>
このあとに、暗号化された文字列が続き最後に</SCRIPT>というソースがあるんですが、
どうやったらこの文字列を復号化できますか?

276 名前:Name_Not_Found 投稿日:2005/06/05(日) 15:20:02 ID:???
暗号化したロジックを書け。
/* 何のための暗号化だと思ってるんだ? */

次。

277 名前:Name_Not_Found 投稿日:2005/06/05(日) 19:28:01 ID:ZJQ6Hgx1
上のフレームで「送信」を押した時、下のフレームがhttp://pcweb.mycom.co.jpに切り替わるように
したんですが、うまくいきません(ページが切り替わりません)どのようにしたらよいでしょうか?
現在↓のようになっております。actionにはCGIで何らかの処理を入れるものとします。

上のフレーム
<HEAD>
<SCRIPT LANGUAGE=\"JavaScript\">
<!--
function change() {
parent.bottom.location.href = "http://pcweb.mycom.co.jp";
}
-->
</script>
</HEAD>


<BODY>
<FORM method=POST target=up action=xxx.cgi>
<INPUT type=text name=ename size=20 Value=>
<INPUT type=submit name=b_action value=送信 onSubmit=\"change()\">\n";
</FORM>

278 名前:Name_Not_Found 投稿日:2005/06/05(日) 19:51:19 ID:???
>>277
まずhtmllintでも掛けてHTMLの構文のヘンなところ(構文エラー)を直せ。
警告はほっといてもいいよ。ここはJSスレであってHTMLスレじゃないからな。
それが終わったら話を聞こう。

279 名前:277書き直してまいりました 投稿日:2005/06/05(日) 20:30:37 ID:ZJQ6Hgx1
上のフレームで「送信」を押した時、下のフレームがhttp://pcweb.mycom.co.jpに切り替わるように
したんですが、うまくいきません(ページが切り替わりません)どのようにしたらよいでしょうか?
現在↓のようになっております。actionにはCGIで何らかの処理を入れるものとします
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
function change() {
parent.bottom.location.href = "http://pcweb.mycom.co.jp";
}
-->
</script>
</HEAD>


<BODY>
<FORM method=POST target=up action=xxx.cgi>
<INPUT type=text name=ename size=20 Value=>
<INPUT type=submit name=b_action value="送信" onSubmit="change()">
</FORM>
</BODY>

280 名前:Name_Not_Found 投稿日:2005/06/05(日) 22:10:01 ID:???
>>279
HTMLのまずいところあと3箇所。「Value=""」のように何か指定しないと
まずい。「action="xxx.cgi"」のように囲まないとまずい。まあそれは
さておき。onsubmitというのはinputには指定できないんだ。そこは
onclickにしてはどうかね。これが「HTMLを正しくしろ」と言った真意だが。


281 名前:Name_Not_Found 投稿日:2005/06/05(日) 23:06:24 ID:???
<script> の最後が //--> じゃなくて --> だったり、
<sctipt> の type属性と <form.> の直下にインライン要素を置けないのはその箇所に含まれないのね・・・。

つか、onclick よりは <form> に onsubmit つけるべき。

282 名前:Name_Not_Found 投稿日:2005/06/05(日) 23:12:22 ID:???
>>281
いやまあ、指摘乙。それはそれとして、<form>にonsubmitつけた場合、
return false;できないじゃん。フォームが提出されなくなっちゃう。
今回の場合、もしかするとフォームが提出されて戻りページに切り
替わるためにスクリプトがアボートされるという問題が生じるかも
知れないので、inputのonclickにしておいて時間待ちしてから
submit()を呼ぶという技の余地を確保して置きたいなと思うんだがどうよ。

283 名前:Name_Not_Found 投稿日:2005/06/06(月) 04:53:42 ID:???
<HTML><HEAD>
<TITLE></TITLE>
<SCRIPT type="text/javascript">
function change(){
if (window.parent && ( parent.window["bottom"] || parent.bottom) ) {
window.open("http://www.yahoo.co.jp/","bottom");
//異ドメインドキュメント表示のフレームの場合.locationにアクセスできないので
//開くだけならこちらがいいかも。
this.form.submit();
//thisはこの場合、このイベントハンドラ関数を呼び出したHTML要素(ボタン)
}}
window.onload=function(){//初期設定
var ObjFORM_f1=document.getElementById("f1");
var ObjBUTTON_b_action=ObjFORM_f1.elements["b_action"];
ObjBUTTON_b_action.onclick=change;//change()としない
}
</script>
</HEAD>
<BODY>
<FORM id="f1" method="POST" target="up" action="/test01.vbs">
<INPUT type="text" name="ename" size="20">
<INPUT type="button" name="b_action" value="送信">
</FORM>
<!--
<INPUT type='submit'>はスクリプトがONOFFに関わらず送信を実行するので
送信前に内容チェックやキャンセルをする設計なら、
このようにスクリプトON時のみ送信できるようにしたほうがいいかも。
-->
</BODY></HTML>

284 名前:283 投稿日:2005/06/06(月) 05:15:12 ID:???
あ、ごめんごめん
283の場合
ENTER押しただけで送信されちゃうので、
<FORM>にonsubmit="return false;"を追加して。

これは蛇足だけど
初期にHTML上では<FORM action=""> として
送信先を指定しておかないで送信決定時に設定するのも間違い送信を防ぐ1つの手

ついでに
window.open("http://www.yahoo.co.jp/","bottom");
とか
action="/test01.vbs" の部分は自分の環境そのまま写しちゃったw
.vbsをCGI実行してるの。余計なので直してスルーしてねw

ついでだからタグの属性値を書くのは
みんな言う通りに 属性名="属性値" のように
 " で囲う癖をつけといたほうが無難。



285 名前:283 投稿日:2005/06/06(月) 06:00:00 ID:???
<HTML><HEAD>
<TITLE></TITLE>
<SCRIPT type="text/javascript">
function change(){
if (window.parent && ( parent.window["bottom"] || parent.bottom) ) {
window.open("http://www.yahoo.co.jp/","bottom");
var ObjFORMf1=document.getElementById("f1")
ObjFORMf1.action="xxx.cgi" //送信先
ObjFORMf1.elements["ename"].value=document.getElementById("t1").value
ObjFORMf1.submit();
}}
window.onload=function(){
document.getElementById("b1").onclick=change;
}
</script>
</HEAD>
<BODY>
<FORM id="f1" method="POST" target="up" action="">
<INPUT type="hidden" name="ename" size="20">
</FORM>
<SPAN>
<INPUT id="t1" type="text">
<INPUT id="b1" type="button" value="送信">
</SPAN>
<!--
スクリプト有効時だけ送信するにするため、直しました。ごめんなさい。
<INPUT type="text">などが1つだけの場合、ENTERで送信されてしまうので
<FORM>外で入力用ダミーに入力させ、送信時に<INPUT type=hidden>を使う
<FORM>はCSSで見えなくしてもいいでしょう。
古いブラウザは<FORM>外の<INPUT>が無効なものもある。
-->
</BODY></HTML>

286 名前:Name_Not_Found 投稿日:2005/06/06(月) 07:54:11 ID:???
>>283-285
アンタは吟味してから1個だけ貼れ。解説はいらん。

287 名前:Name_Not_Found 投稿日:2005/06/06(月) 08:09:09 ID:???
>>282
> form>にonsubmitつけた場合、 return false;できないじゃん
どゆこと?
そりゃ
<form onsubmit="change()"> はアレだけど、
<form onsubmit="return change()"> は普通に機能するでしょ、当然。

てゆか、>>279見た感じ、フォーム内容のチェックとか、そういうのはしてないから、(単に別のページをフレームに出したいだけ)、
そういうの考えるのは >>279 に対してはけっこう的外れじゃないかと思うのだがどうよ。

それにしても、みんな蛇足が好きだねぇ。 たまに参考になるけどな。

288 名前:Name_Not_Found 投稿日:2005/06/06(月) 08:52:53 ID:???
>>281
> <script> の最後が //--> じゃなくて --> だったり、

これ、少し前に気付いたのですが、
JavaScriptでは、「//」と「<!--」に加えて「-->」も一行コメントとして処理されているようです。
JScriptでは、</script>直前(改行など除く)にあれば問題無いようです。

いずれにせよ、文法違反に対処する苦肉の策だろうと想像できるわけで、
>>281らがここで指摘し続けている通りに正しく書くのがベストですが。

289 名前:Name_Not_Found 投稿日:2005/06/06(月) 09:47:35 ID:???
>>288
> JavaScriptでは、「//」と「<!--」に加えて「-->」も一行コメントとして処理されているようです。

JavaScriptは何も処理しないよな。ただの言語だから。よしんば上の内容が事実であったとしてもそれは特定の処理系に依存する仕様だろう。
だったら「JavaScriptでは」などと書くべきではない。その特定の環境を示して書くべきかと。


290 名前: 投稿日:2005/06/06(月) 11:44:44 ID:3qLYCtsa
ページトップへのページ内リンクがスムーズなスクロールになっているのをよく見かけますが、
これは戻り先の座標が予めわかっているからできることで、
そうではなくてNikonではジャンプ先が固定値ではないのにスムーズにスクロールしています
この仕組の分かる方っていらっしゃいますか?

http://www.nikon.co.jp/main/jpn/whatsnew/index.htm

291 名前: 投稿日:2005/06/06(月) 12:03:51 ID:3qLYCtsa
すみません、やっぱり質問をキャンセルします。もう少しよく調べて質問を絞ることにします。お騒がせして大変失礼しました。すみません。

292 名前:Name_Not_Found 投稿日:2005/06/06(月) 12:54:09 ID:???
>>290-291 確か既出。
次行ってみよう

293 名前:Name_Not_Found 投稿日:2005/06/06(月) 12:59:46 ID:???
>>290
別に難しいことはないんで、JavaScriptから「ページ内の任意の要素の
ページ内座標」を取得することができるよ。
>>292
なんだその「確か」ってのは。有用な情報がないんなら黙っとけ。
既出を書きたいのなら「どこに」あったかくらい理解してからにしろ。

294 名前:Name_Not_Found 投稿日:2005/06/06(月) 13:11:40 ID:???
>>293
なんだその「別に難しいことではない」ってのは。有用な回答ができないんなら黙っとけ。
文句を言いたいのなら「どのように」書けるかくらい提示してからにしろ。

295 名前:Name_Not_Found 投稿日:2005/06/06(月) 13:15:11 ID:???
サア元質問者が出て来てどっちの勝ちか判定してくれると面白いゾ。

296 名前:Name_Not_Found 投稿日:2005/06/06(月) 13:24:02 ID:???
質問文から、元質問者は「任意要素の座標を知ることはできないの
だろう」と考えていることがうかがえる。それをそうではないよと
指摘してやることは適切な回答だし、「どうやって」まで教える必要は
(質問者のレベルがまだ分からない以上)ないと思われ。

297 名前:Name_Not_Found 投稿日:2005/06/06(月) 13:32:53 ID:???
でも作ったから貼る。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var delta = 0;
function scr(id) {
var s = window.pageYOffset || document.documentElement.scrollTop;
var t = document.getElementById(id).offsetTop; delta = t - s; step();
}
function step() {
var d = Math.floor(delta * 0.1); window.scrollBy(0, d);
if(Math.abs(delta -= d) > 1) setTimeout(step, 20);
}
</script>
</head><body>
<p><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<a href="#p0" onclick="javascript:scr('p0');return false">test</a>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></p>
<p id="p0">ここ</p>
<p><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<a href="#p0" onclick="javascript:scr('p0');return false">test</a>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></p></body></html>

298 名前:Name_Not_Found 投稿日:2005/06/06(月) 13:34:19 ID:???
最近回答者同士の下手な粗探しが絶えませんな。

299 名前:Name_Not_Found 投稿日:2005/06/06(月) 13:36:34 ID:???
>>297 <p style="padding:20em 0;"> とかにしてほしかった・・・HTML汚杉w

300 名前:Name_Not_Found 投稿日:2005/06/06(月) 13:42:04 ID:???
>>299
なるほど! それは言えてますね、次から参考にします。

301 名前:Name_Not_Found 投稿日:2005/06/06(月) 14:36:40 ID:???
プロパティのアリナシは判定できるんだけれども、
オブジェクトの特定のメソッドのアリナシは判定できるのでしょうか?
エラートラップ以外でw

302 名前:Name_Not_Found 投稿日:2005/06/06(月) 14:41:22 ID:???
>>301
プロパティとほとんど同じじゃないの。
if(typeof オブジェクト.プロパティ名 == 'function') ...

303 名前:Name_Not_Found 投稿日:2005/06/06(月) 14:48:58 ID:???
素早い回答ありがとうございます。
なるほど、ですね。納得。

304 名前:Name_Not_Found 投稿日:2005/06/06(月) 16:46:39 ID:???
>>289
JavaScript1.5(JavaScript-C[Spidermonkey])
Firefox類

なるほど、Opera7はJScriptと同じ扱いをしますね。
(>>289風に言えば「処理をしない」になりますが。)

305 名前:Name_Not_Found 投稿日:2005/06/06(月) 18:17:41 ID:???
そんな処理系依存なこと探求してもしょうがないと思うな。
洩れはHTMLコメントなんかとっくにやめてるけどね。
HTMLコメントにしないと問題あるブラウザって何よ?
携帯とか言わないでよ、携帯サイトは分けて作るから。

306 名前:Name_Not_Found 投稿日:2005/06/06(月) 18:31:08 ID:???
まあ携帯にしろ何にしろ、外部ファイルにすれば丸く収まる話。

307 名前:Name_Not_Found 投稿日:2005/06/06(月) 21:24:09 ID:???
>>305
確かに迷信だったよ。HTMLコメントなんて。
かなり早い段階からscript要素が予約されていたので
script非対応な古いブラウザであっても
scriptタグの中身を表示するような物は、まず見つからない。

しかし時は移り、日本のDQNキャリアが作ったヘッポコな携帯ブラウザによって
迷信は現実の話となった。

308 名前:Name_Not_Found 投稿日:2005/06/06(月) 21:55:27 ID:???
ということで、携帯で表示させる気がなければHTMLコメント不要でFA?

309 名前:Name_Not_Found 投稿日:2005/06/06(月) 22:05:00 ID:???
<script>...</script>の中にスクリプト直書きなページって
たとえ何の役に立たなくてもスクリプト全部転送するわけだよね。
パケ代とかも掛かり通信速度も遅い携帯のページでそんなのやるのは
たとえHTMLコメントにしてあったとしてもちょっとね。

310 名前:Name_Not_Found 投稿日:2005/06/06(月) 22:19:46 ID:???
パケ代心配ならネット使うなと何度

311 名前:Name_Not_Found 投稿日:2005/06/06(月) 22:20:37 ID:???
ん?コメントって
<!-- コメント -->
のコトでしょ?
コレって、HTMLっつーより、SGMLの範囲じゃね?

312 名前:Name_Not_Found 投稿日:2005/06/06(月) 22:38:30 ID:???
>>307
日本のキャリアは標準仕様を読まないので世界的に有名ですから。
ドキュモとか。ドキュモとか。ドキュモとか。
CHTMLのドラフトなんて、怪しげなタグ講座でHTML勉強して
HTML4の仕様書など見た事も読んだ事も無い奴が書きました、という情景が
ひしひしと伝わってくる迷作です。
メールでもRFC非互換のアドレスを使っておいて、
そういう仕様なんだから、PC側が対応すべき問題。RFC?何それ?
という剛胆の持ち主。

313 名前:Name_Not_Found 投稿日:2005/06/06(月) 23:21:37 ID:???
>>311
確かに製作板らしい突っ込みだ。SGMLコメントと呼べ
つーのならそう呼ぶけどさ。多くの人は「ハア?」じゃ
ないのかな…
>>312
ともかくJavaScriptスレとしては近寄らないで済むんで。
(Opera載ってる奴はまあ別だがあれはOperaだから。)

314 名前:Name_Not_Found 投稿日:2005/06/06(月) 23:28:39 ID:???
> ひしひしと伝わってくる迷作です。

いや、あれは「迷惑」です…

315 名前:Name_Not_Found 投稿日:2005/06/06(月) 23:46:42 ID:???
兵隊は黙って納期守りなさい

316 名前:Name_Not_Found 投稿日:2005/06/07(火) 00:45:55 ID:???
ググッたが語句が悪いのか・・・ヒットしませんでした。

一時期流行ったURLの後ろにjavascriptを付加させる書式をどなたか教えていただけませんでしょうか?

317 名前:Name_Not_Found 投稿日:2005/06/07(火) 01:26:46 ID:???
<Script language='JavaScript'><!--
function RefCheck() {
ref = top.document.referrer;
if ((ref.indexOf('http://○○○') != 0) && (ref.indexOf('http://○○') != 0) && (ref != '')) {
document.location = 'http://●●●;
}
}
---></Script>

リンクを貼って欲しいと頼まれたページに飛ぼうとすると
他のページに飛ばされてしまいます。
もしかして上のスクリプトが原因ですか?


318 名前:Name_Not_Found 投稿日:2005/06/07(火) 06:27:41 ID:???
>>317
うん

319 名前:Name_Not_Found 投稿日:2005/06/07(火) 08:14:10 ID:???
>>316
ハア? もうちょっと、別の言い方で、普通の人に分かるように、
具体例を入れて説明してみて。
>>317
アンタのページからリンクされることを作者が拒絶してるね。
作者と喧嘩するなりなんなりしたらいいんでは(w
ちなみにその作者はSGMLコメントのことが分かってないことは
読み取れる(w

320 名前:Name_Not_Found 投稿日:2005/06/07(火) 08:32:00 ID:???
>>316
「ブックマークレット」だな。

321 名前:Name_Not_Found 投稿日:2005/06/07(火) 08:44:52 ID:???
>>320
なるほど確かに!

322 名前:Name_Not_Found 投稿日:2005/06/07(火) 11:10:02 ID:???
また新語か。いい加減うぜーな。
普通にリンクとかショートカットでいい気がするんだが。
ゲイツosはファイルマークレットの塊でつか?

まぁ漏れがゴチてもしょうがないので仕事に戻る

323 名前:Name_Not_Found 投稿日:2005/06/07(火) 12:17:55 ID:???
まぁさほど新しくも無いがね

324 名前:Name_Not_Found 投稿日:2005/06/07(火) 12:23:01 ID:???
どう見ても >>322 はbookmarkletのことをまるで知らない
無知野郎だろ。何が新語だ。キーワード分かってるんだから
検索して勉強してから書けよ。リンク?全然違うだろ。


325 名前:Name_Not_Found 投稿日:2005/06/07(火) 12:36:32 ID:???
というよりただのデムパにしか見えないな。
支離滅裂。

326 名前:Name_Not_Found 投稿日:2005/06/07(火) 13:04:25 ID:???
まあ、>>322は無知の知ったかってことでw

327 名前:Name_Not_Found 投稿日:2005/06/07(火) 13:25:04 ID:???
^ω^)ゞゴチソウサマ
>>324はリンクが何なのか理解して無いと見た

>>323
ブックマークレットって半年くらい前からじゃなかったっけ?もっと前からある?
まぁ半年すりゃ古い方法かもしれないけどな。今はRSSの方が知られてるし

328 名前:Name_Not_Found 投稿日:2005/06/07(火) 13:27:27 ID:???
JavaScriptの互換性を見るために古いバージョンのIEを試したいのだけれど、
MSDNに加入しないでも入手する方法は無いのでしょうか?

329 名前:Name_Not_Found 投稿日:2005/06/07(火) 13:43:15 ID:???
>>327
少なくとも6年以上前から
ttp://web.archive.org/web/19990424020913/http://www.bookmarklets.com/

>>328
ttp://browsers.evolt.org/
ライセンスは知らんが

330 名前:Name_Not_Found 投稿日:2005/06/07(火) 13:47:23 ID:???
>>327 墓穴を堀りまくるのはやめて沈黙してろ。自分の無知は自覚すれ。

331 名前:Name_Not_Found 投稿日:2005/06/07(火) 13:49:27 ID:???
>>329
うおホントだ
漏れデムパでしたスマソ >all


332 名前:Name_Not_Found 投稿日:2005/06/07(火) 13:53:45 ID:???
>>329
古いブラウザ情報ありがとうございます。これは有用ですね。

クロスブラウザの開発環境をどんな形にすれば効率的なのか難しいところです。

333 名前:259 投稿日:2005/06/07(火) 13:57:27 ID:???
<td class =n></td>

これを
TD.getAttribute("class");だとnullで、
TD.getAttributeNode("class");だと"n"が返るんだけど、
二つのメソッドってどういう時に使い分けるの?
(この場合getAttributeが使用範囲狭そうだけど、
どういう時しか使えないとかあるの?)

334 名前:259 投稿日:2005/06/07(火) 14:00:22 ID:???
TD.getAttributeNode("class").nodeValue;だ!
これで何度目だ?ダメだ俺。身障だ。

335 名前:Name_Not_Found 投稿日:2005/06/07(火) 14:00:42 ID:???
>>333
IEのバグ
ttp://cssbug.at.infoseek.co.jp/detail/winie/b024.html

336 名前:Name_Not_Found 投稿日:2005/06/07(火) 14:14:31 ID:???
>>334
おまえが馬鹿なだけだろ。障害者差別も平気でするし。人として劣ってる。

337 名前:Name_Not_Found 投稿日:2005/06/07(火) 14:21:54 ID:???
>>336
> 障害者差別も平気でするし。人として劣ってる。

そこはかとない矛盾を感じるのは俺だけかな…

338 名前:Name_Not_Found 投稿日:2005/06/07(火) 14:28:44 ID:???
>>337
お前だけ。

339 名前:Name_Not_Found 投稿日:2005/06/07(火) 14:37:46 ID:???
>>338
おまえが馬鹿なだけだろ。主観的断定も平気でするし。人として劣ってる。

340 名前:Name_Not_Found 投稿日:2005/06/07(火) 14:37:57 ID:???
>>334
TD.classNameではいかんの?

341 名前:259 投稿日:2005/06/07(火) 14:49:59 ID:???
>>335
ウホッ!!ありがと。
こんな感じか?
alert("TD.getAttribute(\"className\"):" + TD.getAttribute("className"));
TD.setAttribute("className","o");
alert("setAttribute(\"className\",\"o\")で変更\nTD.getAttributeNode(\"class\").nodeValue:" + TD.getAttributeNode("class").nodeValue);
TD.removeAttribute("class",0);
alert("TD.removeAttribute(\"class\",0)で削除:\n" + TD.outerHTML);
TD.removeAttribute("className",0);
alert("TD.removeAttribute(\"className\",0)で削除:\n" + TD.outerHTML);
var Atr = document.createAttribute("class");
Atr.nodeValue = "p";
TD.setAttributeNode(Atr);
alert("createAttribute(\"class\")→setAttributeNode:\n" + TD.outerHTML);
var Atr = document.createAttribute("className");
Atr.nodeValue = "q";
TD.setAttributeNode(Atr);
alert("createAttribute(\"className\")→setAttributeNode:\n" + TD.outerHTML);
TD.removeAttribute("className",0);
alert("removeAttribute(\"className\",0)で削除:\n" + TD.outerHTML);

TD.removeAttributeNode(TD.getAttributeNode("className"));
alert("TD.removeAttributeNode(TD.getAttributeNode(\"className\"))で削除:\n" + TD.outerHTML);

342 名前:Name_Not_Found 投稿日:2005/06/07(火) 15:06:53 ID:???
何が言いたいのかわからん上、読む気もしない・・・。
誰か要点だけ抜き出してくれ。

343 名前:Name_Not_Found 投稿日:2005/06/07(火) 15:10:16 ID:???
>>342
341の要点:ウホッ!!ありがと。

344 名前:Name_Not_Found 投稿日:2005/06/07(火) 15:20:39 ID:???
出た出た。342のいつもの「何が言いたいのかわからん」攻撃。
ちゃんと読んでも入ないのに、イチャモンを付ける、342の常套手段。

他に、「おまえが馬鹿なだけだろ」「「少なくとも回答者を気取るのなら〜
としなくてはいけないことくらい知っとけ。 」 などがある。

259は、"class""className"の使い分けの1例を書いてるのではないのか?
コードは見にくいが。

345 名前:Name_Not_Found 投稿日:2005/06/07(火) 15:25:51 ID:???
>>344
何?こいつ?

346 名前:Name_Not_Found 投稿日:2005/06/07(火) 15:45:00 ID:???
>>342 ってそもそも質問なのかどうかも分からないよね。
確かに「うまく動いた」という報告なのかも知れない。
その場合はコードは貼らないでホスイ。

347 名前:Name_Not_Found 投稿日:2005/06/07(火) 17:06:35 ID:???
せめて、アラートはインデントとって、クオーテーションはシングルとダブルで使い分けたら少しは読むのが楽に・・・・・・ならないか。

348 名前:Name_Not_Found 投稿日:2005/06/07(火) 17:45:51 ID:xCsCjksy
Javascript(XMLHttpRequest) + DOM + DHTML 
Ajax?
で具体的にですけど
http://xml-jp.amznxslt.com/onca/xml3?t=miseinennnoka-22&dev-t=1AMVZMZT2SZPSET21J82&AsinSearch=4797314133&type=heavy&locale=jp&f=xml
の32行目の<SalesRank>25,472</SalesRank>をhtmlのページに表示
できますか?

349 名前:Name_Not_Found 投稿日:2005/06/07(火) 18:19:56 ID:???
>>348
できる。

350 名前:Name_Not_Found 投稿日:2005/06/07(火) 19:44:48 ID:???
>>348-349
自サイトだよね?他鯖は無理だから。

351 名前:Name_Not_Found 投稿日:2005/06/07(火) 19:52:01 ID:+tM3xoq4
>>348
参考に
http://sky-moon.info/kuma_blog_20050423/
http://sky-moon.info/kuma_blog_20050425/

352 名前:ラブ天使 投稿日:2005/06/07(火) 20:24:17 ID:poWVefJv
参考に
www.mos.co.jp

353 名前:Name_Not_Found 投稿日:2005/06/07(火) 20:37:15 ID:xCsCjksy
>>350
自サイトです。
できたらプログラム書いてもらえませんか

ヒントでもいいのでおねがいします。

354 名前:ラブ天使 投稿日:2005/06/07(火) 20:38:20 ID:poWVefJv
>353
ヒント:ABCDEカロチン

355 名前:Name_Not_Found 投稿日:2005/06/07(火) 22:00:24 ID:???
>>353
プログラムは書きたい奴がいれば言われなくても書くだろう。
ヒントはXMLHttpRequestで取って来てXML側かテキスト側か
のデータ取得して欲しい要素/行を取り出しどっかのinnerHTMLに
突っ込むとかかね?

356 名前:Name_Not_Found 投稿日:2005/06/07(火) 22:15:37 ID:???
この程度のプログラムすらかけないようでは

357 名前:Name_Not_Found 投稿日:2005/06/07(火) 23:27:03 ID:???
XMLHTTPでXMLソース取ってきて、
var rank = source.getElementsByTagName("SalesRank")[0].firstChild.nodeValue;
vart dv =document.createElement("div");
dv.appendChild(document.createTextNode(rank));
document.appendChild(dv);

動くかどうかは、穴紋を受けつけない。

358 名前:Name_Not_Found 投稿日:2005/06/07(火) 23:56:39 ID:???
多少気になってる事が…
>>10
>(とほほのJavaScriptリファレンスは誤り多数という意見もあり議論中)
結論まだ〜?

359 名前:Name_Not_Found 投稿日:2005/06/08(水) 00:16:18 ID:???
>>356
煽って書かせようとしても無駄だから。>>2の 2)ね。
>>358
結論は出てるといえば出てるよな。口当りだけで内容間違いだらけ
のサイトはこのスレでは推奨しない。次からは「…意見により削除」
だな。さて反対/賛成の論述どうぞ。

360 名前:Name_Not_Found 投稿日:2005/06/08(水) 00:29:32 ID:???
さらに 「…意見により削除」 の削除を要請する。

でもとほほの、索引あるのはちょっと助かる。

しかし、まとめサイトあるなら [カコログ] 以降もあってもいいけどいらんような。
つか、この辺の議論はスレ終わり頃でいいな。

361 名前:Name_Not_Found 投稿日:2005/06/08(水) 01:03:00 ID:+RTSP1+c
>>357
XMLHTTPでXMLソース取るのって
どうやるんですか?
JavaScriptは初心者ですので
全然わかりません

>>359
356は他人なんですけど


362 名前:95 投稿日:2005/06/08(水) 01:15:03 ID:???
お久です。
おいおい〜
Mozilla Suite 1.7.x
Firefox 1.x
今どきクロスフレームセキュリティ、スカスカかよ。
フィッシングされちゃうぞ、しようがねーな。
そういえばおかしいと思ってたのよねぇ(ホントカヨw
まさかマジ実装甘いと感じたんだけど本気で試してなかったがマジホントだったw
エロサイトはSleipnir一筋ですがw

ttp://headlines.yahoo.co.jp/hl?a=20050607-00000001-zdn_ep-sci
ttp://headlines.yahoo.co.jp/hl?a=20050607-00000009-inet-sci
ttp://headlines.yahoo.co.jp/hl?a=20050607-00000006-cnet-sci

363 名前:Name_Not_Found 投稿日:2005/06/08(水) 02:40:43 ID:wS34KXp1
フレームのページでメニューのリンク画像をクリックでTARGET="main"と同時に効果音ならしたいんですけどどうすればいいですか?
お願いします。

364 名前:Name_Not_Found 投稿日:2005/06/08(水) 02:45:13 ID:???
そのmainページ全てに音でもつけとけ。もしくはFLASHでも使え。
そして>>1を読め。

365 名前:Name_Not_Found 投稿日:2005/06/08(水) 03:52:41 ID:/wLPjuBt
いつもながの殺伐さ。。ホトホト(=´ω`)

>>363
Flashに汁
簡単、画質キレイ&音質OK
と三拍子揃うぜ 旦那

366 名前:Name_Not_Found 投稿日:2005/06/08(水) 04:40:27 ID:???
>>364
>>365
ありがとう。
既存のHPに付けるのですでにあるリンクボタンごと帰るのはめんどうだし、
ばからしいけど>>364の言うとおり、全部につけました。w
適当な思いつきで>>1を読め。と言われるの分かった上での質問ごめんなさいでした。

367 名前:Name_Not_Found 投稿日:2005/06/08(水) 06:26:25 ID:???
>>361
ここ読め。初心者を言い訳にすな。
ttp://developer.apple.com/internet/webcontent/xmlhttpreq.html

368 名前:Name_Not_Found 投稿日:2005/06/08(水) 07:50:52 ID:???
>>361 ピタゴラスイッチのペンギン思い出した。

369 名前:Name_Not_Found 投稿日:2005/06/08(水) 11:02:02 ID:???
>>360
自分の検索用にここのスレの過去ログをアップしてありますが
もしかして需要あります?

「イラネ」ならそれはそれで別に構わないです

370 名前:Name_Not_Found 投稿日:2005/06/08(水) 11:30:31 ID:???
>>369
確かに、読めない過去スレのログも普通に見れるようになってあったら便利だなー。


371 名前:Name_Not_Found 投稿日:2005/06/08(水) 13:10:19 ID:???
>>369
GJ! まとめサイトに入れて欲しい。

372 名前:Name_Not_Found 投稿日:2005/06/08(水) 15:24:14 ID:???
文章を書きだすスクリプトを作っていて、

txt1="あいうえお";
txt2="かきくけこ";
txt3="さしすせそ";
function mymsg(){
if (document.getElementById) {
document.getElementById("disp").innerHTML=(txt1+txt2+txt3);
}
else if (document.all){
disp.innerHTML=(txt1+txt2+txt3);
}
else if (document.layers) {
document.layers["disp"].document.write(txt1);
document.layers["disp"].document.write(txt2);
document.layers["disp"].document.write(txt3);
document.layers["disp"].document.close();
}
}

<HEAD>内に以上のように記述し、あと、
<BODY onload="mymsg()">
<SPAN id="disp"></SPAN>




373 名前:Name_Not_Found 投稿日:2005/06/08(水) 15:24:43 ID:???
(つづき)

・・・みたいな感じで考えてたんだけど、これを長文に対応した
スクリプトにしたいんです。
多分タグとか含めると1000字くらいのテキストになってしまうかも
しれないんですが、iframeも使いづらいのでJavaScriptでやろうと
してます。
(ちなみに実際は時毎出力にするとか色々組み合わせるつもり)
で、特に確か昔のネスケなんかは長文の出力には難があったような
記憶があって、このままだとあまり筋が良くないような気もするし、
どのようにしたらベストなのか知りたいんです。
その他一個につき何文字(バイト?)くらい格納するのが目安なのかとか、
教えて頂けたらありがたいです。よろしくお願いします。

374 名前:Name_Not_Found 投稿日:2005/06/08(水) 15:37:01 ID:???
>>372-373
1000字なんてどんなブラウザでもへのかっぱだよ。確かに古い
N4のレイヤ出力はやったことないのでアレかもしれないが…
N4への対応は必須なの?もしそうなら、ぶっちゃけいきなり
document.writeが一番よさそうだけど(ただし一度書いたら変更
できないが)。対応しなくていいのならinnerHTMLのみでいいでしょ。
文字列の長さなんて自分の読みやすい長さでいい。10万字とか言われ
たらもうちょっと考えるけどさ。

375 名前:Name_Not_Found 投稿日:2005/06/08(水) 16:33:19 ID:Ge0afuMm
ボタン押したら画像を保存したいです
IEで画像を右クリックして「名前を付けて画像を保存」の機能をボタン一つで実行したいんです

376 名前:Name_Not_Found 投稿日:2005/06/08(水) 17:19:40 ID:???
>>375
そう、良かったね。

377 名前:Name_Not_Found 投稿日:2005/06/08(水) 17:25:02 ID:???
独り言はチラシの裏に書いて欲しいんです

378 名前:Name_Not_Found 投稿日:2005/06/08(水) 18:04:58 ID:Ge0afuMm
助けてください

379 名前:Name_Not_Found 投稿日:2005/06/08(水) 18:34:25 ID:???
110番しなさい。

380 名前:Name_Not_Found 投稿日:2005/06/08(水) 18:35:40 ID:???
119番のほうがよくないか?

381 名前:Name_Not_Found 投稿日:2005/06/08(水) 19:02:38 ID:Ge0afuMm
自己解決しました

382 名前:369 投稿日:2005/06/08(水) 19:29:52 ID:???
ではとりあえず晒してみます
http://mirrorhenkan.hp.infoseek.co.jp/cgi-bin/javascript/

自分用のjavascript関係の検索にしか使ってなかったので
余裕が出来たら整形でもしてみます。。

383 名前:ラブ天使 投稿日:2005/06/08(水) 19:34:54 ID:JPWUjcdJ
>>379-380
117番に通報するとか?

384 名前:Name_Not_Found 投稿日:2005/06/08(水) 20:50:23 ID:???
時報?

>>382
オマエすごいな。

385 名前:Name_Not_Found 投稿日:2005/06/08(水) 21:03:45 ID:???
>>382
すごい! 別に整形しなくても「全部表示」したHTMLをまとめサイトに
放り込むんでいいんじゃないの?

386 名前:Name_Not_Found 投稿日:2005/06/08(水) 21:21:35 ID:???
>>382
同意。すごいー。
まとめに放り込むのも、整形するのも、>>382 の好きなようにやってくれ!
とりあえずあとで保存しとこう。GJ!

387 名前:372 投稿日:2005/06/08(水) 21:45:46 ID:???
>>374
レスありがとうございました。
参考にします。

388 名前:Name_Not_Found 投稿日:2005/06/08(水) 22:47:57 ID:???
>>382おお、ありがとう。

これ検索結果がどのスレのことなのかは、どこに書いてあるの?(ソボクナギモン)

余力があれば、スレ名も一々付けてもらうとさらに探しやすいのだが。(ナイモノネダリ)

389 名前:Name_Not_Found 投稿日:2005/06/08(水) 22:58:00 ID:???
<html>
<head>
<script type="text/javascript">

function open_center(){

// window, width:height, window name and URL
win_w = 240;
win_h = 500;
winname = '_blank';
url = '****';

// window position
win_left = (screen.width/2) - (win_w/2);
win_top = (screen.height/2) - (win_h/2);
if(screen.width < win_w || screen.height < win_h) win_left = 0 , win_top = 0;

w_option = 'width=' +win_w+ ',height=' +win_h+ ',top=' +win_top+ ',left=' +win_left;
window.open(url,winname,w_option,);
}

</script>

</head>
<body>
<p><a href="javascript:open_center()">open</a>
</body>
</html>

上記ソースにスクロールバーを表示したい場合はどのようにすれば宜しいでしょうか?

390 名前:Name_Not_Found 投稿日:2005/06/09(木) 00:12:05 ID:???
>>389
まずwindow.open()の引数の指定方法を調べる。続いて、
スクロールバーが出るような引数指定になるようソースを
手直しする。以上で完璧でしょう。

391 名前:Name_Not_Found 投稿日:2005/06/09(木) 14:01:04 ID:???
特定のプラグインがローカルにインストールされてるかどうか調べるにはどうしたらいい?
インストールの有無で別ページに飛ばしたいんだけど…

392 名前:Name_Not_Found 投稿日:2005/06/09(木) 14:05:50 ID:???
>>391
navigator.pluginsとかいうのがあったよな。あとは自力で
調べてみれば。

393 名前:Name_Not_Found 投稿日:2005/06/09(木) 14:12:56 ID:???
>>392
ありがと。
やってみる

394 名前:Name_Not_Found 投稿日:2005/06/09(木) 19:17:40 ID:rkxYmsBb
javascriptで書かれたフォームに、外部のサーバからLWPを使って投稿って可能なんでしょうか?

いろいろ検索したんですが、可能かどうかも分からず仕舞いです。
参考になるサイトや書籍などありましたら教えてください。
よろしくお願いします。

395 名前:Name_Not_Found 投稿日:2005/06/09(木) 19:32:57 ID:???
>>394
フォームの仕組みをきちんと理解すれば可能

396 名前:Name_Not_Found 投稿日:2005/06/09(木) 19:42:59 ID:???
>>395>>394 のやりたいことが分かったんだ。洩れは全然分からんぞ。

397 名前:Name_Not_Found 投稿日:2005/06/09(木) 20:10:21 ID:???
>>394
LWPはJSを解釈しないから、オートメーション化は実質的に不可能。
JSを解釈する何かを自作すれば可能になるが、
だったら人力でフォームをブラウザで表示させた方が手っ取り早いと思われる。

398 名前:Name_Not_Found 投稿日:2005/06/09(木) 20:36:43 ID:???
はじめまして、お聞きしたことが。
<SCRIPT LANGUAGE="JavaScript">

<!--
function my_test(){
var ten=0;
for (i=0; i<document.F1.length-1; i++){
if (document.F1.elements[i].checked == true){
ten += eval(document.F1.elements[i].value)
}
}
subwin = window.open("","sub","width=450,height=400");
if (ten<=14){
subwin.document.write("C 14点未満あなたの結果は"+ten+"点です。");}
if (ten>=15&&ten<=30){
subwin.document.write("B 15〜30点以内あなたの結果は"+ten+"点です。");}
if (ten>=30&&ten<=100){
subwin.document.write("A 30〜100点以内あなたの結果は"+ten+"点です。");}

subwin.document.write("<center><input type='button' value='閉じる' onClick='window.close()'></center>");
}

//-->
</script>


399 名前:Name_Not_Found 投稿日:2005/06/09(木) 20:37:01 ID:???



586 :デフォルトの名無しさん :2005/06/09(木) 20:33:02
続きですm(__)m
上記のスクリプトは下にフォームがありチェックされたものの点数を出します
<tr bgcolor="#FFFFFF">
<td width="30"><div align="center">2</div></td>
<td align="center"><div align="left">質問</div></td>
<td align="center">
<input type="radio" name="R2" value=3>はい
<input type="radio" name="R2" value=0>いいえ </td>
</tr>
上記のようなフォームが続くのですが
点数で今はサブウィンドウが開くようになっているのですがただ単にHTMLへ
ジャンプさせるにはどのように書き換えられば良いのでしょうか・・・
何卒、皆様のお力を貸して下さいm(__)m

400 名前:Name_Not_Found 投稿日:2005/06/09(木) 20:43:37 ID:???
>>398-399
subwin.document.writeする代わりに「location.href = '行き先URI';」
を実行すれ。それだけだ。

401 名前:Name_Not_Found 投稿日:2005/06/10(金) 00:39:22 ID:???
「サブウィンドウが開くようになってい」る行為が嫌がられるのなら、
divタグ作って、入れればいいじゃん。

簡単に
if(ten<=14){
result = "C 14点未満あなたの結果は"+ten+"点です。";
}
else if(・・・・・・・
・・・・・・・
}
var str = "<div>" + result + "</div>";
obj.insertAdjacentHTML("afterBeggin",str);
objはあなたのお好みで。例えば
var body_tag = document.getElementsByTagName("body")[0];

あらかじめ空div・pタグ等々あるなら、
div_tag.innerHTML =result;

innerHTMLがいやならDOMでやれるので後は過去レスを。

402 名前:Name_Not_Found 投稿日:2005/06/10(金) 00:43:43 ID:ziwE3rHF
HEAD内に<BASE TARGET="_blank">を指定したのですが

javascript:location.href='http://〜'

↑これが同一ウィンドウに開いてしまいます。
新しいウインドウで開きたいのですが…。


403 名前:Name_Not_Found 投稿日:2005/06/10(金) 00:45:01 ID:???
>>402
window.open()

404 名前:Name_Not_Found 投稿日:2005/06/10(金) 00:51:45 ID:???
>>401
質問者が求めてないことを延々と解説すな。他の回答者を見習え。
語りたくてしかたないのならどっかそういうスレへ逝ってホスイ。

405 名前:Name_Not_Found 投稿日:2005/06/10(金) 01:00:59 ID:???
また鳥外したのか?

406 名前:Name_Not_Found 投稿日:2005/06/10(金) 01:14:42 ID:HwY7jcHd
ttp://www.expo70.jp/expo70.html
ここのオンマウスイベントを自分のHPの画像のクリッカブル・マップ上で利用したいのですが、ソースからでは
だめでした。オンマウスで区域が明度ダウンしなおかつ別画像がその区域にあらわれます。こんなリンクは理
想的です。どなたか教えてください。昨日は気になってよく寝られず仕事に差し支えがでました。
おねがいします。

407 名前:Name_Not_Found 投稿日:2005/06/10(金) 01:18:31 ID:???
>>406
テーブルでレイアウトして差し替えてるだけ。
個々は普通のロールオーバースクリプトと同じ。
ttp://www.expo70.jp/expotittle/expo70tittle_01_01.jpg
ttp://www.expo70.jp/expotittle/expo70tittle_01_01_over.jpg

408 名前:Name_Not_Found 投稿日:2005/06/10(金) 01:23:54 ID:HwY7jcHd
>>407
あっ!そうなんだ!!
ぜんぜん、わからなかったです。

409 名前:Name_Not_Found 投稿日:2005/06/10(金) 01:27:54 ID:HwY7jcHd
>>408
ということは、クリッカブル・マップを前提にマップ画像をつくってしまった私って駄目駄目ですね。
(´・ω・`)ショボ-ン

410 名前:409 投稿日:2005/06/10(金) 01:28:33 ID:HwY7jcHd
>>407さんのまちがいでした。
(´・ω・`)ショボ-ン

411 名前:Name_Not_Found 投稿日:2005/06/10(金) 01:42:23 ID:???
<area onmouseover="..." で別画像のレイヤを重ねたりとか…。
できなくもなさそうだけどマンドクサソ

412 名前:Name_Not_Found 投稿日:2005/06/10(金) 01:56:56 ID:HwY7jcHd
>>411
ありがd、なんとなく同様のイベントはできそうです。
結果が同じならいいやって感じです。大感謝です。

413 名前:Name_Not_Found 投稿日:2005/06/10(金) 02:47:43 ID:???
>>333>>335

classだけじゃなかった。
rowSpan。こいつをgetAttributeで値を調べると挙動がおかしい。

<body onload ="alert('rowSpan=' + document.getElementsByTagName('td')[0].getAttribute('rowSpan') + 'か' + document.getElementsByTagName('td')[0].getAttributeNode('rowSpan').nodeValue)">
<table><tr><td rowSpan='30'></td></tr></table></body>

"rowSpan=1"と出たのですが・・・
ちなみにIE6です。独自使用にやられまくってます。

ノードリストのattributesの名前と値すべて出してみても、他に重複してる名前も無かったし。

で、質問は2点。

・この書きこまれたrowSpanの値"30"を取り出すにはどうすればいいのですか?
CSS使えればいいんだけど、俺の書いたHTMLじゃないんで。
最悪outerHTMLで拾って正規表現で取りだしとかになっちゃうのかな?

・他にも出てくる可能性大なので(2度あることは・・)
この属性名・getAttribute・setAttribute等に関するIEの独自仕様を
分かりやすくまとめてある日本のサイト知りません?
ググっても、絞り込み方が悪いのかあまりピンと来るものがありません。

414 名前:Name_Not_Found 投稿日:2005/06/10(金) 02:53:05 ID:???
>>404
回答者が求めてないことを粘着してつっかかるな。他の回答者を見習え。
誰かに当り散らしたいのならどっかそういうスレへ逝ってホスイ。


415 名前:394 投稿日:2005/06/10(金) 06:34:10 ID:MaCHS2od
>>395
なにかヒントになるようなサイトってありませんかー?

>>397
SSLが使われているので、LWPで読んでからブラウザでアクセスしようとすると
却下されてしまいます。

416 名前:Name_Not_Found 投稿日:2005/06/10(金) 08:43:00 ID:???
>>413
「document.getElementsByTagName('td')[0].rowSpan」じゃ駄目?
なんで皆、DOM2に直接定義されてるプロパティを参照せずに
getAttribute()したがるのか…バグバグなのに…

417 名前:Name_Not_Found 投稿日:2005/06/10(金) 08:49:18 ID:???
>>415
まず、そのサイトでJavaScriptを使ってフォームをどのように
加工生成しているかを調べて、それと同じものをこちらのコード
で作れるように検討する。それが分かればあとはその生成された
HTMLに対するフォーム提出と同じ。

JavaScrptによる生成が非常にややこしいもので、同じものを
自前で真似できないようならあきらめる。

418 名前:499 投稿日:2005/06/10(金) 09:46:38 ID:???
いろいろご意見ありがとうございますm(_ _"m)ペコリ
早速やってみようとは思うのですが

subwin = window.open("","sub","width=450,height=400");
if (ten<=14){
subwin.document.write("C 14点未満あなたの結果は"+ten+"点です。");}
if (ten>=15&&ten<=30){
subwin.document.write("B 15〜30点以内あなたの結果は"+ten+"点です。");}
if (ten>=30&&ten<=100){
subwin.document.write("A 30〜100点以内あなたの結果は"+ten+"点です。");}

subwin.document.write("<center><input type='button' value='閉じる' onClick='window.close()'></center>");
}

//-->
</script>
上記の部分を
500さんが言っていた方法で書き換えるとどのように書き換えるることになるのでしょうか。。。すみません書き方等探してはみたのですがわからず(´・ω・`)ションボリよろしくお願いします


419 名前:391 投稿日:2005/06/10(金) 09:48:01 ID:???
>>391でつ
ページのヘッダに

<script language=javascript>
<!--
if(MRPlayer.autostart==false){
confirm("当サイトの作品を再生するにはMidRadioPlayerが必要です。\nプレーヤーがインストールされていないのでオートインストールページへジャンプします。")
document.location.href="http://〜.net/auto.html";
}
// -->

でできますかね?
まずいところあったら教えてください!

420 名前:Name_Not_Found 投稿日:2005/06/10(金) 10:12:38 ID:LOK3gBof
質問です。クロスブラウザを念頭に置いたJavaScriptの開発を考えているのですが、
それに関連した情報をまとめているサイトはありませんか?

たとえば、IEの場合はとりあえずMSDNを見ておけばバージョン毎に出ていますが、
MozillaのDHTML対応に関する情報をまとめたサイトはどこにあるのか、
Netscapeの古いバージョンやOperaに関してはどうか、などです。

他にもECMAScriptでは無名関数が許されていないにも関わらず
ほとんどのブラウザで無名関数をサポートしている模様ですが、
そういったブラウザごとのサポート内容なども詳しければ最もよいです。

ご存知の方がいらっしゃればぜひとも教えてください。よろしくお願いします。

421 名前:Name_Not_Found 投稿日:2005/06/10(金) 10:34:47 ID:kz7sIJ6P
>>420
ここはどうですか?→ttp://allabout.co.jp/career/javascript/closeup/CU20010415/

質問です
form内容をチェックするスクリプトをよく見かけるのですがどれもチェック結果をアラート表示しています。アラート表示ではなく同一画面内に「入力ミスがありました」みたいな文を挿入したいのですがこの場合どうしたらいいでしょうか?

422 名前:Name_Not_Found 投稿日:2005/06/10(金) 10:53:38 ID:???
>>421 ヒント:DOM

423 名前:Name_Not_Found 投稿日:2005/06/10(金) 10:54:53 ID:???
>>418
 レス番100番違うけど・・・。
それだけだったら、window.open や location.href 使わなくとも、
1行目消して、他の行の subwin. 消してみれば、同じ窓に表示されると思うが。
 >>400が言ってたのは、君が 「ただ単にHTMLへジャンプさせるには」 って言ったから。
点数まで必要なら 「ただ単に」 では無理で、
location.href = "〜.html?"+ten;
ってやったあと、その 〜.html 内の script で、
var ten = location.search とやって 点数の部分を取得すればいい。


>>419
・window['MRPlayer'] なんてのはデフォでは存在しないからエラーはく。
  せめて if (MRPlayer && MRPlayer.autostart 略)
・confirmの意味ない。
・<script language=javascript> じゃなくて <script type="text/javascript"> が推奨。
・</script> が無い。

>>420
古いバージョンのいわゆるネスケや古いOperaに対応させる、なんて端から無理なのでやめたほうがいい。
お子様スクリプトくらいならできるけど、込んでくるとほころびでまくる。

424 名前:Name_Not_Found 投稿日:2005/06/10(金) 10:59:53 ID:???
>>421 のページの → showLAYER() → ★サンプル1 をクリックすると、いきなりエラーがでてスクリプトが実行されない件について。


・・・え、ここ"クロスブラウザ"のサンプルだったんj・・・?

425 名前:421 投稿日:2005/06/10(金) 11:06:37 ID:kz7sIJ6P
>>422

アーヤッパリ〜♪
いまDOMか?って思ったところですw
ありがとございまーす♪

>>424
使えませんね;;

426 名前:Name_Not_Found 投稿日:2005/06/10(金) 11:08:55 ID:???
>>418
あまりにも不勉強すぎ。ある程度自力で勉強すれ。おしまい。
>>419
それで動かしてチェックしたの?洩れはチェックはしないよ。
>>420
IEを基準に開発したら一発で駄目。ECMA-262、DOM2とか標準
をもとに開発して、IEで動かして駄目なとこだけちょちょっと
手当すればおk。洩れはずっとそうやってるよ。ECMAで無名関数
が許されていないってどこ探したのさ。
ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/13_Function_Definition.html
>>421
そんな特定のもんで役に立つのかどうか疑問だけどね…
アンタの質問の答えはFAQ >>3 のQ3/A3に書かれているわけだが…

427 名前:Name_Not_Found 投稿日:2005/06/10(金) 11:23:48 ID:???
>>423
> 古いバージョンのいわゆるネスケや古いOperaに対応させる、なんて端から無理なのでやめたほうがいい。
> お子様スクリプトくらいならできるけど、込んでくるとほころびでまくる。

古いバージョンといっても、NN7.1 Opera7.0 IE5.0 Mozilla1.4 (FireFox1.0)あたりが努力目標です。
この程度であれば何とかなるのではないかと期待しているのですが。

>>426
ヒントありがとう。ECMA262とDOM2の仕様を片手に開発してみることにします。

> ECMAで無名関数が許されていないってどこ探したのさ。
以前
function SomeClass { this.method1 = function(){alert();} };
というコードが古いIEやNNで動かないという話をどこかで読んだもので、
てっきり無名関数が許されていないもんだと勘違いしていました。指摘ありがとう。

428 名前:Name_Not_Found 投稿日:2005/06/10(金) 11:37:36 ID:???
>>427
その辺のバージョンであればまずDOM2で大丈夫。一番問題ある
のはIE5.0。IE5.5からだいぶまっとうになる。5.0は捨てたら?

その「古い」っていうのはIE3、N3になるんだと思うが…
それらは言語仕様がECMAじゃないだろ。

429 名前:Name_Not_Found 投稿日:2005/06/10(金) 12:01:14 ID:???
IE5や5.5だと「古い」っつか「やや古い」とか「前のバージョン」とかって感覚だったんだが・・・。
既に古代の産物になったのね。

とりあえず自分はUA判別はだるいので、
getElementById や nodeType がないのは古いバージョン、としてスクリプト動かさないようにしてるは。

430 名前:Name_Not_Found 投稿日:2005/06/10(金) 12:07:03 ID:???
開発環境がWindows2000だから、IE5.0以前のブラウザが手に入りませんでした。
確かに古いというのは言いすぎかもしれない。

で、なるほど、無名関数が使えないのはecmaじゃない時代だったのか。
なら安心です。

ところで、各ブラウザがECMAScriptに対応したのはいつか、
またDOM1 DOM2に対応したのはいつか、という情報は経験的なものですか?
とりあえず古いバージョンのブラウザをどんどんダウンロードして
片っ端からテストするしかないかな、とちょっと悲観していたのですが、
もしそういった情報があるのならばかなり楽になります。

431 名前:Name_Not_Found 投稿日:2005/06/10(金) 13:06:55 ID:???
>>429-430
DOM1なんて古杉でほとんど意味はない。N4、IE4の時代。
今話しているのはDOM2の話で、まさにIE5.5からgetElementByIdが
入った。だからgetElementByIdのない奴は捨てる、で正解と思うよ。

432 名前:Name_Not_Found 投稿日:2005/06/10(金) 13:24:25 ID:???
>>431
getElementByIdってIE5.5からでしたっけ?5.0じゃない?
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/getelementbyid.asp

433 名前:Name_Not_Found 投稿日:2005/06/10(金) 13:26:57 ID:???
以下のコードはIE5.0で動いたよ
<html><body>
<div id="xxx"></div>
<a href="#" onclick="test()">test</a>
<script>
function test() {
var x = document.getElementById("xxx");
alert();
x.innerHTML = "done";
}
</script>
</body></html>

getElementByIdは5.0にもあるね。仕様が同じかどうかわからないけれど。
431はたぶん何かと勘違いしているんじゃないかな

434 名前:Name_Not_Found 投稿日:2005/06/10(金) 13:33:02 ID:???
>>433
ほんと?IE5.1じゃなくて?まったくの5.0にはなかったと
記憶しているのだけど。(5.5からではなくもうちょっと前から
だったかも知れない。)

435 名前:Name_Not_Found 投稿日:2005/06/10(金) 13:42:31 ID:???
まあ間違ってたのなら申し訳ない。ともかくgetElementByIdがない
のは捨てていいだろうという結論は同じなので。

436 名前:Name_Not_Found 投稿日:2005/06/10(金) 13:46:52 ID:???
>>434
5.00.3700.1000 でテストしました。

437 名前:Name_Not_Found 投稿日:2005/06/10(金) 14:01:01 ID:???
getElementsByTagName とか createElement とか nodeType とかもできるん? < IE5.0

438 名前:Name_Not_Found 投稿日:2005/06/10(金) 14:08:01 ID:???
>>437
サンプルコードさえあげてくれたら試すよ。getElementsByTagNameは動いた記憶がある。
ちなみに調べたら、5.00.3700.1000は俗に5.01と呼ばれるらしいので
無印の5.0(セキュリティパッチをあててない奴)はどうかわからない。

439 名前:Name_Not_Found 投稿日:2005/06/10(金) 14:08:40 ID:???
どうも>>431はなにかと勘違いしているようだな。
まずN4、IE4はDOM1すらサポートしていない。
(それらのサポートしているものは便宜的にDOM0と呼ばれる)
IE5からDOM1の部分的サポートが始まり
IE6においてDOM1をサポートしたとMSが表明。
つまり、IE6がサポートしているのはDOM1であり
DOM2はいまだIEではサポートされていない。
(まあそのDOM1のサポートですらgetAttribute("class")が
できなかったりと何かと穴があるが)
ついでにWinIEに5.1というバージョンは存在しない。

まあだからといって431のいっている結論に変わりはないが。

440 名前:Name_Not_Found 投稿日:2005/06/10(金) 14:13:46 ID:???
DOM2の新しい機能ってどんなの?

441 名前:Name_Not_Found 投稿日:2005/06/10(金) 14:14:33 ID:???
>>437
IE5では3つともサポートされてるとMSのドキュメントにはある。
ただ、MSの文書には時々嘘が含まれていることもあるが。
ちなみにcreateElementはIE4からサポートされている。
(しかしIE4ではimg、area、option要素しか作れない。)

442 名前:Name_Not_Found 投稿日:2005/06/10(金) 14:28:04 ID:???
>>440
ttp://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/changes.html
ttp://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/changes.html
大きな変更としてはXML名前空間のサポートか。
HTMLで行くとtableの行の数え方が変わったり
フォームコントロール(input要素)のtypeを動的に変更できるようになったり
object/frame/iframe要素にcontentDocumentプロパティが追加されたりしてる。
ほかにViews/Events/Style/Traversal and Rangeモジュールが追加された。
この中で特にEventsモジュールをIEがサポートしてないって言うのが面倒くさいな。

ちゅーかそれくらい自分で調べろよ。
などといいつつ昼間っから調べてしまう俺はよっぽど暇人なわけだが。

443 名前:Name_Not_Found 投稿日:2005/06/10(金) 14:29:00 ID:zUEkrBzc
質問させて下さい。

自分のブログのサイドバーにテキストを
@「曜日別に」A「ランダム表示」させたいのですが、
web上の解説を基に試みたところ、@とA別個では出来ても、
同時に動かす方法が分かりませんでした。。


例えば、@「曜日別に」表示させたい7分野のテキストがあり、
各分野ごとに3種類のテキストをA「ランダム表示」させたい場合、
これは可能なのでしょうか?
また可能であれば、どのような方法で出来るのでしょうか?

ご存知の方、是非とも御教授下さい。

444 名前:Name_Not_Found 投稿日:2005/06/10(金) 14:33:04 ID:???
順番に処理すればいいじゃん

445 名前:Name_Not_Found 投稿日:2005/06/10(金) 14:39:09 ID:???
>>443
まず「曜日別に」テキストを選択するわけだろうけど、
そのテキストをすべて3つずつ持っておいてランダムに選ぶと。
たとえば変数dayに曜日に応じて0〜6の値が入っているとして、
配列msgには日曜日3個、月曜日3個、…のように21個のメッセージ
をこの順で入れておいたとして、曜日が3だったら9、10、11から
ランダムに選ぶんでしょ。それには
msg[day * 3 + Math.floor(Math.random()*3)]
を取ればいいんでは。

446 名前:413 投稿日:2005/06/10(金) 14:39:35 ID:???
>>416
document.getElementsByTagName('td')[0].rowSpanでも1を返すよ。
ちなみにremoveAttribute('rowSpan')するとちゃんとrowSpan=30が消えるんだけどねぇ。

447 名前:Name_Not_Found 投稿日:2005/06/10(金) 14:41:32 ID:???
>>446
うーん、IEのバグということかな。Mozではちゃんと取れるなあ。

448 名前:Name_Not_Found 投稿日:2005/06/10(金) 15:01:50 ID:???
>>446
お前ーw
不思議だなーと思って試してやったんだけど、
その前にHTMLに
 <table><tr><td rowspan='30'></td></tr><tr></tr><tr></tr><tr></tr></table>
と書いてアラート出してみろw

449 名前:Name_Not_Found 投稿日:2005/06/10(金) 15:04:15 ID:???
試したときに気が付いたんだけど、
<pre id="test"> の中に innerHTML= でも appendChild(〜.createTextNode(〜)) でも、なんかテキスト突っ込んだら、おかしくなるな。
なんだこのIE独自仕様。

450 名前:443 投稿日:2005/06/10(金) 15:04:22 ID:zUEkrBzc
>>444
>>445
貴重な時間を割いて返信して頂きありがとうございます。
@とAについて自分が参考にさせてもらったソースは以下の通りなんですが…

@「曜日ごとに」表示させるソース

<SCRIPT LANGUAGE="JavaScript">
<!--
Yo=new Array(7);
Yo[0]="今日は日曜日です";
Yo[1]="今日は月曜日です";
Yo[2]="今日は火曜日です";
Yo[3]="今日は水曜日です";
Yo[4]="今日は木曜日です";
Yo[5]="今日は金曜日です";
Yo[6]="今日は土曜日です";
myDate=new Date();
myYo=myDate.getDay();
document.write("<FONT style='font-size : 16px; color : #666666'>");
document.write(Yo[myYo]);
document.write("</FONT>");
//-->
</SCRIPT>

(下記に続きます)


451 名前:443 投稿日:2005/06/10(金) 15:04:45 ID:zUEkrBzc
(上記の続きです)

A「ランダム表示」させるソース
(便宜上テキスト部分を変えています)

<script type="text/javascript">
<!--
myLine = 3;
myMes = new Array(
"今日は金曜日です",
"今日は金曜日ですよね?",
"今日は金曜日だといいのですが"
);
myRnd = Math.floor(Math.random()*myLine);
document.write(myMes[myRnd]);
// -->
</script>

これらを順番に処理させるべく、足し合わせることは出来るのでしょうか?
自分でもこれからやってみたいと思うのですが、
両サイトで書き方が少し違う気がするので正直どうすべきか悩んでしまいます。
よし時間がありましたら、指針を示して頂ければ幸いです。


452 名前:Name_Not_Found 投稿日:2005/06/10(金) 15:07:30 ID:???
>>450-451
全部書いてくれというのなら断る。ヒントは十分出ているだろ。
それをもとに考える気がないのなら帰れ。

453 名前:Name_Not_Found 投稿日:2005/06/10(金) 15:09:04 ID:???
>>450>>445 を真面目に読んでもいないに1カノッサ。

454 名前:443 投稿日:2005/06/10(金) 15:21:22 ID:zUEkrBzc
>>452
>>453
すいませんでした。
直面目に読んでいなかった訳ではないのですが、
「配列msg」という知らない言葉が出てきたので、
調べるのに時間が掛かると思いました。

正直「その間に書いてくれればいいな」という甘い考えが自分にありました。
これからいろいろ試してみながら考えてみようと思います。本当にすいませんでした。

455 名前:Name_Not_Found 投稿日:2005/06/10(金) 15:25:26 ID:???
「配列msg」っていうのは「配列である変数msg」ってことだけど。この言い方でわかる?

456 名前:Name_Not_Found 投稿日:2005/06/10(金) 15:36:08 ID:???
もしかして「配列」を知らないんでは…ガクガクブルブル

457 名前:Name_Not_Found 投稿日:2005/06/10(金) 15:37:08 ID:???
>>442
ありがとう。君の暇な時間の浪費は無駄にしないよ(笑)

458 名前:443 投稿日:2005/06/10(金) 15:45:30 ID:zUEkrBzc
自分は少し勘違いしていた様です。


今までは、自分の望み通りに動作するソースが記述してあるサイトを探して
それを貼りつける、ということでしかjavaを使用していませんでした。
自分には一から「java」というものを学ぶより、その方が手っ取り早いですし、
そのためだけに学ぶ必要はないだろうと思ったからです。

なので、この質問板も、そのように考える人が質問しても良いだろう、
と思い質問してしまいました。質問すればソースを記述してくれるだろう、
と心のどこかで思い上がっていたのかもしれません。


返信を見る限り、そのように考えるような人が書き込むべき所ではないですね。
配列もmsgも知りませんでした。本当に場違いな質問・要求ですいませんでした。

459 名前:Name_Not_Found 投稿日:2005/06/10(金) 15:51:26 ID:???
>>458
今でもかなり勘違いしてるね。
JavaとJavaScriptは(ry

あとmsgというのは便宜的につけた名前に過ぎないから
別にmsgでなくてもarrでもmessagesでもかまわないんだけど。

460 名前:413 投稿日:2005/06/10(金) 15:52:40 ID:???
じゃあ俺は1ペリカかな?

>>416>>446-448

やっと原因を掴みました。
>>448確かに表組みが足りないなら出ないわな。ただ、この晒したソースじゃなくて
編集してるソースはちゃんと表組みされてたんですよ。
で、色々調べたら分かりました。
実は、<table>下の<tbody>をcloneNodeしていたわけです。

つまり、いくら枠組みがしっかりしていても、そのtableツリーの途中地点で実体をコピーして
親子断絶してしまうとrowSpan取っても正常値が返されないわけですね。

色々お騒がせしました。

でも、DOMって、つぎはぎやってる事を、表示してなくても見えないところで
ちゃんと忠実に作り上げているのですね。感心しました。

461 名前:Name_Not_Found 投稿日:2005/06/10(金) 15:56:09 ID:???
つ〜か、今日スレ消費はやくねぇ?
閑散状態からおさらばでいいのだが。

462 名前:Name_Not_Found 投稿日:2005/06/10(金) 15:56:23 ID:???
>>460
> でも、DOMって、つぎはぎやってる事を、表示してなくても見えないところで
> ちゃんと忠実に作り上げているのですね。感心しました。

仕様でタグとエレメントの意味の違いを調べてみるとわかりやすいと思う

463 名前:Name_Not_Found 投稿日:2005/06/10(金) 16:12:11 ID:???
ていうか >>460 の 「いくら枠組みがしっかりしていても、そのtableツリーの途中地点で実体をコピーして
親子断絶してしまうと」 って部分が理解できないのは俺だけ?

コピーだけならそのままだよなあ、とか。
まあどうでもいいけど。

>>461 今日雨だから外に出ないんだよ。

464 名前:419 投稿日:2005/06/10(金) 16:23:29 ID:???
>>423
ありがd。

>>ALL
でも下のように書いたらMRPlayerが宣言されていないってエラー出ちゃったけどどういう事?

<html>
<head>
<script type="text/javascript">
<!--
if (MRPlayer && MRPlayer.autostart == false) {
document.location.href = "http://hogehoge.net/auto.html";
}
// -->
</script>
</head>
</html>

465 名前:Name_Not_Found 投稿日:2005/06/10(金) 16:26:06 ID:???
if (window.MRPlayer && ...)
としろ。
なぜそうしないといけないか俺にはうまく説明できんがな。

466 名前:Name_Not_Found 投稿日:2005/06/10(金) 16:26:41 ID:???
JS→JavaScript
JScript→マイクロソフトのJScript
Java→Javaアプレットのこと
JavaScript→JavaScript

467 名前:Name_Not_Found 投稿日:2005/06/10(金) 16:36:47 ID:???
>>464
っていうか、MRPlayer をインストールしているであろう >>464 自身がエラー吐くようじゃ到底d(ry

468 名前:413 投稿日:2005/06/10(金) 16:44:30 ID:???
>>463
var Table = document.getElemenrtsByTagName('table')[0];
var TD = Table.getElementsByTagName('td')[0];

TDは参照値が入ってる。つまり Table.getElementsByTagName('td')[0];の
指ししめすアドレス(御幣があるが)が、変数の実体。
TDは、TD.parentElementを求められる。
その地点の参照値を渡してるだけなので、子ノードとして登録されてる事には変わりない。

var TDclone = TD.cloneNode(true);

TDclone.parentElementは求まらないはず。
つまり、このTDをrootとしたツリーが出来あがってるわけ。
TDcloneは、どこにもappendChildされていない。
TDを編集すれば、Tableの子孫ノードには編集は反映されるが、
TDcloneを編集しても、Tableの子孫ノードには一切反映されない。
当たり前なのだが。

何をコピーしてるかカンガエレ。

469 名前:Name_Not_Found 投稿日:2005/06/10(金) 16:45:03 ID:???
>>464-465
単純な名前(例:MPlayer)は「変数」である。変数は
参照したとき存在していないと怒られる。グローバル
変数は windowオブジェクトのプロパティとして格納されて
いる。オブジェクトのプロパティは存在していないものを
参照すると undefined が返ってくるだけで怒られない。
よって、MPlayerという変数があるかないか調べるのには
if(MPlayer) ... ×、 if(window.MPlayer) ... ○ となる。
もっとも変数があってもfalseやnullやundefinedや0が
入っていると条件が成立しない方になるけどこの場合はいいよね。

470 名前:419 投稿日:2005/06/10(金) 16:52:04 ID:???
>>465>>469
ありがとう。理屈は何となく分かった。
ろくにJavaScript書いてない漏れには完璧には理解できなかったが、とりあえずエラーはでなかった。
でも値をtrueにしてもfalseでプレーヤーを削除してもインストールページに飛ばなかったorz
何でだ…?

471 名前:Name_Not_Found 投稿日:2005/06/10(金) 16:55:40 ID:???
window.MRPlayerが反映されてないんだろ。こっから先はJavaScriptとは関係ないな

472 名前:413 投稿日:2005/06/10(金) 17:03:46 ID:???
>>462
Elements are not tags. Some people refer to elements as tags (e.g., "the P tag").
Remember that the element is one thing, and the tag (be it start or end tag) is another.
For instance, the HEAD element is always present, even though both start and
end HEAD tags may be missing in the markup.
http://www.w3.org/TR/html401/intro/sgmltut.html#didx-element-2

こんなものしかなかったのだけれども・・・
いいたいのはこれではないよね?

473 名前:Name_Not_Found 投稿日:2005/06/10(金) 17:07:54 ID:???
>>472
それなんじゃない?エレメントとタグの違いってまさにそれだし。

474 名前:Name_Not_Found 投稿日:2005/06/10(金) 17:22:19 ID:???
IEでonclickハンドラを書いたのですが、それがMozillaで動きません。
var src=event.srcElementのところなんですが、これと同じことをmozillaでやるには
どのようにすればよいですか?

475 名前:Name_Not_Found 投稿日:2005/06/10(金) 17:35:04 ID:???
まあとりあえずFAQにも載ってるGecko DOM Referenceを読んだら?

476 名前:Name_Not_Found 投稿日:2005/06/10(金) 17:36:04 ID:???
同じことは出来ないが、

function test (e) {
 var obj = this;
 if (!obj.nodeType) {
  if (!e) e = window.event || null;
  if (e) obj = e.srcElement;
 }
 alert(obj.nodeName);
}
<input 〜 onclick="test()">

でわかるかしら? IEのが面倒なだk

477 名前:Name_Not_Found 投稿日:2005/06/10(金) 17:42:24 ID:???
ごめん超間違ってるД

× <input 〜
○ <input id="hoge" 〜> で、
   document.getElementById('hoge').onclick = test;
とか

478 名前:Name_Not_Found 投稿日:2005/06/10(金) 18:04:23 ID:???
>>476-477
ところが! <input 〜 onclick="test(event)"> で済むんだよなこれが。

479 名前:413 投稿日:2005/06/10(金) 18:07:42 ID:???
>>473
ごめん。
「でも、DOMって、つぎはぎやってる事を、表示してなくても見えないところで
ちゃんと忠実に作り上げているのですね。 」が、
>>472でいう違いでうまく理解できないです。

>仕様でタグとエレメントの意味の違いを調べてみるとわかりやすいと思う
は、機能的に色々違いが載っているのかなぁとおもっていましたが。

例えば>>460みたいに「DOMでtableエレメントの子ノードを切りとってクローンコピーしても
何もエラーは出ないけど、実際はTableタグの機能が崩れていて、rowSpanが正しく取得
できない」とか

480 名前:初心者ブロガ- 投稿日:2005/06/10(金) 18:09:21 ID:k7FxO7xM
こんばんわ!
教えて欲しいことがあってやってきました。┏(I:)"ペコ

今、ジュゲムというサイトでブログを作っているのですが、
絵文字が少なくて困ってたんです。
それで、偶然このサイトを見つけて試したのですが、
(コレです→http://melrose.jugem.cc/?eid=182
jsファイルをサーバーにアップロードするところでつまづいてしまいます。

jsファイルを、ヤフージオシティーなどの無料HPスペースにアップするとダメなことは
わかったので、今度は口リポップレンタルサーバー(こっちは有料です)を借りて
アップしてみました。でも、やっぱりダメでした・・・。

どなたか方法が分かる方いらっしゃいましたら、冷たくしないで教えてください(T-T)

481 名前:Name_Not_Found 投稿日:2005/06/10(金) 18:19:55 ID:???
「初心者」を名乗ってる時点で冷たくしろといっているようなものだとわからないの?
まずはFAQを読んでね。

482 名前:Name_Not_Found 投稿日:2005/06/10(金) 18:25:12 ID:???
>>478 や、質問者はHTMLに書きたいのかスクリプト内に書きたいのかわからんかったからw

> jsファイルを、ヤフージオシティーなどの無料HPスペースにアップするとダメ
うそ・・・(´Д`) 知らなかった・・・

483 名前:Name_Not_Found 投稿日:2005/06/10(金) 18:27:14 ID:???
>>480
あー見るからに答えたくなくなる

>初心者
>┏(I:)"ペコ
>冷たくしないで教えてください
>(T-T)

でもやさしい俺はマジレスしてやろう。
スレ違いだから別のスレに行きなさい

484 名前:413 投稿日:2005/06/10(金) 18:29:25 ID:???
>表示してなくても見えないところでちゃんと忠実に作り上げているのですね。

「例えば、HEADの開始タグ・終タグが記載されていなかったとしても
HEADエレメントは常に存在しております。(訳)」
こういうことか?

と言うことは俺の言い方が悪かっただけだな。
言いたかったのは、表示する時に一気に表示処理しているのではなくて
非表示でも、表示処理を着々とやっていて、
その処理で表示がくずれても、当然画面に表示されないしエラーも出ない。
でも機能面で表示がおかしくなっている影響は受けるわけか。
(rowSpanが正しく取れなかったり)。

485 名前:Name_Not_Found 投稿日:2005/06/10(金) 20:10:25 ID:???
369です

>>384-386
身に余る言葉、ありがとうございます。
まとめサイトのアップ場所わからなかった・・・
>>388
http://mirrorhenkan.hp.infoseek.co.jp/cgi-bin/test/search.cgi
で検索した結果の「スレ」か「レス」をクリックすればそのスレに飛びます。
検索結果でスレ名を出すにはCGIをいじらないといけないなぁ。。

>>480
ヤフージオシティーズにjsファイルを置いて問題なく使えているんですが・・
例えばここ↓とか外部jsファイルにしてますし
http://www.geocities.jp/mirrorhenkan/tirashi.html


486 名前:480 投稿日:2005/06/10(金) 20:11:09 ID:k7FxO7xM
>481 そうなんですか。知りませんでしたすいません。
481みたいな冷たい人にレスされないようにこれからは気をつけます。

>483 そんな回答求めてないです。回答したくないならスルーしてくださいよ。

それにいっときますけど、指摘された、
>初心者
>┏(I:)"ペコ
>冷たくしないで教えてください
>(T-T)
に対して答えたくなくなるって、人格否定かよって話。
この顔文字でそんな気分になるってことは、あなたにとってAAってどううつるのかしら?
私の人格を否定するのは別に構いませんけど、イヤならスルーしてくださいよ。
わざわざそんなこと書いて人傷つけて楽しい?いくらストレスたまってるからって
八つ当たりはやめてよね。

487 名前:443 投稿日:2005/06/10(金) 20:18:13 ID:zUEkrBzc
>>445
なんとか@「曜日別に」A「ランダム表示」できました。

それで次のステップに進もうと思ったのですが、
曜日ごとに、ランダム表示させたいテキストの数が違う場合はどうすべきかで
再びつまずいてしまいました。何か打つ手はあるのでしょうか?

488 名前:480 投稿日:2005/06/10(金) 20:22:20 ID:k7FxO7xM
>369さん レスありがとうございます。
もう一度ヤフーで試してみます(‥;)
ありがとうございました。m(_ _m)ペコ

489 名前:Name_Not_Found 投稿日:2005/06/10(金) 20:48:01 ID:???
>>480
二度と来るなよ〜

490 名前:Name_Not_Found 投稿日:2005/06/10(金) 20:48:48 ID:???
>>487
http://pc8.2ch.net/test/read.cgi/hp/1099993040/

491 名前:Name_Not_Found 投稿日:2005/06/10(金) 20:56:03 ID:???
>>487
漏れだったら2次元配列使うよ

492 名前:Name_Not_Found 投稿日:2005/06/10(金) 21:00:58 ID:???
>>487 "hoge"配列の個数は hoge.length ででるけど。 これでわかる?

493 名前:443 投稿日:2005/06/10(金) 21:12:17 ID:zUEkrBzc
>>491

ありがとうございます!
「JavaScript 2次元配列」で検索したら一発でソースが見つかりました。
また貼り付けるだけになりそうですが…、
自分では到底辿り着けないであろう記述でしたので早めに見つけられて良かったです。

本当にありがとうございました!

494 名前:Name_Not_Found 投稿日:2005/06/10(金) 21:24:01 ID:???
国内にはまともなJavaScript解説サイトがぜんぜんないよな・・・
ぐぐるとクソページばかりひっかかるし。
英語のページから探したほうが楽に見つかる

495 名前:Name_Not_Found 投稿日:2005/06/10(金) 21:28:34 ID:???
>>494
まともなってどの程度?

496 名前:443 投稿日:2005/06/10(金) 21:43:47 ID:zUEkrBzc
また御邪魔します…。

「曜日別に」「個数の異なるテキストを」「ランダム表示」は無事成功しました。
次の壁は一度に複数個表示(例えば、5種類のテキストのうち、ランダムに2個表示)
させることです。


いざとなれば、表示させたい個数分だけ同じソースを貼り付ければ良いのですが、
もう少し賢いやり方ってないものでしょうか?実際には表示させたい個数がすごく多いので…。

497 名前:Name_Not_Found 投稿日:2005/06/10(金) 21:51:12 ID:???
>>496
>>490見たか?

498 名前:Name_Not_Found 投稿日:2005/06/10(金) 22:02:00 ID:???
少しは勉強しろよなー。
あるいは外注したほうがいいでw

499 名前:443 投稿日:2005/06/10(金) 22:03:05 ID:zUEkrBzc
>>497
もちろん見ましたけど、こちらの方が適時適切な回答が得られると判断しました。
自分は間違っていますか?

500 名前:Name_Not_Found 投稿日:2005/06/10(金) 22:13:59 ID:???
妙なのに答えてしまった自分に後悔した

501 名前:Name_Not_Found 投稿日:2005/06/10(金) 22:24:42 ID:???
>>496
2次元配列にしたんだよな。どうせランダムにするんだから
その曜日ぶんの配列をシャッフルして先頭から必要個数選ぶんでも
いいんだろ。シャッフルする方法は過去ログ検索すれば分かるよ。終了ね。

502 名前:Name_Not_Found 投稿日:2005/06/10(金) 23:42:59 ID:???
今後443の質問に答えるの禁止ね

503 名前:Name_Not_Found 投稿日:2005/06/10(金) 23:48:25 ID:???
にしても今日はよくスレが伸びたな〜

504 名前:Name_Not_Found 投稿日:2005/06/10(金) 23:53:20 ID:???
今日の最初の方の質問に面白いのが多かったからかもなー

505 名前:Name_Not_Found 投稿日:2005/06/11(土) 00:59:51 ID:???
くそーっ!
vol35の途中からIEで突然読めなくなって、こんな不便な板はねーなー。
なんだよ、これ。
たまたまつながった。これは奇跡だ!

506 名前:Name_Not_Found 投稿日:2005/06/11(土) 15:11:42 ID:???
昨日あれだけ盛りあがったのに今日はまだ1件もないんだね。

507 名前:443 投稿日:2005/06/11(土) 16:08:20 ID:4YRYde7v
無視されるの覚悟で…。

自分が表示させようと思っているのは、
「Q&A形式テキスト」の「曜日別」「ランダム表示」なんです。

何とか複数表示もさせる所まではきたのですが、出来ることなら
「Q(質問)」の部分だけ表示しておき、「A(答え)」の部分は
テキストの色を背景と同じ色(ブログの背景はblackなのでblack)にして隠し、


「マウスオーバー時にテキストの色をwhiteにすることで見えるようにする」


のが理想です。


今仮に曜日別に2セット、計14セットの「Q&A」があり、
今日土曜日の「Q&A」2セットのうち、どちらかを表示させるとします。
(下記に続きます)


508 名前:443 投稿日:2005/06/11(土) 16:08:37 ID:4YRYde7v
(上記の続きです)
<script type="text/javascript">
<!--
myLine = 28;
myMes = new Array(
"日曜日の質問@",
"日曜日の答え@",
"日曜日の質問A",
"日曜日の答えA",

(月〜金と続きます)

"土曜日の質問@",
"土曜日の答え@",
"土曜日の質問A",
"土曜日の答えA"
);
myDate = new Date();
myRnd = myDate.getDay()*4+Math.floor(Math.random()*2)*2;
myYo = myRnd+1;
document.write(myMes[myRnd]);
document.write("</br>");
document.write("<FONT style='color : #000000'>");
document.write(myMes[myYo]);
document.write("</FONT>");
// -->
</script>
(下記に続きます)


509 名前:443 投稿日:2005/06/11(土) 16:09:07 ID:4YRYde7v
(上記の続きです)
とこれで答えを隠すことは出来るのですが、
「onMouseover=〜」「onMouseout=〜」を
どこにつけてもエラーになってしまいます。

答え部分のテキスト選択をすれば色が反転しますから、
現状でも一応成立はしているのですが、
何も分からない所から、何とかここまで来れたので
何としても「マウスオーバー」にしたいです。


ヒントだけでも教えてくれると助かります…。


510 名前:Name_Not_Found 投稿日:2005/06/11(土) 17:44:30 ID:???
無用なjavaスクリプト

おまいら
大人しくFlashでやっとけってこった

511 名前:Name_Not_Found 投稿日:2005/06/11(土) 17:52:13 ID:???
>>507
ヒント:http://pc8.2ch.net/test/read.cgi/hp/1099993040/

512 名前:Name_Not_Found 投稿日:2005/06/11(土) 18:08:00 ID:M+CzNieN
ブラウザを見分けるのに getBrowserName() と navigator.appName の違いは何ですか?

CSSをIEだけ切り替えるのめんどい…


513 名前:443 投稿日:2005/06/11(土) 18:27:53 ID:4YRYde7v
>>510
javascriptでは難しくて出来ないということですか?
ブログがFlash対応じゃないので…。
他のサーバーにアップロードしてまで使うのもどうかと…。

>>511
やはりそう来ますよね(笑)。

514 名前:Name_Not_Found 投稿日:2005/06/11(土) 18:35:43 ID:???
>>508
仮想配列使えばいいじゃん。

515 名前:Name_Not_Found 投稿日:2005/06/11(土) 19:46:52 ID:???
>>507-509
> マウスオーバー時にテキストの色をwhiteにすることで
こういう答えは望んでないと思うけど、
IEを捨てるなら CSSだけでできるよ。
.text:hover { color:#fff; } みたいな。

> 「onMouseover=〜」「onMouseout=〜」をどこにつけてもエラーに
一体どこにつけたんだw

てゆか、一旦HTMLに全部質問と答えのリストを書いて、
CSSで全部 display:none しといて、
特定の曜日のやつだけ、display:block; とかにするんじゃだめ?

てかその質問と答えは一体何に使うのかさっぱりで、面白そうに見えないので、みんな触手が動かないんだと思うわ。


>>512
JSが面倒なら、CSSのアンダースコアハックをすればいいじゃない。

516 名前:443 投稿日:2005/06/11(土) 20:15:06 ID:4YRYde7v
hover+CSSいじりも考えたのですが、
当方、ライブドアブログでして、近々ブログのリニューアルがあるらしいんです。

今回はかなりの仕様変更になるようで、CSSとHTMLの編集方法が変わるということなので、
その過渡期にいじってしまうと訳が分からなくなってしまうんじゃないかなと。
それでとりあえず、サイドバーのプラグイン設定の範疇でやることにしたのです…。

「onMouseover=〜」「onMouseout=〜」は<FONT style=〜>の中に入れてみたり、
別個につけてみたりしたんですが、何せ知識が無いので、サイト解説なしではきついです…。


Q&Aは資格試験の学習用のものです。
各科目とも一週間単位で一周できるように範囲を決めて勉強しているので、
学習記録として使用しているブログに、各科目で今日やった所の範囲の
Q&A(定義だったり、論証例だったり)を表示させて、一日の終わりに復習できるように
作っています。今週中に完成させたいので、何とかしたいんですが…。
「onMouseover=〜」「onMouseout=〜」では解決できないんでしょうか?

517 名前:443 投稿日:2005/06/11(土) 20:16:51 ID:4YRYde7v
>>515
すいません。アンカーと返答に対するお礼を忘れていました。
誠実に回答して下さりありがとうございます。

518 名前:Name_Not_Found 投稿日:2005/06/11(土) 20:33:36 ID:???
<font>は嫌なので仮に<dl>に変えるけど、
ヒント : HTMLに↓だけ書いて試してみなさい。

<script type="text/javascript">
function text_over(obj) { obj.className = 'txt_over' }
function text_out(obj) { obj.className = 'txt_out' }
</script>
<style type="text/css">
.txt_over { color:#000; }
.txt_out { color:#fff; }
</style>
<dl>
<dt>かくかくしかじか</dt>
<dd class="txt_out" onmouseover="text_over(this)" onmouseout="text_out(this)">これこれうまうま</dd>
</dl>

あと少しは"自分で"調べて勉強することを覚えないとw

学習用ねえー。
ちょっと英単語の練習とかに使えば面白そうだな、とか思ってしまったw
今度気が向いたら作ってみよう。

519 名前:443 投稿日:2005/06/11(土) 20:59:35 ID:4YRYde7v
>>518
私なんかに付き合って下さりありがとうございます。
自分は下記のものがシンプルだったのでこれを基にいろいろやってみたのですが…

<SCRIPT language="JavaScript">
<!--
colorname="white";
standard="black";
//-->
</SCRIPT>
<B STYLE="color:black" onMouseover="this.style.color=colorname" onMouseout="this.style.color=standard">花巻ラーメン紀行</B>
<B STYLE="color:black" onMouseover="this.style.color=colorname" onMouseout="this.style.color=standard">花巻冷麺ガイド</B>
<B STYLE="color:black" onMouseover="this.style.color=colorname" onMouseout="this.style.color=standard">200選 超簡単 JavaScript</B>


問題なのは<>で囲まれたテキスト部分を既にjavascriptでランダム表示させてることなんですよね。
myMes[myYo]に対してこれをどう合体(?)させるかについて、どこを参照して良いのかも検討がつきません。


この問題が難しいものなのか、簡単なのかも不明なのですが、ここで答えて下さる方々からすれば、
自分が悩んでいることは、答える価値もないレベルなのでしょうか?
それとも結構難しいレベルで、実際に自分でいろいろ動作を試してみたりしないと、
出来るかどうか分からないものなのでしょうか?それさえもイメージできないので。

520 名前:Name_Not_Found 投稿日:2005/06/11(土) 21:06:28 ID:???
や、全然簡単で、10分もあればできるんだけどね。

521 名前:443 投稿日:2005/06/11(土) 21:09:51 ID:4YRYde7v
>>518
英単語にも良さそうですね。
ミソなのはランダム表示だと思います。
単語カードや単語帳などだとやる順番が決まってきてしまいますからね。
同じ単語を覚えるのでも、ランダムに出してもらえるとかなり新鮮です。

522 名前:443 投稿日:2005/06/11(土) 21:14:49 ID:4YRYde7v
>>520
そうなんですか…。すごいです…。
自分はいつになったら出来るんだろう。

523 名前:Name_Not_Found 投稿日:2005/06/11(土) 21:16:13 ID:???
443がhttp://pc8.2ch.net/test/read.cgi/hp/1099993040/に書いたら答える気はあるが、
ここで答えたらレベルが下がるからいやだな。棲み分けてくれるとうれしいなぁ

524 名前:443 投稿日:2005/06/11(土) 21:21:55 ID:4YRYde7v
>>523
分かりました。

あちらに書いたら「しね」とか書かれそうなので嫌だったんです…。
それではあちらでお願いします。

525 名前:Name_Not_Found 投稿日:2005/06/11(土) 21:24:22 ID:???
>>523
ふむ、何も知らない覚える気もない初心者用と、
ちょっとはかじった初級者以上用と分けるわけだな?

それだったら、>>1 のまとめサイトの下にでも書いて、誘導して欲しいな。
あんま手取り足取り稼動してないから、書いても答えてくれなさそうなのかも。

・・・
523ガンガレw

526 名前:Name_Not_Found 投稿日:2005/06/11(土) 21:24:30 ID:???
>>523
GJ!

527 名前:Name_Not_Found 投稿日:2005/06/11(土) 21:28:01 ID:???
>>515 触手⇒食指 混じれ酢

528 名前:Name_Not_Found 投稿日:2005/06/11(土) 21:35:38 ID:???
>>515
> JSが面倒なら、CSSのアンダースコアハックをすればいいじゃない。

そっちのほうが行数多くてめんどいw

529 名前:523 投稿日:2005/06/11(土) 21:42:30 ID:???
このまま放置しようかとも思ったが、こっちに戻ってきたらなんだから書いてやった

530 名前:Name_Not_Found 投稿日:2005/06/11(土) 21:56:01 ID:???
>>523 GJ! これで落ち着くね。

>>528 JS切ったときの見た目のことを考えると、そっちのが怖いけどなあ。

531 名前:Name_Not_Found 投稿日:2005/06/11(土) 22:13:34 ID:???
>>443
てか、ランダムなんかのしゃらくさいことしないで、1回に2つ問題を思い出す
方がいいじゃん。つまり学習効果1/2だから、こっちでやった奴には勝てない。

532 名前:Name_Not_Found 投稿日:2005/06/11(土) 22:17:04 ID:???
>>531
既にスレ違い
http://pc8.2ch.net/test/read.cgi/hp/1099993040/

533 名前:Name_Not_Found 投稿日:2005/06/11(土) 22:27:23 ID:???
>>530
今どきJSオフにしてるやつっているの?

534 名前:443 投稿日:2005/06/11(土) 22:35:07 ID:4YRYde7v
>>531
>>496

>>全員
お騒がせしました。
どうもすみませんでした。

535 名前:Name_Not_Found 投稿日:2005/06/11(土) 22:35:33 ID:???
>>533
今どきJSオンでないとまともに見れないサイト作ってるやつなんているの?

536 名前:Name_Not_Found 投稿日:2005/06/11(土) 22:47:24 ID:???
>>535
たくさんいる。

537 名前:Name_Not_Found 投稿日:2005/06/11(土) 22:48:46 ID:???
>>533
>>536

538 名前:Name_Not_Found 投稿日:2005/06/11(土) 23:02:33 ID:???
>>535
Google

539 名前:Name_Not_Found 投稿日:2005/06/11(土) 23:23:26 ID:???
>>535
MS

540 名前:Name_Not_Found 投稿日:2005/06/12(日) 03:18:46 ID:pxhaM5Rx
ファンクションクロージャで悩んでいるので助言お願いします。
今、次のようなJavaScriptを作成しています。

function SomeClass( id ) {
this.id=id;
this.mouseClickHandler = function(e) {alert(this.id);}
}
var class1instance = new SomeClass("class1");
var class2instance = new SomeClass("class2"); // 今回は使用せず
document.onclick = class1.mouseClickHandler;

このスクリプトではマウスクリックすると"class1"とアラートが出ることを期待していますが、
実際はエラーとなってしまいます。
というのも、実際のmouseClickHandlerが呼ばれるときの this.id の this が class1instance ではなく、
document になってしまうからです。
なんとかハンドラ内部で自分自身を登録したインスタンス(今回はclass1instance)を
取得することが出来ないでしょうか?

私は完全に no idea です。どなたかアイデアやヒントがあればぜひ教えてください。

541 名前:Name_Not_Found 投稿日:2005/06/12(日) 03:25:45 ID:???
ファックションw

542 名前:Name_Not_Found 投稿日:2005/06/12(日) 03:47:13 ID:???
>>540
FAQに載ってる『JavaScript深層』と
『Dynamic Scripting』の『Effective JavaScript』をよくよく読もう。

543 名前:Name_Not_Found 投稿日:2005/06/12(日) 09:26:39 ID:???
<table>の背景をjavascriptでランダムに表示するのを作ったんですけど、
■scriptの一部
document.write("<table background=\""+img[i]+"\">");

■bodyに記述している部分
<script type="text/javascript">
<!--
random_img();
// -->
</script>
<noscript><table></noscript>

と、<table>タグごと書き出してるんですが、これを
html内の<table "ここに挿入する形">で書き出したいんですが、
タグ内でscriptを記述することってできますでしょうか?

544 名前:Name_Not_Found 投稿日:2005/06/12(日) 09:42:20 ID:???
>>534
できる。まず、HTMLとCSSをキリンと理解しろ。そのあとclassNameを勉強。
以上。

545 名前:Name_Not_Found 投稿日:2005/06/12(日) 09:53:37 ID:???
おれはキリンよりサッポロが好きだ。

546 名前:Name_Not_Found 投稿日:2005/06/12(日) 10:19:10 ID:???
アサヒビールをよろしくお願いします。

547 名前:Name_Not_Found 投稿日:2005/06/12(日) 10:36:47 ID:???
>>543 違う方法でできるよ。

548 名前:Name_Not_Found 投稿日:2005/06/12(日) 10:42:54 ID:???
>>542
今Effective JavaScriptを読んでいるけれど、あまり厳密ではないな

549 名前:Name_Not_Found 投稿日:2005/06/12(日) 11:13:32 ID:???
>>540
: this.mouseClickHandler = function(e) {alert(this.id);}
過去スレで何回もこういうのを回避する技を例示したつもりだけど、
this.mouseClickHandler = function(obj){return function(e){alert(obj.id);}}(this);
>>543
<noscript>...</noscript>の中に<table>単独でなんて入れられないだろ?


550 名前:Name_Not_Found 投稿日:2005/06/12(日) 11:33:04 ID:???
>>549
構文チェック等では怒られるんですが、表示できないことはないです。(IE6 NN7で確認)
しかし、あまりよくないので、その辺もあってなんとかしたい訳です。

551 名前:Name_Not_Found 投稿日:2005/06/12(日) 11:46:17 ID:???
>>544
でもゾウさんの方がもっと理解できそうです。

552 名前:Name_Not_Found 投稿日:2005/06/12(日) 11:54:48 ID:???
>>549
なるほど、無名関数に慣れていないので思いつきませんでした。ありがとう。

553 名前:543 投稿日:2005/06/12(日) 13:53:13 ID:???
なんとか、cssを用いて変化させることができました。ありがとうございます。
しかし、cssでやると、ページがすべて読み込まれてから最後に表示されるようで、
少しの間空白になっちゃいますね。回避方法ってありますでしょうか?

554 名前:Name_Not_Found 投稿日:2005/06/12(日) 14:13:20 ID:gmNG39sH
ロールオーバーによる画像切り替えを
〜.style.backgroundImage = 'URL(mouse_over.gif);
でやっています。
が、なのですが、ロールオーバーするたびに毎回画像をサーバに読みに
行っているようで、回線が低速だとえらく画像切り替えに時間がかかります。
var image = new Image(); image.src = 'mouse_over.gif'; でプリロード等しても
キャッシュを読んでくれている気配もありません。
メニューバーに使っている部分で、頻繁にロールオーバさせるため
なんとかしたいのですが、よい方法ないでしょうか?よかったら教えてください。

555 名前:554 投稿日:2005/06/12(日) 14:14:23 ID:gmNG39sH
環境書き忘れました。WinXP+IE6です。

556 名前:Name_Not_Found 投稿日:2005/06/12(日) 14:46:05 ID:???
>>554
なんかキャッシュの使い方がおかしいんじゃないのか。
(1) <head>...</head>の中に「var img = new Image(); img.src = '画像';」を入れる。
(2) onmouseover では「...backgroundImage = 'url(' + img.src + ')'; 」
こうなっている?(まあ別に文字列連結しなくてもいいけど一応)

557 名前:Name_Not_Found 投稿日:2005/06/12(日) 14:58:34 ID:???
>>553 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<style type="text/css"></style>
<script type="text/javascript">
var imgs = ['t0.png','t1.png','t2.png'];
var img = imgs[Math.floor(Math.random()*imgs.length)];
if(document.createStyleSheet) { // IE
var s = document.createStyleSheet();
s.addRule('#t0', 'background-image: url(' + img + ')', 0);
} else { // Gecko
document.documentElement.appendChild(document.createElement('style'));
var a = document.styleSheets;
a[a.length-1].insertRule('#t0 { background-image: url(' + img + ') }', 0);
}
</script>
</head><body>
<table id="t0" summary="test" border="2"><tbody>
<tr><th>A</th><th>A</th><th>A</th><th>A</th><th>A</th><th>A</th></tr>
</tbody></table></body></html>

558 名前:Name_Not_Found 投稿日:2005/06/12(日) 15:10:57 ID:???
【参考】
>>556
acTimes=getCookie("AC");
if (acTimes=="") {
acTimes=1;
}
document.write(acTimes);
acTimes++;
setCookie("AC",acTimes);

function getCookie(key){
tmp=document.cookie+";";
tmp1=acTimes.indexOf(tmp0, 0);
if(tmp1!=-1){
tmp=tmp.substring(tmp1,tmp.length);
start=tmp.indexOf("=",0)+1;
end=tmp.indexOf(";",start);
close=tmp.indexOf("|",temp1);
return(unescape(tmp.substring(0,end)));
}
return("");
}
function setCookie(key) {
tmp=key+"="+escape(val)+";";
tmp+="<table bgclor"+ key.color[key] +";
document.cookie=tmp;
}


559 名前:543 投稿日:2005/06/12(日) 15:25:16 ID:???
>>557
ありがとう!親切な人!
遅延もなくばっちりです!

560 名前:Name_Not_Found 投稿日:2005/06/12(日) 21:42:47 ID:yNH4mA6/
ドロップダウンするメニューのライブラリを探しているのですが、
以下の条件を満たすものがなかなか見つかりません。
どなたか知りませんか?
・マウスオーバーでドロップダウンする
・メニュー項目に画像を使える
・メニューをDISABLEにできる
・メニューのクリックにJAVASCRIPTの関数を割り当てられる。

お勧めがありましたら、ご紹介ください。

561 名前:554 投稿日:2005/06/12(日) 21:46:48 ID:???
>>556
レスありがとうございます。
ええ、実際は 'url(' + img.src + ')' で、srcプロパティから取得しているのですが
症状は変わらずです。(サーバのログにはロールオーバする度のアクセスが残っています)
というか、Imageオブジェクトにプリロードしようがしまいが、
いったん取り込んだことのある画像ファイルはキャッシュを確認してから(in-memoryであれdiskであれ)
アクセスするのが通常のブラウザの振る舞いだとは思うのですが、その気配がないのです。
<LI>のbackgroundImageを動的に変えているのですが、<LI>なのが原因なのでしょうかね?
あんまり関係ないかな。

562 名前:Name_Not_Found 投稿日:2005/06/12(日) 21:59:02 ID:???
>>561
うーん。ブラウザの設定で変えられるかも知れないけど。
(1)何か別のもののbackgroundImageにしてみる
(2)backgroundImageじゃなく通常の<img>にしてみる
で変化を観察してみては。

563 名前:Name_Not_Found 投稿日:2005/06/12(日) 22:07:13 ID:???
>>560
フォームのセレクトじゃ無理だな

564 名前:554 投稿日:2005/06/12(日) 22:33:56 ID:???
>>562
そうですね。<img>でちょっと試してみます。
ありがとうございます。
それからこの現象扱っててちょっと不思議に思ったのですが
〜.style.backgroundImage って、URL文字列経由じゃないと切り替えられないの
でしょうか? せっかく Imageオブジェクト作っているのだから
直接これを代入できればいいのにって思うのですが... エラーになっちゃうんですよね。

565 名前:Name_Not_Found 投稿日:2005/06/12(日) 22:40:53 ID:???
>>564
それはあくまでも「JavaScriptからCSSを操作する方法」だから。
いちいちそういう注文つけだしたら規格なんて永遠にできないだろ。
だから全部「CSSとおんなじね」で済ませたわけだ。
ところで、問題を回避する方法として次のはどうよ?
(1)切り替えたい画像ごとに別のクラスを指定する。
(2)ロールオーバ処理では画像ではなくclassNameを変更する。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<style type="text/css">
.c0 { background-image: url(t0.png) }
.c1 { background-image: url(t1.png) }
</style>
</head><body>
<ul><li onmouseover="this.className='c0'" onmouseout="this.className='c1'">
Test</li></ul>
</body></html>

566 名前:554 投稿日:2005/06/12(日) 23:08:35 ID:???
>>565
>いちいちそういう注文つけだしたら規格なんて永遠にできないだろ
うん、まあそうですね。ブラウザもJSからCSS側の処理ルーチン呼び出しているだけ
なんだと思います。別物にしたらしたで維持管理が大変になっちゃうんでしょうけれど。
ソースありがとうございます。
実はもともとデザイナから「これ使って」と手渡されたコードが
まさに同じクラス名の切り替えでスタイルシートに設定されている画像を切り替えるコードでした。
background-image: url(〜)で読み込んでいる同じものです。
(私は普段cgiとかサーバサイドのものを担当しています。
デザイナはJSとかロジックぽいのをいじらずにCSSで画像の変更等に対応したかったのでしょう)
それでこのロールオーバの度にサーバにリロードしてしまうという現象に遭遇してしまって‥‥
すべてJavascript側でやればOKかな?と思って li.style.backgroundImage = 'URL(〜)'をやってみましたがだめでした。
だから、CSSでbackground-imageにしてもJavascriptでbackgroundImageをつかっても同じなのです。
いろいろとありがとうございます。かたじけない。

567 名前:Name_Not_Found 投稿日:2005/06/12(日) 23:31:57 ID:???
>>566
いやまて。その2つの背景クラスを使った別の小さい要素を常時目立たない
ところに貼っておくというのはどう?同じ背景が既に表示されていれば
画像を毎回取得するとは思えないので…

568 名前:Name_Not_Found 投稿日:2005/06/12(日) 23:35:50 ID:???
本来駄目なはずがないから、566が何かしらのミスを犯しているか環境が悪いんだと思うが。
サーバ側がヘッダでキャッシュを一切拒否する設定にしているとか。

569 名前:Name_Not_Found 投稿日:2005/06/12(日) 23:45:15 ID:pxhaM5Rx
質問です。

横幅のピクセル数が決まっているdivにフォントサイズの決まったテキストを入れる時に、
右端で折り返す必要のあるとき、あらかじめ何行になるか知る方法はないでしょうか?

3行以上になるならば、残りを省略して2行に抑える処理を入れたいと思っています。
たとえば「長すぎるテキストメッセージ」を「長すぎるテキス...」という風に変更したいわけです。

何か良い方法やアイデアがあればぜひ教えてください。よろしくお願いします。

570 名前:554 投稿日:2005/06/12(日) 23:52:02 ID:???
>>567
どもです。次のようにやってみましたが (コードお借りします)
<style type="text/css">
.c0 { background-image: url(/images/mouse_over.gif) }
.c1 { background-image: url(/images/mouse_out.gif) }
.hidden { display: none }
</style>
</head><body>
<div class="hidden"><li class="c0">c0</li><li class="c1">c1</li></div>
<ul><li onmouseover="this.className='c0'" onmouseout="this.className='c1'">Test</li></ul>
サーバ側で $tail -f /usr/local/apache/logs/access_log で見ていると
アクセスしているのが確認できてしまいます。
たぶんスタイルシートのbackground-imageプロパティがキャッシュを見ない仕様なんじゃないかと思います。

571 名前:554 投稿日:2005/06/13(月) 00:06:38 ID:???
>>568
サーバはテストマシンで試していて
Apacheインストール直後のプレーンな状態でもそうなってしまいます。
ログは
10.0.0.1 - - [13/Jun/2005:00:03:58 +0900] "GET /images/mouse_over.gif HTTP/1.1" 200 254
10.0.0.1 - - [13/Jun/2005:00:03:58 +0900] "GET /images/mouse_out.gif HTTP/1.1" 200 372
10.0.0.1 - - [13/Jun/2005:00:03:59 +0900] "GET /images/mouse_over.gif HTTP/1.1" 200 254
と、GETでふつうに持って行っているようです。
クライアントもふつうのWinXP + IE6で、インターネットオプションのセキュリティも既定の「中」と
ごく凡庸な設定なのですが…。うーむ。

572 名前:Name_Not_Found 投稿日:2005/06/13(月) 00:10:31 ID:???
>>570
うちの環境だとbackground-imageは完全にキャッシュしているんだけれど。
apacheのアクセスログにも残らない。

そちらの環境でもJavaScriptさえ絡まなければキャッシュしている?

573 名前:572 投稿日:2005/06/13(月) 00:23:17 ID:???
>>570
そのソースコード借りてやってみた。
スタイルシート hiddenクラス の属性をblockにしたのは確実にキャッシュさせるため。

<html><head><title>test</title>
<style type="text/css">
.c0 { background-image: url(http://***/test_a.jpg) }
.c1 { background-image: url(http://***/test_b.jpg) }
.hidden { display: block }
</style>
</head><body>
<div class="hidden"><li class="c0">c0</li><li class="c1">c1</li></div>
<ul><li onmouseover="this.className='c0'" onmouseout="this.className='c1'">Test</li></ul>
</body>
</html>

そのときのアクセスログ

// 最初HTMLを表示した時のアクセス
192.168.0.5 - - [13/Jun/2005:00:11:43 +0900] "GET /test_a.jpg HTTP/1.1" 200 25221 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
192.168.0.5 - - [13/Jun/2005:00:11:43 +0900] "GET /test_b.jpg HTTP/1.1" 200 41330 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
// マウスをhoverさせた時のアクセス(304を返している:キャッシュを使用)
192.168.0.5 - - [13/Jun/2005:00:11:49 +0900] "GET /test_a.jpg HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
192.168.0.5 - - [13/Jun/2005:00:11:49 +0900] "GET /test_b.jpg HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"
// 以後何度mouseover/mouseoutを繰り返してもログに残らず

というわけでブラウザは当然キャッシュを使っていることが確認された。こちらも普通のapache、普通のIE6です。
違うところといえば、display:blockにしたところと、URLを絶対指定したところだけだね。

574 名前:572 投稿日:2005/06/13(月) 00:25:13 ID:???
あ、ログから自サーバの情報がばれないように書き換えたときに順番逆にしてしまった
304のログはtest_b,test_aの順でした(まずc1が呼ばれてc0が呼ばれるから当たり前だね)

575 名前:554 投稿日:2005/06/13(月) 00:26:26 ID:???
>>572
>JavaScriptさえ絡まなければ
ん? というと
<style type="text/css">
.c0 { background-image: url(/images/mouse_over.gif) }
.c1 { background-image: url(/images/mouse_out.gif) }
</style>
</head><body>
<div><li class="c0">c0</li><li class="c1">c1</li></div>
<div><li class="c0">c0</li><li class="c1">c1</li></div>
<div><li class="c0">c0</li><li class="c1">c1</li></div>
<div><li class="c0">c0</li><li class="c1">c1</li></div>
<ul><li>Test</li></ul>
みたいにonmouseover/outを外した場合ですか?
試してみましたがこの場合、mouse_over.gif, mouse_out.gif共に
最初の1回しか(はじめに現れる<LI>の背景としてしか)アクセスしないみたいです。
残りの<LI>の画像はキャッシュされているみたい。

576 名前:572 投稿日:2005/06/13(月) 00:35:51 ID:???
display:hidden にして URLを相対指定にして
まだ画像がIEにキャッシュされていない別のマシンを立ち上げて実験してみた結果、
今度はhtmlを読み込んだときに画像も一緒に読み込み、その後は304すら来ないで
何度mouseover/outを繰り返しても一切ログを汚していない。

要するに554の問題はJavaScriptやCSSの問題ではなく、サーバ・クライアント通信の問題だな。
Last-Modifiedなどをちゃんとチェックしているかどうかapacheの設定を確認することを勧めます。

というわけで554は個人的にクロージング。

577 名前:Name_Not_Found 投稿日:2005/06/13(月) 00:38:42 ID:???
>>569

そんなことがJavaScriptで可能なのかな?
かなり汚い方法だけれど、一文字ずつ追加してそのときのdivの高さを確認するとか。

ブラウザを特定せずに解決するにはそれくらいしか思いつかないっす。

578 名前:Name_Not_Found 投稿日:2005/06/13(月) 00:39:49 ID:???
あれ、JavaScriptで動的に変更されたdivのサイズって
クロスブラウザな方法で取得できたっけ?

579 名前:554 投稿日:2005/06/13(月) 00:42:10 ID:???
>>573
むむう。まじですか。
私も display: blockにして url(http://〜)にしてみましたが
サーバは 200 OKを返すのみ。
うーむ。環境なのかなぁ…

580 名前:Name_Not_Found 投稿日:2005/06/13(月) 00:46:52 ID:???
>>575
>最初の1回しか(はじめに現れる<LI>の背景としてしか)アクセスしないみたいです。

さっきから何度も実験に使っているはずの
/images/mouse_over.gif
/images/mouse_out.gif
を、最初の1回目にアクセスに行くのは、
単純に画像がキャッシュされてない証明になるんじゃないの?

JS関係ないと思うよ。

581 名前:Name_Not_Found 投稿日:2005/06/13(月) 01:05:46 ID:???
>>569 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var a = [
'あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお',
'かきくけこかきくけこかきくけこかきくけこかきくけこかきくけこかきくけこ',
'さしすせそさしすせそさしすせそさしすせそさしすせそさしすせそさしすせそ'];
function test() {
var s = a[Math.floor(Math.random()*a.length)]; s = s+s+s+s+s;
var e = document.getElementById('d0'), t = document.createTextNode(s);
while(e.childNodes.length > 0) e.removeChild(e.firstChild);
e.appendChild(t);
while(e.offsetHeight > 45)
t.nodeValue = s = s.substring(0, s.length-1);
}
</script>
</head><body>
<div id="d0"></div>
<div><button onclick="test()">Test</button></div>
</body></html>

582 名前:Name_Not_Found 投稿日:2005/06/13(月) 01:10:54 ID:??? BE:25142742-##
ねぇねぇ
俺すにぷ使いで
Javaスクリプトきってるんだけど

おまいら なにしてんの?

583 名前:Name_Not_Found 投稿日:2005/06/13(月) 01:18:49 ID:???
とりあえず>>554はブラウザを変えた場合と、別のHTMLにそのコードを書いた時どうなるか、くらい試すべき。

>>582 お前こそなんでここにいんの? 全然呼んでないよ

584 名前:Name_Not_Found 投稿日:2005/06/13(月) 01:20:31 ID:???
“全然”は程度を表す言葉だろ。
日本語もできねーやつが勝手に煽るなヴォケ。

585 名前:Name_Not_Found 投稿日:2005/06/13(月) 01:24:23 ID:???
>>581
夜中によく頑張った

・ソースコードが読みにくい。いいかげんK&Rから離れて
・45ってまた恣意的な。フォントサイズ大にするとそれで困るだろう
・offsetHeightってDOMに無い
・内容は本質的に577と同じ

586 名前:Name_Not_Found 投稿日:2005/06/13(月) 01:24:58 ID:???
>>582-584
燃料に反応するな
この業界、保守的な奴に興味は無い

587 名前:Name_Not_Found 投稿日:2005/06/13(月) 01:32:53 ID:???
>>581 >>585
45 の代わりに、試しに瞬間的に2行のブロックを入れてやってその高さをとって、比較するとか。
てか「2行」なんていう曖昧のものじゃなく、文字数にしろよなー、楽なんだから、とは思うがね
K&R ってなに? 転じてトリッキーってこと?

588 名前:Name_Not_Found 投稿日:2005/06/13(月) 01:41:38 ID:???
>>587
581は前時代的なC的な書き方で読みにくい。
あれは開発環境が今みたいに充実していなかった頃の記法だからね…。
しかし、それにけちをつけてもしゃーないだろうと思うが。

2行のブロックを入れるより、1行の高さ*2でいいと思う。
offsetHeightがDOMにないって言うけど、Mozillaにはあるよね確か。ならいいんじゃね?

589 名前:Name_Not_Found 投稿日:2005/06/13(月) 01:51:42 ID:???
COBOL慣れしたやつのステップ数稼ぎor力業みたいな書き方もイヤだけど、
>>581みたいにデバッグしづらそうなのもイヤだなぁ。

590 名前:Name_Not_Found 投稿日:2005/06/13(月) 02:01:33 ID:???
>>588
なるほ。 無理に短い変数にしたり、式中にたくさん式入れるとわかりにくいと。
> 1行 * 2
いやー、それだと padding とか line-height の値で変わりそうな気がするし、なら最初から2行のままの方が。

591 名前:Name_Not_Found 投稿日:2005/06/13(月) 02:05:59 ID:???
>>590
あーなるほど、確かに最初から2行のほうがいいね。
<br>タグのブラウザによる扱いの差異などが気になるところだったが、
paddingとかの方がよほど困るな。

offsetHeightを使わない方法をちょっと考えてみたいところだったが、寝る

592 名前:Name_Not_Found 投稿日:2005/06/13(月) 08:18:05 ID:???
おはよう。なるほど、「お手本」のdivを別に用意するのはいいよね。手直しして
みた。コードを詰めて書くから読みづらいのは自覚してる。綺麗に書いたお手本
あれば拝見したいよ。Gecko/IE対応のつもり。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var a = [
'あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえお',
'かきくけこかきくけこかきくけこかきくけこかきくけこかきくけこかきくけこ',
'さしすせそさしすせそさしすせそさしすせそさしすせそさしすせそさしすせそ'];
function test() {
var s = a[Math.floor(Math.random()*a.length)]; s = s+s+s+s+s;
var e = document.getElementById('d0'), f = document.getElementById('d1');
e.firstChild.nodeValue = s;
while(e.offsetHeight > f.offsetHeight)
e.firstChild.nodeValue = s = s.substring(0, s.length-1);
}
</script>
</head><body>
<div id="d0">x</div>
<div><button onclick="test()">Test</button></div>
<div id="d1" style="visibility:hidden">x<br>x</div>
</body></html>

593 名前:554 投稿日:2005/06/13(月) 11:24:33 ID:???
>>572
今日、クライアントマシン変えて、ブラウザ変わったらキャッシュできました!
検証につかってたブラウザが腐ってたみたいです。
(ウィルスかなにかにやられたのでしょうか?)
夜中に長い時間つきあってくださってありがとうございました。
助かりました。どもです。

594 名前:Name_Not_Found 投稿日:2005/06/13(月) 12:44:56 ID:???
>>569
これでドウだ!!!
<textarea rows="2" style="border:0px;overflow:hidden;height:2em;width:100%;" readonly="readonly">あいうえおかきくけこさしすせそ</textarea>

ウィンドウリサイズに自動対応し処理速度も高速、
しかも殆どのブラウザでそれなりに見えるぞ。

ただし、いろんな突っ込みは覚悟する必要がある。
・インライン要素に、そんなCSSは使うな!!
・cols指定が無えぞゴルァ!!
・readonlyって。。(XHTML1.0からならOK?)

hahaha!!

595 名前:Name_Not_Found 投稿日:2005/06/13(月) 12:48:16 ID:???
>>594
そもそもtextareaにする必要ないだろ。

596 名前:Name_Not_Found 投稿日:2005/06/13(月) 12:51:29 ID:???
>>594
元質問者の仕様にある、末尾に「...」をつけるという処理はどうする?

597 名前:Name_Not_Found 投稿日:2005/06/13(月) 13:18:11 ID:???
594なら<div style="overflow:hidden;...">...</div>で十分だな

>>592
visibility:hiddenを使うのはいかにも汚くていやだな。
でもここをdisplayにするとうまく動かなくなるんだよね。

598 名前:Name_Not_Found 投稿日:2005/06/13(月) 13:30:34 ID:???
>>592 >>597
だから >>587 で 「瞬間的に」 って言ったんだけどな。
script内で、そのテキストの要素内に、一旦 span を作って、
display:block; visibility:hidden; にして 2行の文字入れて、高さ取得できたら、その要素を削除すればいい。
一瞬で取得できるのかは試してないからわからないけど、できなかったら時限装置作って。

>>594 >>596
それも考えて、.hoge:after { content:' ... ' } とか、できないIE用に背景画像で [ ... ] を作れば、とか思ったけど、
そもそも元のテキストが必ず"2行以上"になる保証はないし、結局JSに頼らざるを得ない状況・・・。

599 名前:Name_Not_Found 投稿日:2005/06/13(月) 13:46:54 ID:???
>>592
operaだと一瞬文字列が長く表示されていやな感じだったが、
overflow:hiddenとでもしておけば大丈夫かな。

600 名前:Name_Not_Found 投稿日:2005/06/13(月) 13:56:29 ID:???
>>599
最初に長いのを挿入する前に「e.style.visibility = 'hidden';」、
処理が終わったところに「e.style.visibility = 'visible';」を入れる
のが一番素直な気がする。

601 名前:594 投稿日:2005/06/13(月) 13:59:14 ID:???
>>595
あー本当だ、overflow指定までしてtextareaに変えたのだか。。
無知で、すまん。

>>596
それは書き忘れた。この場合あきらめてくれ。

IE6専で挙動がよく分からない物でよければ↓とか。。
http://msdn.microsoft.com/workshop/samples/author/css/textOverflow.htm
(真面目に使おうとしない方が良いと思います。。)

そもそも対応方法がJavaScriptでは無いな、すまん。


602 名前:Name_Not_Found 投稿日:2005/06/13(月) 14:26:23 ID:???
手元のSafari環境を使ってやってみたら、offsetHeightが激重だったので
バイナリサーチしてみたがあまり変わらないなぁ。ソースは>>592さんのを拝借しました。

<html><head><title>test</title>
<script type="text/javascript">
var a = [
'あいうえおあいうえおあいうえおあいうえおあいうえおあいうえおあいうえおx',
'かきくけこかきくけこかきくけこかきくけこかきくけこかきくけこかきくけこx',
'さしすせそさしすせそさしすせそさしすせそさしすせそさしすせそさしすせそx' ];
function test() {
var targetString = a[ Math.floor(Math.random() * a.length) ];
while( targetString.length < 300 ) { targetString += targetString; }
var element = document.getElementById('target');
var maximumHeight = document.getElementById('template').offsetHeight;
element.firstChild.nodeValue = targetString;
if( element.offsetHeight < maximumHeight ) { return; }
var leftPos = 0;
var rightPos = targetString.length;
while( leftPos < rightPos ) {
var mid = (leftPos+rightPos) / 2;
element.firstChild.nodeValue = targetString.substring( 0, mid )+"...";
if( element.offsetHeight <= maximumHeight ) { leftPos = mid; }
else { rightPos = mid - 1; }
}
element.firstChild.nodeValue = targetString.substring( 0, leftPos )+"...";
}
</script>
</head><body>
<div id="target">x</div>
<div><button onclick="test()">Test</button></div>
<div id="template" style="visibility:hidden">x<br>x</div>
</body></html>

603 名前:Name_Not_Found 投稿日:2005/06/13(月) 14:27:05 ID:???
>>601 IEの標準仕様にのっとってない仕様は嫌いだけど、こういう便利そうな独自仕様は好きだな。

604 名前:Name_Not_Found 投稿日:2005/06/13(月) 14:28:12 ID:???
あ。

if( element.offsetHeight < maximumHeight ) { return; }

if( element.offsetHeight <= maximumHeight ) { return; }

だね。自己レス失礼

605 名前:Name_Not_Found 投稿日:2005/06/13(月) 17:28:00 ID:???
>>602
あーこれは読みやすいソースかもしれんね

606 名前: 投稿日:2005/06/13(月) 17:35:22 ID:sA9A17pl
Java Scriptで、
フォーム中のメールアドレス入力のダブルチェックって
出来ますか?

607 名前:Name_Not_Found 投稿日:2005/06/13(月) 17:59:19 ID:???
>>606
できまっせん

608 名前: 投稿日:2005/06/13(月) 18:02:34 ID:???
>>607
ありがっとう!
すっきりしました。

609 名前:Name_Not_Found 投稿日:2005/06/13(月) 18:04:12 ID:???
>>606-608
もしかして2回入力させて同じかどうか判定するってこと?
それだったらできるけどな。>>607 は何ができないという意味?

610 名前:Name_Not_Found 投稿日:2005/06/13(月) 18:08:55 ID:???
ソース書くのはいいけど何で皆インデント入れないの?
なにか俺には理解できない理由があるのか?

611 名前:Name_Not_Found 投稿日:2005/06/13(月) 18:11:08 ID:???
>>610
表示される時にインデントが消えるだけ

612 名前:Name_Not_Found 投稿日:2005/06/13(月) 18:11:26 ID:???
>>610
2ちゃんではスペースインデントが全部はがされてしまう。
それで「_」とか入れるヤシもいたけど、そうすると今度は
コピペして実行さそうとすると構文エラー。結局、コピペ
して実行させられる方が優先という雰囲気で現状になった。
もちろん洩れだって手もとではインデントしてるってば。

613 名前:Name_Not_Found 投稿日:2005/06/13(月) 18:16:21 ID:???
 で半角スペースいくつでも並べれるがな
   

   

614 名前:Name_Not_Found 投稿日:2005/06/13(月) 18:16:47 ID:???
メールアドレスの正規性のチェックと
メールアドレスが存在するかどうかのダブルチェック
とか予想

>>610
掲示板記事はhtmlだぞ。
「    」を辞書登録しとけばまだ楽かもな

615 名前:Name_Not_Found 投稿日:2005/06/13(月) 18:23:50 ID:???
>>614
正規性は正規表現があるからまあできるよね。存在なんて
そんなのサーバ側だって無理だろ。


616 名前:Name_Not_Found 投稿日:2005/06/13(月) 20:35:14 ID:???
offsetHeightやらなんやら、あそこらへんは非常にわかりづらいよな…

たとえば、<div style="width:100px;height:100px;overflow:auto">...</div>というdivを作ると、
そのdivの内容によっては実際300x300の大きさのところを100x100しか表示されないわけだよな。
そのdiv枠の中に表示されている100x100領域の、300x300の座標系での左上座標を得ようとか思った場合には
どうすればいいんだ?

617 名前:616 投稿日:2005/06/13(月) 20:35:52 ID:???
書き忘れたけど、実際300x300ってのは例えばの話ね

618 名前:Name_Not_Found 投稿日:2005/06/13(月) 20:51:28 ID:???
>>616
ちょっと意味がわかりづらいが
width: 100px; height: 100px; overflow: scroll;
というブロックボックスがあったとして、
その内容の幅/高さが100px以上あれば
スクロールバーが出るわけだが、
そのスクロールバーでボックスの内容をスクロールさせたとき、
どれだけスクロールしたか知りたいということでOKか?
それならscrollLeft/Topでいけると思うが。

619 名前:Name_Not_Found 投稿日:2005/06/13(月) 21:10:42 ID:???
divのoverflowスタイルが絡んで困るのは、
ボックスの中にあるエレメントの左上のクライアント座標
(ブラウザ画面の左上からの座標)が取得できないことだ。

マウスイベントを扱う場合にはoverflowを使わないように努力してたけど、
実際のところIE/FireFox両方で取得できるのか?

620 名前:Name_Not_Found 投稿日:2005/06/13(月) 21:23:24 ID:???
ttp://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/dhtml_node_entry.asp
ttp://www.quirksmode.org/viewport/compatibility.html
ここら辺見て試行錯誤してみたら
{ client | offset | scroll } { Left | Top | Width | Height }
はIEもFxもサポートしてるはずだからさ

621 名前:Name_Not_Found 投稿日:2005/06/13(月) 21:27:52 ID:???
>>619
それにIFRAMEなんかも組み合わされば完璧だな。

622 名前:Name_Not_Found 投稿日:2005/06/13(月) 23:54:16 ID:???
>>619意味が分からん。加算してないだけとかそもそも理解が浅いとか?

623 名前:Name_Not_Found 投稿日:2005/06/14(火) 10:11:36 ID:???
マウスカーソルの下にあるエレメントを取得することって出来ますか?

624 名前:Name_Not_Found 投稿日:2005/06/14(火) 11:41:25 ID:???
>>623 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function init() {
var b = document.documentElement || document.body;
if(b.addEventListener) { // Gecko
b.addEventListener('mouseover', function(e){f(e.target);}, false);
} else if(b.attachEvent) { // IE
b.attachEvent('onmouseover', function(){f(event.srcElement);});
}
}
function f(e) { window.status = e.nodeName; }
</script>
<body onload="init()">
<h1>test...</h1>
<p>test...</p>
</body></html>

625 名前:Name_Not_Found 投稿日:2005/06/14(火) 12:04:13 ID:???
>>624
attachEventでは引数になるイベントオブジェクトを使う方が、らしい気がする。
b.attachEvent('onmouseover', function(e){f(e.srcElement);});

あと、エレメントを取得したいと言っているのでは?
e.targetで場合によってTextが返ったらそれはエレメントではないわけで。

626 名前:Name_Not_Found 投稿日:2005/06/14(火) 12:11:18 ID:???
なるほど>>イベントオブジェクト
まあ、改良するのは本人がやるでしょ。どうにでもなる。

627 名前:Name_Not_Found 投稿日:2005/06/14(火) 13:52:41 ID:VoVWAYQD
質問です。

<script type="text/javascript">
function z(a,b)
{
return (a+b) ;
}

document.write('<img src=\"'+z(0,1)+'\".gif">') ;
</script>

どうして画像01.gifが表示されないのでしょうか。
よくわかりません。

628 名前:Name_Not_Found 投稿日:2005/06/14(火) 13:57:58 ID:???
>>627
そゆときは「<」を取り除いて表示させてみれば分かる。
分からないことを質問するより、分からないことを自分で
探求するコツを会得しようね。

629 名前:Name_Not_Found 投稿日:2005/06/14(火) 14:05:12 ID:???
>>627
0+1 →

630 名前:Name_Not_Found 投稿日:2005/06/14(火) 14:25:31 ID:???
function z () { return Array.prototype.join.call( arguments, "" ) }

631 名前:Name_Not_Found 投稿日:2005/06/14(火) 15:19:18 ID:???
指定エロ画像がないから。
ちゃんとUPすれw

632 名前:Name_Not_Found 投稿日:2005/06/14(火) 16:40:49 ID:???
手っ取り早く直すなら return (''+a+b);

633 名前:Name_Not_Found 投稿日:2005/06/14(火) 18:00:17 ID:???
>>629
0+1 → 01
(但し、JavaScriptの場合。JavaScriptは自動判断、すばらしー。Cは別根)


634 名前:Name_Not_Found 投稿日:2005/06/14(火) 18:00:32 ID:hDEthvgZ
こんにちは IDとnameの違いを教えてください。


635 名前:Name_Not_Found 投稿日:2005/06/14(火) 18:06:01 ID:???
>>634
大文字と小文字

636 名前:Name_Not_Found 投稿日:2005/06/14(火) 18:06:54 ID:???
英和辞書引きなさい。

637 名前:Name_Not_Found 投稿日:2005/06/14(火) 18:09:00 ID:???
>>624
そうではなくて、カーソル座標(client座標)からエレメントを取得する方法はありますか?
全部のエレメントを走査するしかないのかもしれないのですが…

638 名前:Name_Not_Found 投稿日:2005/06/14(火) 18:26:58 ID:???
>>633
まぢで?

639 名前:Name_Not_Found 投稿日:2005/06/14(火) 18:57:37 ID:???
>>637
> そうではない

どう違うんだ?w

640 名前:Name_Not_Found 投稿日:2005/06/14(火) 19:16:09 ID:???
>>637
そのカーソル座標はどっからくるの。マウスから来るんなら既に
終了してるわけだが(最後にmouseoverしたものを覚えておくのと
等価だから)。

641 名前:Name_Not_Found 投稿日:2005/06/14(火) 19:53:52 ID:Srnl35X3
お忙しいところ失礼します。
ググったり、手元にある例文集を読んでみたのですが
いまいち自分の求めている物が見つからず、
こちらで質問させていただくことにしました。

swfファイルを、他のファイル(画像やテキストなど)が全て表示された後、
ページ読み込み時の一番最後に表示させたいのですが
Java Scriptで可能でしょうか?

ある順番通りに画像を読み込ませる、というものは見つかったのですが
swfファイルを最後に読み込んでくれれば、他の画像の順番はどんなのでも良いですし
gifやjpgなど静止画に使う物をswfファイルに応用できるのかどうか疑問に思ったところが
ありましたので…

もし私の検索ミスでしたらすみません。
その場合、スルーしていただいてかまいませんので…
どうぞよろしくお願いします。

642 名前:627 投稿日:2005/06/14(火) 20:05:37 ID:kMNX1zK7
>>632さん
ありがとうございました。
他の方のはなんだかわかりませんでした。
call()というのはIEでは駄目だと言うことらしいです。

643 名前:Name_Not_Found 投稿日:2005/06/14(火) 20:16:55 ID:???
>>642
数字同士の足し算は数字になるよって話
文字列型にキャストしてやれば意図した結果になるわけです。

alert(0+1);
alert("0"+"1");

644 名前:Unsolved 投稿日:2005/06/14(火) 20:35:33 ID:2dXwyuH2
質問させてください。不思議な現象です。

【スクリプト部】
function CheckButton(){
document.forms['formName'].elements['r'][0].checked ='true';
document.forms['formName'].elements['r'][1].checked ='false';
}

【HTML部】
<FORM name="formName">
<input type="radio" name="r">A<br>
<input type="radio" name="r">B<br>
<input type="radio" name="r">C<br>
<input type="radio" name="r">D<br>
<input type="radio" name="r">E

で、イベントでCheckButton()を実行すると、上から2番目
のラジオボタンにチェックが入ります。どうしてなのでしょうか。
1番上のボタンがチェックされると思うのですが。

645 名前:Name_Not_Found 投稿日:2005/06/14(火) 20:36:41 ID:???
>>641
(1)ページの下端に空っぽのdivを入れIDを振る。
(2)SWFを表示するためのobjectなりembedなりを全部文字列で用意。
(3)body onloadで「document.getElementById('ID名').innerHTML = その文字列;」

646 名前:Name_Not_Found 投稿日:2005/06/14(火) 20:40:14 ID:???
>>644
不思議でも何でもない。あのねえ、'true'とか'false'というのは文字列でしょ。
真偽値を入れたいのなら裸でtrueとかfalseとか書け。今は'false'という文字列を
無理矢理真偽値にしたためtrueになって2番目のがtrueになってると思われ。

647 名前:Name_Not_Found 投稿日:2005/06/14(火) 20:57:12 ID:???
>>642
数値を文字列に変換することだけに主眼を置けば、どう書いても、
function z (a, b) { return String( a ) + b }
というかんじに終始する。
それでは詰まらないから、一歩引いて、Array.prototype.joinを利用できますよ、
という提案をしただけ。まさか、実際にこういう迂回を薦めているわけではない。

> call()というのはIEでは駄目だと言うことらしいです。
JScript3.0においてcallを模倣することは造作も無いこと。
余裕があればやってみてはいかがかと思う。
他で役に立つ。例えば、イベントハンドラ書き換え(リスナ追加)をする時、
call無しでは不可能だから、一度は通る道ですよ。

648 名前:Name_Not_Found 投稿日:2005/06/14(火) 21:05:23 ID:???
犠牲になった初心者サンも気の毒にね…

649 名前:Name_Not_Found 投稿日:2005/06/14(火) 21:06:20 ID:???
>>637
http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/elementfrompoint.asp
もちろんこれ以前に>>640の言う事が当てはまると思われる。
座標もイベントターゲットも、イベントオブジェクトに問い合わせるのだから。

650 名前:641 投稿日:2005/06/14(火) 22:22:27 ID:???
>>645さん
分かりやすいご指南ありがとうございました!
教えていただいたソースで検索したところ、たくさん載っていました。。
申し訳ありません…

もしかしてこちらのスクリプトは、Macには対応してないのでしょうか…?


651 名前:627 投稿日:2005/06/14(火) 23:07:54 ID:JMsPDKeb
>>647さん
親切な説明ありがとうございます。
覚えておきます。

652 名前:Name_Not_Found 投稿日:2005/06/15(水) 00:26:21 ID:???
>>650
Macたってブラウザにより様々だろ。しかしinnerHTMLに対応してない
ブラウザあったっけ?もちろんそれ以前にSWFを表示するobjectなり
embedなりは「普通に」表示できるソースを用意したんだろうな?

653 名前:Name_Not_Found 投稿日:2005/06/15(水) 00:47:03 ID:???
莫迦が高じるとプログラマーになるって本当ですか?


654 名前:650 投稿日:2005/06/15(水) 01:27:39 ID:???
>>652さん
はい、「普通に」表示できるソースを用意しました…。
が、もしかしたら自分の記述にミスがあったのかもしれません。
もう一度やってみます。

655 名前:Name_Not_Found 投稿日:2005/06/15(水) 01:44:25 ID:???
>>640
webページ全体を半透明のdivが覆っているためにmouseoverのイベントは使えません。
マウスカーソルの下にあるelementのさらに1つ下にあるelementがほしいです。
全捜査すると重すぎて…

656 名前:Name_Not_Found 投稿日:2005/06/15(水) 01:58:46 ID:???
>>655
お前なあ・・・ちゃんと >>624 のコードを試したのか?
DIVで囲ってようが半透明だろうが、普通に取得できるっちゅーねん。

ステータスが出ないなら

〜前略〜
function f(e) { window.status = e.nodeName; }
</script>
<body onload="init()">
<h1>test...</h1>
<p>test...</p>
</body></html>



〜前略〜
function f(e) { document.getElementById('status').value = e.nodeName; }
</script>
<body onload="init()">
<div class="section1">
<div class="section2">
<h1>test...</h1>
<p>test...</p>
<input type="text" id="status" value="">
</div>
</div>
</body></html>

に変えてやってみろ。
M女史かお前は。

657 名前:Name_Not_Found 投稿日:2005/06/15(水) 02:35:17 ID:???
>>656
実行してないけど明らかに違うのわかってるし…
どうでもいいけどソース読みにくいね。

function f(e) { document.getElementById('status').value = e.id; }
</script>
<body onload="init()">
<div id="x" style="position:absolute;left:0px;top:0px;width:100px;height:100px;background-color:blue"></div>
<div id="y" style="position:absolute;left:30px;top:30px;width:40px;height:40px;background-color:red"></div>
<input style="position:absolute;left:10px;top:100px;" type="text" id="status" value="">
</body></html>

こういう構造があったときに、yの上にマウスを持っていった時にxを取得したい。
最初からこう書けば良かったな。

658 名前:Name_Not_Found 投稿日:2005/06/15(水) 02:41:46 ID:???
>>657
そりゃ全部調べるしか無理

659 名前:Name_Not_Found 投稿日:2005/06/15(水) 03:00:19 ID:???
>>657 つーか言ってること変わりすぎw 何したいんだお前。

擬似的になら、
yにカーソルが行く直前のオブジェクトをグローバル変数に入れといて、
yに行った時にそれ参照すればxが取れるんじゃない?

660 名前:Name_Not_Found 投稿日:2005/06/15(水) 03:33:32 ID:???
HTMLの構造を工夫しなよ。
親子関係構築すれば?
RECT構造体じゃなくてw、矩形指定していれば
座標で判断つくさ。
やっぱり2Dシューティング〜w(意味ナシ)


661 名前:Name_Not_Found 投稿日:2005/06/15(水) 03:35:15 ID:???
上げちったごめん。

662 名前:Name_Not_Found 投稿日:2005/06/15(水) 05:22:15 ID:???
>>657

"Y"が同階層ですぐ前(次)で定義されていることが保証されてるなら、
function hoge(elment){
   alert(element.id);
}
</script>
<div id="x" style="position:〜:blue" onmouseover = "hoge(this)"></div>
<div id="y" style="position:〜:red" onmouseover = "hoge(this.previousSibling)"></div>

>>657のf(e)がどこから呼ばれてなんの意図で書いてあるのかわからんかったが、
これで、どっちでも"X"を取得できるんじゃない?

663 名前:Name_Not_Found 投稿日:2005/06/15(水) 05:43:20 ID:???
クラスを作ってるんだけど、メンバ(じゃないプロパティだっけ)の値を
コンストラクタで色々弄くってから定義しています。
で、そうするとなんかプロパティがコードに埋もれちゃわない?
まあthis.〜を探せばいいんだけどね。

もっと分かりやすくカッコ良く一番頭辺りに並べたいんだけど
そういうやり方って一般的なやつありますか?
ただし、セッターをクラスに持たせたくないです。(内々に処理したい)
こんな感じでクラスのメソッドとして登録しなければいいの?
function cl_test(){
  this.hoge=_setHoge();
  this.piyo =_setPiyo();

  _setHoge = function(.){
     ・・・・・
          return _hoge;
         }
  _setPiyo = function(.){
     ・・・・・
          return _piyo;
         }
  }
}
こんな感じか?

664 名前:Name_Not_Found 投稿日:2005/06/15(水) 06:41:43 ID:???
声の大きい独り言ですね。

665 名前:Name_Not_Found 投稿日:2005/06/15(水) 06:57:38 ID:???
あの、聞いてるんですが。
あとvar付けわすれた。

666 名前:Name_Not_Found 投稿日:2005/06/15(水) 07:46:47 ID:???
var とJavaScriptの関係。そのあたりから勉強し直しだな。

667 名前:Name_Not_Found 投稿日:2005/06/15(水) 08:22:09 ID:???
>>663
「セッター」という用語の使い方がおかしくて解読に苦労する。脳内用語やめれ。
ttp://www.croczilla.com/~alex/reference/javascript_guide/obj.html#1018333
そして何だがぐちゃぐちゃやってるようだけどそんなことする必要全くない。
function cl_test() {
this.hoge = _hoge();
....
....
function _hoge() { ... return xxx; }
}
これでちゃんと動き、しかも_hoge()はこのスコープから外に出ないのに、
わざわざ分かりにくくする必要なんてないだろ。

668 名前:Name_Not_Found 投稿日:2005/06/15(水) 10:25:48 ID:???
微妙にスレ違いかもわからないのですが
JavaScriptのプログラミングを行う際に
お勧めのフリーウェアはありますか?

669 名前:Name_Not_Found 投稿日:2005/06/15(水) 11:03:47 ID:???
>>668
FireFox

670 名前:Name_Not_Found 投稿日:2005/06/15(水) 11:04:39 ID:???
>>667
お前もかなりわかっていないな

671 名前:Name_Not_Found 投稿日:2005/06/15(水) 11:05:26 ID:???
秀丸
firefox
guiなんか糞食らえ。プロならみんな手打ちだ。

やる気ないなら帰れ。

672 名前:Name_Not_Found 投稿日:2005/06/15(水) 11:10:55 ID:???
>>668
メモ帳
(XPでは置換機能も追加されて一層快適に)

673 名前:Name_Not_Found 投稿日:2005/06/15(水) 11:12:12 ID:???
>>671
10年前の人ですか?もうあなたに仕事はないのでお引取りください

674 名前:668 投稿日:2005/06/15(水) 11:49:19 ID:???
情報ありがとうございます!

>>671さん
お怒りになるのもごもっともだと思います。すいません、、、
自分ひとりだけで作業する際にはメモ帳の手打ちでも大丈夫なのですが

WEB開発を共同作業で行うため入ってきた人が全員
「HTMLってなんですか?」というレベルなので
かなりのサポートを用意しないといけない、という現状(汗

675 名前:Name_Not_Found 投稿日:2005/06/15(水) 12:14:29 ID:???
>>674
HTMLってなんですか?というレベルのひとに
JavaScriptの開発の仕事を依頼するあなたは、
失礼な言い方かもしれませんが、
ひょっとしてバカ?

676 名前:Name_Not_Found 投稿日:2005/06/15(水) 12:15:53 ID:???
>>675
ワラタ

677 名前:Name_Not_Found 投稿日:2005/06/15(水) 12:21:06 ID:???
>>660
>RECT構造体じゃなくてw、矩形指定していれば
>座標で判断つくさ。

煽りでなくて意味がわからないのだけれど、矩形指定ってなに?

678 名前:668 投稿日:2005/06/15(水) 12:28:31 ID:???
>>675
社長や人事担当の人などが持って来ましたw
どういう基準で人を選んだかと小一時間問い詰めたい。
その前になぜ現場の人間を面接の現場に立ち合わせなかったのか問い詰めたい。
上の人間は現場というものがわかっていない。
ほんとうにわかっていない、、、

679 名前:Name_Not_Found 投稿日:2005/06/15(水) 12:46:25 ID:???
>>678
そいつらの最初の仕事はHTMLとJavaScriptのまっとうな
本を自習して演習問題を全部やってあんたに提出すること
だ、ということにするべきだな。ソフトの助けなんか借りさせて
HTMLを学ばせなかったら爆沈するのはあんただろ。

680 名前:Name_Not_Found 投稿日:2005/06/15(水) 12:48:20 ID:???
>>677
洩れもききたい。RECT構造体も意味不明だ。 >>660 よろ。


681 名前:675 投稿日:2005/06/15(水) 12:49:54 ID:???
>>678
上司を批判する暇や、こんなところで無駄なツール選びをする暇があるなら、
人材探し直した方が早いじゃん、最近はSNSとかもあるんだし、って思ったんだけど…

やっぱバカ?(いい意味で)

682 名前:Name_Not_Found 投稿日:2005/06/15(水) 12:58:46 ID:???
質問どーぞ。次のかた!

683 名前:Name_Not_Found 投稿日:2005/06/15(水) 13:04:09 ID:???
上がこの人材を使え、と言ったらそれに従うしかないのが大企業

684 名前:Name_Not_Found 投稿日:2005/06/15(水) 13:07:11 ID:???
>>680
洩れは660じゃないけど、RECT構造体ときいてピンと来ないか?
IMAPを勉強しなおせ。ジョーシキじゃんよ、こんなの。
人の重箱をつつくな。こころを読め!


685 名前:Name_Not_Found 投稿日:2005/06/15(水) 13:07:53 ID:???
SNS そーしゃるねっとわーきんぐさーびす
SES しすてむえんじありんぐさぽーと

686 名前:Name_Not_Found 投稿日:2005/06/15(水) 13:11:05 ID:???
>>684
IMAP?ハァ?メールサービスでも始めるんですか?
重箱つつくって変な表現ですね。どうやら日本人ではない方のようですね。
「ジョーシキじゃんよ」ってかなり痛いので使わないほうがいいですよ。

660と684は外国人かつ馬鹿ということがわかりました

687 名前:Name_Not_Found 投稿日:2005/06/15(水) 13:14:32 ID:???
>>675
人員育成、経費削減、運用保守とかの理由をつけられて、
未経験者や新人でチームを組まされるのは、よくある話。
(特に社内イントラ向け開発とか。。)
ここに書き込むレベルの人からすると、あまり感覚が無いのかもしれませんが、
ITSSの結果等からも、日本企業は全体的にレベルが低いのが現実の様です。
向上心の強い、中国とかの方がレベルが高いそうな。

ちなみに、674ではありません。
(似た環境ではありますが。。)

688 名前:684 投稿日:2005/06/15(水) 13:27:49 ID:???
洩れは日本人だ。
おまえのようなバカに日本語の指図は受けない。
それより、もう早退して本屋にでも寄ってIMAPを調べてみろ、この章魚!
もう来るな。

689 名前:684 投稿日:2005/06/15(水) 13:30:19 ID:???

あ、>>688で「おまえ」ってのは686の章魚のことね。


690 名前:Name_Not_Found 投稿日:2005/06/15(水) 13:47:28 ID:???
ここはWeb製作板のJavaScriptスレですよ。どっかよその○○が
常識だとかいうのはやめて欲しいな。もしそんなに大事なものなら
テンプレに書いてあるはずだろ?

691 名前:Name_Not_Found 投稿日:2005/06/15(水) 13:52:59 ID:???
686が的確に釣っただけなのでスルーでいいんじゃね?
JavaScriptスレでIMAPを常識とかほざいている奴は死んでいいし、
何よりこいつは矩形とRECT構造体の意味がわかっていない初心者だし。

692 名前:Name_Not_Found 投稿日:2005/06/15(水) 14:55:52 ID:???
?口走った一言が独り歩きしてるか?w

RECT構造体という用語は冗談だがw
矩形とは辞書引けば分かる様に長方形。
CSSで矩形サイズ指定できているなら
座標系が同じなら重なり判定はできるだろう?

なんか過剰反応して者が多少いるようね?
ま、熱くならないで柔軟にな。
JavaScriptでできることは語ればいいじゃないの


693 名前:660 投稿日:2005/06/15(水) 14:57:50 ID:???
あ、ごめん またやっちったw
692は660だよ。


694 名前:Name_Not_Found 投稿日:2005/06/15(水) 15:10:26 ID:???
だから「構造体」ってのはどこにあるんだ。脳内用語をでっち
あげるな。標準でない用語は質問されたらちゃんと回答しろ。
アンタの「常識」と他人の常識が同じことはまずめったとない。

695 名前:Name_Not_Found 投稿日:2005/06/15(水) 15:21:59 ID:???
脳内用語なヤシに反応すること自体が間違い。スルーすべき。

696 名前:Name_Not_Found 投稿日:2005/06/15(水) 15:22:11 ID:???
まあまあ。そう目鯨立てんでも。

697 名前:Name_Not_Found 投稿日:2005/06/15(水) 15:25:59 ID:???
次の患者さんどうぞ。

698 名前:Name_Not_Found 投稿日:2005/06/15(水) 15:27:56 ID:???
>>691
>何よりこいつは矩形とRECT構造体の意味がわかっていない初心者だし。

ほほお、オマエは分かってるのか。知った風な口聞くな。この、どアフォ!
できるんなら、ここで説明してみろよ。できね―ならさっさと消えろ。

そもそもそういうタームがないんだ。
他の概念で説明してもどこも悪いとは思わんぞ。言葉が足りないんなら
どんどん説明を加えればいい話。
おまえらは直ぐ人の揚げ足を取りたがる。


699 名前:Name_Not_Found 投稿日:2005/06/15(水) 15:42:14 ID:???
scriptスレは本当にアレだな。

700 名前:Name_Not_Found 投稿日:2005/06/15(水) 15:44:54 ID:6oaP70vn
質問よろしいでしょうか。

<span onmouseover="setTimeout('window.status=\'15:43 2005/06/15\';return true;',10)">
MouseOver Me</span>

というコードで、「returnステートメントが関数の外側にあります」というエラー
が出てしまいます。どうしてですか?
回避する方法はありますか。

701 名前:660 投稿日:2005/06/15(水) 15:46:05 ID:???
JavaScript製でこれはバリバリな2Dシューティングゲー!!
ってあったら誰か教えて下さいw


702 名前:Name_Not_Found 投稿日:2005/06/15(水) 15:50:37 ID:???
>>700
そもそもそこにreturn true;を入れているのはなぜ?

703 名前:Name_Not_Found 投稿日:2005/06/15(水) 15:53:00 ID:???
>>700
俺は再現されないが。

704 名前:675 投稿日:2005/06/15(水) 15:53:01 ID:???
>>687
そういった状況を読みとれなかった。
仮に自分がそのような状況にあったとしても、上司の無能な意向を無視して
結果を優先することが多くいと自覚します。バカとか言ってごめんなさい。

>>698
このスレでは、
オブジェクト・要素・エレメント・ブロックレベル・インラインレベル
あたりの用語で説明するのが筋だと思った。
JavaScriptの話してんだから。

705 名前:Name_Not_Found 投稿日:2005/06/15(水) 15:58:40 ID:???
>>660は微妙にイタイな・・・

706 名前:Name_Not_Found 投稿日:2005/06/15(水) 16:00:28 ID:???
>>700
return は function () { } の中でしか効果はないので、普通のグローバルなとこで return をすると怒られる、ってだけ。
どうしてもつけたきゃ setTimeout( function () { 〜; return true; } , 100) とかに。

>>705
微妙どころでは・・・。

707 名前:Name_Not_Found 投稿日:2005/06/15(水) 16:22:04 ID:???
>>700
そもそも「そのreturnで何がしたいのか」語ってみ。

708 名前:Name_Not_Found 投稿日:2005/06/15(水) 16:38:36 ID:???
onmouseoverにtrue返してどうすんの?
エラーを捕まえたいんならめんどくさがらず<script>に書き直した方がいいのでは?

709 名前:Name_Not_Found 投稿日:2005/06/15(水) 18:41:18 ID:???
PhotoshopCS動かすのって、ここで質問していーのか?


710 名前:663 投稿日:2005/06/15(水) 18:51:38 ID:???
function cl_test(){
  this.hoge=_setHoge();

//  _setHoge = function(.){     //これだとオブジェクトがないと怒られる。
//          return _hoge;
//        }
  function _serHoge(.){        //これだと通る。
          return _hoge;
         }
}
_setHoge = function(.){     //これも通る。
      return _hoge;
   }
なんで?
ある関数内で、問題の関数宣言が実行のあとにきてるからとか考えられるけど、
(ttp://graviness.com/virgo/javascript/d010613.htmlの「行的に定義される前」
 とか同じようなことだと思うけど)
でも、function _serHoge(.)はそうするとどうして通るんだ?

711 名前:663 投稿日:2005/06/15(水) 18:53:24 ID:???
serHoge→setHoge誤爆。

712 名前:Name_Not_Found 投稿日:2005/06/15(水) 18:55:27 ID:???
this._setHoge = function () { } にしろよと。

713 名前:Name_Not_Found 投稿日:2005/06/15(水) 19:04:16 ID:???
こんにちは:

A|B|C
-|-|-
E|F|G
-|-|-
I|J|K

という具合にTABLEに3X3で入れた文字を表示させます。
onClickイベントでこの文字列をバラバラにランダムで
表示させるスクリプトを書きたいのですが、
なんだか分けが分からなくなってしまいました。どなたか、
アドバイスお願いいたします。
原理的には配列のランダム表示だと思うのですが。


714 名前:654 投稿日:2005/06/15(水) 19:06:37 ID:???
>>645さん

>>641,>>650です。

教えていただいた通り、ページの下端に
<div id="link"></div>
というソースを入れ、
<body onload="document.getElementById('link').innerHTML = <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="(以下略)>
<param name="movie" value="newslink.swf">
<param name="quality" value="high">
<embed src="newslink.swf" width="640" height="64" align="bottom" quality="high"( 以下略)></embed></object>;">

という記述をしたのですが、
ブラウザで確認してみましたところ、HTML内に普通に記述した時のような表示になってしまいました。
(ムービーがそのままページ上部に表示された横に、プラス「;">」)

表示させるさせない以前に、記述方法が間違っているのでしょうか?
サイトや手元にある参考本で調べたので、間違ってはいないと思うのですが。。

正直JSの基本について自信もないので、基本からやり直して来いと言われたら
返す言葉がありませんが…(その場合スルーお願いいたします。)
厳しいお叱り、ご指南どうぞよろしくお願いいたします。。

715 名前:Name_Not_Found 投稿日:2005/06/15(水) 19:11:42 ID:???
>>713
  [手とり足とり教えるJavaScriptスレ]
    http://pc8.2ch.net/test/read.cgi/hp/1099993040/


716 名前:Name_Not_Found 投稿日:2005/06/15(水) 19:13:41 ID:???
>>714
<body onload="document.getElementById('link').innerHTML = '<object (略) '">
といった感じでシングルクォートで括ってやらんと。

717 名前:Name_Not_Found 投稿日:2005/06/15(水) 19:14:52 ID:???
>>714
<body onload="〜"> の中に " を書きたいなら " と書かなければならない。


普通はそういうのは外部JSなり<script>内に記述する。

718 名前:Name_Not_Found 投稿日:2005/06/15(水) 19:15:28 ID:???
× <body onload="〜"> の中に " を書きたいなら " と書かなければならない。
○ <body onload="〜"> の中に " を書きたいなら " と書かなければならない。

うっかりうっかり

719 名前:Name_Not_Found 投稿日:2005/06/15(水) 19:20:26 ID:???
>>718
あぁそれもあったな。
\"の方が楽だけどな

720 名前:Name_Not_Found 投稿日:2005/06/15(水) 19:28:53 ID:???
<body onload="loaded();">
<script language="javascript"><!--
function loaded()
{
linkElement = document.getElementById('link');
linkElement.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="(以下略)> ';
linkElement.innerHTML = '<param name="movie" value="newslink.swf"> ';
linkElement.innerHTML = '<param name="quality" value="high"> ';
linkElement.innerHTML = '<embed src="newslink.swf" width="640" height="64" align="bottom" quality="high"( 以下略)></embed></object>;">';
}
// --></script>
<div id="link">now loading</div>
</body>

これでどうよ。

721 名前:Name_Not_Found 投稿日:2005/06/15(水) 19:35:28 ID:???
>>719
JSを知らないUAは「\"」の「\」をonload属性値の終端と見なすだろう。
JSを知っていて超ストリクトなUAが存在すれば、それも同様。

まずはHTMLのルールに従った結果を返さなければならない、という大前提があるから、
HTMLのルールで走査されても問題ないようにしなければならない。
つまり、>>717-718の言うように、"と書かなければならない。

722 名前:Name_Not_Found 投稿日:2005/06/15(水) 19:37:52 ID:???
>>721
あーそうか。
懇切丁寧な解説ナイス


723 名前:663 投稿日:2005/06/15(水) 19:42:21 ID:???
>>712
そういうことね。分かりにくくなるんで、function _serHoge(.)でやるよ。
で、
function cl_test(){
  this.hoge=_setHoge(1);
  this.piyo =_setPiyo(2);
  function _setHoge(.){
          var dump=sub();
          alert(dump);        
          return _hoge;
         }
  function _setPiyo(.){
          sub()       
          return _piyo;
         }
  function sub(){
//        return _setHoge.caller.arguments[0]*2
//ここでは呼び出し元の引数としたい。これでは_setPiyoで呼んでも違う結果になる。
         }
}
_setHoge.callerとか固有の関数名じゃなくて「呼び出し元の関数名」で書きたいのだが
どうやればいいですか?

724 名前:Name_Not_Found 投稿日:2005/06/15(水) 19:44:44 ID:???
>>720
HTMLでは、SCRIPT要素型の内容はCDATAであり、そのCDATAセクションの終了は、
「</」が知らせることになっている。
従って、厳密には、SCRIPT要素の内容として「</」を書くことには問題がある。

× '</embed></object>'
○ '<\/embed><\/object>'
○ '<' + '/embed><' + '/object>'

725 名前:Name_Not_Found 投稿日:2005/06/15(水) 19:44:52 ID:???
厳しく言うなら、 < も > も & も < > & と書かなければいけないんだけどな。
外部JSファイルにすれば、こんなエスケープは必要ないので、結局外部に書くのがオススメ。

726 名前:Name_Not_Found 投稿日:2005/06/15(水) 19:47:41 ID:???
>>723 だから、クロージャー使えとあれほd(ry

727 名前:Name_Not_Found 投稿日:2005/06/15(水) 19:51:35 ID:???
>>720

コードが汚い。

せめて、
var str = '<object classid="clsid:D27CDB6(以下略)">';
str += '<param name="movie" value="newslink.swf">';
〜おまえの気が済むまで〜

linkElement.innerHTML = str;

728 名前:Name_Not_Found 投稿日:2005/06/15(水) 19:51:57 ID:???
>>720
おいおい、 += にしないと、どんどん上書きされてくぞそれw
最後の >;">'; も違うし
あといい加減 language やめて type="text/javascript" にしr(ry

729 名前:Name_Not_Found 投稿日:2005/06/15(水) 19:53:54 ID:???
>>727
それなら
linkElement.innerHTML =
   '<object classid="clsid:D27CDB6(以下略)">' +
   '<param name="movie" value="newslink.swf">' +
   '略';
の方を勧めるなあ。

730 名前:720 投稿日:2005/06/15(水) 20:04:40 ID:???
>>729
だな。普通はそうするかと。

>>727
漏れに言うな
元質問者のソースをガラッと変えたら逆に判りづらいだろ
// かといって間違ったコード書いた俺キモスすまん

>>728
ミスったorz
検証したときは単一文だったから気にしてなかったYO
;">は消し忘れたYO
languageは惰性で書いたんだYO

言い訳がましいので名無しに戻る

731 名前:663 投稿日:2005/06/15(水) 20:57:39 ID:???
う〜ん。クロージャについてちょっと調べたが
setInterval関連ばっかで「呼び出し元の関数名」の書き方が分からなかった。

つ〜か、クロージャって
関数の入れ子で、
・内側の関数は外側の関数の変数や引数を参照できること
・内側の関数が外側の関数の内部でしか参照できないこと
・参照されている限りGCされない。
とかそういうことでしょ。
「呼び出し元の関数名」を欲しいだけなんだけど。
ちなみに当方IE。caleeは使えないと思う。

732 名前:Name_Not_Found 投稿日:2005/06/15(水) 21:28:57 ID:???
>>710
だからリファレンスをちゃんと読め。読んで分からないなら喪前は向いていない。
ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/13_Function_Definition.html
>>712
それでは_setHogeが(オブジェクト経由で)外から呼べるので元質問者の仕様に反する。
>>731
「名前」というのは複数あったり全く無かったりするからね。とりあえず:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function f1() { f2(); }
function f2() { alert(arguments.callee.caller); }
f1();
</script>
<body></body></html>

733 名前:Name_Not_Found 投稿日:2005/06/15(水) 21:52:53 ID:???
>>732
おまえ毎日いつも常駐してレス返すのはまぁ役に立っているからいいけど
その高飛車でえらそうな態度は一体何なんだ?

734 名前:714 投稿日:2005/06/15(水) 22:08:30 ID:???
シングルクォートで括ってなかったり、" などの注意も行き届いていない私に、
みなさんご丁寧に、しかもこんなにたくさんのご指導、本当にありがとうございます!
厳しいお叱りを受けると思っていたので…とても感謝しております。

やはりスクリプトが少し込み合っており、特殊記号の問題などもありましたので
>>717さん、>>725さんのおすすめの通り、外部ファイルにして読み込むことにしたのですが、
中身の方は
function loaded()
{
linkElement = 'document.getElementById('link')';
linkElement.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://〜略〜" > '+
'<param name="movie" value="newslink.swf"> '+
'<param name="quality" value="high"> '+
'<embed src="newslink.swf"〜略〜></embed></object> ';
}
//

にし、htmlでは
<script type="text/javascript" src="loaded.js"></script>
</head>
<body onload="loaded();">

>>720さんに書いていただいたものをベースに、>>729さんのレスを参考にさせていただきました。ありがとうございます!)
と記述したのですが、これでよろしいでしょうか…?
きちんと動作しないところを見ると、やはり間違っているような気がするんですがorz

何度も何度も本当に申し訳ありません。
どうぞよろしくお願いいたします。

735 名前:Name_Not_Found 投稿日:2005/06/15(水) 22:11:15 ID:???
>>733
単純に性格が悪いんで、申し訳ないね。常駐してるのは質問に回答
すると勉強になるんで。勉強させてもらうのは感謝しているよ。

(慣れ合いと低レベル質問/回答で埋まったら洩れにとって価値が
なくなるのでわざとやってる面もあるかな… だから偉そうなだけで
イタイ回答者は余計アタマに来るんだよな)

736 名前:Name_Not_Found 投稿日:2005/06/15(水) 22:14:11 ID:???
>>734
おいおい!
「linkElement = 'document.getElementById('link')'; 」
自分が何やってるか完全に分かってないよな!
「linkElement = document.getElementById('link'); 」
だ!!! チュートリアル勉強しに逝ってくれ頼むから。

737 名前:Name_Not_Found 投稿日:2005/06/15(水) 22:21:37 ID:???
’’で囲むことの意味・変数に入れることもできる物の種類
ここらへんを勉強してからこいと言っているのだと思う。
基本のチュートリアルでもなんでも実践のものじゃなく
Javascriptの文法(いい方おかしいか)のサイトを一度読んだ方がいいのでは?

738 名前:734 投稿日:2005/06/15(水) 22:29:58 ID:???
>>736さん、>>737さん

おっしゃる通りです…
もう一度じっくり読み直して、出直してきます。

文法もできていない、このような私に、みなさんご指南どうもありがとうございました。
そして、スレ汚しスマソ…

739 名前:663 投稿日:2005/06/15(水) 22:50:18 ID:???
parentFunc = arguments.callee.caller;で
parentFunc.arguments.callee.callerは呼べるけど、
parentFunc.parentFuncはundefinedなんだけどどうして?

740 名前:Name_Not_Found 投稿日:2005/06/15(水) 23:12:34 ID:???
>>735

こちらも言葉遣い悪くてすまんかった

741 名前:Name_Not_Found 投稿日:2005/06/15(水) 23:20:30 ID:???
>>740マケルナ!!!

742 名前:Name_Not_Found 投稿日:2005/06/15(水) 23:31:54 ID:XeO6KbKT
ファイルをアップロードするときに、JavaScriptでファイルの容量を
取得するのは無理でしょうか?
可能ならやりかたを教えてください。お願いします。

743 名前:Name_Not_Found 投稿日:2005/06/15(水) 23:34:02 ID:4CAh00xh

あのー、ここの回答してくれてる人たちはとても親切で感射してます。
某所のような感じワル〜イ国立大学の教授はいませんよね、まさか。

744 名前:Name_Not_Found 投稿日:2005/06/15(水) 23:34:53 ID:???
無理ぽ。

745 名前:Name_Not_Found 投稿日:2005/06/15(水) 23:43:45 ID:???
>>725
それはイベント属性の値としての話だろうと思うが、
どう見ても>>724へのレスっぽいのであえて指摘すれば、
SCRIPT要素を未知の要素として扱うUAの為に「<!-- -->」しているわけだから、
その必要は全く無い。

746 名前:Name_Not_Found 投稿日:2005/06/15(水) 23:54:32 ID:???
>>745
わかっているのかもしれないが
「『<!-- -->』しているわけだから」の部分が気になるのであえて指摘すれば、
HTMLにおいてはSCRIPT要素の内容に< > &をそのまま書ける。
これに関して<!-- -->の有無はまったく関係ない。
XHTMLでは違うけどね。

747 名前:Name_Not_Found 投稿日:2005/06/15(水) 23:55:30 ID:???
callerは廃止されたと記憶しているが、今更それにこだわる意図が読めない。

748 名前:Name_Not_Found 投稿日:2005/06/15(水) 23:57:38 ID:???
>>746
書けるのは、SCRIPT要素を知っているUAに対しての話。
知らないUA相手には書けない。
そもそも、内容がCDATAなのにコメントアウトするのは、
知らないUAへの配慮。
今一度、丁寧に場合わけして考察してみては。

749 名前:Name_Not_Found 投稿日:2005/06/16(木) 00:07:41 ID:9LnZ6emE
■■■ お勧めレンタルサーバー ■■■

格安で落ちまくるサーバーはストレス満載!
サーバーダウンしない安定サーバーを探せ!

A:超安定サーバー。 お勧め!!  
 http://www.webspeed.ne.jp/  
 http://www.wadax.ne.jp/
 http://www.ktplan.ne.jp/
 http://domainya.net/
 http://per.cssv.jp/
 http://poke1.jp/

B:ある程度の障害は大目に。  
 http://www.binboserver.com/
 http://s55.net/
 http://www.j-navi.com/
 http://web.arena.ne.jp/suite2/
 http://www.sakura.ne.jp/
 http://cpi.ad.jp/


750 名前:Name_Not_Found 投稿日:2005/06/16(木) 00:11:52 ID:???
>>746
簡単に書いてみるから、自分なりに整理してみよう。

SCRIPT要素を「全く」知らないUA
→ 内容がCDATAであることすら知らないし、内容を表示する。
→ 例えば、var b = '<b>B<\/b>' は、「var b = 'boldなB' 終了タグなし」と表示される。
こういうのが鬱陶しいから、コメントアウトする。
このように、コメントアウトは、SCRIPT要素を知らないUAの為の処置である。
ついでに言えば、ディクリメントはコメント区切り子「--」になるので書けない。

SCRIPT要素を知っているUA
→ 内容がCDATA。従って、「<!--」も「-->」もCDATAとして扱われ、コメントではない。
→ そのCDATAが丸々スクリプトエンジンに渡される。
従って、渡された「<!--」をJS側で一行コメント扱いするなどの対策がなされている。
そして、HTMLの仕様では、CDATAの終了は「</」で示すことになっていることは述べた。

751 名前:Name_Not_Found 投稿日:2005/06/16(木) 00:22:34 ID:???
うるさいスクリプトのコメントアウト不要。携帯サイトは分離。
「..."</xxx>"」は危うい。「..."<\/xxx>"」にするのが吉。
>>739
: parentFunc = arguments.callee.caller;で
これでparentFuncは関数オブジェクトだよな。
: parentFunc.arguments.callee.callerは呼べるけど、
これも関数のarguments.callee.callerだから関数オブジェクトだよな。
: parentFunc.parentFuncはundefinedなんだけどどうして?
関数オブジェクトのparentFuncというプロパティは普通誰も何も
入れてないだろ。undefinedが当然。何をどう思い込んでるの?

752 名前:663 投稿日:2005/06/16(木) 00:28:07 ID:???
>>747
個人で弄くってる分には廃止されたって使えるキャリアは使える。
親の親の引数を持ってくる他の案があるとか?


子・孫とそれぞれ引数を書くのが面倒なんでこういうこといってるので
じゃあ、それぞれにしっかり引数記入して渡せよはナシ。

753 名前:746 投稿日:2005/06/16(木) 00:31:51 ID:???
>>748
あー、その場合は確かにそうだな。こちらの考察が足りなかった。すまぬ。

>>747
JavaScriptの場合、
arguments.callerは非推奨となり削除されたが
arguments.callee.callerは残っている。
もっともECMAScriptにはarguments.callee.callerが存在しない。

754 名前:Name_Not_Found 投稿日:2005/06/16(木) 00:38:47 ID:???
よくJavaScriptで、
<script ...><!--
...
//-->
</script>

という風に書いていることがありますよね。

scriptタグに対応していないブラウザ(いまどきそんなんあるのかどうかしらないけど)
のためにこういう処理をしているのはよくわかるのですが、どうしても納得がいかないことが。

<script ...><!--
の、
<!--
の部分って、あきらかにJavaScriptの構文的に違反していますよね。なぜエラーが出ないのですか?

後もうひとつ質問ですが、なぜ
<script language="JavaScript">
があまりよくなくて、
<script type="text/javascript">
が推奨されているのですか?

なんとなくgoogleを調べてみたら<script>だけだったので、
もしデフォルトがJSならもともと指定なんて転送量の無駄遣いな気もしますね。

755 名前:663 投稿日:2005/06/16(木) 00:42:54 ID:???
>>751
なるほどいつものように「当然」なんだw

で、そこまで高圧的に「当然」というからには
どうやればparentFunc.parentFuncできるか(に代替するもの)が分かっているわけだよな。
それを示してくれよ。

756 名前:Name_Not_Found 投稿日:2005/06/16(木) 00:47:09 ID:???
parentFunc.parentFuncってのは
parentFunc["parentFunc"]と同義なんだよ。
つまりparentFunc (== arguments.callee.caller)に
"parentFunc"なんてプロパティは存在しないってこと。

757 名前:Name_Not_Found 投稿日:2005/06/16(木) 00:57:30 ID:???
>>755
何が「なるほど」なんだ?理解できないのならほっとけば。理解できる
のなら「当然」と思うだろうから突っ込む必要などないよな。そもそも
元質問者が何がやりたいのかが理解できないんで。それをちゃんと説明
してくれ。内容によってできることもできないこともあるだろうさ。
>>754
<script>...</script>にはHTML的にはtypeは必須(Transitionalでも)。
もちろんWeb製作板的にはHTMLじゃないものを書きたいという奴は
白眼視されるとも(w
転送量が無駄なら空ファイルでも公開すれ。

758 名前:Name_Not_Found 投稿日:2005/06/16(木) 01:00:18 ID:???
どうでもいい話題でそんな熱くなるなよ・・・(´ー`)y-

>>754
( <!-- は // と同義の挙動をしてる、って前スレであったような )
language / type は、content-type (MIMEタイプ) と結び付けられてる方がいいでしょ?
わざわざ廃止されてる上にわかりにくい方を使う道理はないしねぃ。

759 名前:Name_Not_Found 投稿日:2005/06/16(木) 01:02:30 ID:???
普通の頭なら >>756>>751 のような結論に到達するよね。
当然というほかないと思うな。そしてそれが当然じゃない奴に
説明して分かるかどうかは疑問だ。

760 名前:Name_Not_Found 投稿日:2005/06/16(木) 01:03:55 ID:???
>>757
> 転送量が無駄なら空ファイルでも公開すれ。
死ね

>>758
ありがとうございました。疑問がひとつ氷解しました。
<!--についても助言を元に調べてみます

761 名前:Name_Not_Found 投稿日:2005/06/16(木) 01:10:57 ID:???
暇だったので調べてみた。
ttp://lxr.mozilla.org/seamonkey/source/js/src/jsscan.c#1705
確かにJavaScriptでは<!--は//とほぼ同義の挙動をしてるな。

762 名前:Name_Not_Found 投稿日:2005/06/16(木) 01:14:23 ID:???
>>752
ふーん、こういうことがしたいわけ。そんな謎みたいなコード
書くより素直に書いた方がよっぽど得だと思うけどね。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function f1() { f2(); }
function f2() { f3(); }
function f3() {
var a = arguments.callee.caller.arguments.callee.caller.arguments;
alert(a[0] + ',' + a[1]);
}
f1('a', 'b');
</script>
<body></body></html>

763 名前:Name_Not_Found 投稿日:2005/06/16(木) 01:15:09 ID:???
>>761
なるほど…ソースコードから調べるのか。
googleでcomment html javascriptとかやって調べてたよorz
情報ありがとうございます

764 名前:663 投稿日:2005/06/16(木) 01:19:51 ID:???
「当然」を連呼する香具師は、
経験上その「当然」としたものの本質が分かってないことが多い。
化けの皮がはがれてきたぞ。

やりたいのは、関数の入れ子を作ったとき、
子孫関数から祖先関数の引数を取得したい。

これは、>>732の指摘で解決した。

で、arguments.callee.callerは長いんで、これを一つの変数に入れるなりして
DOMのparentみたいに
parentFuncなるものを作れないかということ。

できないなら、
grandParentFunc作るまでだが、それでは芸が無いような。

765 名前:Name_Not_Found 投稿日:2005/06/16(木) 01:23:43 ID:???
もう寝なさい。

766 名前:Name_Not_Found 投稿日:2005/06/16(木) 01:25:18 ID:???
>>764
ヘンなこと考えてるなあ。変数に入れりゃいいんじゃないの?
var parent = arguments.callee.caller;
それで何が問題なわけ?

767 名前:Name_Not_Found 投稿日:2005/06/16(木) 01:36:50 ID:???
>>764はこういうことがやりたいのではと勝手に予想

Function.prototype.getCaller =
  function () { return this.arguments.callee.caller; });

function _1() {
  alert(arguments.callee.getCaller().getCaller());
}
function _2() { _1(); }
function _3() { _2(); }

_3();

……自分で書いてて気持ち悪くなってきた

768 名前:Name_Not_Found 投稿日:2005/06/16(木) 01:42:54 ID:???
で、
どんなコンテンツができるのかドキドキ

769 名前:Name_Not_Found 投稿日:2005/06/16(木) 03:01:23 ID:???
あんたらすごい情熱だな

770 名前:Name_Not_Found 投稿日:2005/06/16(木) 03:11:07 ID:???
>>751
> スクリプトのコメントアウト不要。携帯サイトは分離。
SCRIPTを知らないUAは携帯に限らないよ。Googleとか。
そもそも、分離しても携帯で見られるだろ。Googleキャッシュとか。
だから、コメントアウトは必要だろうな。

というか、「<!-- (略) //-->」または「//<![CDATA[ (略) //]]>」
を書かせるのが面倒なことですかねえ。

771 名前:663 投稿日:2005/06/16(木) 03:31:11 ID:???
やっとやりたいことを再現できたよ。

function cl_root_f(1,2,3){
function ancestor(){
  ・・・・var hoge=10;・・・
  ・・・granpa_f(hoge)・・・・  
}
function granpa_f(){
  ・・・・parent_f()・・var foo・・・
  ・・・ancle_f(foo)・・  
}
function parent_f(){
//ここ以下2行をそれぞれ定義しなおさないと行けないのが難点。
var himself=arguments.callee;  
Function.prototype.parentFunc = function(){ return this.arguments.callee.caller;}
    ・・・・・
var piyo = himself.parentFunc().parentFunc().parentFunc().arguments[0] +himself.parentFunc().parentFunc().arguments[0]
return child(piyo);
}


772 名前:663 投稿日:2005/06/16(木) 03:31:39 ID:???
function ancle_f(){
var himself=arguments.callee;  
Function.prototype.parentFunc = function(){ return this.arguments.callee.caller;}
    ・・・・・
var piko = himself.parentFunc().parentFunc().parentFunc().arguments[2] *arguments[0];
return child(piko);
}

function child(){
var himself=arguments.callee;
Function.prototype.parentFunc = function(){ return this.arguments.callee.caller;}
・・・・・・
return arguments[0] + himself.parentFunc().parentFunc().parentFunc().parentFunc().arguments[1];
}

773 名前:663 投稿日:2005/06/16(木) 03:42:01 ID:???
まあ晒したものは、仮に作ったものなのであしからず。
Functionオブジェクトにプロトタイプしろ、ということと
’this’.argumentsを抜かしてたのと、呼び出しもとのarguments.calleeを作り忘れてたわけか。
arguments.calleeは、arguments.callee.callerするときにも必要と言うのは面倒だね。
(プロトタイプを呼び出してるFunctionはどれなのか示さないといけないという
至極当然だったのネン)

これだとグローバルにおけないんで、
本格的に作るなら、クラスにしてsetTargetFuncとかつけるか
コンストラクタで弄くるようにしないといけないね。
まあ、やりたいことはこれで補えるんでこれ以上深く突っ込んで作らないよ。
いやはやお騒がせしました。

774 名前:Name_Not_Found 投稿日:2005/06/16(木) 03:45:56 ID:???
>>753
> JavaScriptの場合、
> arguments.callerは非推奨となり削除されたが
> arguments.callee.callerは残っている。
歴史を知らないだけだろう。そもそも、arguments.caller時代のJSにとって、
arguments.caller == Function#callerだった。
NN3以前を落としてきて色々やってみては。

> もっともECMAScriptにはarguments.callee.callerが存在しない。
というか、Function#callerが存在せず、だから非推奨になっているわけで、
Functionであるarguments.calleeのcallerプロパティこそが非推奨そのもの。

つまり、>>747が言うことはもっともだ。

775 名前:Name_Not_Found 投稿日:2005/06/16(木) 04:19:32 ID:???
次をやってみれば>>774で言った歴史が分かると思う。
javascript:function a () { alert( arguments == a ) } a();
NN3: true
Firefox: false

繰り返すが、非推奨のarguments.callerとは、現在のarguments.callee.callerのこと。
実際、過去のJavaScript1.5では、arguments.callee.callerで警告が出たはず。
今の生温いFirefox-JavaScript1.5を鵜呑みにされても困る>>753

776 名前:Name_Not_Found 投稿日:2005/06/16(木) 04:59:53 ID:???
コンテンツまだ〜チン☆(AA省略)


777 名前:Name_Not_Found 投稿日:2005/06/16(木) 07:55:19 ID:???
質問です。
innerHTMLやinsertAdjacentHTMLなどで画像を含むHTMLを追加した場合、その画像のダウンロードが完了したかどうかを取得する方法はありますか?
例えばこんな感じです
div1.innerHTML += "<img id='img1' src='picture.jpg'>";
このステートメントが実行され、HTMLが追加されてから画像のダウンロードが始まると思うのですが、その完了をしっかり見届けたいわけです。
どなたかわかる方、よろしくお願いします。

778 名前:Name_Not_Found 投稿日:2005/06/16(木) 08:13:36 ID:???
過去ログを読んで663の逆切れっぷりが笑えた。特に>755

779 名前:Name_Not_Found 投稿日:2005/06/16(木) 09:02:14 ID:???
>>777
別に普通に
「document.getElementById('img1').onload = 完了時に呼ばれる関数;」
を(innerHTMLへの書き込み後に)実行しとけばいいんじゃないの?

780 名前:Name_Not_Found 投稿日:2005/06/16(木) 09:24:26 ID:???
>>777
setTimeout()関数でonerrorを監視すればよい。
目的というか必要性はなんなの?

781 名前:Name_Not_Found 投稿日:2005/06/16(木) 10:37:23 ID:???
>>780
window["onerror"]
IE専?解説キボンヌ

782 名前:Name_Not_Found 投稿日:2005/06/16(木) 10:48:54 ID:???
uns006です。
<DIV></DIV>がいくつあるかはどうすれば取得できますか?

783 名前:781 投稿日:2005/06/16(木) 10:50:14 ID:???
使った事ないなー
<IMG>でも使えるのか。ふ〜ん。


784 名前:Name_Not_Found 投稿日:2005/06/16(木) 11:10:34 ID:???
純粋に興味があっての質問なんだが、
callerってどんな時に便利なんだ?

構造化のためgo to文使っちゃダメ
と言われてたのと同じ臭いがするのだが。

785 名前:Name_Not_Found 投稿日:2005/06/16(木) 11:20:53 ID:???
>>782
「document.getElementsByTagName('div').length」
もちろん該当するdivを全部ロードした後で取得してよ。
>>784
洩れからみるとちっとも便利そうには見えないのだが
(そもそも現在のブラウザ上のJavaScriptでは大丈夫とは
いえ、マルチスレッドになったら破綻するし)、まあ本人の
楽しみなんじゃないの。

786 名前:Name_Not_Found 投稿日:2005/06/16(木) 11:28:32 ID:???
すまそ、argument.caller.calleeそのものはマルチスレッドでも
大丈夫だと思う。関数オブジェクトに格納しちゃうとまずそうだけど。

787 名前:Name_Not_Found 投稿日:2005/06/16(木) 11:36:07 ID:???
>>786
プ

788 名前:Name_Not_Found 投稿日:2005/06/16(木) 11:42:02 ID:???
とあるところでの似たようなcaller論争。
ttp://www.forum4designers.com/archive22-2004-12-160526.html

789 名前:Name_Not_Found 投稿日:2005/06/16(木) 11:44:19 ID:???
こういう場面で使えるぞ、って例を示してくれると、>>663 の評価があがるぞ!

・・・いまだかつて、それができなくて困ったことないんだよな・・・。

790 名前:Name_Not_Found 投稿日:2005/06/16(木) 12:05:59 ID:???
>>784
かなり特殊でIEでしか動かないけど、↓は便利だと思った。
ttp://s.drmg.net/chd/dhtmldiver/htm/4_2_7_errortrace.htm

791 名前:Name_Not_Found 投稿日:2005/06/16(木) 13:57:19 ID:???
ttp://ishikawa.arielworks.com/memo/2005/02/24/020708
こういう事例もあったけど運用でカバーできる範囲といわれればそれまでのような

792 名前:777 投稿日:2005/06/16(木) 14:34:00 ID:???
>>779
onload って window にしかないのかと思ってました。今ちょっと試せないんで、後で実験してみます。

>>780
onerror ですか。そんなとこからダウンロード完了がわかるなんて知りませんでした。
こちらも後で試してみますが、window.onerror でよいのでしょうか。
もしかして img1.onerror ができてしまうのかな?

ちなみに目的なんですが、今作成しているのがスライドショーのようなもので、写真を次々と表示していきたいのです。
そこでネットワークの状況やサーバの混雑具合によって画像のロードが遅延すると、ユーザ側がかなり困惑しやすい表示になってしまいます。
なので、画像のロードがもたついている場合には「ロード中」という旨を表示したいのです。
ま、画像のロードがもたつくことって滅多に起きないのも確かなのですが、たまに起きる状況が気になるもので。

お2人ともレスどうもです。

793 名前:Name_Not_Found 投稿日:2005/06/16(木) 15:26:40 ID:???
>>792
<img> 要素 (HTMLImageElement オブジェクト) にはブラウザで共通して
使えるイベントとして onload, onerror, onabort がある。

非表示の <div> に <img> を挿入して、その onload で <div> の
style.visibility を変えて表示するのが簡単だと思う。

src を設定する前にイベントをリッスンしておかないと、スクリプトの
実行よりも画像の読み込みが速いと永遠に呼ばれないので注意。

innerHTML は要素の生成が非同期になるので createElement と
insertBefore か appendChild を使った方がいいと思う。
(画像の読み込みはどちらにしても非同期)

window.onerror は基本的にスクリプトエラーが発生したときに呼ばれる。
厳密にはスローされた例外が、try〜catch で捕捉されずに呼び出し元まで
伝播した場合に発生する。
true を返すとその例外は処理されたことになる。

794 名前:Name_Not_Found 投稿日:2005/06/16(木) 15:34:53 ID:???
>>793 > innerHTML は要素の生成が非同期になる
本当ですか

795 名前:Name_Not_Found 投稿日:2005/06/16(木) 15:40:38 ID:???
>>793-794
洩れもその「非同期」はびっくりだ。ソースを知りたい。

そして今回の画像の読み込み待ちでonerrorをどう使うのかは
謎に感じる。動く例題キボン。

796 名前:Name_Not_Found 投稿日:2005/06/16(木) 15:41:22 ID:???
それ以前に非同期の言葉の使い方間違ってんじゃね?
意味不明な気がする

797 名前:Name_Not_Found 投稿日:2005/06/16(木) 15:49:13 ID:???
>>792
onloadは画像の読み込み完了時
onerrorは画像が見つからなかったときに実行される。
>>781のいう方法ではできそうにない気がする

onloadは一回実行させるだけでいいのでかえって面倒な気もするが
document.getElementById("img1").completeをsetIntervalで所得するという方法もあるな。

ところでスライドショーだとすれば画像を切り替えるごとにロードされるまで待たせるより
Imageオブジェクトを作成して画像を全部プリロードさせた方がよりいいと思うのだが。

798 名前:Name_Not_Found 投稿日:2005/06/16(木) 15:53:44 ID:Vjm+o2kI
Photoshopでの話なんだけどさ、

var objFile = new File( "/work/test.jpg" );
objFile.remove;
alert("exists:" + objFile.exists);

を動かすと、「exists:true」のアラートが出る。
ファイルがぜんぜん消えないんだけど、なんで?


799 名前:Name_Not_Found 投稿日:2005/06/16(木) 15:54:37 ID:???
> 画像を全部プリロードさせた方がよりいい
それだけは止めて欲しい。
それをするくらいなら、べたに <img ..> .. <img ..>と一覧表示してほしい。

800 名前:781 投稿日:2005/06/16(木) 15:54:51 ID:???
>>797
俺は使ってないよ
777とは別人だし。


801 名前:Name_Not_Found 投稿日:2005/06/16(木) 16:01:27 ID:???
>>798 その File#remove が関数なら () を書けば実行される。objFile.remove() のように。
//見かけない話題はリファレンスのURIを併記したら回答がつきやすくなると思う。

802 名前:797 投稿日:2005/06/16(木) 16:01:28 ID:???
>>800
スマン、>>780の間違い

>>799
できれば理由を教えてもらいたいのだが

803 名前:Name_Not_Found 投稿日:2005/06/16(木) 16:03:55 ID:???
>>802
>>799 じゃないけど、せめて次の画像くらいに留めて欲しいわ。 重くてかなわん。

804 名前:798 投稿日:2005/06/16(木) 16:11:49 ID:???
thanx >>801

よくみりゃー()ついてねーかった。
恥だ…

805 名前:663 投稿日:2005/06/16(木) 16:23:25 ID:???
>>788
どこも俺みたいなめんどくさがりやで変なことにこだわる香具師がいて、
冗長なルート設定とか嫌だし、非奨励でも
他できるのにオペラで何で出来ないの?
とかいうと
「なんでおまえはそう思うんだ?」「そんなことする必要がない」
で結論出ず。
ここの縮図と一緒だな。

>>788はいつも英語の文章を引用するけど、読める香具師ばかりでないので
できれば簡単に要約文を付けてホスイ。
読める香具師でも日本語みたいにすらすら逝かんと思うし

806 名前:Name_Not_Found 投稿日:2005/06/16(木) 16:28:15 ID:???
>>797 >>799 >>802
「全部」プリロードすると一気にすごいトラフィックになるしブラウザ
も重くなるから。そうじゃなくて、ある画像を見せている間に次のもの
をプリロードするべきでしょ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var imgs = ['t0.png','t1.png','t2.png','t3.png','t4.png'];
var count = 0, loading = true, nextimg = new Image(); nextimg.src = imgs[0];
function next() { if(count < imgs.length) waitload(); }
function waitload() {
if(!nextimg.complete) {
document.getElementById('d0').style.visibility = 'visible';
setTimeout(waitload, 50);
} else {
document.getElementById('d0').style.visibility = 'hidden';
document.getElementById('i0').src = nextimg.src;
if(++count < imgs.length) nextimg.src = imgs[count];
}
}
</script>
<body>
<p><img id="i0" alt="slide" src="t0.png"></p>
<p><button onclick="next()">Next</button></p>
<div id="d0" style="position:absolute;visibility:hidden">Loading...</div>
</body></html>

807 名前:Name_Not_Found 投稿日:2005/06/16(木) 16:46:37 ID:x+bhmgdF
質問です。
HPで訪問カウンタ使ってます。CGI経由で数字画像を表示させます。
で、クライアントサイドで、例えば777のカウンタをヒットさせた
訪問者にメッセージを出してお知らせするようにしたいです。
数字画像は通常の<img src="images/1.gif">という風に呼び出します。

この<img ...>から777を取得するにはどうすればいいんでしょうか。
よいアドバイスお願いします。

808 名前:Name_Not_Found 投稿日:2005/06/16(木) 16:52:44 ID:???
>>807
出来ないことはないけれど、多分丸投げスレに行くのが正しいような気がする。

さらにもっと言うと、CGIを経由しているならばCGIの方で数字を確認するのが
最も理性的な解法なのだけれど、出来ないわけがある…んでしょ?

809 名前:Name_Not_Found 投稿日:2005/06/16(木) 16:57:30 ID:???
>>805
> 他できるのにオペラで何で出来ないの?
> とかいうと
> 「なんでおまえはそう思うんだ?」「そんなことする必要がない」
> で結論出ず。

ある程度以上のエンジニアは、問題に対して本質的な解決策を模索しようとするから
レベルの低いエンジニアと意思の疎通が難しいことが起こりうるのはわかる気がする。
どのようなシチュエーションで必要になるのか、そのシチュエーションで他に方法は無いか、
そういったことを前提として考えていると「どこで必要なんだ?」「それをする必要は無い」という回答が出る。
でも視野をそこまで広げていないエンジニアにしてみれば、はぐらかされたように見えるのだろう。

810 名前:Name_Not_Found 投稿日:2005/06/16(木) 16:59:05 ID:???
>>807-808
丸投げスレが必要かねえ?3桁ぶんの<img>にそれぞれID振って
if(document.getElementById('ID1').src == 'images/7.gif'&&
document.getElementById('ID2').src == 'images/7.gif'&&
document.getElementById('ID3').src == 'images/7.gif') ...
もしIDが振れないなら「ページの何番目の画像か」を数えて
document.images[番号].src を使ってもいい。

811 名前:Name_Not_Found 投稿日:2005/06/16(木) 17:07:05 ID:???
>>810
きれいに実装すると、
var template = '<img src="images/%NUM%.gif">';
var specialNumbers = new Array( 777,1000,1111 /*...*/ ,10000);
for( var number in specialNumbers ) {
var searchString="";
var n = number;
while( n>0 ) {
searchString=template.replace("%NUM%",number%10) + searchString;
n/=10;
}
if( document.body.innerHTML.indexOf(searchString) != -1 ) {
alert("キリ番"+numebr+"get");
}
とかになるんじゃないかなぁと思ったので丸投げスレをお勧めした。

ちなみに上のソースはかなり適当に書いたのでバグやsyntax errorなどありそう。
ぱっと見ただけでも1777の時に777ゲットが反応するしね

812 名前:811 投稿日:2005/06/16(木) 17:09:30 ID:???
あー。バグバグだがどうせこのままじゃ使い物にならないので放置。
具体的な出力HTMLによって方法は変わってくると思うからやっぱり丸投げスレがお勧め。
http://pc8.2ch.net/test/read.cgi/hp/1099993040/

813 名前:Name_Not_Found 投稿日:2005/06/16(木) 17:24:56 ID:???
CGI 経由・・・って SSI なのかねえ。
でないと src="images/1.gif" なんてならんよなー。

814 名前:Name_Not_Found 投稿日:2005/06/16(木) 17:42:17 ID:???
ページ丸ごと CGI なんじゃないの?
呼び出し側でやる方が賢いと思うけど。

"images/1.gif" が 777 というイメージを送り出す CGI なのかも。
CGI に ".gif" という拡張子を付けるのは自由ですから。

画像の中の文字を読むなんてクライアント側のスクリプトでは
どうやっても不可能。ネイティブなプログラムでも難しいのに。

815 名前:Name_Not_Found 投稿日:2005/06/16(木) 17:53:23 ID:???
まあ、とりあえず
>>810 動かない。
>>811 ひどい。

816 名前:Name_Not_Found 投稿日:2005/06/16(木) 20:18:19 ID:???
質問です。
document.onmouseover = function(e){...}とイベントハンドラを設定するのと、
addEventListenerやattachEventを使ってハンドラを設定する違いってどこにあるのですか?

817 名前:Name_Not_Found 投稿日:2005/06/16(木) 21:06:51 ID:???
もう丸投げスレにいったかな?
<img alt =num;・・・
で対処できんか?それすらサーバー出力を変えられないとか?

818 名前:Name_Not_Found 投稿日:2005/06/16(木) 21:29:15 ID:???
>>816
FirefoxのURL欄で javascript: に次を一行にしたものを続けて試してみれば大体わかると思う。
function title (n) { document.title += n }
function title_0 (e) { title(0) }
function title_1 (e) { title(1) }
function title_2 (e) { title(2) }
function title_3 (e) { title(3) }
document.onmouseover = title_0;
document.addEventListener( 'mouseover', title_1, false );
document.onmouseover = title_2;
document.addEventListener( 'mouseover', title_3, false );

819 名前:Name_Not_Found 投稿日:2005/06/16(木) 21:35:43 ID:???
>>818
すごくよくわかりました。ありがとうございます

820 名前:Name_Not_Found 投稿日:2005/06/16(木) 22:36:17 ID:???
IEでoffsetLeft/offsetTopがうまく取れなくて困っています。

<html><head><title>test</title>
<script>
function init() {
var x = document.getElementById('element').offsetLeft;
var y = document.getElementById('element').offsetTop;
document.getElementById('status').innerHTML = "x:"+x+" y:"+y;
}
document.onmousemove=function(e){
if( !e ) { e = event; }
var x = e.clientX;
var y = e.clientY;
document.getElementById('mouse').innerHTML = "mouse x:"+x+" y:"+y;
}
</script>
<body onload="init()">
<div id="element" style='position:relative;width:128px;height:128px;border:1px solid black'></div>
<div id="mouse"> </div>
<div id="status"> </div>
</body></html>

このソースコードを私の環境で実行すると、
element の offsetLeft(x)=10 offsetTop(y)=15 と表示されますが
id="element"のdivの左上にマウスを持っていって座標を得ると(12,17)と
実際のoffsetLeft/offsetTopと2pixelずれてしまいます。

MozillaとOperaでは完全に一致するのに、IEでうまく取得できていないのはなぜでしょうか。
どなたか助言お願いします。

821 名前:Name_Not_Found 投稿日:2005/06/16(木) 22:58:24 ID:???
IEでこういうのやるときは互換モードじゃなく標準モードにした方が
よくない? DOCTYPE宣言を先頭に書けば標準モードになるんだと思うが。

822 名前:Name_Not_Found 投稿日:2005/06/16(木) 23:05:49 ID:???
>>810
.srcから取って判定するときは絶対URI(http:ゥら全部)で。
自信がない場合はalertで表示して確認。

823 名前:Name_Not_Found 投稿日:2005/06/16(木) 23:05:55 ID:???
もちょい詳しく言えば、
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
のどれかが標準モード。
それ以外は互換。

ファッキン
 糞 IE は XHTML の XML宣言最初に置くと、互換モードにしてしまって、標準にできなくて嫌

824 名前:Name_Not_Found 投稿日:2005/06/16(木) 23:06:41 ID:???
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
標準モードが何かよくわからないまま上のdoctypeをつけてみましたが変化はありませんでした。

825 名前:Name_Not_Found 投稿日:2005/06/16(木) 23:07:41 ID:???
>>823
すべてにおいて変化なしです

826 名前:Name_Not_Found 投稿日:2005/06/16(木) 23:09:52 ID:???
>>824
さらに<body style="margin:0px;padding:0px" ...>ではどう?
逆にmarginやpaddingを増やすとclientX/Yの値も増えない?

827 名前:Name_Not_Found 投稿日:2005/06/16(木) 23:11:43 ID:???
ともかく互換モードだと昔のヘンな状態のそっくりさんをやるから。
特にCSSレイアウト関係ね。特別な理由ない限り標準モードを使うのが吉。

828 名前:Name_Not_Found 投稿日:2005/06/16(木) 23:13:51 ID:???
>>826
変化なしです。
marginを増やすとその分(x,y)座標が増えますが、やはりずれています。
paddingは左上座標には影響しませんでした。

829 名前:Name_Not_Found 投稿日:2005/06/16(木) 23:14:36 ID:???
>>827
知りませんでした。
参ったな、doctypeをつけるだけでレンダリングを変えるようなブラウザだったのか…

830 名前:Name_Not_Found 投稿日:2005/06/16(木) 23:19:13 ID:???
>>828
じゃbodyのstyleにさらにborder指定してbodyの外側に何かないか
表示テスト。Moz/Fxと比較してみれ。いやまてよ、あとbodyの
offsetTop/Leftを表示させて2になってればそれを差し引けばいいじゃん。

831 名前:Name_Not_Found 投稿日:2005/06/16(木) 23:22:41 ID:???
>>830
bodyのoffsetTop/Leftは10/15でした。
position:relativeだからdivはそれを引き継いでいます。

bodyにborder指定するとbodyの外側には空白があります

832 名前:Name_Not_Found 投稿日:2005/06/16(木) 23:23:28 ID:???
てーかCSSで他の指定しないで、
* { margin:0; padding:0; border:0; }
でどうなるかまず試してみてよ。

833 名前:Name_Not_Found 投稿日:2005/06/16(木) 23:32:06 ID:???
>>832
余白なくクライアント領域の左上にぴったりくっつきます。
この場合、offsetLeft/Topは0/0になり、当然マウスと一致します。

834 名前:Name_Not_Found 投稿日:2005/06/16(木) 23:35:41 ID:???
解決しました。
なんと、html { border:0; } でmouseとクライアント座標が一致しました。

835 名前:Name_Not_Found 投稿日:2005/06/16(木) 23:38:56 ID:???
なんと、でもないことだけどw まあよかったねえ。

836 名前:Name_Not_Found 投稿日:2005/06/16(木) 23:43:10 ID:???
>>835
なんと、じゃないかなぁw 
htmlにstyle要素がつくなんて、しかもデフォルトでborderがついているなんて、わからないですよ…

多分JavaScriptではborderのピクセル数を得ることが出来ないだろうから、
Window座標からClient座標を引いてとかして、なんとか算出するしかないんだろうな。
もう2pixelで固定でいいやという気になりつつあるけど…IE5.0とかじゃ多分違うんだろうなぁ。ハァ

837 名前:Name_Not_Found 投稿日:2005/06/16(木) 23:44:45 ID:???
CSSスレじゃないのに恐縮だがCSSでは長さには必ず単位を
指定しないと。他のブラウザで動かないかもよ。「border:0px」
pxでなくcmでもmmでもexでもいいけど。

838 名前:Name_Not_Found 投稿日:2005/06/16(木) 23:47:09 ID:???
うぁCSS1の仕様見たらborderはall elements対応かよ。IE仕様どおりか。超ショック。
>>837 了解です。今回はテストのためにいじっていただけなのでご安心を。

839 名前:Name_Not_Found 投稿日:2005/06/16(木) 23:50:14 ID:???
>>836
それは修行が足らないからだろ。もっともCSSスレ的修行だけどね。

borderのピクセル数、得られるじゃん! FAQ >>3 のQ8/A8の応用だし。
ちなみに参照する場合は「style.borderTopWidth」(ほかBottom、Left、
Rightがある)だと思う。IE5の場合は知らん。


840 名前:Name_Not_Found 投稿日:2005/06/16(木) 23:50:16 ID:???
>>836
確かにborder-widthをemとかpt単位で指定されると難しいかもしれないが
px単位で指定されているのなら取得できるはず

>>837
0の場合に限って単位は省略可能

841 名前:Name_Not_Found 投稿日:2005/06/16(木) 23:51:11 ID:???
>>840 うげげ、0だと単位省略可なの! 勉強になりますた。

842 名前:Name_Not_Found 投稿日:2005/06/16(木) 23:58:00 ID:???
>>839
助言サンクスです。早速実験してみます
>>840
デフォルト状態って単位なんでしょうねー

ここから先はCSSっぽいので自分で調べます。ありがとうございました。

843 名前:Name_Not_Found 投稿日:2005/06/16(木) 23:59:01 ID:???
>>837
知ったかぶり怖いなあw
0 に px も何もないだろ。単位はどれでも 0 は 0。

あと cm とか mm とかは media="print" とかのときだけにしようね。 webじゃ意味ない。

CSS屋的には、html にせよ何にせよ、つけるものはつけれる、が普通だし、
html と body に背景指定したら2重にできたりとかもできるし、
全てのタグは平等な扱い。 初期値が違うだけ。

844 名前:784 投稿日:2005/06/17(金) 00:25:16 ID:???
>>788
callerは、推奨されていないのですねぇ。

>>790
window.onerror発生時にエラーの発生した関数を取得し、
そのcaller関数名を順番に取得する事で、
エラー発生までの関数の呼び出し順を表示しているのですねぇ。

Firefoxで動かないかと思考錯誤してみたが、
↓が返す値が、nullという結論に。。上手い方法無いかな?
window.onerror=Function("alert(arguments.callee.caller);");


845 名前:784 投稿日:2005/06/17(金) 00:27:35 ID:???
>>791
親と自分自身を比較する事により、
インスタンスを複数作らない様にしているのですねぇ。

同じ関数かというチェックを行えるという事は、、
再帰呼び出し時の無限ループチェックとかには使えそうですねぇ。
↓使う場面あるのか微妙だ。。
var chk=0;
function loop1(){
chk++;
var fnc=arguments.callee.caller;
while(fnc!=null){
if (fnc==arguments.callee){alert("無限ループの可能性あり"+chk);return;};
fnc=fnc.arguments.callee.caller;
};
loop2();
};
function loop2(){loop1();};


結論、参照するだけなら有効な使い道が無い訳ではない、気がしてきた。。

846 名前:Name_Not_Found 投稿日:2005/06/17(金) 00:34:58 ID:???
>>844
Function → new Function
にしたらどうなる?

847 名前:Name_Not_Found 投稿日:2005/06/17(金) 01:09:07 ID:???
>>823
違う。
例えば、ISO-HTMLやXHTMLの文書型宣言でも冒頭にあればCSS1Compatになる。
文書型宣言が冒頭にあれば、BackCompatとなる幾つかの例外を除いて、
全てCSS1Compatになる。そう、BackCompatの方が寧ろ例外。

ここはJSスレだから、
'string' == typeof document.compatMode && 'BackCompat' != document.compatMode
によっていわゆる標準準拠モードを知るのが正しい。

848 名前:Name_Not_Found 投稿日:2005/06/17(金) 01:37:38 ID:???
まあそんなストリクトな会話求めていませんけどねぇ。

849 名前:Name_Not_Found 投稿日:2005/06/17(金) 01:43:27 ID:???
>>820
変な解決をしていますね。
document.getElementById( 'element' ).attachEvent( 'onmousemove', function (e) {
status = [ e.offsetX, e.offsetY ];
});
で、10と15になった。
http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/offsetx.asp
次にも必ず目を通しておこう。
http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/offsetparent.asp
http://msdn.microsoft.com/workshop/author/om/measuring.asp

850 名前:Name_Not_Found 投稿日:2005/06/17(金) 01:52:34 ID:???
>>848
ゆとり教育万歳!!

851 名前:Name_Not_Found 投稿日:2005/06/17(金) 01:57:13 ID:???
>>846
ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/15-3_Function_Objects.html#section-15.3.1

852 名前:Name_Not_Found 投稿日:2005/06/17(金) 09:38:28 ID:???
>>849
なんか根本的に勘違いしているみたいですね。
それでうまく行くのは当たり前じゃないですか

853 名前:Name_Not_Found 投稿日:2005/06/17(金) 11:07:05 ID:???
>849
イベントを使わずに取れたらそれでもいいんだけど、
不必要なイベントオブジェクトを介する実装はちょっと無理ですね。
大体mouseoverするとは限らないわけで。

borderの幅が取れないから、もう2pixel固定でいいやという気分

854 名前:Name_Not_Found 投稿日:2005/06/17(金) 11:58:16 ID:8OXS4wq3
質問します。
Date()から曜日を取得できますよね。数値ですが、配列でフレンドリーな表示
にもできます(たぶん)。で、僕の疑問点は、例えば、2180年(エウアンゲ
ロプスII世誕生の年)の9月29日が何曜日かを知る事はJavaScriptで簡単に求
める事ができますけど、考えていたら頭が混乱してきて、曜日は閏年とか大の月
小の月とかも通り抜けて行くし、そんなに簡単ではない気がしてきました。簡単
に求まると思っていたのは間違いで、インターネットエクスプローラーの中身が
すごいと言う事ですか。曜日のしくみを教えてください。よろしくお願いします。

855 名前:Name_Not_Found 投稿日:2005/06/17(金) 12:03:57 ID:???
情報系の学科とか逝ったら一度はその「何年何月何日は
何曜日」とかのプログラムを演習で作らされるんでは。
仕様がはっきりしてれば機械的に作るだけだし。

そもそも大の月小の月とかは最後の瞬間まで要らない。
365日の年と366日の年でそれぞれ曜日がどれだけずれる
かは簡単に分かるだろ。あとはどの年が閏年かのアルゴリズム
が分かればいいわけで。

そもそもJSとほとんど関係ないな。

856 名前:Name_Not_Found 投稿日:2005/06/17(金) 12:28:41 ID:???
>>854
Cの話だけど猫にZellerの公式とかいって載ってた
スレ違いだけどJSのDateの実装が心のどこかで気になるのもわかる希ガス

ttp://www.kumei.ne.jp/c_lang/intro/no_41.htm
>西暦y年m月d日の曜日は
>(y+[y/4]-[y/100]+[y/400]+[2.6m+1.6]+d)mod7
>で与えられます。なお1月と2月については、前年の13月、14月としなくてはいけません。

857 名前:Name_Not_Found 投稿日:2005/06/17(金) 12:34:55 ID:???
閏年でぐぐれ。終了。

>>855
現場出れば絶対に一回は組むことになると思うよ
10分で描けなきゃ偽pgだと今は亡き上司が言ってた

858 名前:Name_Not_Found 投稿日:2005/06/17(金) 12:44:03 ID:???
>>857 喪前は10分で書けるか?洩れは自慢じゃないが20分掛かったorz
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function leap(y) {
if(y%400==0) return true; if(y%100==0) return false; return y%4==0;
}
function calc() {
var e=document.forms[0].elements,n=['日','月','火','水','木','金','土'];
var y1=parseInt(e.yy.value),m1=parseInt(e.mm.value),d1=parseInt(e.dd.value);
if(y1<2005||y1>4000||m1<1||m1>12) alert(y1+'年'+m1+'月は計算できません');
else {
var d = 5; // 2005.1.1は土曜日
for(var y = 2005; y < y1; ++y) d += leap(y)?366:365;
for(var m = 1; m < m1; ++m)
if(m==2) d += leap(y)?29:28; else d += (m==4||m==6||m==9||m==11)?30:31;
alert(n[(d+d1)%7] + '曜日');
}
}
</script>
<body>
<p><form action="#" onsubmit="return false"><input type="text" name="yy">年
<input type="text" name="mm">月<input type="text" name="dd">日
<input type="button" value="曜日計算" onclick="calc()"></form></p>
</body></html>

859 名前:Name_Not_Found 投稿日:2005/06/17(金) 12:48:13 ID:???
>>858
>>856

860 名前:Name_Not_Found 投稿日:2005/06/17(金) 12:51:13 ID:???
>>859
そうなんだけどさ、その計算式で正しいという気持ちになれないから
自分で分かるように書いてみたまでで。

861 名前:Name_Not_Found 投稿日:2005/06/17(金) 12:56:49 ID:ncOzBmkC
854です。
856さん、ありがとうございました。
公式があるなんて驚きました。やはり、こういうことを考えて関数化しようと考え
た人はもうすでにいちゃってるんですね。とても勉強になりました。
僕はまだ中学なのでプログラミングは皆さんのようにすごいことはできませんが、
ブラウザとか言語の元の部分とかにとても興味があって、いつか新しいものを開発
出来たらと思います。パソコン愛好会の仲間はゲーム系が多いので、ちょっと孤立
してます。こんなに昼休みの間に解決できるなんて思っていませんでした。
856さん、本当にありがとうございました。感激です。

862 名前:Name_Not_Found 投稿日:2005/06/17(金) 13:03:29 ID:???
いいんだけど新規質問以外はsage進行で。

863 名前:Name_Not_Found 投稿日:2005/06/17(金) 13:56:07 ID:???
>>858
自慢じゃないが最初作ったときは30分かかったぜ。

>>861
リア中か。それにしては文章がdqnっぽくなくて不気味だ。
まぁ心から応援するよ。頑張れ

864 名前:Name_Not_Found 投稿日:2005/06/17(金) 14:56:07 ID:???
>>858,863
自慢じゃないが以前 2.6m+1.6 の部分を理解して納得するまで1日かかったぜ。 レポートにしたくらい。 orz
1583年から3999年までってのが注意だね。 JS の Date も 2037年 までなんだろうか。

865 名前:Name_Not_Found 投稿日:2005/06/17(金) 15:13:26 ID:watHdGNZ
質問です、お願いします。チェックボックスがチェックされると、その値がテキストフィールドに表示されるようにしました。
値はフィールドに表示されるのですが、テキストボックスがreadonlyのような状態になっており、
自動入力された値以外の書き込みが禁止されています。
チェック後にフィールド内を編集出来るように、禁止を解除したいのですが、
何をすればいいでしょうか?

<script language="JavaScript" type="text/JavaScript">
function check(checkbox) {
 if(checkbox.checked){
  document.ABCform.ABC.value += checkbox.value+'\n';
 }else{
  document.ABCform.ABC.value =
document.subform.ABCform.value.replace(checkbox.value,
"");
 }

}
// -->
</script>
<FORM NAME="ABCform">
<input type="checkbox" onClick="check(this)" value="チェ
ック1(ここに書きたい)">
<input type="checkbox" onClick="check(this)" value="チェ
ック2(ここに書きたい)">
<textarea name="ABC" cols="50" rows="5"></textarea>
</FORM>

866 名前:Name_Not_Found 投稿日:2005/06/17(金) 15:20:04 ID:???
>>865
ubj.checked=false
※obj.checked='false'とやると不思議な現象がおこる

867 名前:Name_Not_Found 投稿日:2005/06/17(金) 15:36:15 ID:???
〉〉866さん
できました!完ぺキノコです。
本当にありがとうございました。

868 名前:Name_Not_Found 投稿日:2005/06/17(金) 16:06:32 ID:???
>>852
こんな初歩的なことで勘違いしないから安心しろ。
IEでHTMLElement#offset(Left|Top)と同じ値にしたいなら、
それに対応するEvent#offset(X|Y) を使う。

>>853
> イベントを使わずに取れたらそれでもいいんだけど、
> 不必要なイベントオブジェクトを介する実装はちょっと無理ですね。
おいおい、>>820は、
IEでHTMLElement#offset(Left|Top)に対応するEvent#???を知りたい、
という意味じゃないのかよ(わらい。

869 名前:Name_Not_Found 投稿日:2005/06/17(金) 16:09:48 ID:???
>>863
中学でこんなことに興味を持つやつって
実は育ちが良かったりまじめだったりするから
dqnっぽくなくてもふしぎじゃない

870 名前:Name_Not_Found 投稿日:2005/06/17(金) 16:37:01 ID:???
>>869
はは、かわいそうだがそれじゃ孤立するのもわかる気がするw
将来面白いの作って欲しいね。

871 名前:Name_Not_Found 投稿日:2005/06/17(金) 17:08:45 ID:???
>>869
なるほどな。ってかココに居るメンツはみんなそうなのか?
漏れの中学時代はいい感じに引篭もりだったぞ・・・

>>870
ガキの頃孤立してるヤツって総じて世渡り上手いよな。
大卒の旧友が高卒の俺より早く出世する・・ってこれは違うなorz

激しくズレだしたのでそろそろ次の質問どうぞ。

872 名前:844 投稿日:2005/06/17(金) 21:21:11 ID:???
>>846
同じでした。

Firefoxでいろいろ試した結果
↓の動きの違いと同じ理由なんだろなと言う結論に。。
<html><head><title>event caller test</title>
<script type="text/javascript">
function ini(){document.getElementsByTagName("INPUT")[1].onclick=chk;};
function chk(){alert(arguments.callee.caller);};
</script>
</head><body onload="ini()">
<input type="button" value="直書き" onclick="chk();" />
<input type="button" value="直設定" />
</body></html>

直書きボタンが関数をかえすのに対して
直設定ボタンはnullを返す。


873 名前:Name_Not_Found 投稿日:2005/06/17(金) 21:36:58 ID:???
>>872 > 同じでした
>>851

> 直書きボタンが関数をかえすのに対して
> 直設定ボタンはnullを返す。
HTMLのイベント属性の振る舞いについて一読したことあれば試すまでもない。

874 名前:844 投稿日:2005/06/17(金) 22:07:48 ID:???
>>873
そこまで読んだ事がない上での質問。

つまりイベント内では、arguments.callee.callerを取得できないのが標準という事?


で、HTML直書きのイベントは、DOMを通したイベントと
扱いが違うので比較する事自体がまちがっていると言うこと?

875 名前:Name_Not_Found 投稿日:2005/06/17(金) 22:11:43 ID:???
とほほの結論まだ〜?☆チン(AA省略)



876 名前:Name_Not_Found 投稿日:2005/06/17(金) 22:19:37 ID:???
間違いが多いってことで使わない

877 名前:Name_Not_Found 投稿日:2005/06/17(金) 23:08:01 ID:???
そもそもarguments.calleeまでは標準にあるがcallerはない。


878 名前:844 投稿日:2005/06/17(金) 23:29:38 ID:???
>>877
んじゃ試さんと分からん部分もあったと言う事でOK?

879 名前:Name_Not_Found 投稿日:2005/06/18(土) 00:15:38 ID:???
標準を気にするならcallerは使うながFA。最初から皆そう言ってたぞ。
オレサマ実装だったら試そうが何しようが本人の勝手だがな。

880 名前:844 投稿日:2005/06/18(土) 02:09:57 ID:???
「試すまでもない」と言っているのに標準には無いという
いいかげんな理由で全否定された事に腹がたったので
「試さんと分からん部分もあっただろ」と訂正を求めたのだが
その回答が、>>879 だとしたら、単に当たり散らしているだけだな。

>標準を気にするならcallerは使うながFA。
んなこたぁ〜話の流れで非推奨と出ている。
なぜ標準なのかと聞いたのかは、「試すまでもない」とまで
言うのには、何処かにルールがあるのかと聞いてみた。

>オレサマ実装だったら試そうが何しようが本人の勝手だがな。
何をしようとしているかは、
FireFox上でonerror発生時にエラー発生までの関数名の
トレースをパッと表示できれば、開発時に便利だなぁと
思考錯誤している訳。


せっかく訂正しやすく配慮して"部分も〜"と
聞いてやっておるのだ、
↓これ位、書いてスレの雰囲気でも良くしてくれ。
(;゜∇゜)b ぉぉぉ桶!!
さぁコピペしろ!!


ところで↓は、何処を読めば分かるの?
「HTMLのイベント属性の振る舞い」

881 名前:Name_Not_Found 投稿日:2005/06/18(土) 02:20:04 ID:???
(;゜∇゜)b ぉぉぉ桶!!

もまいらまったり汁

882 名前:Name_Not_Found 投稿日:2005/06/18(土) 02:33:05 ID:???
>>879 じゃ無いけど
(;゜∇゜)b ぉぉぉ桶!!

883 名前:Name_Not_Found 投稿日:2005/06/18(土) 08:19:25 ID:???
普通にJavaScriptデバッガ使った方がいいんじゃねの?
ttp://firefox.geckodev.org/index.php?JavaScript%A5%B3%A5%F3%A5%BD%A1%BC%A5%EB#yc3f60c3

884 名前:844 投稿日:2005/06/18(土) 14:03:26 ID:???
エラー発生時の呼び出し元関数順って取れましたっけ?

最終的には、次の様な感じでブックマークレットにしておけば
開発時に便利だなぁと考えているのです。
javascript:(window.onerror=function(){try{var R='[trace]\n';var
O=onerror;for(var
I=0;50>I;I++){R+=String(O).substr(0
String(O).indexOf('{'
0))+'\n';O=O.caller;};alert(R);}catch(e){alert(R);}})();
↑このままだとIEでしか動きませんが、お気に入り登録しておくと便利。
(実行時に一回alert表示されてしまうのは、何故だろう。。)

↓元ネタ これを改造させて貰いました。
ttp://s.drmg.net/chd/dhtmldiver/htm/4_2_7_errortrace.htm

885 名前:844 投稿日:2005/06/18(土) 14:11:18 ID:???
あぁ長すぎた。。
↓の改行をカットしてアドレス欄等に入れてみて下さい。
javascript:(window.onerror=function(){try{
var R='[trace]\n';var O=onerror;for(var I=0;50>I;I++){
R+=String(O).substr(0
String(O).indexOf('{'
0))+'\n';
O=O.caller;};alert(R);}catch(e){alert(R);}})();


886 名前:844 投稿日:2005/06/18(土) 14:26:24 ID:???
何度もすみませぬ。。
カンマが、改行に変換されてました。

↓の改行をカットしてアドレス欄等に入れて下さい。
javascript:(window.onerror=function(){try{
var R='[trace]\n';var O=onerror;for(var I=0;50>I;I++){
R+=String(O).substr(0,String(O).indexOf('{',0))+'\n';
O=O.caller;};alert(R);}catch(e){alert(R);}})();


↓エラーを発生させる用の適当なサンプルHTML
<html><head><title>trace test</title>
<script type="text/javascript">
function test1(){test2();};
function test2(){test3();};
function test3(){a=b;};
</script>
</head><body onload="ini()">
<input type="button" value="bが宣言されていないと怒られる" onclick="test1();" />
</body></html>



887 名前:Name_Not_Found 投稿日:2005/06/18(土) 17:55:07 ID:j5pqTGF1
質問です。
下のような、ラジオボタンをクリックするとテキストエリアに文字が挿入される
スクリプトです。

function Func(data){
document.person.verify.value += data;
}


<form name="person">
<input type="radio" name="r1" onclick="Func('123456--')">ID<br>
<input type="radio" name="r1" onclick="Func('Man--')">Sex<br>
<input type="radio" name="r1" onclick="Func('Mailperson')">Prof.<br>
<textarea name="verify" rows=10 cols=40>
</textarea>
</form>

2度目のクリックのときに文字列が入らないようにするにはどう書けばよい
ですか。よろしくお願いします。

888 名前:Name_Not_Found 投稿日:2005/06/18(土) 18:16:00 ID:???
DOMで表作っても表示されないんだけど、俺また何か仕出かした?
function tableTest(){
  var connect_frag = document.createDocumentFragment();
  var smpl = document.createElement("div");
  smpl.appendChild(document.createTextNode("Can you SEE ME!"));
  connect_frag.appendChild(smpl);
  var table = connect_frag.createElement("table");
  connect_frag.appendChild(table);
  for(var i=0;i<10;i++){
    var tr = document.createElement("tr");
    table.appendChild(tr);
    for(var k=0;k<10;k++){
      var td = document.createElement("td");
      td.appendChild(document.createTextNode(k));
      tr.appendChild(td);}}
  var p = document.getElementsByTagName("p")[0];
  var div = document.createElement("div");
  body.insertBefore(div,p);
  div_tag.appendChild(connect_frag);}
で<body><p>ここまで</p></body>
※Can you SEE ME!は見えるけど、表が出来ない。

889 名前:Name_Not_Found 投稿日:2005/06/18(土) 18:19:12 ID:???
>>887
data が document.person.verify.value 内にあれば無視するとか
表示済みのものを変数に記録しておくとか
'123456--','Man--','Mailperson'を配列に入れておいて一度使用したら空文字列にするとか
やり方はいくらでもあるだろ。

890 名前:Name_Not_Found 投稿日:2005/06/18(土) 18:33:13 ID:???
var flag =true;
function Func(data){
if(flag == true){
document.person.verify.value += data;
flag=false;  //flag=!flag;とかしてるのも過去スレに遭ったな。
}}
入力できるようにするには
function initFlag(){
 flag=true;
}


891 名前:Name_Not_Found 投稿日:2005/06/18(土) 18:38:17 ID:???
つ〜か、「2度目のクリックのときに文字列が入らないようにする」は
文字どうり解してはいけないわけ?

「ID」押したら「ID」だけ入力できなくして、
「SEX」「Prof.」は入力できなきゃいけないの?


892 名前:888 投稿日:2005/06/18(土) 19:04:50 ID:???
削り過ぎた。
var body = document.getElementsByTagName("body");
p宣言の前に入れてくれ。

893 名前:Name_Not_Found 投稿日:2005/06/18(土) 19:16:59 ID:???
>>891
×どうり ○どおり

894 名前:Name_Not_Found 投稿日:2005/06/18(土) 19:18:14 ID:???
>>892
インデントに全角スペース入れるくらいなら、もっと読みやすいコードにしろよ。

895 名前:Name_Not_Found 投稿日:2005/06/18(土) 19:20:56 ID:???
読みやすいコードの例を念のために。
ttp://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html
ECMAScriptやJavaScriptの命名などはこれに従っている

896 名前:Name_Not_Found 投稿日:2005/06/18(土) 19:24:42 ID:???
<script style="text-indent: 1em;"></script>

897 名前:888 投稿日:2005/06/18(土) 19:34:21 ID:???
ああ、tbody・挟まんとまずいわけか?>>5辺り?
調べたら前スレにinsertRow()insertCell()使ってるのいたけど
tbody書いてなかったような・・・

898 名前:Name_Not_Found 投稿日:2005/06/18(土) 19:38:22 ID:???
また英文か?895はホント英語が好きだな。

899 名前:Name_Not_Found 投稿日:2005/06/18(土) 22:00:57 ID:3HwF76GW
>>820です。

マウス座標とクライアント座標がずれていたのは、
IEはなぜかHTMLにデフォルトでborder属性がついているために
そのborderの幅だけマウス座標がずれるということがわかりました。

そして今、実際にその幅(ピクセル)を取得したいと考えているのですが、
なかなかうまく行きません。スタイルから取得しようとして
document.getElementsByTagName("HTML")[0].currentStyle.border
を試してみたところ、文字列"medium"でした。

いろいろなHTMLページにjsファイルをincludeしてエレメントを指定するだけ
という形のスクリプトを書いていて、そのために>>849さんのイベントを使った方法は
あまり適していませんし、実現も難しそうです。
何とかうまい方法があればいいのですが、ヒントやアイデアを教えてもらえませんか?

900 名前:Name_Not_Found 投稿日:2005/06/18(土) 22:01:31 ID:???
ここでXULアプリ開発言語としてのオブジェクト指向Javascriptに関する質問してもいいですか?

901 名前:Name_Not_Found 投稿日:2005/06/18(土) 22:04:37 ID:???
>>900
http://pc8.2ch.net/test/read.cgi/tech/1102172958/

902 名前:Name_Not_Found 投稿日:2005/06/18(土) 22:09:38 ID:???
>>901
サンクスコ!

903 名前:Name_Not_Found 投稿日:2005/06/18(土) 22:42:55 ID:???
便乗して質問です。

将棋の棋譜を登録できる掲示板で棋譜再生するJavaScriptを書いていたんですが、
そのときに痛感したのがクロスブラウザに対応するためのソースコードの書き方の難しさです。
IFRAMEを介して通信するプログラムを書いてしまったために、かなり苦しみました。

その時は、棋譜テキストのParserをECMA準拠で書いて共通のJavaScriptにして読み込み、
棋譜表示の部分のJavaScriptをそれぞれのブラウザで場合分けをしながら書いていましたが、
if(IE5)...else if(NN6)...else if(Gecko)...else if(Opera)...else if(Safari)...
みたいな分岐が何箇所も出てしまうソースコードは若干美しくないという気がしていました。

こういうのに決まったやり方はないと思うのですが、
何か有名なテクニックみたいなものがあれば教えてもらえませんか?

904 名前:Name_Not_Found 投稿日:2005/06/18(土) 22:47:06 ID:???
>>899
つうか何も読んでないだろ。色々とプロパティがあるが、
それぞれがどの長さに該当するかさえ分かれば難無く出来るだろ。
だいたい、HTML要素型にborder属性は無いだろ糞馬鹿。

905 名前:Name_Not_Found 投稿日:2005/06/18(土) 22:48:19 ID:???
>>897
insertRow()/insertCell()はtable要素のメソッドだから
それでも大丈夫。DOMで直接挿入する場合はtableの下に
tbody、tbodyの下にtrを挿入しないと駄目に決まってる。
そういうDOMの構造なんだから。


906 名前:Name_Not_Found 投稿日:2005/06/18(土) 22:48:28 ID:???
クロスブラウザなライブラリが結構な数提供されてるんじゃない?

907 名前:Name_Not_Found 投稿日:2005/06/18(土) 22:54:56 ID:???
>>903
なんでそんなに分ける必要があるんだか分からん。tableに
画像入れるとかいう普通のもんだったらDOM2に従っておけば
どれでも動くと思うが。最小限のサンプル貼ってみる?
>>898
テンプレに参考文献の英文についての指針を入れるかね?
「日本語版がある場合は日本語版を参照することが望まれるが、
見つからない場合や訳・古さに不安がある場合はこの限りでない。
参照者が和訳や要約を貼ることは歓迎されるが強制はされない。」
なんてどう?

908 名前:Name_Not_Found 投稿日:2005/06/18(土) 22:57:07 ID:???
>>895 の和訳はこれかな?
ttp://www.tcct.zaq.ne.jp/ayato/programming/java/codeconv_jp/index.html

909 名前:Name_Not_Found 投稿日:2005/06/18(土) 22:59:40 ID:???
>>904

> だいたい、HTML要素型にborder属性は無いだろ糞馬鹿。

なんでろくに知りもしないことについてレスを返すのかなぁ…

<html><head><title>IE限定</title><script>
document.getElementsByTagName("HTML")[0].style.borderWidth="1em";
</script></head><body>test</body></html>

ちなみにCSSの仕様にもHTMLでborderは指定できることになっている。
知ったかぶりがばれるのは恥ずかしいだろうからこれ以上レスしなくていいよ。

910 名前:Name_Not_Found 投稿日:2005/06/18(土) 23:08:20 ID:???
>>909
CSSで見映えを弄ることとマークアップは違うよき違い。

911 名前:Name_Not_Found 投稿日:2005/06/18(土) 23:09:20 ID:???
>>906
ライブラリですか。
ちょっと検討してみますが、ApacheProjectみたいな規模で
JavaScriptのライブラリを作っているところって無いですよね。
個人や小さい企業で作って配布しているライブラリを使うと、
作りこみが足りなくて結局自分で書くリスクがちょっとだけ不安です。

>>907
まぁひとつの処理に全部すべてを分ける必要はないにしても、
イベントオブジェクトひとつを取ってもIEとGeckoとKHTMLで全然違うので、
いろいろなところに頻繁に分岐が入るのは仕方ないところだと思います。
わかりやすいところではattachEventとaddEventListenerとかですね。
そうした場合、同じような処理のコピペがどうしても増えてしまい、
メンテナンスのコストがかかるので困ります。

個人的には、参照は可能な限り原文で出してくれるほうがうれしいです。
訳だと、最新版へのリンクがないことも多いし、なにより誤訳の心配がありますから。
英文に関しては、読めない人は自分で日本語訳を探せばいいんじゃないでしょうか。
895くらいであれば、Code Conventions javaでgoogle日本語指定で一発で見つかりますし。

912 名前:Name_Not_Found 投稿日:2005/06/18(土) 23:12:00 ID:???
原文派が1票ですか、とりえあず。何も書かないでおくかな?

913 名前:Name_Not_Found 投稿日:2005/06/18(土) 23:16:38 ID:???
>>903
決まりきった方法論は無い。
うぇぶなんちゃらのレベルはこの板を眺めれば分かるだろ(わらい。

個人的に考えることだが、ちょこちょこ何度も分岐しないのがコツ。
例えば、
var v = window.opera? 1: 2;
var w = window.opera? 3: 4;
みたいにせず、
if (window.opera) { var v = 1; var w = 3; ..... }
else { var v = 2; var w = 4; ..... }
のように書けば、OperaについてはOperaブロックに没頭できる。

こう書くことの利点の一つは、分業し易いこと。
各ブロックでコードが全然違うものになっても構わない。
結果としての挙動が同じであることが重要であるわけだから。

そして、こういう風に完全分離しておくと、あるブラウザをサポートするかしないかの時に
そのブロックだけを削除したり追加したりできて簡単。
例えば、if (document.layers) { ... } なブロックだけを削除したり、追加したり出来る。

更に、HTC化したり、XBL化しておけば、専用コードを書きやすい
(そもそも、完全分離しているから、こういう外部ファイル化が簡単になる)。

914 名前:Name_Not_Found 投稿日:2005/06/18(土) 23:20:31 ID:???
>>913
クロスブラウザの話をしているときにXBLを持ち出すのにクソワロタ

915 名前:Name_Not_Found 投稿日:2005/06/18(土) 23:21:53 ID:???
>>911
> メンテナンスのコストがかかる
HTMLで使うJSは長くても高々千行ていど。小さすぎてコストをかけようがない。

916 名前:Name_Not_Found 投稿日:2005/06/18(土) 23:22:33 ID:???
>>914
よく読んで糞笑いをやめてもらおうか。

917 名前:Name_Not_Found 投稿日:2005/06/18(土) 23:28:42 ID:???
ブラウザ依存の部分をその都度すべて仮想化してアクセスするようにしようかなぁ。

>>913
それだといっそブラウザ別にソースコードを用意したほうがマシですよ。
でもメンテナンスのコストがかかるのをなんとかしたいので、
その案ではちょっとうまく行かなさそうです。

>>915
1500行でした。コメントがかなりたくさんありますけれど。
ちなみにブラウザ依存しないパーサー部分ではコメント含めて5000行弱です。
字句解析・構文解析ルーチンを自前で生成しているから仕方ないですけどね。

918 名前:Name_Not_Found 投稿日:2005/06/18(土) 23:29:11 ID:???
>>913
素人発想だなぁ・・・

919 名前:Name_Not_Found 投稿日:2005/06/18(土) 23:31:12 ID:???
if (WinIE) { behavior HTC }
else if (Firefox) { -moz-binding XBL }
else if (KHTML) { createElement( 'script') ... }
else if ... { document.write('<script.....') }
のように書けば>>914でも理解できるかね?

920 名前:Name_Not_Found 投稿日:2005/06/18(土) 23:37:48 ID:???
>>918
ぷろのうぇぶなんちゃらですか?おもしろおかしく語ってみてくださいよ。

921 名前:Name_Not_Found 投稿日:2005/06/18(土) 23:58:45 ID:???
>>917
> それだといっそブラウザ別にソースコードを用意したほうがマシですよ。

まったくもってそういうことを言ったつもりです。
HTMLとJSで作った将棋を動かせそうなブラウザをいくつ知っていますか。
私なら、WinIEとFirefoxしか相手にしませんよ。

様々な仕様をもとにクライアントを作っているわけじゃないですよね。
出来上がって普及した、たった数種類の有名ブラウザ相手に将棋ゲームを提供するだけですよね。
ブラウザ毎に分離してもたかが知れてます(キッパリ。

922 名前:Name_Not_Found 投稿日:2005/06/19(日) 00:07:04 ID:???
>>921
ブラウザというよりレンダリングエンジンですね。
IE5、FireFox0.7/Mozilla1.4(Gecko)、Safari(KHTML)、Opera7に対応しています。

ブラウザごとに分離するのはたとえIEとGeckoだけだったとしてもやりたくないですが、
その点で共通理解が得られていないようなのでこの件はここまでにしておきましょう。

923 名前:Name_Not_Found 投稿日:2005/06/19(日) 00:10:05 ID:???
あ、書き忘れたけれどアイデアを教えてくれてありがとうございます >>921
書き忘れついでに、Safariは1.3対応です

924 名前:Name_Not_Found 投稿日:2005/06/19(日) 00:42:39 ID:???
>>922
そうですか。お邪魔をしてすみません。

そもそも、ここで言いたかったのは、上書きと書き換えが言語の仕様として
推奨されていると思えるのに、どうして、局所ifのクロスブラウザなんだろう
という問題提起です。で、上書きにしろ書き換えにしろ、
結局、コピペ以上の手間がかかるでしょう。
ただ、果たしてそれが、そんなものが、コストなのか?
という嘲笑を抑えることが出来なかった。ただそれだけです。

925 名前:Name_Not_Found 投稿日:2005/06/19(日) 01:09:48 ID:???
javascriptが非生産的だというバグはいつ修正されますか?

926 名前:Name_Not_Found 投稿日:2005/06/19(日) 01:22:10 ID:???
非生産的なのか何なのか知らんけど、ブラウザ上で動く奴って
実質JSとIE専のVBSしかないもん。VBSのが生産性いいの?洩れはまっぴらだ。

927 名前:844 投稿日:2005/06/19(日) 02:36:13 ID:???
>>903
>IFRAMEを介して通信するプログラム
私もまだ興味があるというレベルですが
たまに出ているajax調べるとどうかな?

ttp://www.adaptivepath.com/publications/essays/archives/000385.php(英語)
ttp://antipop.gs/docs/translations/ajax.html(和訳)

↓このブログが、分かりやすいと思う。
ttp://jsgt.org/mt/archives/01/cat_ajax.html


ところで、さっきから人を非難しまくっているのは、>>879 なのか?

知識を深めたいのであれば、人を非難するよりも
いろいろ情報を聞き出す事を最優先に書き込みした方が
スレの雰囲気も良くなり結果的に知識を深められるぞと。

せっかく、
深い知識と向上心を持ち合わせている様なのだけど、
完璧を求めるような事を続けていると、
うつ病になる可能性が高いから気をつけなと。
(挑発しているのではなく、そういう人がいるもので。。
 うつ病、完璧主義とかで検索してみ。
 なかなか治らない怖い物ですよ。。)


という事で、さぁ↓コピペしろ!!
(;゜∇゜)b ぉぉぉ桶!!

928 名前:Name_Not_Found 投稿日:2005/06/19(日) 10:59:34 ID:eoNTmx73
ちょっと質問です。
アラートボックスをJSで起動表示させたとき、OKの文字のまわりに点線が
出てますが、あれをJSで任意のボタンにつけるには何か文法がありますか。
たとえば、[Object].focus=true みたいな。
HTMLだと、どうすればあのようになるのかも教えていただけないでしょうか。
もし、ご存知でしたら。

929 名前:Name_Not_Found 投稿日:2005/06/19(日) 10:59:54 ID:???
非難されてると思う方がよっぽど危ないんじゃないか。自分とこで
デバッグにbookmarkletで使うなら標準準拠なんか関係なくデバッグ
してるブラウザで動けばOKだろ。ここで相談するようなことはないはず。

930 名前:Name_Not_Found 投稿日:2005/06/19(日) 11:44:44 ID:???
>>924
要するに、コピペの手間をかけずにクロスブラウザを達成できれば最高なんじゃないの?
で、922はそれを求めている。
言語使用が上書き重視ってのも眉唾だなぁ。主観じゃないソース希望

931 名前:Name_Not_Found 投稿日:2005/06/19(日) 12:27:50 ID:???
>>927
まぁ非難と煽りは完全に別物だよね。
921みたいに一方的に間違ったことを主張して、しかも聞く耳を持たない相手には
922のように華麗にスルーするのが最適なんだと思うけどね。

932 名前:Name_Not_Found 投稿日:2005/06/19(日) 12:52:46 ID:???
>>931
華麗にはルーだろが
(おまえもグダグダいうのやめろ。同類としか見えん)

933 名前:Name_Not_Found 投稿日:2005/06/19(日) 13:43:27 ID:???
>>927
Ajaxは便利ですね。今まで隠しIFrameで必死でやっていたのが馬鹿らしいです。
特にAsynchronizingにこだわらなくても、普通にXMLHttpRequestを使うだけでも便利です。

しかしIFrameを使ったのはサーバ間通信に使ったわけではなくて、
IFrameの内部に棋譜に基づいた情報を表示し、その情報を変化させた場合に
parentのHTMLにそれを通知するというスクリプトです。
今まで<div style='overflow:auto'>でやっていたのをIFrameでやったら
どんな感じになるのかなと思って、自分の管理しているサイトの掲示板で実験しました。
控えめに言って地獄を見ましたが、ノウハウがたまったので良しとします。

934 名前:844 投稿日:2005/06/19(日) 14:11:23 ID:???
>>932
そんな感じで、回答くれると萎縮する人が減って良い結果になると思う。
大変だとは、思うが正確な情報なら尚よし。
別にサポート業務を行っている訳ではないのだから
間違いは、非難するのではなく訂正すれば良いだけだろ?

トラブルの種を振りまきながら突き進むのは、自分も周りも不幸になるだけですよ。。
と、言いたいだけじゃ( ゚Д゚)ゴルァ!!

935 名前:928 投稿日:2005/06/19(日) 14:22:21 ID:d3sW/3lh

あのー、お取り込み中のとこ、すいません。
私の番は、まだでしょうか?

936 名前:Name_Not_Found 投稿日:2005/06/19(日) 14:54:52 ID:???
[Object].focus();

937 名前:928 投稿日:2005/06/19(日) 15:09:37 ID:3J+N/Asp
>>936さん
ありがとうございました。言われて納得です。お手数すみません。

938 名前:Name_Not_Found 投稿日:2005/06/19(日) 15:26:49 ID:???
誰か934を日本語に訳して

939 名前:Name_Not_Found 投稿日:2005/06/19(日) 16:59:33 ID:???
もう梅雨か
夏が近いな

940 名前:Name_Not_Found 投稿日:2005/06/19(日) 17:57:13 ID:???
都会の地下は排熱などで暖かく
年中、蚊が繁殖しているそうですよ。


941 名前:Name_Not_Found 投稿日:2005/06/19(日) 17:59:16 ID:???
>>938
いくら払うんだ?
つうか、こんな論理性の文章力じゃ、プログラムの方もわかるよな。

942 名前:660 投稿日:2005/06/19(日) 20:03:50 ID:???
さあさあ、常連と新参者中堅者との争いも煮詰まってきました。

常連「俺らの勉強になるから答えてるんだろボケ。意味ない低レベルは
    排除排除排除!。どうせおまえら飽きたら消えるだろ口出しするな」
新参者「おまいらが、そうやってコナクソに答えるから、みんな萎縮して
    質問できんじゃないか?ここは質問スレですよ?やさしく対応できないのかよ。」

思うに、常連は今までスレを維持した実績には感謝するが、ここはあくまでも
スレタイの通り「 質 問 用 」スレッド。ある程度のレベルまでの質問は許容でき
ないとまずいし、どのレベルが対象かを判断するのは常連でもないことは確か。
不快でも最悪スルーして、むちゃくちゃけなすのはヤメレ。スレの雰囲気が悪くなる。
若手に回答を任せてもいいのでは?煮詰まったら大御所登場でいいじゃありませんか?

それかどうしても許容できないのなら「Javascript研究用スレッド」でも作ればいいじゃん。

943 名前:Name_Not_Found 投稿日:2005/06/19(日) 20:11:43 ID:???
>>942
だが断る

944 名前:660 投稿日:2005/06/19(日) 20:16:32 ID:???
>>907英文参考文献について

やっぱり、天婦羅揚げといたほうがいいのでは?
少なくとも俺は、英文の参照リンクは書きこんでいる人間が、
それしか文献が思い当たらない訳でなく、ただ単に
相手のレスポンスを遅らせたり、相手を威嚇/萎縮させるために
ワザと出してるようにどうしても思えるんだけど。

英文か仕様か解説サイトかを表記するようにするだけでも違うと思うし。

いつもこれ見てるから他思い浮かばんが、
ttp://hogehoge......(英文仕様)

これくらいの配慮が欲しいような。
そうすれば、まったく英語読めない香具師は、「日本語のサイトないのか?」
とか気軽にレスできそう。

945 名前:Name_Not_Found 投稿日:2005/06/19(日) 20:20:18 ID:???
>>944

> 少なくとも俺は、英文の参照リンクは書きこんでいる人間が、
> 相手のレスポンスを遅らせたり、相手を威嚇/萎縮させるために
> ワザと出してるようにどうしても思えるんだけど。

コンプレックスひどすぎ。

946 名前:Name_Not_Found 投稿日:2005/06/19(日) 20:21:22 ID:???
660みたいな真性厨を排除するために丸投げスレがあるんだろ?

947 名前:Name_Not_Found 投稿日:2005/06/19(日) 20:24:31 ID:???
質問は許容できるけど、知ったかぶった回答者が許せない
と、このスレで誰かが言っていたよな

948 名前:660 投稿日:2005/06/19(日) 20:45:07 ID:???
こいつら聞く耳ナシなんで、天婦羅1はこれでお願いします。


━━━━━JavaScript質問スレ道場訓━━━━━
 一、礼節を重んじ常に努力精進すること
 一、ブラクラに打ち勝つ精神力を持つこと
 一、心身の優れたJavaScriptを学ぶこと
 一、雑草の如く生涯JavaScriptを貫くこと
 一、感謝と反省を忘れないこと
 一、常連の仕打ちに動じない精神力を持つこと
 以上
━━━━━━━━━━━━━━━━━━━━━━
このスレに書き込むことが許されるものは以下のとおり
・最低限仕様や英文の読解が可能な者
・JavaScriptとJavaの違いを理解する者
・スクリプトを組むための最低限のHTML・CSSを理解する者
・ユーザーに迷惑となるスクリプトを書かない者
・FAQ・過去ログや関連資料を読むことができる者
・「初心者です」を振りかざさず、質問を分かる日本語で説明できる者
・対象環境や使用技術は質問者の裁量であることを理解する者
 (質問時、回答時にはなるべく対象環境を明記しよう)


949 名前:Name_Not_Found 投稿日:2005/06/19(日) 20:52:30 ID:???
だからさあ、質問者と回答者は違うっていう話になっただろ。
質問者が仕様まで読めてないのはしかたないっつか、当り前。
回答者が仕様読まないで威張ってるのはおかしすぎる。

回答者のためのテンプレが1面必要なのかな。それは >>4
土台にしたものになりそうというか。

950 名前:660 投稿日:2005/06/19(日) 20:54:05 ID:???
>>945
俺が話の流れで感じたのは、
今まで英文の参照文献を出してきてる香具師は1人で、
そいつの出す参照リンクは仕様か英文(仕様)(1つだけ海外の掲示板があったが)のみで、
しかも雰囲気を悪くするような発言をする常連の片割れじゃないか?ということだ。

そういう流れからの発言であることを付け加えたい。
俺は、ゆっくりだが何とか読めるのでいいが、
普通の初心者にこれをしたら、無理だろと思った。


951 名前:Name_Not_Found 投稿日:2005/06/19(日) 21:00:20 ID:???
テンプレは今までどおりでいいだろう。というか949をぜひとも入れて欲しい。

>>950
英文を出すのは一人じゃない。800以降であれば、少なくとも俺ともう一人いる。
英文すら読めない初心者は手取り足取りのスレで聞けばいいんじゃない?
俺はあそこに質問があがったら暇なときに回答するようにしてるし。

つーか君はかなりうっとうしいので向こうのスレに行って欲しいと思う。

952 名前:Name_Not_Found 投稿日:2005/06/19(日) 21:02:28 ID:???
>948
お前何様?自分ひとりの意見でテンプレを変えるなよ。

953 名前:660 投稿日:2005/06/19(日) 21:05:06 ID:???
「質問者と回答者は違う」
でも質問者は、大概は質問する前にこのスレがどういうレベルかを
判断しているんじゃないのか?そういうときに
回答者に対してであろうと、常連の頭ごなしのレスや書かれてる内容を
見て、引いてしまえば質問はどんどん無くなっているんじゃないか?
そのスレの序盤がそうだったような・・。

一定のレベルを求められているのが質問者か回答者かは
今のようなレスの書き方で表面上わからないだろ。
だからそれを見た一見さんが萎縮するんじゃないかってことだ。

別に俺は>>946みたいなのは普通に流せるが、これを見た一見さんがどうかってこと。
質問が少なくなるのは必至だと思うが。



954 名前:660 投稿日:2005/06/19(日) 21:09:11 ID:???
「英文すら読めない初心者は手取り足取りのスレで聞けばいいんじゃない? 」
→このスレに書き込むことが許されるものは以下のとおり
・最低限仕様や英文の読解が可能な者

だから書き直してくれと。こういう輩がいるんで

955 名前:Name_Not_Found 投稿日:2005/06/19(日) 21:18:03 ID:???
>>660
次々スレでゆっくり話そうな

956 名前:660 投稿日:2005/06/19(日) 21:18:10 ID:???
>だからさあ、質問者と回答者は違うっていう話になっただろ。
>質問者が仕様まで読めてないのはしかたないっつか、当り前。
>回答者が仕様読まないで威張ってるのはおかしすぎる。

質問者と回答者を明確に分けたいのであれば、
「Javascriptの質問を常連が回答するスレ」作って常連以外の回答を禁止すればいい。

要は、おまえら常連の馴れ合いで運営して行きたいのならそういうスレを作れということ。
そこまで縄張り意識があるなら尚更だ。

いろんな香具師が質問して、いろんな香具師が回答してこのスレは成り立っているんだ。
人が少ない時に>>942「今までスレを維持した実績には感謝するが」
だからおまえらのスレではないことは分かってホスイ。

957 名前:Name_Not_Found 投稿日:2005/06/19(日) 21:19:10 ID:???
660は回答者でもないわけだし、お前の意見に従ったテンプレ改変案なんて
受け入れる気にもならんな

駅前留学のチラシの裏に書いとけ

958 名前:Name_Not_Found 投稿日:2005/06/19(日) 21:20:13 ID:???
>>956
お前のスレでもねーよ

つーかテンプレ変えようって言っているのお前だけじゃん

960が660以外だったら次スレよろ

959 名前:663 投稿日:2005/06/19(日) 21:22:50 ID:???
悪い番号間違えてた。ここ最近の660は、663でした。660悪い。

960 名前:Name_Not_Found 投稿日:2005/06/19(日) 21:23:57 ID:???
じゃ俺が次スレ建てよう

とりあえずここ100くらいのスレを読み直してみる

961 名前:Name_Not_Found 投稿日:2005/06/19(日) 21:25:17 ID:???
まあともかく、もめてるうちに950超えてるから今回は間に合わない。
テンプレは基本的に同一にしよう。回答者の要件については次スレで
話し合うということで。とほほはやめると。

962 名前:960 投稿日:2005/06/19(日) 21:27:52 ID:???
>>961
そうだね、荒れているし660の意見も採用するには賛同が少なすぎるし。

とほほをやめる、というのは、
>(とほほのJavaScriptリファレンスは誤り多数という意見もあり議論中)
これすら消すということ?

963 名前:Name_Not_Found 投稿日:2005/06/19(日) 21:30:35 ID:???
いや、どっちかというと
「とほほのJavaScriptリファレンスは誤り多数という意見から非推奨」
というのはどうかな。非推奨というのがWeb製作板ぽくていいかと。

964 名前:960 投稿日:2005/06/19(日) 21:30:54 ID:???
過去レスを読んでも、とほほの削除に否定的なレスは一件もなかったので
そちらのほうは準削除します(テンプレの一番最後に削除した旨を書きます)

965 名前:960 投稿日:2005/06/19(日) 21:32:02 ID:???
>>963
このタイミングで…そういう意見を出すかっ…w
では、文面はそれでその言葉の場所をテンプレの一番最後にします

966 名前:Name_Not_Found 投稿日:2005/06/19(日) 21:33:07 ID:???
そんないがみ合わんでもw
どっちもどっちって気がするし。

まあ自分も英文に微妙拒否反応がでる性分なので、
日本語訳があるなら、できればそっちを (も) 出して欲しいな的。

てかこのスレで上のほうに他にテンプレ改訂案がでてたよね。何だっけ。

967 名前:960 投稿日:2005/06/19(日) 21:34:33 ID:???
>>966
調べたけれど特にないみたいだよ。
個人的には丸投げスレをテンプレに入れたいが、それもやめておきます。

じゃそろそろ立てるね

968 名前:Name_Not_Found 投稿日:2005/06/19(日) 21:35:23 ID:???
> ○投げ
リンクくらいならいいんじゃね?

969 名前:960 投稿日:2005/06/19(日) 21:36:05 ID:???
>>968
まだパート1だし、もう少し様子をみてみましょう

970 名前:Name_Not_Found 投稿日:2005/06/19(日) 21:39:38 ID:???
あー、あれは? あのー、誰かが読める過去ログあげてくれたの。

971 名前:Name_Not_Found 投稿日:2005/06/19(日) 21:44:26 ID:97xKEMJn
どなたかご指導を!!
現在オラクル8IDB PL/SQL にてwebページを作成しています。
リンク先に値を渡したいのですがうまくいきません。
ソースです。 <script type="text/javascript"><!--function FC(WO) { switch(WO.FSGo.selectedIndex){
case 0:document.forms[0].action="192.168.0.90" break;case 1:
document.forms[0].action="http://10.195.0.1/pls/kintai/KN_YUU"
break; case 2: document.forms[0].action="http://10.195.0.1/pls/kintai/KN_FURI"
break; case 3: document.forms[0].action="http://10.195.0.1/pls/kintai/KN_DAI"
break; case 4: document.forms[0].action="http://10.195.0.1/pls/kintai/KN_TOKU"
break; }
document.forms[0].submit();
}
//-->
</script></head><body>
<form method="post" action="">
<select name="FSGo" onChange="FC(this.form)" >
<option> <option>有給 <option>振休 <option>代休 </select>
<input type="hidden" name="hidden1" value="'||SY||'">
</TD></form>');どなたか解る方お願い致します。

972 名前:663 投稿日:2005/06/19(日) 21:48:11 ID:???
>>970ホレ
http://mirrorhenkan.hp.infoseek.co.jp/cgi-bin/javascript/

973 名前:Name_Not_Found 投稿日:2005/06/19(日) 21:49:33 ID:???
>>972
ありーヽ(´▽`)ノ
・・・じゃなくて、テンプレに入れたらどうよ?って話だっつの。

974 名前:960 投稿日:2005/06/19(日) 21:50:42 ID:???
次スレ

+ JavaScript の質問用スレッド vol.38 +
http://pc8.2ch.net/test/read.cgi/hp/1119184696/

>>970
次スレの6にてリンクを貼りました。1に書くかどうかは次スレでの議論待ちですね。
まとめサイトにリンクを貼ってもらえると良かったんですけれどもね

>>972
君は本当に空気が読めないんだねw

975 名前:663 投稿日:2005/06/19(日) 21:51:39 ID:???
>>971
新スレ立ったんでそちらで。もうこれ終わるし。

976 名前:Name_Not_Found 投稿日:2005/06/19(日) 21:55:13 ID:???
>971
うまくいかないって、具体的にはどうなるんだよ

977 名前:Name_Not_Found 投稿日:2005/06/19(日) 21:55:49 ID:???
>>971
回答じゃないけど、とりあえずソースまともに書こうよ。

・<script> 内の <!-- は // と同じ扱いなので、その行にソースは書かない。
・</td> どっからでてきた

978 名前:Name_Not_Found 投稿日:2005/06/19(日) 21:58:55 ID:???
>>960 乙ー。
質問者さん、質問する前にまとめサイト読んでくれてるのかねえw
まあ 6 にリンクありー。

979 名前:Name_Not_Found 投稿日:2005/06/19(日) 21:59:37 ID:???
新スレ乙。一応「975超えたら立てる」慣わしなので以後よろしく。

980 名前:Name_Not_Found 投稿日:2005/06/19(日) 22:03:07 ID:???
まあ実際 >>975 で立ったな。

とりあえず、次スレでも 663 は名前付きでレスしてくれ。 他と紛らわしいから。

981 名前:960 投稿日:2005/06/19(日) 22:11:42 ID:???
あーすまない。958で指定されていたのと、スレがすさみきっていたので
勇み足をしてしまったな。
その慣わしもテンプレに入れておいたほうがよさそうだね。
次に立てる機会があれば気をつけます

982 名前:Name_Not_Found 投稿日:2005/06/19(日) 22:22:08 ID:???
あと「2ちゃん運用情報板」の「ローカルルールリンク先更新スレ」
に新旧スレのリンク明示して切り替わりを通知するという作業も重要。
今回は洩れやっといたけど、これね。
http://qb5.2ch.net/test/read.cgi/operate/1116864899/246

983 名前:Name_Not_Found 投稿日:2005/06/19(日) 22:25:27 ID:???
へー、知らんかったわー。

984 名前:Name_Not_Found 投稿日:2005/06/19(日) 22:32:53 ID:???
>>982
GJ

985 名前:Name_Not_Found 投稿日:2005/06/19(日) 22:33:25 ID:???
>>938
親切な管理人が見回ってリンク変更してくれてると思ったか?

986 名前:Name_Not_Found 投稿日:2005/06/19(日) 23:02:49 ID:???
>>985 いや、まず 「ローカルルールリンク先」 の存在すら知らないのであった。 ごめん失格。

987 名前:Name_Not_Found 投稿日:2005/06/19(日) 23:28:32 ID:???
>>986
えー?だって、Web製作板を開けると「JavaScript質問スレ」ってリンクが
あるじゃない。それを知らないってアンタどうやってこのスレに到達してるの?
毎回スレッド一覧を直で開いているとか? (なんか埋め立てには好都合な雑談だな :-)

988 名前:Name_Not_Found 投稿日:2005/06/19(日) 23:30:46 ID:???
>>987
俺はスレタイ検索から来ているけど
つーか板を開く機会なんてほとんどないなぁ
専用ブラウザ使っていればローカルルールなんて見ないだろうし…

まぁ親切な982みたいな奴が申請してくれるから気にする必要はないっちゃないな

989 名前:Name_Not_Found 投稿日:2005/06/19(日) 23:32:14 ID:???
そうかスレタイ検索かあ…
質問したい初心者は板開いてくることが多いからローカルルールの
リンクは大切なんだよ。

990 名前:Name_Not_Found 投稿日:2005/06/19(日) 23:44:10 ID:???
>>987
あー、うん、Janeっていう専用ブラウザ。
2ch見るなら専用のが楽よな。 変な広告入らないし。
まあ 982 はご親切あり、ってことでひとつ。

991 名前:Name_Not_Found 投稿日:2005/06/19(日) 23:49:10 ID:???
382です
埋めがてら

勉強の一環もあり 過去ログを整形してみました
http://user.ftth100.com/mirrorhenkan/javascript/

アンカーレスにポイントを置くとポップアップが出るようにしてみました。

IE6・Opera8ではOKなのですが
IEのバージョン5ではエラーが出てしまいます・・なぜだろう。
難しい。。

992 名前:991 投稿日:2005/06/19(日) 23:55:18 ID:???
あ、上のURLの最下部に「管理者:663」とありますが
全くの偶然で、このスレの663さんとは無関係です。
別スレでたまたま663だっただけなので・・・。

993 名前:Name_Not_Found 投稿日:2005/06/20(月) 00:34:33 ID:???
>>991
JavaScriptスレのまとめサイトでJavaScriptのエラーは許さねえ

というわけで解決策:
pop.jsの24行目を
> pop = document.getElementById('pop');
から
> var pop = document.getElementById('pop');


pop.jsの41行目を
> pop = document.getElementById('pop');
から
> var pop = document.getElementById('pop');


変更すればオッケーです

994 名前:Name_Not_Found 投稿日:2005/06/20(月) 03:17:49 ID:???
> アンカーレスにポイントを置くとポップアップ
またいい仕事を・・・
これ普通に 2ch に採用されて欲しいなw

995 名前:Name_Not_Found 投稿日:2005/06/20(月) 03:19:48 ID:???
>>994
以前の閉鎖危機の時にそれを議論したことがあったが、
l50などで表示した場合に、本来読む必要の無い発言を読まなくてはいけないので
却下された歴史がある。

ちなみにP2というPHPの2ちゃんブラウザでもアンカーポップアップJSが入っている

996 名前:663 投稿日:2005/06/20(月) 09:01:25 ID:???
埋めついでに

>>974
何を指して?
>>980
意図がわからん。

まあこいつらは、敵意剥き出しにしたいだけだろう。
次スレも必要な時に番号付けるだけなんでヨロシク。


997 名前:Name_Not_Found 投稿日:2005/06/20(月) 10:03:59 ID:???
>>996 いや次スレ来なくていいよ

998 名前:Name_Not_Found 投稿日:2005/06/20(月) 11:04:50 ID:???
(´-`).。oO(それだけ言えるのだから、もっと旨い噛み付き方もできるだろうに)

999 名前:991 投稿日:2005/06/20(月) 11:39:57 ID:???
レスありがとうございます。。

>>993
お時間とらせてありがとうございます
試してみたんですが、エラーになります。。

エラーメッセージは下です

ライン 39
文字 3
エラー;'style'はNullまたはオブジェクトではありません。
コード 0

次スレまで引っ張るのも何ですし・・・勉強します。。

1000 名前:Name_Not_Found 投稿日:2005/06/20(月) 12:20:24 ID:???
次スレ
+ JavaScript の質問用スレッド vol.38 +
http://pc8.2ch.net/test/read.cgi/hp/1119184696/l50

1001 名前:1001 投稿日:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


戻る

偽Dat2HTML LO v1.0b13 Converted.
ナスカ無料ホームページ無料オンラインストレージ