5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :まず >>2-4 読め! 続いて過去スレ全集を検索!:2007/01/19(金) 08:36:12 ID:???
━━━━━JavaScript質問スレ道場訓━━━━━
 一、礼節を重んじ常に努力精進すること
 一、ブラクラに打ち勝つ精神力を持つこと
 一、心身の優れたJavaScriptを学ぶこと
 一、雑草の如く生涯JavaScriptを貫くこと
 一、感謝と反省を忘れないこと
 以上
━━━━━━━━━━━━━━━━━━━━━━

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

[必読]過去スレ全集 http://user.ftth100.com/mirrorhenkan/javascript/
前スレ http://pc10.2ch.net/test/read.cgi/hp/1165051363/l50
まとめサイト http://web2ch.s31.xrea.com/?JS
FAQ・注意・過去ログ・関連資料・関連スレ>>1-10またはまとめサイト

2 :まず >>2-4 読め! 続いて過去スレ全集を検索!:2007/01/19(金) 08:36:55 ID:???
【質問を書く上で】
1)ユーザ(閲覧者)に迷惑がかかる性悪スクリプトは回答されない。
 例: 別窓開きまくり、閉じる/戻るのを妨害、全画面占有、etcは最悪。
 答えさせようと「分からねえんだろ」と煽っても無駄(過去スレが証明)。
2)言葉でぐだぐだ書かずにソースを貼る、ただし要点を整理して。
 そのまま貼って動かせると試してもらいやすい(ただし回答者に連結さすな!)
 長い(1レスに入らない)場合はアップロードしてURIを貼る。
3)初心者という言葉は危険なので使わない方がよい。
 初心者を言い訳に自力で調べない/考えない奴が最悪に嫌われる。
4)自分で調べたこと/試したこときちんと書く(調べもしない奴は最低)。
 ただ「動きません」「エラーです」は何も情報がないため嫌われる。
 エラーは「どの行で何のエラー」を書く(ブラウザをそのように設定すれ)。
 ブラウザの設定すらできんヤシはFFxのJavaScriptコンソールを使え!!!
 OS、ブラウザ、バージョン、うまく行かない条件を明記しエラー再現可能に。
5)特に古いバージョン限定の時は必ず明記! 回答もチグハグになり回答者に2度
 手間を食わせる可能性大(現行Ver.:IE5.5-6、N6-7、Opera7-8)
6)どういう時にどういう動作をさせたいのかを脳内にとどめずきちんと書く。
 例:「自動ポップアップしたい」←どういう場合(マウスオーバー、クリック、
 ボタン押し、select選択)に何(別窓、レイヤー、その他)が出るのか書け!
7)質問はまっとうな(他人に理解できる)日本語で。
 前項の例に限らず、他人に理解できない質問文は煽られるだけで時間の無駄

3 :まず >>2-4 読め! 続いて過去スレ全集を検索!:2007/01/19(金) 08:37:36 ID:???
【FAQその1】
Q1. 開いた別窓/フレームの内容にアクセスできないのですが…
A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。
Q2. JavaScriptでローカルファイルを読み/書きたいのですが…
A2. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに…
A3. 同じタグの中でonclick="foo()"とonclick="bar()"を同時に使いたいのですが…
A3. セミコロンで複数の文を区切られます。onclick="foo();bar();"としましょう。
Q4. document.write(...)でページ内容を追加したいのですが…
A4. 一度ページ表示完了後にwrite()すると内容はクリアされちゃいます。
 部分的に内容変更するには(1)他フレーム/iframe/別窓への表示、
 (2)textarea等への表示、(3)DOMでノード挿入、(4)innerHTMLのどれかで。
 innerHTMLは非標準ですがIE、Opera、Gecko(N6/N7/Firefox等)で対応済。
Q5. table/tbody/tr要素のinnerHTMLを書き換えるのがうまく行かないのですが…
A5. IEはそれらの要素のinnerHTMLは変更不能。DOMを使って書き換えるか
 <div><table>...</table></div>とでもしてdivのinnerHTMLを書き換えましょう。
Q6. DOMでtable要素にtr要素を追加しても表示されないのですが…
A6. IEではtbody要素にtr要素を追加する必要があります。
 tbody要素はtbodyタグを書いていなくても自動的に作成されます。
 またはtable.insertRow()/tbody.insertRow()を使いましょう。
Q7. Aタグのonclickで動作指定してるのですが時々動きません…
A7. 「onclick="...;return false"」としないとページ移動しちゃうから。
Q8. 変数w1、w2…を順にループで(番号をiに入れて)設定/参照したいのですが…
A8. グローバル変数はwindowのプロパティだからwindow['w'+i]を読み書きすれ。

4 :まず >>2-4 読め! 続いて過去スレ全集を検索!:2007/01/19(金) 08:38:16 ID:???
【FAQその2】
Q9. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A9. 「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;」。
Q10. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A10. IEではe.currentStyle、Geckoではwindow.getComputedStyle()を使います。
Q11. 100*1.15の結果が114.999…998となってしまうのですが…
A11. コンピュータの実数計算は全て近似値だと思え。誤差が嫌なら整数で計算。
Q12. 任意のデータをサーバ(別鯖ではない)から取り寄せたいのですが…
A12. Geckoのnew XMLHttpRequest()、IEのnew ActiveXObject("Microsoft.XMLHTTP")
 を使えばできる。古いブラウザだと隠しフレームに読むなどのワザが必要。
Q13. setAttribute("class","foo")、setAttribute("onclick","bar()")が動きません…
A13. IEではそれは不可。「obj.className="foo"」「obj.onclick=bar」でどうぞ。
 複数の関数を呼びたいときは obj.onclick=function(){foo();bar();};
 という風に無名関数を作りましょう。中に書かれたコードが実行されます。
Q14. 文字列の置き換えをするときにコードを使いたい(Perlのs///e)のですが…
A14. string.replace(/.../,function(str,p1,p2,...,offset,s){...})としましょう。
 正規表現にマッチした文字列がreturnで返された文字列に置き換えられます。
 各引数はstrがマッチした部分文字列、p1,p2,...が1番目、2番目、…の()の中身、
 offsetがマッチした位置、sが置き換え前の文字列全体になります。

5 :まず >>2-4 読め! 続いて過去スレ全集を検索!:2007/01/19(金) 08:40:06 ID:???
【主張の対立:他人の嗜好は尊重。損得の議論は歓迎】
・仕様を読む:回答者なら仕様の該当部分は読んでいるべき。質問者でも
 仕様を読まずうだうだ書く奴は注意されて当然。読み間違いは生温く指摘。
・英文文書:翻訳の努力を惜しむべからず。 読めないなら和訳を探し、
 なければあきらめよう。翻訳サイトを知っている人はうまく誘導してあげて。
・IE専用/アンチIE/クロスブラウザ:「○○は不要」「○○だけであと
 は無視」は不毛。質問者が分かって選択していれば尊重する。無知か
 らIE専なのは指摘してあげると親切。
・標準準拠 vs 使えればよい:標準はブラウザが変わっても維持される
 可能性大。非標準機能も損得を分かった上で使うならよい。
・MS vs アンチMS:MS固有の情報はMSのサイトで見ないと分からないが、
 そこだけ見ているとIE専になる。あとは上2件と同様。
・別窓、イベント抑止など:一般には迷惑スクリプトだが質問者に正当
 な理由があることも。尋ねて分かってないようなら煽っても可(w
・innerHTML vs DOM:それぞれに長所/弱点があるので理解した上で選
 択するべき。一概にどちらは駄目、とは言えない。
・on属性 vs addXXX():ハンドラが1つだけと分かっていればon属性
 で簡単にハンドラを設定もあり。上書きが心配ならaddXXX()。

6 :Name_Not_Found:2007/01/19(金) 09:08:21 ID:???
>>2のテンプレはいらないと思うスレが荒れる理由を住人自らが作るようなもの。
>>5も半分くらいいらない

7 :Name_Not_Found:2007/01/19(金) 10:09:43 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

JavaScript 1.5 (Netscape/Mozilla)
http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Reference
http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide

E4X (ECMAScript for XML)
http://141.30.92.52/cubetto/download/ECMA-357.pdf
http://www.ne.jp/asahi/nanto/moon/specs/ecma-357.html (和訳)

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://developer.mozilla.org/en/docs/Gecko_DOM_Reference
http://devedge-temp.mozilla.org/central/javascript/index_en.html

8 :Name_Not_Found:2007/01/19(金) 10:10:14 ID:???
【チュートリアルサイト・サンプルサイト】
規格が読めないならまずはチュートリアル。サンプルサイトも沢山ある。
(とほほは間違いが多いためこのスレでは批判的意見が多い)

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

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

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

9 :Name_Not_Found:2007/01/19(金) 10:10:58 ID:???
【検索】
キーワード『…』で検索しろ」「ぐぐれ」と言われた場合はこちらへ
http://www.google.co.jp/

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

Webサイト制作初心者用スレ Part 177
http://pc10.2ch.net/test/read.cgi/hp/1167026480/l50

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

CSS/DHTMLバグ辞典スレッド 【第5版】
http://pc8.2ch.net/test/read.cgi/hp/1144494359/l50

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

10 :Name_Not_Found:2007/01/19(金) 10:14:34 ID:???
テンプレ論議したければスレの終わり付近(800超えあたり)
で出してね。

11 :Name_Not_Found:2007/01/19(金) 13:35:16 ID:???
>>1-9
俺は「じすれ」派。

12 :Name_Not_Found:2007/01/19(金) 16:12:21 ID:???
>>8
JavaScript深層
http://www.hawk.34sp.com/

これ死んでね?

13 :Name_Not_Found:2007/01/19(金) 16:15:10 ID:???
参考サイト、サンプルサイトの見直しと新規おすすめの収集したいね。

14 :質問です:2007/01/19(金) 16:55:48 ID:1sA/h28b
ie6.0やff2でブラウザは確認してます

<script language="JavaScript">
<!--
document.write(document.lastModified);
// -->
</script>

このタグを記入すると、最終更新日が取得されますが
なぜかf5や更新を押すたびに更新時間が更新されます。
FTPなどでファイルUPした時などファイルを最終更新日が表示されると思うのですが。。。
どこか間違ってるのでしょうか?

もし違うスクリプトでファイル最終更新日が表示されるのがあれば教えてください

15 :Name_Not_Found:2007/01/19(金) 17:03:54 ID:???
広告が付加されちまうレンタルページサービスとか使ってたりしないかい

16 :Name_Not_Found:2007/01/19(金) 17:34:47 ID:9l1/EnVu
htmlでjsの外部リンクを作りたいのですがオブジェクト指定をしてくださいとエラーが出てしまいます。
htmlで使っていた<!-- -->や<script></script>どこかで使わないでくださいと書いてたのでは削除してjsファイルに保存してあります。
htmlでは問題なく動作するのですが外部リンクにしようとするとエラーが出てしまいます。
もしくは外部ファイルにするときのルールみたいなものが乗っているサイトを教えてもらえませんか。

17 :Name_Not_Found:2007/01/19(金) 17:44:04 ID:???
>>16
一般論としては
<scirpt>...</script>の「内側にあるものからHTMLコメントを除いた」
ものすべてをx.jsに入れてscript要素の方を
<script src="x.js"></script>
に書き換える。なぜエラーが出るか質問したいのならエラーが出る
「最小限のサンプル」を作って貼れば見てみてもいいよ。

18 :Name_Not_Found:2007/01/19(金) 18:49:19 ID:HWnqHLR5
質問です。(動作確認環境 Win98+IE6.0)

<div style="background:url(1.gif);">
<img src="2.gif">
</div>

マウスオーバーでDIV内の背景画像を1.gifから2.gif変えるにはどうしたらいいのでしょうか?
ページ全体の背景を変える↓のと同じ要領でできないかと頑張ってみたのですが力及びませんでした。
<img src="2.gif" onmouseover="document.body.background='2.gif';" onmouseout="document.body.background='1.gif';">

よろしくお願いします。



19 :Name_Not_Found:2007/01/19(金) 20:00:47 ID:???
document.body
→ (function (img) {var div = img.parentNode;while (! /*@cc_on @if (1) div.currentStyle.backgroundImage @else@*/ getComputedStyle(div, null).getPropertyValue('background-image') /*@end@*/) div = div.parentNode;return div.style;})(this)

='1.gif', ='2.gif'
→ ='url(1.gif)', 'url(2.gif)'

20 :Name_Not_Found:2007/01/19(金) 21:00:47 ID:???
>>18
一番簡単なのはdivでもなんでもidを振って
onmouseover="document.getElementById('ID名').style.background='url(1.gif)'"
などとすることだな。

21 :18:2007/01/19(金) 21:50:17 ID:???
>>19
>>20

両方試したところどちらもきちんと表示されました。スゴイ!
本当にありがとうございました。勉強にもなりました。

22 :Name_Not_Found:2007/01/19(金) 23:30:35 ID:???
一つのjsファイルの中に複数のプログラムを保存しても問題ありませんか?

23 :Name_Not_Found:2007/01/20(土) 00:09:41 ID:Z0NIKYKH
>>17
<html><head>
<meta http-equiv="content-type" content="text/html; charset=EUC-JP">
<title>@</title>

<script type="text/javascript" src="jsfile005.js"></script>
<body>
〜〜〜〜省略〜〜〜〜
<input onclick="111(document.getElementById('Table1')〜〜〜

111はjs内function 111()
エラーコードは<input以降を指してました。

24 :Name_Not_Found:2007/01/20(土) 00:46:47 ID:???
onclickとondblclickで別の動作を呼び出す時に
ダブルクリック側を実行させようとするとクリック側も起動してしまいます
これをダブルクリックだけ呼び出すようにはできますか?

25 :Name_Not_Found:2007/01/20(土) 00:59:35 ID:???
>>24
dblclickを使わない。clickだけで時間を計って分岐する。

26 :Name_Not_Found:2007/01/20(土) 01:04:17 ID:???
>>25
1秒以内にもう一度クリックしたらダブルクリックだとして

クリックされたらファンクション起動
起動直後にタイマー作動
再びクリックされたらタイマーをチェック
1秒でifで処理分岐

細かく書くとこんな感じ?

27 :Name_Not_Found:2007/01/20(土) 01:18:27 ID:???
どこか忘れたけど、
JavaScriptで作ったWebToolで、
4回クリック(なんていうの?クアッドクリック?)使ってるところあった。
どう考えても使いにくかったが。

ところでondbclick発生するときのクリックの間隔って
OSの設定に依存するもの?
ブラウザによっても違うと思うが。

28 :Name_Not_Found:2007/01/20(土) 01:46:45 ID:???
XとかWindowsとかからのダブルクリックイベント(シグナル?メッセージ?)をブラウザが受け取って、スクリプトエンジンに通知してるだけでしょ。

29 :Name_Not_Found:2007/01/20(土) 01:56:10 ID:ChHlNKf7
javascript応用できる人が羨ましい
いろんなサイトでサンプル配布してるけど普通のしかない。

30 :Name_Not_Found:2007/01/20(土) 02:10:54 ID:???
>>28
そっか。
onclickだけでダブルクリック再現すると、
待ち時間どれくらいにするべきか難しいよね。

31 :まず >>2-4 読め! 続いて過去スレ全集を検索!:2007/01/20(土) 09:19:20 ID:???
>>23
その「111」て数字の1が3つだよね。そんなの構文エラーだが。
関数名は英字で始まらないと。

32 :Name_Not_Found:2007/01/20(土) 09:44:21 ID:???
げげ、スレ立ての痕跡が… 構文エラーではなく関数として
指定したものが関数オブジェクトじゃないというエラーだね。すまん。

33 :Name_Not_Found:2007/01/20(土) 10:55:58 ID:???
>>30
そんなもの500ミリ秒以下にしておけば良いだろう。

//FireBugで試行して適当なミリ秒を見つけるだけのスクリプト。
var timeStamps = [];
var diffs = [];
document.addEventListener('click', function (e) {
  timeStamps[timeStamps.length] = e.timeStamp;
}, false);
document.addEventListener('dblclick', function () {
  console.log((diffs[diffs.length] = timeStamps.pop() - timeStamps.pop()),
              Math.max.apply(null, diffs));
}, false);


34 :23:2007/01/20(土) 17:38:58 ID:Z0NIKYKH
31-32
返答頂きありがとうございます。
たしかに111は仮に記入したもので
何度か試した中では>>31の条件に当てはまるものを入力してあるのでこの部分は大丈夫だと思います。
ちなみに試した中ではsrc="jsfile005.jsと同じ名前にしたりもしましたがだめでした。


35 :Name_Not_Found:2007/01/20(土) 18:59:45 ID:???
>>34
アホか。エラーが出る最小限のソース作って貼れってるじゃん。
その同じエラーが出るものでなければ診断などできない。もう帰れ。

36 :Name_Not_Found:2007/01/20(土) 19:09:16 ID:gFooeIhD
クラスを宣言し 同じクラスのインスタンスを2つnewするのですが
プロパティがstatic変数のように異なるインスタンスで共有されてしまいます。
そういうものなのでしょうか?それともクラスの作り方が間違ってるんでしょうか
↓のような例だと、alertには10 , 100 , 100と表示されてしまいます。
3回目のalertが10と表示したいのです。。

function Hoge(value) {
  _value = value;
}
Hoge.prototype = {
setter: function(value){
    _value = value;
},
getter: function(){
    return _value;
  }
}

var x = new Hoge(10);
var y = new Hoge(100);
alert(x.getter());
alert(y.getter());
alert(x.getter());

37 :Name_Not_Found:2007/01/20(土) 19:12:54 ID:gFooeIhD
訂正です。↑の例だと100,100,100って並びますね。。
正しくは↓のようにすると10,100,100ってなってしまうということです。
var x = new Hoge(10);
alert(x.getter());
var y = new Hoge(100);
alert(y.getter());
alert(x.getter());


38 :Name_Not_Found:2007/01/20(土) 19:15:33 ID:???
この場合thisを書けばいいんでないの。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<pre><script type="text/javascript">
function Hoge(value) {
this.value = value;
}
Hoge.prototype = {
setter: function(value){
this.value = value;
},
getter: function(){
return this.value;
}
}
var x = new Hoge(10);
var y = new Hoge(100);
alert(x.getter());
alert(y.getter());
alert(x.getter());
</script></pre>
</body></html>

39 :Name_Not_Found:2007/01/20(土) 19:19:39 ID:???
>>38
で、できました。。ありがとうございます。
thisですか。めちゃ悩んでたのが馬鹿みたいです(泣)

40 :Name_Not_Found:2007/01/21(日) 01:11:11 ID:???
フォームのsubmitボタンをテキストにすることは出来ませんか?
もしくはbdlclickのアクション時にsubmitすることは出来ませんか?

41 :Name_Not_Found:2007/01/21(日) 02:32:10 ID:???
クロージャに関してなのですが、質問させてください。
こちらのページの例となります。
ttp://0xcc.net/blog/archives/000040.html

下のコード抜粋にて、
td.onmouseover = makeHandler(td);
というイベントが何度も呼ばれるのですが、
var depth = 2という初期化はなぜ、初めの一回しか通らないのでしょうか。

| function makeHandler(element) {
| var depth = 2; // ここの初期化
| var closure = function() {
| ...
| }
| }
| return closure;
| }
|
| function makeTile(size) {
| ...
| td.onmouseover = makeHandler(td);
| ...
| }


42 :Name_Not_Found:2007/01/21(日) 03:15:24 ID:???
>>41
なぜというより、そういうものだろう。

2005年7月という微妙に古い記事だな。
引数のelementとローカル関数closureが、かんぜんに、メモリーリークサンプルになってる。

43 :Name_Not_Found:2007/01/21(日) 04:42:46 ID:xkjTPUcX
検索で見つからなかったので、質問させて頂きます。

セル内の背景画像をリロードの度にランダムに表示させることは可能でしょうか?
もしどこかにありましたら、教えて頂けると幸いです。
よろしくお願いします。

44 :Name_Not_Found:2007/01/21(日) 05:36:23 ID:???
>>43
このスレだけでも似たような処理はあるだろう。

45 :Name_Not_Found:2007/01/21(日) 07:57:28 ID:???
>>44
あれが似てると言うのか、とりあえず君は日本語の勉強から始めてください。

46 :Name_Not_Found:2007/01/21(日) 08:28:38 ID:???
>>45
では隔離スレで質問しなおせ。

47 :Name_Not_Found:2007/01/21(日) 09:21:43 ID:???
下のようなコードでXMLにXSLを適用した結果を保存しようとしています。

var xdoc = new ActiveXObject("MSXML2.DOMDocument");
xdoc.async = false;
xdoc.load(SRC_FILE);

var xsldoc = new ActiveXObject("MSXML2.DOMDocument");
xsldoc.async = false;
xsldoc.load(XSL_FILE);

var xdoc2 = new ActiveXObject("MSXML2.DOMDocument");
xdoc2.async = false;
xdoc.transformNodeToObject(xsldoc, xdoc2);
xdoc2.save(OUTPUT_FILE);

しかし、保存した結果のファイルはカラで中身が入っていませんでした。

alert(xdoc.transformNode(xsldoc));

のようにすると正常に変換結果が表示されたので、変換処理自体は問題なく行われていると思うのですが
他にどういった原因が考えられるでしょうか?

48 :Name_Not_Found:2007/01/21(日) 09:51:45 ID:???
>>47
保存された。

//関係ない余談だが、MSは 3.0 または 6.0 を明示するよう薦めているね。

49 :Name_Not_Found:2007/01/21(日) 10:06:12 ID:???
>>48
すいません、どこに保存されたのでしょう
簡単な考え違いをしているのかもしれませんが、どうか指摘していただけませんか

50 :Name_Not_Found:2007/01/21(日) 10:16:55 ID:???
>>49
どこってw
OUTPUT_FILE = "path\\to\\output-file.xml" に保存されたよ。
transformNode() の結果と同じものが。

51 :Name_Not_Found:2007/01/21(日) 10:27:19 ID:???
ああ、わざわざ実行してくださったんですね。ありがとうございました!

しかしやはり私のほうでは上手くいっていません
XHTMLに変換しているのですが、それが問題なのでしょうか…
それとも環境の違いかな?IE6でテストしているのですが

52 :Name_Not_Found:2007/01/21(日) 10:29:09 ID:???
>>43
リロード時の処理: bodyのonload属性中に書く。
要素を指定: IDを振って document.getElementById('ID名')
任意要素の背景画像設定: 要素.style.backgroundImage = 'url(ファイル名)'
配列aからランダム選択: a[Math.floor(a.length*Math.random())]
これらを組み合わせるだけ。たったこれだけでも組み合わせ
られないならこのスレの質問以前の水準だから勉強して出直せ。

53 :Name_Not_Found:2007/01/21(日) 10:44:51 ID:???
>>51
MAS JScript と、ふつうの cmd.exe で、上手く行っていたんだが、
ブラウザ使ってみたら、確かに、空のファイルになるな。
ブラウザ上からファイル保存が制限されているというオチみたいだね。
ちなみに、HTAにしてやったら、きちんと内容のあるファイル保存された。

54 :Name_Not_Found:2007/01/21(日) 10:50:17 ID:???
>>52
ID振るなら、CSSセレクタで特定できる。
onload ではなく、document.write('<style ...'); する方がベターだろう。

55 :Name_Not_Found:2007/01/21(日) 10:58:09 ID:???
>>41
td.onmouseover = makeHandler(td);

var closure = makeHandler(td);
td.mouseover = closure;
と考えればわかりやすいのでは?
それと、多分君は
td.onmouseover = makeHandler;
だとかん違いしてるのでは?

それで、このサンプルでメモリーリークしないためにはどうすればいいの?

56 :Name_Not_Found:2007/01/21(日) 11:07:26 ID:???
>>54
ああ、td要素全部の背景を一括してということね。
特定の1個かと思ったので。

57 :Name_Not_Found:2007/01/21(日) 11:15:20 ID:???
>>55
前スレに熱い煽りあいとその末の素晴らしい議論があったのでそれを参照されたし

58 :Name_Not_Found:2007/01/21(日) 11:18:14 ID:???
>>55
try {
  return closure;
} catch (ex) {// JScript は catch を略せない。
} finally {
  closure = null;
}

しかし、根本的には、要素オブジェクトを参照する変数・引数が存在する関数内で関数を定義しない。
今時、JSがターゲットにするブラウザは、そこそこ高性能のマシンに載っている。
だから、IDなどの値で渡して、クロージャ内で要素オブジェクトを一々参照しても、十分過ぎるほど速い。

>>56
特定の1個とか一括とか関係なく、再描画を避けた方がベターだろう。
まあ、質問者が屑なので、どうでもいいが。

59 :Name_Not_Found:2007/01/21(日) 11:52:31 ID:???
>>51
とりあえず、HTML の場合、ファイル保存は、#default#userData としてなら出来た。
この場合、%USERPROFILE%\UserData 内のどこかに、
save() の引数として指定した名前でUTF16LEのXMLファイルとして保存される。

var d = new ActiveXObject('Msxml2.DOMDocument.3.0');
var s = new ActiveXObject('Msxml2.DOMDocument.3.0');
d.async = false;
s.async = false;
d.load('test.xml');
s.load('test.xsl');
document.documentElement.addBehavior('#default#userData');
document.documentElement.load('foo');
alert(document.documentElement.XMLDocument.xml);
d.transformNodeToObject(s, document.documentElement.XMLDocument);
document.documentElement.save('foo');

60 :Name_Not_Found:2007/01/21(日) 12:10:56 ID:???
>>51
>>59への追記だけど、userDataには、ページ当たり64KBの制限があるから、
XHTMLファイル内容保存には向いているとは言えない。

61 :Name_Not_Found:2007/01/21(日) 12:35:10 ID:???
>>58
その「catchを略せない」って言うのはどういう意味だ?
とりあえず試した限りではIE 5.01(JScript 5.1)でも
try {} finally { alert('Hello world'); }
でアラートが表示されるんだが。

62 :Name_Not_Found:2007/01/21(日) 13:50:42 ID:CrKEfDYl
document.defaultViewっていつのまにwindowになったんですか?>Firefox
というか仕様的に正しいの?

63 :Name_Not_Found:2007/01/21(日) 14:21:04 ID:???
windowオブジェクトがAbstractViewインターフェースを
実装しているのならばDOM 2 Views仕様的に正しいし、
Window Object 1.0仕様(まだWDだが)では
WindowインターフェースはAbstractView
インターフェースを継承している。

64 :Name_Not_Found:2007/01/21(日) 16:30:29 ID:???
自動でページ移動をすることは出来たのですが
移動するときにtarget='_parent'を同時に行うにはどうすればよいでしょうか?

65 :Name_Not_Found:2007/01/21(日) 16:55:26 ID:???
>>64
paernt.location.href = '行き先'

66 :Name_Not_Found:2007/01/21(日) 17:09:53 ID:???
window.open("行き先", "_parent", "")

67 :Name_Not_Found:2007/01/21(日) 17:50:19 ID:???
>>16をお願いします。

68 :Name_Not_Found:2007/01/21(日) 18:48:38 ID:???
>>67
>>17

69 :Name_Not_Found:2007/01/21(日) 23:16:18 ID:???
<script src="test.js?q=foo"></script>
             ↑
test.js内でこのqの値(foo)が取れる方法をご存知ではないでしょうか?

70 :Name_Not_Found:2007/01/21(日) 23:24:15 ID:???
DOMでやれ

71 :Name_Not_Found:2007/01/21(日) 23:27:22 ID:???
CGIでtext/javascript吐くなら取れる

72 :41:2007/01/21(日) 23:46:18 ID:???
ありがとうございます。

>>42
そういうものですか。

>>55
そこでもないのです。
C++とは違うという認識で勉強してみます。

>>58
リソースを有効に使うソースを示してください。
あと再描画をすることが目的なのですが。

73 :Name_Not_Found:2007/01/22(月) 00:25:50 ID:???
>>72
>>58をよく読むこと
要はクロージャ内に要素の参照を保持しなければいい
例えばidだけあれば参照は出来るでしょうに、どうして参照を持つ必要がある?

もうひとつ、ソースを要求する前に自分で書いたものを提示すべし
別にこちらはソースを示さなくても回答になりうるのだから教えて君はよくない
話は自分で出来るところまでやってからだ

74 :Name_Not_Found:2007/01/22(月) 01:43:08 ID:???
>>72
>再描画をすることが目的
違うだろ。
いったん描画されたのに、わざわざロード直後に再描画したいのか?w

75 :Name_Not_Found:2007/01/22(月) 01:44:32 ID:???
>>72
>リソースを有効に使うソースを示してください。
示してるだろ。隔離スレ行けよ屑が。

76 :41:2007/01/22(月) 01:57:24 ID:???
屑だからそれじゃわかんないんですけど。

77 :Name_Not_Found:2007/01/22(月) 03:54:50 ID:???
>>16をお願いします。

78 :Name_Not_Found:2007/01/22(月) 08:17:27 ID:???
>>77
だから >>17 を読んで何が分からないか言ってみ。
全部書けというのなら断る。

79 :Name_Not_Found:2007/01/22(月) 08:26:18 ID:???
>>76
結局何が質問したいわけ。元の質問がまだ分からないのだったら、
td.onmouseover = makehandler(xxx);
では「makehandlerという関数を読んで、そこから返された関数
オブジェクトをonmouseoverに設定する」わけだから、makehandler
という関数は1回だけ呼ばれる、返された関数(イベントハンドラ
はイベントが起きるたびに何回も呼ばれる、という回答になるが。

80 :Name_Not_Found:2007/01/22(月) 10:19:33 ID:???
あふぉにかまうなよww

81 :Name_Not_Found:2007/01/22(月) 13:05:53 ID:???
>>78
全てわかってることなので>>17からでは何も進展ないのです。

82 :Name_Not_Found:2007/01/22(月) 13:33:20 ID:???
>>81
ではもうこのスレでアンタに回答することはないね。
自分で勉強するか親切に教えてくれるところへ逝けば。さいなら。

83 :Name_Not_Found:2007/01/22(月) 18:12:18 ID:???
IEのDOM操作が微妙に重い気がする。
createElementが重いのはわかってるからcloneNode使ってるんだけど…
どうももっさりする

84 :Name_Not_Found:2007/01/22(月) 18:51:54 ID:???
>>83
複雑な構造なら、もしかするとinnerHTMLで要素を作った方が早かったりする

85 :Name_Not_Found:2007/01/22(月) 19:00:14 ID:???
>>84
やっぱ?うすうすそんな気がしていた…

86 :Name_Not_Found:2007/01/22(月) 20:30:09 ID:???
>>82みたいなレスがつくと他に解答者いたとしてもつきづらくなるので
やめていただきたい。スレ代表者ですか?
以前から思ってたのだけど初心者に答える気がないのなら上級者用のjsスレを作ったらいかがでしょう?

87 :Name_Not_Found:2007/01/22(月) 20:40:06 ID:???
>>86
初心者用のスレがあるんだけどねwww

88 :Name_Not_Found:2007/01/22(月) 20:51:09 ID:???
>>86

>>17は読んだの?

89 :Name_Not_Found:2007/01/22(月) 20:57:55 ID:???
>>86
このスレは上級者用じゃないが「自分で勉強する気がある人」
向けのスレだ。それで54スレずっとやってるので変える気はない。

90 :Name_Not_Found:2007/01/22(月) 21:03:18 ID:???
>>88
読むどころか返答もしてますよ
>>89
どのラインを勉強してないといえるのかわかりませんがそれなりにやってますよ
ラインが厳しければ誰も書き込みできませんね
>>87
あそこではこちらのスレに誘導されるはずでしょう

91 :Name_Not_Found:2007/01/22(月) 21:06:30 ID:???
>>90

> ラインが厳しければ誰も書き込みできませんね

それでいいって

> あそこではこちらのスレに誘導されるはずでしょう

凄まじい思い込みw

92 :Name_Not_Found:2007/01/22(月) 21:07:56 ID:???
>>90
最小限のサンプルは?

93 :Name_Not_Found:2007/01/22(月) 21:13:43 ID:???
>>91
なんのためにこのスレがあるんですか?そもそもあなたが管理するわけでもないでしょう?
あなた自身の知識欲を満たすためにスレを利用するようにルールを決めるのなら上級スレを作るべきだと思いますよ
>>92
エラーコードが指し示す部分は出してあります。

94 :Name_Not_Found:2007/01/22(月) 21:22:51 ID:???
最小限のサンプルを作ること自体に意味があるんだよ

95 :Name_Not_Found:2007/01/22(月) 21:25:26 ID:???
>>90
理系の論文と同じさ、要は再現性のないものは「YOUの環境が悪いんだろう」としかいえない
回答側にどこに問題があるのか探すための情報を与えなければならない
それが出来ないなら、こちらも回答出来ないのは当たり前


で、上記の内容が、あなたにはレベルが高すぎるだろうから、簡単な例に直すと、
  別にこのスレの求めてるレベルが高いというか、教師に「どこが分からないのか分からない」と聞いているようなものだ
  つまり、分からなければ「分からない問題を解いてみた過程の書いてあるノート」を教師に見せなければならない
ということ

あなたのいってるエラーコードだけど、かなり多くの場合に出るエラーだから、何の参考にもならない
先の例だと、いきなり「問2がわからない」と教師に言っているようなもの
だから、「どの教科書」(=どのソース)についていっているのか伝える必要があるわけ

96 :Name_Not_Found:2007/01/22(月) 21:46:50 ID:???
>>95
回答者と質問者この場合は立場が逆ですね
最小限といわれても思う最小限を出してるのにも関わらず
同じ言葉の繰り返しで最小限を出せといわれても指し示されていないのでこちらも返答しようがありません

97 :Name_Not_Found:2007/01/22(月) 22:10:19 ID:???
>>96
よく分からないんだが動いてエラーの出るソースってどっかにあった?
動かない断片だと動かして見られないから原因究明もできないわけで。

98 :Name_Not_Found:2007/01/22(月) 22:18:14 ID:???
//POST送信
function do(){
document.fForm.param.value= tsetdata;
document.fForm.submit();
}

上記のようにPOST送信してから、自画面にパラメータを
渡そうと考えています。
POST送信して、パラメータを受け取るとき、
どのようなメソッドでパラメータを取得できるのでしょうか?

GET送信のときは、次のように、location.searchを使って
取得していたのですが、POST送信では取得できないようです。。
var parmdata = location.search;

99 :Name_Not_Found:2007/01/22(月) 22:29:58 ID:???
>>98
formのtargetに渡すデータを自分でつけ加えるとかクッキーで渡すとか。

100 :Name_Not_Found:2007/01/22(月) 22:49:33 ID:???
クッキーの利用は、考えたことありませんでした。
もしだめだったら、利用させていただきます!!

そもそも、POST送信でパラメータを受け取ることはできないのですかね?

101 :Name_Not_Found:2007/01/22(月) 22:53:07 ID:???
>>100
サーバ側で何らかのアクションをするようにしないと無理

102 :Name_Not_Found:2007/01/22(月) 22:55:25 ID:???
>>96
質問が高度過ぎて誰もわからないんだよ。
なんとか言いくるめようとしてるのにそろそろ気がつけ。
上級スレに行くべきなのはお前なんだ。

103 :Name_Not_Found:2007/01/22(月) 23:00:51 ID:???
>>102
上級スレでは動くサンプルも貼ってね

104 :Name_Not_Found:2007/01/22(月) 23:24:05 ID:???
>>96
だから、ソースもないのにそんなありふれたエラーじゃ、原因を特定できないから、
あなたの提示した情報は最小限のソースとして不十分なの
おわかり?

105 :Name_Not_Found:2007/01/22(月) 23:34:28 ID:???
サンプルってのがサンプルソースコードだってわからなかったに一票www

106 :Name_Not_Found:2007/01/22(月) 23:40:18 ID:???
ああ、それでエラーの出てる「箇所」だけ貼ってるのか。アホや。

107 :Name_Not_Found:2007/01/22(月) 23:47:56 ID:???
ドメインまたいでるとかいうオチなんでしょ。

108 :Name_Not_Found:2007/01/23(火) 00:01:06 ID:???
>>107
関係ない。

109 :Name_Not_Found:2007/01/23(火) 00:12:55 ID:???
きっとbodyの最後の方にscriptを置いていて、それをheadでロードするようにしたから、オブジェクトがないと言われたんだろ
もともとのscript要素のあった位置で外部ファイルを読み込んでみれ

110 :Name_Not_Found:2007/01/23(火) 00:20:23 ID:???
だからさー、そうやって予想しちゃうとつまらないじゃん。
テッテして「最小限のソースを作って貼れ」にした方が(ry

111 :Name_Not_Found:2007/01/23(火) 00:25:28 ID:???
いやいや
上級スレに移住してもらった方が(ry

112 :Name_Not_Found:2007/01/23(火) 00:26:48 ID:???
>>109でもエラーになる場合があるから、ソースないとダメなんだよね
ケアレスミスとか本当にやめてほしい・・・

113 :Name_Not_Found:2007/01/23(火) 00:29:45 ID:???
>>112
「もともとのscript要素のあった位置で外部ファイルを読み込んで」
もエラーになる場合のか?w

114 :Name_Not_Found:2007/01/23(火) 02:38:43 ID:H7WMvxy8
質問です。
初歩的な質問で申し訳ないのですが、手持ちの参考資料に何故か無かったので、ここで質問させてください。

<div id="hoge">aaaaaaa</div>
このようにHTMLが書かれていたとして、
これをJavaScriptでaaaaaaaの文字の部分を変更したいのですが、その場合どのようにすればいいのでしょうか?
getElementById("hoge").〜で参照しても、それっぽいプロパティーは無かったのですが…。
色を変えたりはあるんですけどね。。。

115 :Name_Not_Found:2007/01/23(火) 02:52:09 ID:???
>>114
var hoge = document.getElementById("hoge");
for(var prop in hoge){
alert("hoge." + prop + " = " + hoge[prop]);
};

116 :Name_Not_Found:2007/01/23(火) 03:03:26 ID:???
>>114
ttp://developer.mozilla.org/en/docs/DOM:element.textContent
ttp://developer.mozilla.org/en/docs/DOM:element.innerHTML

ttp://www.mozilla-japan.org/projects/inspector/
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=e59c3964-672d-4511-bb3e-2d5e1db91038&DisplayLang=en

117 :Name_Not_Found:2007/01/23(火) 03:08:23 ID:???
>>101
>サーバ側で何らかのアクションをするようにしないと無理

POST送信のパラメータはJavascriptでは受け取ることができないんですか。
クッキーかGETで対処することにします。ありがとうございます。

118 :Name_Not_Found:2007/01/23(火) 04:57:11 ID:???
>>117
レスポンスのURIのクエリを読むことを、「受け取れる」
と見なすならば、GETとPOSTに違いはないだろ。
リクエストしてレスポンスを受け取らなくても、
フォームとフォームコントロールを走査すれば取得できるわけだから。

119 :Name_Not_Found:2007/01/23(火) 13:13:20 ID:???
あぁ、スレ伸びてると思ったらやっぱり>>16が叩かれてたのか
いつも質問する側だけど、>>16みたいなのがあるとスレの雰囲気悪くなって
こっちまで聞けなくなるから困る

>>23書いて>>35を言われてるのに何でもう一回コード貼らないのか理解できない
貼れば教えてくれるって人ばかりなのに

120 :Name_Not_Found:2007/01/23(火) 14:45:39 ID:???
>>119
>>105

121 :Name_Not_Found:2007/01/23(火) 19:27:04 ID:???
IEのしつもんです。
history.back() のボタンを作って、
実際に戻れない場合はボタンを無効にしたいのですが
実行する前に確認することはできませんか?
(history.length == 0 の場合は除きます)


122 :Name_Not_Found:2007/01/23(火) 19:39:03 ID:???
IEのbehaviorでsavesnapshot、saveHistoryを同時に指定することはできないのですか?
↓では、snapshotは効くようになり、savehistoryが効かなくなります。

<META NAME="save" CONTENT="history">
<META NAME="save" CONTENT="snapshot">
<STYLE>
.SSSSSSS
{
behavior:url(#default#savesnapshot) url(#default#saveHistory);
}
</STYLE>
</HEAD>

123 :Name_Not_Found:2007/01/23(火) 20:09:47 ID:???
>>119
あんなこと言うような奴にわかっていたとしても教えられると思ってないので。
以前のこといちいち穿ってレスつけてるあなたもスレ荒廃の原因ですね

124 :Name_Not_Found:2007/01/23(火) 22:42:50 ID:/N22kwec
クッキーについて質問です。
入力した文字列の履歴をリストボックスのように
保持するするにはどうしたらいいでしょうか?
かなりググリましたが、サンプルコードがありませんでした。
また、半角スペース入力にも対応したいと考えます。

125 :Name_Not_Found:2007/01/23(火) 23:35:18 ID:???
まあ、やりたい事がそのまま載ってる事は限られる。
↓エスパーよろ

126 :Name_Not_Found:2007/01/23(火) 23:56:04 ID:???
>>124
半分以上クッキー関係ないジャマイカ

127 :Name_Not_Found:2007/01/24(水) 00:16:09 ID:???
スクロールに追従するインターフェースを作ろうとして、ちょっと躓いてるので質問させて下さい。
現在XHTMLで記述しているページで、一定のスクロール量に達したら、スクロールに合わせて追従し、
かつセンター寄せしたページの左側に沿うようにJavaScriptで制御しようと、以下のように外部jsに
記述した所、InternetExplorer(6/7)以外ではどうも上手く動作しません。色々試しては居るのですが
どうも糸口が見えて来ないので、どなたかこの辺の解決法をご存知の方ご享受お願いします。

window.onscroll = Menu;
window.onresize = Menu;
window.onload = Menu;

function Menu(){
if(document.documentElement.scrollTop < 220){
document.getElementById("menu_a").style.top = 220;
}else if(document.documentElement.scrollTop > 220){
document.getElementById("menu_a").style.top = document.documentElement.scrollTop;
}

if(document.body.clientWidth < 840){
document.all("menu_a").style.left = -5;
}else if(document.body.clientWidth > 840){
document.all("menu_a").style.left = document.body.clientWidth / 2 - 420;
}
}

※以下にレイヤー"menu_a"をdocument.writeで吐き出すコードが続きます。

128 :Name_Not_Found:2007/01/24(水) 00:17:49 ID:???
>>124
主要なブラウザは既に似たような機能を実装してるので
どれほど有用な物になるか疑問なんだが。

クッキーについては document.cookie で
半角スペースについては encodeURIComponent() で検索すれば
情報は得られるかと。
form のテキスト欄で onkeyup あたりで入力を監視すればいい。

スクリプト自体よりも候補のリストを表示させる方がめんどくさそうだ。

129 :Name_Not_Found:2007/01/24(水) 00:20:12 ID:???
ご享受は頂けない

130 :Name_Not_Found:2007/01/24(水) 00:43:34 ID:???
>>127
0以外の数値には単位が必要。

あと、document.all は Opera や Fx でも一応使えるが、
例えば、innerHTML ほどには一般化していない。
だから、書き直した方が良いだろう。

131 :Name_Not_Found:2007/01/24(水) 02:44:32 ID:???
operaはともかく、firefoxってdocument.all使えたっけ?

132 :Name_Not_Found:2007/01/24(水) 03:46:53 ID:WdvCgY7D
世界の時計の現在の時刻の比較の、JAVAスクリプトはたくさん見つかりますが、

2日後の時刻の9時など、日時をフォームに入力してプッシュすると、そのときの世界時計の比較が出るものってありますか?
これはJAVAスクリプトのソースをください。


133 :Name_Not_Found:2007/01/24(水) 03:53:39 ID:???
>>131
使える。
しかしdocument.allはnameとかも拾う糞仕様なので使う意味がわからない。

134 :Name_Not_Found:2007/01/24(水) 07:35:26 ID:???
>>132
上級隔離スレへ。
http://pc10.2ch.net/test/read.cgi/hp/1155954169/l50

135 :Name_Not_Found:2007/01/24(水) 10:41:15 ID:???
window.onloadで、特定のタグにonclickを付加すると言う関数を呼び出すようにしています。
最初にページが読み込まれたときは当然上手く付加されているのですが、
その状態でajax処理で移動したページには出来ないです。
どういうイベントハンドラを使えばいいのでしょうか?

136 :Name_Not_Found:2007/01/24(水) 10:46:30 ID:???
>>135
意味わかんね。ページ移動したら、また設定しなきゃ無理だろ。
普通に考えて

137 :Name_Not_Found:2007/01/24(水) 10:52:56 ID:???
ajax処理で獲得した優勝賞金使え

138 :Name_Not_Found:2007/01/24(水) 11:20:33 ID:???
>>136
ajaxではなくて普通のリンクの場合は、クリックした時に画面が切り替わってwindow.onloadで
設定した関数が実行されますよね。
そうではなくてページの一部をajaxで切り替えた時にイベントを起こせないかな?と言うことです。
window.onloadじゃ無理みたいなので何か他のハンドラがあればいいのですが・・・。

139 :Name_Not_Found:2007/01/24(水) 11:31:08 ID:???
childnodes[i].onmouseover = window['function'];
あるタグの子ノードのマウスオーバー時に、functionと言う関数を実行させる為に、
上のような記述が出来るらしいですが、この場合functionにパラメータを持たせる事は可能ですか?

140 :Name_Not_Found:2007/01/24(水) 11:31:20 ID:???
切り替えたときに実行すればいいだろ。

141 :Name_Not_Found:2007/01/24(水) 11:32:45 ID:???
>>139
むぎ

142 :Name_Not_Found:2007/01/24(水) 11:47:14 ID:???
>>138が何もわかっていないことがよくわかった
どうせrailsのprototype.jsとかをよくわからないまま適当に使ってるんだろうな

143 :Name_Not_Found:2007/01/24(水) 12:04:49 ID:???
>>135
Ajaxの処理が終わった後で
その「onclickを付加する関数」を直接呼べばいいだけ


144 :Name_Not_Found:2007/01/24(水) 12:23:01 ID:???
jsっていうかECMAの仕組みを理解しようとしない
香具師大杉!!

145 :Name_Not_Found:2007/01/24(水) 12:55:18 ID:???
>>144
どうせ小学生とか中学生ばっかりだろ。
ECMA読まなくても、そこそこ動くものが作れるくらい、
中途半端な記事で溢れてるし

146 :Name_Not_Found:2007/01/24(水) 13:07:04 ID:???
>>122
MSに記載がないようだから、憶測になる。

事実: snapShot は、保存しない限り、メモリー上に保持。
事実: history は、常に、メモリー上に保持。
事実: 同一の要素オブジェクト、プロパティ名前も完全一致している。
憶測: 別々の領域に保持されるわけではなく、同一のメモリー領域が使われているっぽい。
事実: snapShot は、ページ遷移 = 保存しない、だから、迅速に消去した方が安全。
憶測: 仮に消去されるのなら、それは history のデータでもあるわけで……。

たぶん、こういうことだろう。

147 :Name_Not_Found:2007/01/24(水) 13:12:18 ID:???
>>138
>>140>>143がFAなんだが、
ちょっと違う方法になるが、DOM-MutationEvents を使える場合がある。

148 :Name_Not_Found:2007/01/24(水) 13:16:02 ID:???
>>143
それをすると何故かロード中に関数が実行されてしまうorz
例えばアラートを出す関数の場合でやると、ロード中にアラートが出るんだわ。
ロードが完了したのを判断するイベントハンドラって無いんですかね?

149 :Name_Not_Found:2007/01/24(水) 13:19:17 ID:???
あるよ

150 :Name_Not_Found:2007/01/24(水) 14:06:42 ID:???
>>138
むしろどうやってページ書き換えてるのか問い詰めたいのだが
RoR とか prototype.js とか使ってるとそんなんしなくても勝手に
書き換えてくれたりするん?

151 :Name_Not_Found:2007/01/24(水) 14:18:41 ID:???
>>150
恥ずかしながらSimple JSって言うライブラリを使ってますorz
http://simplejs.bleebot.com/
readyState?ってのがキーだと思ってるんですが上手く動かないです。

152 :151:2007/01/24(水) 14:41:43 ID:???
お騒がせしてスイマセン。
特別いじってないのにいつの間にか動くようになりました。

153 :Name_Not_Found:2007/01/24(水) 19:44:56 ID:???
「あるボタンを押すとフラグが立ち、もう一度押すとフラグが終わる」というスクリプトを書きたいのですが
どうするとうまく行くのか解りません。
そのフラグの有無を利用してスクリプトを動作させたいのですが、簡単にフラグを立てるにはどうすればいいのでしょうか?

154 :Name_Not_Found:2007/01/24(水) 20:06:31 ID:???
>>153

<button onclick='var f=document.getElementById("flag");
f.innerHTML=(f.innerHTML=="フラグ" ? "フ<br>ラ<br>グ":"フラグ")'>ある</button>
<div id="flag">フラグ</div>

155 :Name_Not_Found:2007/01/24(水) 20:35:19 ID:???
しょうもねぇ

156 :Name_Not_Found:2007/01/24(水) 23:12:56 ID:???
次のようなサーバプログラムがあるとします
"test message" 表示(フラッシュ)
5秒スリープ
"test message2" 表示(フラッシュ)

このサーバプログラムにIEで直接アクセスするとその通り表示されますが、
xhr = newXMLHttpRequest();
xhr.responseText
で参照すると"test message"と"test message2"が同時に(つまり5秒経過後に)受信されてしまいます。

また
<iframe name="upload_iframe" style="width: 400px; height: 100px;"></iframe>
<form method="POST" action="cgi-bin/test.cgi" enctype="multipart/form-data" name="form1">
<input type="submit">
でsubmitボタンを押しても同様に5秒後受信されます(multipart/form-dataにしているのはファイルを扱うからです)

これらのメッセージを即座に受信し表示するにはどうすればよいのでしょうか?
ご教示お願いします。

157 :156:2007/01/24(水) 23:14:52 ID:???
すみません
× <form method="POST" action="cgi-bin/test.cgi" enctype="multipart/form-data" name="form1">
○ <form method="POST" action="cgi-bin/test.cgi" target="upload_iframe" enctype="multipart/form-data" name="form1">

158 :Name_Not_Found:2007/01/24(水) 23:30:34 ID:zNOlNgV8
エラーで、
『'x'はNullまたはオブジェクトではありません。』
と表示されます。

でも、検索をかけても「x」という文字は出てきません。

それに
GEvent.addListener(marker2, "click", function() {
marker2.openInfoWindowHtml("aiueo");
});

とあるのを

GEvent.addListener(marker2, "click", function() {
//marker2.openInfoWindowHtml("aiueo");
});

とコメントアウトすると普通に実行します。

何が原因なのでしょうか?

159 :Name_Not_Found:2007/01/25(木) 00:50:17 ID:???
>>156
XHRはそういう仕様

>>158
よく探してみろ

160 :Name_Not_Found:2007/01/25(木) 09:51:55 ID:???
>>158
そのmarker2という変数に'x'が入ってるんじゃないの。

161 :Name_Not_Found:2007/01/25(木) 14:27:55 ID:???
<script>
var makeRGB = function(r, g, b) { r = Math.floor(r * 255).toString(16); g = Math.floor(g * 255).toString(16); b = Math.floor(b * 255).toString(16);
if(r.length == 1) { r = "0" + r; } if(g.length == 1) { g = "0" + g; } if(b.length == 1) { b = "0" + b; } return "#" + r + g + b;
}; var center = 200; var radius = 120; window.onload = function() { var count = 0; var div = document.createElement("div");
with(div.style) { position = "absolute"; overflow = "hidden"; width = "1px"; height = "1px"; } for(var x = -radius; x < radius; x++) {
for(var y = -radius; y < radius; y++) { var r = Math.sqrt(x * x + y * y); if(r > radius) { continue; } var s = r / radius; var h;
if(s == 0) { color = makeRGB(1, 1, 1); } else { if(y == 0) { if(x < 0) { h = 90; } else { h = 270; } } else { if(y < 0) {
h = Math.atan(x / y) * 180 / Math.PI; } else { h = Math.atan(x / y) * 180 / Math.PI + 180; } } if(h < 0) { h += 360; }
var i = Math.floor(h / 60); var f = h / 60 - i; var v = 1; var m = v * (1 - s); var n = v * (1 - s * f); var k = v * (1 - s * (1 - f));
switch(i) { case 0: color = makeRGB(v, k, m); break; case 1: color = makeRGB(n, v, m); break; case 2: color = makeRGB(m, v, k); break;
case 3: color = makeRGB(m, n, v); break; case 4: color = makeRGB(k, m, v); break; case 5: color = makeRGB(v, m, n); break; } }
var pixel = div.cloneNode(true); pixel.style.left = (center + x) + "px"; pixel.style.top = (center + y) + "px";
pixel.style.backgroundColor = color; document.body.appendChild(pixel); count++; } } alert(count); };
</script>
上のスクリプト(超重いです。IEでの実行をお勧めします。間違ってもFxではしないほうがいいです)、
45223個のDIVを生成するプログラムなのですが、IEだと32764個で止まってしまいます。
DIV 32764個+body + head + script + title でちょうど32768個ですので、IEはそういう仕様なのかな。

162 :Name_Not_Found:2007/01/25(木) 14:46:43 ID:???
>>161
何がしたいのかは解らないけど
そういうのを描くのはFlashとかにしなさい

163 :Name_Not_Found:2007/01/25(木) 15:11:00 ID:???
>>162
デザインで使うための、printscreenする画像を作りたかったんです。
mingwインストールするのとJavaScriptで書くのとどっちが速いかな、って。
3行目のradius = 30くらいにすると何やりたいかわかると思います。

ちょっとしたプログラムを書きたいときに、ほぼ確実にどのコンピュータでも動くのは
JavaScriptの大きな特徴ですよね。昔のN88BASICみたいな。

164 :Name_Not_Found:2007/01/25(木) 17:03:42 ID:???
内部をフレーム分割している親フレームページをブラウザ表示したときに
Javascriptでブラウザウィンドウサイズを制御したいのですが、うまくいきません

ターゲットはIE6です。親フレームページには<body>タグがないので、
document.body.clientWidth、document.body.clientHeightは
使えないみたいです

よろしくお願いします

165 :Name_Not_Found:2007/01/25(木) 17:29:29 ID:???
>>164
>2
2)言葉でぐだぐだ書かずにソースを貼る、ただし要点を整理して。

> 親フレームページには<body>タグがないので、
なんでないのかが良くわからないです

> よろしくお願いします
何をお願いしますなのかが良くわからないです。

166 :Name_Not_Found:2007/01/25(木) 20:26:44 ID:eOOYcexl
セレクトメニューに応じて別のセレクトメニューの内容を変えるというものを
作っています。

function menuSelect(n){
names=document.myForm.hobby.options[n].value;
if(names=="趣味1"){
menuItem=["パソコン","スポーツ","映画"]
for (i=0; i<3; i++){
document.myForm.hobby_list.options[i] = new Option(menuItem[i],menuItem[i]);
else if(names=="趣味2"){
menuItem2=["音楽","ファッション"] //以下のソースは割合します。

<select name="hobby">のoptionにある「趣味1」をクリックしたら
<select name="hobby_list">のメニューに趣味一覧が表示されます。
それは可能なのですが、「趣味2」を押した時に、「趣味1」の内容も表示されます。
menuItem2にmenuItemと同じだけの空データを数だけ用意すれば
見た目上は表示されませんが、選択出来てしまいます。

どうやって毎回の選択毎にhobby_listの内容を新規に表示させることが
出来るのでしょうか?

167 :Name_Not_Found:2007/01/25(木) 21:30:01 ID:???
options.length = 0;


168 :Name_Not_Found:2007/01/25(木) 21:33:41 ID:???
>>163
> ちょっとしたプログラムを書きたいときに、ほぼ確実にどのコンピュータでも動くのは
> JavaScriptの大きな特徴ですよね。昔のN88BASICみたいな。

勘違いも甚だしい。

169 :166:2007/01/25(木) 21:52:52 ID:???
>>167
出来ました!ずっと悩んでいたのですが、本当に助かりました。
どうもありがとうございました。

170 :Name_Not_Found:2007/01/25(木) 22:08:04 ID:PdkbNc9o
オートコンプリートについて質問です。
<input type="text" autocomplete="on">としている場合に
入力内容が保存されるようにするにはどうしたらいいでしょうか?
画面内で完結し、他の画面に遷移しないページとなっています。


171 :Name_Not_Found:2007/01/25(木) 22:11:15 ID:???
>>170はマルチ
礼も言わずに質問逃げ。

172 :170:2007/01/25(木) 22:30:51 ID:???
>>171
すみません。
他スレでこちらに行くよう指示されましたので、マルチではありません。

173 :Name_Not_Found:2007/01/25(木) 22:45:00 ID:???
マルチ?どうでもいい。
つうか、礼を言って欲しいか?
回答して暇をつぶすための素材を提供してくれれば良いだけだがな。

174 :Name_Not_Found:2007/01/26(金) 00:05:39 ID:???
フレームを使用していて左右に分かれている右側のページから
ボタンで全体のリロードを行うにはどういうコードにすればよいでしょうか?
フレームの名前は↓のようになっています
フレーム本体:main
左側:left
右側:right

175 :Name_Not_Found:2007/01/26(金) 00:30:44 ID:???
>>174
<input type="button" onclick="top.location.reload()">

176 :Name_Not_Found:2007/01/26(金) 00:41:06 ID:???
>>175
ありがとうございました

177 :Name_Not_Found:2007/01/26(金) 02:37:35 ID:???
>>170
inputに適当なnameでもつければいいさ
少なくてもIEではそれで十分だ
例えばIE6では
<input type="text" name="q">
にカーソルを入れて↓キーで人によってはGoogleの入力履歴が見られると思う

178 :170:2007/01/26(金) 08:49:08 ID:980PGnws
>>177
ありがとうございました。

179 :Name_Not_Found:2007/01/26(金) 17:48:14 ID:+dRBnChE
<li onmouseover="test()">適当な文字列

上のイベントを実行させようとマウスを乗せたとたんに、
ページが真っ白になってしまうんですが、原因は何が考えられるでしょうか?
test()は中身を色々替えたのですが変わりありませんでした。

180 :Name_Not_Found:2007/01/26(金) 18:06:58 ID:???
そんなことないだろうと思って
IE6 と Firefox2 と Opera9 で試したけど
そんなことなかった

test() の中身を書きたまえよ

181 :Name_Not_Found:2007/01/26(金) 19:06:58 ID:???
document.writeを使っているに100パセリ

182 :Name_Not_Found:2007/01/26(金) 19:45:59 ID:???
おれは1000ワロス

183 :Name_Not_Found:2007/01/27(土) 12:20:29 ID:VlG7FqXo
グーグルのパーソナライズドホームみたいな
配置を換えられるフローティングウィンドウを
作りたいんですが、
おすすめなライブラリって有りますか?

184 :Name_Not_Found:2007/01/27(土) 14:14:16 ID:???
>>183
そのものを参考にすればよかろうに。

185 :170:2007/01/28(日) 01:35:25 ID:???
>>177
先日、質問させていただいたものですが、
前にどこかのWebページで入力した履歴が表示されました。
しかし、新規に入力した情報が残りません。
他のページに遷移しないと保存されないのでしょうか?

186 :Name_Not_Found:2007/01/28(日) 01:52:01 ID:???
googleのjsってものによっては参考にするのは絶対に不可能。

187 :Name_Not_Found:2007/01/28(日) 03:04:54 ID:???
>>186
意味不明。

188 :Name_Not_Found:2007/01/28(日) 03:10:23 ID:???
ワタシニハワカリマセンってこったろうね
ま、絶対に不可能は絶対にないとして、現実的にやる気にならん物は少なかないな

>>183
そうねhttp://demo.script.aculo.us/shopあたり弄ったらどうにかなんでねーの頑張れはいはい

189 :Name_Not_Found:2007/01/28(日) 05:07:40 ID:lhj+fjbL
フォーム内のテキストボックスの内容を変更するスクリプトを動かしたいのですが、
お知恵をお貸し下さい。

普通なら、 docment.(formの名前).(inputの名前).value = "hoge" とすれば良いの
ですが、今回inputの名前が person[name] のように記号[]を含んでおり、
これを上の方法でやるとプロパティ名として認識されず、'name'は宣言されていません、
とのエラーが出てしまいます。

これをinputの名前を変更することなくスクリプト側で対応できないでしょうか?
なにとぞお力を。

190 :Name_Not_Found:2007/01/28(日) 06:05:35 ID:???
>>189
FAQ を読めばいいと思うの

191 :Name_Not_Found:2007/01/28(日) 15:47:19 ID:???
>>189
document.getElementsByTagName("person[name]")

192 :Name_Not_Found:2007/01/28(日) 16:25:30 ID:???
>>191
それは違う
formへの参照.elements["person[name]"].value
でelementsの添え字に参照したいinputのidでも入れればいい
もしくはdocument.getElementsByName

193 :Name_Not_Found:2007/01/28(日) 17:21:29 ID:???
name属性って[]とかの記号含んでもいいの?

194 :Name_Not_Found:2007/01/28(日) 17:26:41 ID:???
うん

195 :Name_Not_Found:2007/01/28(日) 17:28:19 ID:???
ここで仕様書マニアが一言

196 :Name_Not_Found:2007/01/28(日) 17:31:11 ID:???
strictスレにいきなさい。

197 :Name_Not_Found:2007/01/28(日) 17:43:35 ID:???
>>192
ごめw寝ぼけてて間違えた。

そういや昔そんな関数作ったなぁ。
name でコレクション得られるやつ

198 :Name_Not_Found:2007/01/28(日) 22:56:48 ID:???
チョー素人です。
onMouseOverさせたいだけなんです。
どうして動かないのかさっぱりわかりません


<a href="index.htm"
onMouseOver="chgImg('INDEX','img2.gif')"
onMouseOut="chgImg('INDEX','img1.gif')">
<img src="img1.gif" border="0" name="INDEX">
</a>

function chgImg(imagesName,gifName){
document.images[imagesName].src=gifName;}

199 :Name_Not_Found:2007/01/28(日) 23:06:46 ID:???
<a href="index.htm"
onMouseOver="chgImg('INDEX','img2.gif')"
onMouseOut="chgImg('INDEX','img1.gif')">
<img src="img1.gif" border="0" name="INDEX">
</a>

<script>
function chgImg(imagesName,gifName){
document.images[imagesName].src=gifName;}
</script>

200 :198:2007/01/28(日) 23:21:26 ID:???
>>199
ごめんそこまで書いてなかったな


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


index.js

function chgImg(imagesName,gifName){
document.images[imagesName].src=gifName;}


201 :Name_Not_Found:2007/01/28(日) 23:27:42 ID:???
>>198
素人かどうかなどこちらの知ったことではない。
アンタが貼った通りのもので動くけどねえ?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function chgImg(imagesName,gifName){
document.images[imagesName].src=gifName;}
</script>
</head><body>
<p><a href="index.htm"
onMouseOver="chgImg('INDEX','img2.gif')"
onMouseOut="chgImg('INDEX','img1.gif')">
<img src="img1.gif" border="0" name="INDEX">
</a></p></body></html>

202 :198:2007/01/29(月) 01:14:39 ID:???
ダメだ
>>201そのまんまコピペしても動かない(imgのアドレスなんかはちゃんと確認してる)
俺の環境が悪いのか?でも余所のサイトじゃしっかり機能してるのが見えるんだがなあ…???
もうわけわかんねー


迷惑かけたなλ....

203 :Name_Not_Found:2007/01/29(月) 01:30:14 ID:???
>>197
自前でつくらなくてもgetElementsByNameを使えばいいじゃない

204 :Name_Not_Found:2007/01/29(月) 02:22:11 ID:???
>>203
ちょっと前のレスくらいちゃんと読もうな

205 :プードル:2007/01/29(月) 03:40:11 ID:mItuk9aJ
こんばんは。1から10までの数値をランダムに10個並べて、おなじ数字が2度以上
出現しないようにするのってどうすればいいんですか?
ループとフラグを使うのはわかるんですが・・・
初歩的な質問でごめんなさい。。ぜひ、教えて下さい!!

206 :Name_Not_Found:2007/01/29(月) 03:56:38 ID:???
これはひどい

207 :プードル:2007/01/29(月) 04:00:15 ID:mItuk9aJ
ひどいですよね。。
<script type="text/javascript"><!--
for(i = 0 ; i <10 ; i++){
for(j= 0; j <1 ; j++){
var num = Math.floor(10*Math.random())+1;
if(suuji[)
}
}

// --></script>

ここからずーーっと煮詰まってます(泣)

208 :プードル:2007/01/29(月) 04:01:34 ID:mItuk9aJ
間違えました↑
<script type="text/javascript"><!--
for(i = 0 ; i <10 ; i++){
for(j= 0; j <1 ; j++){
var num = Math.floor(10*Math.random())+1;
}
}

// --></script>



209 :Name_Not_Found:2007/01/29(月) 04:58:21 ID:???
function randomten(){
var str = "", arr = new Array(10), bNext = true;
while( bNext ) {
if ( !arr[ j = Math.floor( Math.random() * 10 )] ){
arr[j] = true;
str += ( j + 1 ) + ",";
bNext = false;
for ( i = 0; i < 10; i++ ) {
if ( !arr[i] ){
bNext = true;
break;
}
}
}
}
return str;
}
alert( randomten() );

適当なのでどんな場合でもちゃんと動くかは知らん。

210 :Name_Not_Found:2007/01/29(月) 08:14:41 ID:???
>>205
過去スレで瀕出な質問。過去スレ検索できない奴は来るな!
ループは使うがフラグなんて使わないぞ。1〜10を配列に
入れてシャッフルするのが定石。
>>209
アンタもだ、過去スレも読まずに低品質な回答なんか書くな!

211 :Name_Not_Found:2007/01/29(月) 11:38:11 ID:???
Ruby1.9がArray#shuffle!(), Array#shuffle() を組み込んだから言うのだが、寧ろ、JSに必要だろうな。
ここ(に限った話でも無いが)で過去に収束した最速コードは、
ttp://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/array.c?revision=10808
のrb_ary_shuffle_bangと完全に同じ。現在の
ttp://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/array.c?revision=11429
に見られるような、Iterate中の破壊禁止は、JSらしくないから不要と思う。

212 :Name_Not_Found:2007/01/29(月) 11:38:49 ID:???
しかし、JSの場合、割り当てられていないインデックスをどうするか、という問題がある。
Array#sort() のように、undefined値や"unassigned"値を後置するのか、
それとも、割り当てられたインデックス群だけでシャッフルするのか、
の二択になるだろう。後者を選択した場合、
  Array.shuffle = function () {
    return Array.prototype.shuffle.call(arguments[0]);
  }
  Array.prototype.shuffle = function () {
    var compact = [];
    Array.forEach(this, arguments.callee.helpCompact, compact);
    for (let i = compact.length, j; 0 < i; ) {
      j = Math.floor(Math.random() * i--);
      [compact[i], compact[j]] = [compact[j], compact[i]];
    }
    Array.forEach(this, arguments.callee.helpArrange, compact);// (*)
    return this;
  }
  Array.prototype.shuffle.helpCompact = function () {//this:Array == compact
    this[this.length] = arguments[0];
  }
  Array.prototype.shuffle.helpArrange = function () {//this:Array == compact
    arguments[2][arguments[1]] = this.pop();
  }
のようになる。
ところで、Array-Like については、(*) の行で問題が出る場合がある。
それは、HTMLCollection, NodeList の場合だが、
そもそも、Node の入れ替えをArray#shuffle() で行うのは不適切だから、
必要になった時には、それ専用の処理を別途用意するべきだろう。

213 :Name_Not_Found:2007/01/29(月) 11:51:44 ID:???
「"unassigned"値」の「値」は表現としておかしかったな。値が無いのだから。

214 :Name_Not_Found:2007/01/29(月) 14:21:52 ID:???
>>212
このコード、どの環境でもこのまま記述するだけで動くの?

215 :Name_Not_Found:2007/01/29(月) 15:13:15 ID:???
>>214
要JavaScript1.7
書き換えても、JavaScript1.6は必要。
JavaScript1.5以下やJScript5.7以下だと、Array#forEach() を厳密に実装するのがけっこうめんどう。

216 :Name_Not_Found:2007/01/29(月) 15:20:24 ID:???
>>215
誤 5.7
正 5.6

217 :Name_Not_Found:2007/01/29(月) 23:14:52 ID:???
JavaScript1.5(笑)

218 :Name_Not_Found:2007/01/30(火) 14:47:51 ID:???
JavaScript(笑)

219 :Name_Not_Found:2007/01/30(火) 17:51:14 ID:???
質問するスレがちょっと微妙な感じですが、
JavaScript関連なのでここで質問させていただきます。

IEでabbr要素を有効に表示させるスクリプトや、
スタイルシート切り替えスクリプトなど、
外部のスクリプトファイルを、HTMLのヘッダ部分で

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

このようにして呼び出しますよね。

ですが、外部スクリプトが増えてくると、
このscriptのタグをいくつも記述しないとならないのが、
なんとなく気持ち悪いので、HTMLでの記述は1つで、
複数の外部スクリプトファイルを読み込ませるようにしたいと思っています。

外部スクリプトファイルを1つのファイルにまとめるようなことは出来るのでしょうか?
お願いします。

220 :Name_Not_Found:2007/01/30(火) 18:08:29 ID:???
>>219
一番簡単なのはその複数のファイルを自分で取り寄せて連結し
1つのファイルにしてそれを読ませることだが。それが嫌なら
ファイル名一覧を配列に用意してファイルの個数だけループで
document.write()を使ってscriptタグを生成するとか?

221 :219:2007/01/30(火) 18:12:10 ID:???
>>220
1つのファイルにまとめるというのは、
コピペで繋げていけばいいんですか?

222 :Name_Not_Found:2007/01/30(火) 18:43:22 ID:???
<script>
window.onload = function() {
var test = function() {
var iframe = document.createElement("iframe");
setTimeout(function() {
document.body.appendChild(iframe);
iframe.contentWindow.location.href = "/test.html";
setTimeout(function() { document.body.removeChild(iframe); }, 1000);
setTimeout(test, 1200);
}, 300);
};
test();
};
</script>

こういう風にiframeを作成すると、Firefox1.0でhistoryにゴミが次々と生成されてしまいます。
Backボタンを押したときにユーザの想定外の動作になってしまうので、履歴を残さずにiframeを作りたいのですが
どのようにすればよいでしょうか?

Firefox2.0では解決されていますが、出来れば古いユーザにも対応したいので、よろしくお願いします。

223 :Name_Not_Found:2007/01/30(火) 20:24:25 ID:???
iframe.contentWindow.location.replace()

224 :Name_Not_Found:2007/01/30(火) 20:27:49 ID:???
>>221 うん。
>>222 ...location.replace('/test.html');

225 :Name_Not_Found:2007/01/30(火) 20:53:24 ID:???
>>223-224
確か、Firefox1.0ではそれでもダメ
どうするのかは俺も興味がある

226 :Name_Not_Found:2007/01/30(火) 20:57:48 ID:???
>>225
うーん。じゃ<iframe src="about:blank" ...></iframe>を
divのinnerHTMLに入れることでiframeを生成し、それから
location.replace()で取り換える、なんていうのはどうかね。

227 :Name_Not_Found:2007/01/30(火) 23:54:28 ID:???
IE6のVMLについての質問をさせてください。
下記コードでアニメーションGIFを先に表示すると通常GIFに切り替えてもCPUを使い続けます。
逆に通常GIFを先に表示するとアニメーションしなくなります。
どうやればうまく切り替えることが出来るのでしょうか?


<html xmlns:v="urn:schemas-microsoft-com:vml">
<head> <style> v\:* {behavior:url(#default#VML);} </style> </head>
<body>
<v:image id="vImage" style="width:100; height:100;" src="" />
<button onclick="vImage.src='anime.gif'"> アニメGIF </button>
<button onclick="vImage.src='normal.gif'"> 標準GIF </button>
</body>
</html>


228 :Name_Not_Found:2007/01/31(水) 01:17:36 ID:???
IE独自のelementFromPointに相当するクロスブラウザ版メソッドはありますか?

229 :Name_Not_Found:2007/01/31(水) 02:47:32 ID:???
>>69は結局不可能なのでしょうか?

230 :Name_Not_Found:2007/01/31(水) 04:08:55 ID:???
>>229
Script.aculo.usがやっとるよ。
scriptaculous.jsみてみ

231 :Name_Not_Found:2007/01/31(水) 08:22:34 ID:???
>>228
elementFromPoint getBoxObjectFor initMouseEvent

232 :Name_Not_Found:2007/01/31(水) 08:34:16 ID:???
>>227
そのままコピペしたが、問題なかった。

233 :Name_Not_Found:2007/01/31(水) 15:19:49 ID:pvMf4XCK
縦横200pxの四角の中にそれよりも大きい画像を表示し、
ドラッグで画像をスクロールできる仕組みをjavascriptで作りたいです。
GoogleMapsのように複数の画像を繋いでいく必要はありません。

divで四角を作って、そこへ画像を設定し、ゴニョゴニョゴニョ…
なのかなーとは思うのですが、分かりません。
どなたかアドバイスをください。

234 :Name_Not_Found:2007/01/31(水) 15:22:04 ID:???
>>233
それのどの辺をjavascriptで作りたいのかわかんないんだけど、
その程度ならiframeでよくね?

235 :233:2007/01/31(水) 15:36:23 ID:pvMf4XCK
スクロールバーじゃなくて、
ドラッグで自由にスクロールできる
という点さえ実現できてれば
iframeでもなんでも構いません。

236 :Name_Not_Found:2007/01/31(水) 15:49:11 ID:???
>>233
こういう風に別にスクロールコントロールがある方が使いやすくないかな。
http://user.ftth100.com/mirrorhenkan/javascript/read.php?key=1005979370&st=678&to=678

237 :Name_Not_Found:2007/01/31(水) 16:18:09 ID:???
>>236
俺はそれ、使いにくいと思う

>>233
divのoverflow="auto"は知っているよね?
div (overflow="auto"かつposition="relative")の中にposition="absolute"の画像を放り込み
top left をマイナスなどに設定してやることによって実装は可能。
マウスの移動距離を、onmousedown onmousemove onmouseupで取れば移動距離もわかるでしょう。

238 :Name_Not_Found:2007/01/31(水) 16:21:31 ID:???
>>237
スタイルシートのclipを使って部分をみせて、あとは絶対位置を
マスウドラッグで動かすほうが簡単のような・・・

239 :Name_Not_Found:2007/01/31(水) 19:35:29 ID:???
背景画像にして、CSS の background-position プロパティの値を操作するのが最も軽快だろうな。

240 :Name_Not_Found:2007/01/31(水) 20:25:09 ID:???
SP2入れててIEでJavaScriptを入れてるサイトを見ると、

「セキュリティ保護のため、コンピュータにアクセスできるアクティブ コンテンツは表示されないよう、
Internet Explorer で制限されています。オプションを表示するには、ここをクリックしてください...」

という情報バーが出るサイトと出ないサイトがあるんですが、どうやったら(ユーザーの設定にかかわらず)
この情報バーを出ないように出来るんですか?

241 :227:2007/01/31(水) 20:30:09 ID:???
>>232 ありがとうございます。
環境によって違うのかな〜と思っていろいろ試してみたんですけど
うちでも小さい画像ならうまく切り替えられるみたいです。

もしよかったら normai.gif の方をサイズの大きい画像にして試してみてもらませんか?
うちの場合CPU使用率が40%ぐらいまで上がってしまうんですが・・・

ちなみにうちは IE6SP2 XPHomeSP2 Pentium3-845MHz です。

242 :Name_Not_Found:2007/01/31(水) 22:46:14 ID:p+EYThW4
質問です。
document.referrerから検索キーワードを取得しようと思っています。
googleはUTF-8なのでdecodeURIで取得できたのですが、
yahooはEUC-JPのためdecodeURIで取得できません。
javascriptのみでEUC-JPをdecodeする方法ってありますか?

243 :Name_Not_Found:2007/01/31(水) 23:02:39 ID:???
>>240
不可。ユーザに設定変更を促す表示をする。

244 :Name_Not_Found:2007/01/31(水) 23:03:13 ID:???
>>242
「JavaScript EUC-JP デコード」でググったら一発で見つかった。

245 :Name_Not_Found:2007/01/31(水) 23:07:12 ID:???
あ、そのライブラリ好き

246 :Name_Not_Found:2007/01/31(水) 23:54:10 ID:???
var tag =
'<a href="#"
onClick="window.open(' + "'" + "xxxx.jpg" + "', 'images'); return false;" + '">' +
<img src="xxxx_small.jpg" + '</a>';

opener.Dialog._return(tag);
window.close();

ブログの投稿において、
子ダイアログで画像を選び、
ポップアップリンク付画像のタグを親ウィンドウのテキストエリアに埋め込む
javascriptコードなのですが、
親ウィンドウへの戻りが、
linuxだと、<a href="#" .... であるのに対し、
Windowsだと、<a href="http://yyyy.co.jp/zzzz.cgi#" .... と、
なぜかシャープの前に今見ている投稿画面のパスが埋め込まれてしまいます。

これはjavascriptの仕様なのでしょうか?

247 :Name_Not_Found:2007/01/31(水) 23:55:44 ID:???
IEの仕様

248 :229:2007/02/01(木) 00:04:55 ID:???
>>230
まさに期待通りのことが書いてました。
ありがとうございました。

249 :Name_Not_Found:2007/02/01(木) 00:41:05 ID:???
>>231
サンクス。ググったらそれらしいもんでてきた。

250 :Name_Not_Found:2007/02/01(木) 01:07:46 ID:ckOXaTgX
情報サイト(ITMediaなど)にいくと、パラグラフ表示をよく見かけます。
このパラグラフ表示は何らかの形で自動再生していると思うのですが、
具体的にはどのような手法を使っているのでしょうか。JavaScriptで
可能ですか?よろしくです。

251 :Name_Not_Found:2007/02/01(木) 01:20:57 ID:???
パラグラフ表示ってなんだ?[続き]をクリックしたら先が読めるような奴か?

252 :Name_Not_Found:2007/02/01(木) 01:30:00 ID:???
パラグラフ表示ってなにさ
スレ違いの予感がするけれども

253 :Name_Not_Found:2007/02/01(木) 01:31:53 ID:???
段落ごとの字下げの事か、はたまた段組のことか、いずれにしてもスレ違い。

254 :Name_Not_Found:2007/02/01(木) 03:30:01 ID:???
すみません、質問です。

var xx = { aaa: "abc", bbb: "def" };

と定義して、xxの中のbbbの値だけを関数に入れたいのですが、
GMarker(point, icon);
のiconのところにbbbの値”def”を入れるにはどのように表記すればよいのでしょうか?
GMarker(point, xx.bbb );
ではうまく動きませんでした。

ご存知の方がいらっしゃいましたら教えてくださいm(_ _)m


255 :Name_Not_Found:2007/02/01(木) 03:48:09 ID:???
まずはGMarker(point, "def")で動くのかどうか
次はGMarker()の呼び出しのあとにvar xx = {}を書いていないか
とりあえず試してみるxx['bbb']

ソースもしくはGMarker()とやらの中身がわからんことにはどうとも言えないよ

256 :Name_Not_Found:2007/02/01(木) 03:58:36 ID:???
質問への回答になってないだろ。

>>254
表記はxx.bbbで正しい。よって動かない理由は他にある。

257 :255:2007/02/01(木) 04:03:57 ID:???
>>256
すいません

258 :Name_Not_Found:2007/02/01(木) 08:36:49 ID:???
document.execCommand('SaveAs')
↑↑これって何をするJavaScriptですか?

259 :Name_Not_Found:2007/02/01(木) 08:57:03 ID:???
>>258
やってみなくちゃ解らない。
<input type="button" onclick="while(1)document.execCommand('SaveAs')">

260 :Name_Not_Found:2007/02/01(木) 09:02:27 ID:???
>>259
保存するダイアログが出ました。サンクス

261 :Name_Not_Found:2007/02/01(木) 09:39:05 ID:7TGmmUWu
iframeタグが現在表示しているHTMLファイルのURIを取得するにはどうすればいいですか?
src属性は、最初に読み込むURIなので、リンクがクリックされた場合に対応できません。

262 :Name_Not_Found:2007/02/01(木) 10:33:38 ID:???
>>261
過去50レスも読まないのか。

263 :254:2007/02/01(木) 10:52:41 ID:???
>>255,256
レスありがとうございます。
"def"を直接代入した場合は思うとおりの動きをしてくれますので、
この書き方が正しいのであれば、256氏のおっしゃるとおり、
他になにか間違っているところがあるんだと思います。
GMaker()はGoogleMapsAPIの関数のようなんですが、
とあるソフトを使用して吐き出したソースをいじってるので、
いまいち動作がわかっていない部分がありますので、
その辺で何かだめなところがあるのかもしれません。
もうちょっとソースを見て考えてみます。
ご回答ありがとうございました。

264 :Name_Not_Found:2007/02/01(木) 11:19:32 ID:7TGmmUWu
iframe内が更新されるたびにイベントを受け取るのは
onchangeでよいのでしょうか?

265 :Name_Not_Found:2007/02/01(木) 12:42:44 ID:7TGmmUWu
iframe の contentDocument.location.href の設定は出来ますが、
取得ができません。仕様でしょうか?

以下はFirebugでのログです。
「Permission denied to get property HTMLDocument.location」

266 :Name_Not_Found:2007/02/01(木) 13:01:42 ID:???
>>265
同一鯖なら取れるがそうでなければ取れない。

267 :265:2007/02/01(木) 13:03:47 ID:7TGmmUWu
んー、別サーバなんです。。
別の方法を考えないといけません。
iframeじゃなくてframeでも一緒かな。。

268 :Name_Not_Found:2007/02/01(木) 13:10:18 ID:???
>>263
グーグルに使用説明ページがあるだろ。
ちょっと読んでみたが、引数に文字列なんか渡してなかったぞ。

269 :Name_Not_Found:2007/02/01(木) 13:17:37 ID:???
>>267
一緒。別の方法なんて基本的にない。

270 :265:2007/02/01(木) 14:07:30 ID:7TGmmUWu
proxy的なCGI用意すればできるけど
大人気ないなぁ。。

271 :Name_Not_Found:2007/02/01(木) 16:35:02 ID:???
PHPで言う所の $_SERVER['REQUEST_METHOD']のように
ページにアクセスする際に使用されたリクエストのメソッドを
取得する方法はあるのでしょうか?

272 :Name_Not_Found:2007/02/01(木) 19:39:55 ID:yfO4t4mb
プルダウンメニューの選択の可否を ラジオボタンで制御したいと考えています
(「半そで」「長袖」のプルダウンが選べるのは「Tシャツ」のラジオボタンに
チェックを入れたときだけに限る と言った感じで)

色々調べてやってみたのですがうまくいきません ご助言をいただけたら幸いです

HTML部分
<form action="check.php" method="post" name="form_0">
身長<input type="text" name="length" size="8" value="170" />cm(センチでご記入下さい)<br />
<br />
服の種類と、タイプをお選び下さい<br />
<input type="radio" name="form_radio" value="1" checked="checked" />Tシャツ  
<select name="select1" >
<option value="short" selected="selected">半そで</option>
<option value="long">長袖</option>
</select><br />
<input type="radio" name="form_radio" value="2" />ズボン  
<select name="select2">
<option value="jeans" selected="selected">ジーパン</option>
<option value="chino">チノパン</option>
</select>
<br />
<input type="submit" value="調べる" />
</form>

273 :272:2007/02/01(木) 19:40:33 ID:???
javascript部分
if(window.document.form_0.form_radio[0].checked == "true"){
window.document.form_0.select1.disabled = "";
window.document.form_0.select2.disabled = "true";
}
if(window.document.form_0.form_radio[1].checked == "true"){
window.document.form_0.select1.disabled = "true";
window.document.form_0.select2.disabled = "";
}

宜しくお願いいたします

274 :Name_Not_Found:2007/02/01(木) 19:53:15 ID:???
function disableSelect(){
if(document.forms["form_0"].elements["form_radio"][0].checked == true){
document.forms["form_0"].elements["select1"].disabled = false;
document.forms["form_0"].elements["select2"].disabled = true;
}
if(document.forms["form_0"].elements["form_radio"][1].checked == true){
document.forms["form_0"].elements["select1"].disabled = true;
document.forms["form_0"].elements["select2"].disabled = false;
}
}

ページを読んだときとラジオボタンをクリックしたときに呼ぶ

275 :Name_Not_Found:2007/02/01(木) 19:53:26 ID:???
脊髄反射レス
"true"って文字列で囲う意味がわからん

276 :Name_Not_Found:2007/02/01(木) 20:06:37 ID:???
element.setAttribute("onclick", new Function("clickHandler(event);"));
この式で呼び出す関数に、変数の引数?をつける方法は無いんですか?

element.setAttribute("onclick", new Function("clickHandler(var1,var2);"));
上記のように出来ないかと言う事です。

277 :276:2007/02/01(木) 20:40:38 ID:???
すいません。
引用符の位置が間違えてただけでしたorz

278 :276:2007/02/01(木) 20:49:23 ID:???
あ、やっぱ動いて無いわ。
titleのツールチップで見たら変数が代入されているみたいだが、onclickにしても起動しないっぽい。

279 :Name_Not_Found:2007/02/01(木) 21:03:50 ID:???
>>278
わかってやってるのかと思ったけど
イベント関連は setAttribute ではつけられないブラウザもあるよ

280 :Name_Not_Found:2007/02/01(木) 22:22:55 ID:???
リンクをクッリクすると、リンク先がすぐ表示されるのでなく、ボワッと
浮かびあがるように表示させることはJavaScriptで可能でしょうか?
 曖昧な表現ですいません



281 :Name_Not_Found:2007/02/01(木) 22:28:20 ID:???
やろうと思えばできる
でもあまり歓迎されないのではないかと

IE 専でよければトランジション

282 :Name_Not_Found:2007/02/01(木) 22:41:17 ID:???
>>281 すばやい回答 さんくすです

283 :Name_Not_Found:2007/02/01(木) 22:41:17 ID:???
>>279
setAttribute以外で出来ないのでしょうか?

obj.onclick = func;
こう言う方法だと引数は取れないですよね?

284 :Name_Not_Found:2007/02/01(木) 22:43:43 ID:???
訂正
>>281 すばやい返答 さんくすです

285 :Name_Not_Found:2007/02/01(木) 22:45:41 ID:???
obj.onclick = "func()";

286 :Name_Not_Found:2007/02/01(木) 23:18:37 ID:???
>>285
それで動きます?
文字列と判断されてるみたいで動かないんですがorz

287 :Name_Not_Found:2007/02/01(木) 23:27:05 ID:???
obj.onclick = function(){return func();};

288 :Name_Not_Found:2007/02/01(木) 23:33:58 ID:???
最近非常に低レベルなくせに回答したがるアホがいて困るね。
1回ミスったら100レスは質問に回答するの控えるように。

289 :Name_Not_Found:2007/02/02(金) 00:03:22 ID:???
//IE
obj.attachEvent("onclick", function(){});

//その他
obj.addEventListener("click", function(){}, false);

290 :Name_Not_Found:2007/02/02(金) 00:04:43 ID:???
>>289


291 :Name_Not_Found:2007/02/02(金) 09:16:26 ID:???
文法の質問なんですが、オブジェクト変数からオブジェクトのIDを文字列として
取得したい場合、どうすればよいでしょうか?

参考書やWebを調べたところ、下記のようにすれば取得できるらしいのですが、
やってみたら何も取得できませんでした。

//呼び出し元では引数としてthisなどを渡す。
func(obj) {
var objId = obj.id
}

292 :Name_Not_Found:2007/02/02(金) 09:23:11 ID:+NIFvoDP
sortの検索条件に二次条件を付け加えるにはどうしたらいいのでしょうか?

既存のsortプログラムにつけ加えるだけで実行可能なものがあればありがたいのですが
既存のものを解読し改良しようとしたのですがうまく行きませんでした


293 :Name_Not_Found:2007/02/02(金) 10:25:18 ID:???
>>292
比較のための関数本体の中の一次条件の分岐で == のブロックがあるだろう。
そのブロック内で二次条件を付け加えればよいだけ。

歴史的に、Array#sort() は、Perl のそれを模倣して作られた。
だから、Array#sort() の応用的利用なら、
書籍「Effective Perl」を一読するだけで、スキルアップできると思う。

>>291
id という名前のプロパティがあって、かつ、値が入っていれば、取得できるだろう。
というか、取得できなければ、id という名前のプロパティは (?:無い|JSからは見えない) 、
または、値が入っていない、というわけだ。
id という名前のプロパティがあるオブジェクトの一例は、HTMLの要素オブジェクト。
HTMLのID属性として値が明示されていれば、取得できる。
言うまでも無く、JSで、id という名前のプロパティの値を事前に割り当てていれば、取得できる。
ただし、id という名前のプロパティは必ずしも書き込み可であるわけではないから、注意。

IEなら、HTMLの要素オブジェクトに、uniqueID という名前のプロパティもあり、
自動的に値が入っている。

これは余談だが、過去において、NN4のLayerオブジェクトも、
idという名前のプロパティに自動的に値が入っていたし、
これの値をHTMLの属性値として明示した時に限り、
その明示した値がidプロパティ値になった(つまり、後から変更不可だった)。
IEのuniqueIDが書き込み不可であるのと似ている(IEは書き込もうとすると黄色三角が出る)。

294 :272:2007/02/02(金) 11:09:21 ID:???
返事が遅くなってすいませんでした
>>274
ありがとうございました! できました!
関数にしてbodyタグとラジオボタンのタグの両方に挿入しないといけないんですね
ドキュメントの指定方法も勉強になりました ありがとうございます

>>275
だめもとで""でくくってみてたのを 直してませんでした アホですいません


295 :Name_Not_Found:2007/02/02(金) 12:17:39 ID:???
>>291 GeckoでもIEでも動くようだが。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() { func(document.body.firstChild); }
function func(obj) { var objid = obj.id; alert(objid); }
</script>
</head><body onload="test()"><p id="xx">Test</p></body></html>
>>292 こういうのかね。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<script type="text/javascript">
var a = [{x:1, y:0}, {x:2, y:0}, {x:1, y:2}, {x:3, y:0}, {x:1, y:3}];
a.sort(function(u,v){if(u.x==v.x) return u.y - v.y; else return u.x - v.x;});
for(var i = 0; i < a.length; ++i) document.write(a[i].x+':'+a[i].y+'<br>');
</script>
</body></html>
>>293 回答は簡潔かつ要領を得るように頼むわ。読む時間が無駄すぎ。

296 :Name_Not_Found:2007/02/02(金) 14:25:53 ID:???
setattributeでのイベントハンドラ付加が上手くいかないので(主要な対処法は上手く行かないです)、
一度title属性を付けて、後からonclickに置換したいんですが上手くいきません。
obj[i].innerHTML.replace("title","onclick");
記述が間違っているのでしょうか?

297 :Name_Not_Found:2007/02/02(金) 14:46:04 ID:???
>>296
対処方法はいくらでも説明されてると思うがそれを読んでできないのなら
あんたの技量不足だからあきらめた方がいいと思うね。
obj[i].innerHTML = obj[i].innerHTML.replace('title','onclick');
じゃないの。アホか。しかし力技で恐ろしげな設計だねえ。
あとinnerHTMLなんだからobj[i]自体のハンドラには影響しないけど
それでいいわけね?

298 :Name_Not_Found:2007/02/02(金) 15:02:34 ID:???
>>297
あなた場違いなので出ていったほうがいいわよ

299 :Name_Not_Found:2007/02/02(金) 15:19:54 ID:???
>>297
ありがとうございます。
一応出来たんだがあまり気持ち良いものでは無いorz

下の式みたいに出来ないのでしょうか?
for (var i=0; i<obj.length; i++) {
var number = i+1;
obj[i].setAttribute('onclick',new Function("alert(number)"));
}
これはIEでの、あるリストに張られたリンクにonclickハンドラを付けて、
順番に1からアラートを出そうとした式の一部なんですが、
どうしてもnumberが認識されません(宣言されて無いと出る)。
解決策は無いでしょうか


300 :Name_Not_Found:2007/02/02(金) 16:01:02 ID:???
>>299
だからsetAttribute()ではできないってば。過去ログ探せば沢山ある。
http://user.ftth100.com/mirrorhenkan/javascript/read.php/1103844975/
の424〜437とか読んでみれば。まったく同じことやってるだろ。そこで
どういうことが問題になってるかよく読んで理解してくれ。
今回サービスで探してやったけどこれからは自分で探せ。
>>298
ふーん、洩れは罵倒はするがちゃんと教えるようにもしてるよ。
アンタみたいなメタ議論だけのとどっちがスレのためなんだね?

301 :Name_Not_Found:2007/02/02(金) 16:12:32 ID:???
>>300
ちょっと訂正、setAttribute()でうまくハンドラ設定できないブラウザ
もあるという話だっけ?ともかくそのnew Function()はやめた方が。
または「new Funciton("alert(" + number + ")")」これはあまり
好きじゃない方法だけどねー(読みにくいし拡張性に欠けるから)。

302 :Name_Not_Found:2007/02/02(金) 16:29:16 ID:???
>>300
ようやく出来ました。
感謝します(^^)

303 :Name_Not_Found:2007/02/02(金) 17:23:04 ID:???
IEに関しては、2005年夏以前のクロージャ絡みのリークコードは黒歴史として葬った方が良いだろう。
この問題が発生する場合、過去ログ検索は負の遺産を再生産し続けるだけだ。

むしろ、>>301みたいなコーディングが安全だから。

304 :Name_Not_Found:2007/02/02(金) 17:33:52 ID:???
>>303
おい半可通、だから洩れは>>300のようにリークのない版を
調べて提示してるんだが。

305 :Name_Not_Found:2007/02/02(金) 17:36:00 ID:???
これからIE7になるんだからリーク問題は減ってくでしょ。
ブラウザのバグのために読みづらいコード書いて別のバグ出す
んじゃ非生産的だと思うな。

306 :Name_Not_Found:2007/02/02(金) 17:51:35 ID:???
>>304
違うなあ。>>299のエラーメッセージを見てみろ。
関数の中に書いているわな。
つまり、何を提示しようとも、その関数の中にコピペするわけだ。

とにかく、クロージャを質問するような人間に見せるな。使うな。使いたければ、そういう言語を選べ。

つうか、何回指摘してやっても、リークを理解できなかったおまえが能書きたれるなよwww

307 :Name_Not_Found:2007/02/02(金) 18:03:57 ID:???
>>305
読みづらいか?読みづらいとしたら、その人はJS歴3日とかだろ。

あと、もし、「これからの環境を考慮して」と言うなら、
document.attachEvent('onclick', function (e) {
  var as = document.links;
  var i = 0;
  var c = as.length;
  var t = e.srcElement;
  for (; i < c; i++) {
    if (as[i].contains(t)) {
      e.returnValue = false;
      alert(i + 1);
    }
  }
});
これが一番堅牢だ。そして、リンクが1000や2000あっても、IE7が動くPCなら、一瞬で走査する。
堅牢とは、現在、innerHTMLが完全にスタンダード化していて、
document.body.innerHTML = document.body.innerHTML.replace(....)
みたいなコードが星の数ほどある。こういう書き換えに対して、
...onclick = 関数 は、手も足も出ないというか、消されてしまう。
IE の ...setAttribute('onclick', 関数) は、setAttribute じゃなくて、これと同じ、消される。

308 :Name_Not_Found:2007/02/02(金) 18:11:42 ID:???
毎回ループして調べるって抵抗あるなあ。alertが1個なら
別にあれでもいいんだけどもっと込み入ったことを、たとえば
10行くらいの内容を、new Function()の文字列で渡すのは御免だな。
いや、アンタが好きならそりゃ別にご自由にだけどさ。

309 :Name_Not_Found:2007/02/02(金) 18:17:35 ID:???
いまだにSafari1.3にも対応している俺としてはどうでもいい議論だ

310 :Name_Not_Found:2007/02/02(金) 19:11:27 ID:???
>>307
IEのsetAttributeは『element[name] = value のシンタックスシュガー』
だから別にinnerHTML書き換えても消されたりしないよ
(むしろちゃんとした実装の方が書き換えで消されると思う)

無駄に補足しとくとIEでsetAttributeでイベント属性名とnew Functionつっこんで動くのもそのせい
DOMの仕様ではsetAttributeの第二引数はDOMString型だから、ちゃんとした実装なら
例えばdocument.body.setAttribute("onclick", new Function("alert(1)"))ってした場合
Function#toStringで文字列に変換するのでbody要素のonclick属性値は"function(){alert(1);}"かそれに近いものになる
だから(関数実行するコードじゃないから)動かないんだよ

311 :Name_Not_Found:2007/02/03(土) 00:20:03 ID:???
>>293>>295
解決しました。
ご指摘どおりで、呼出元でのオブジェクト取得が失敗してました。
わざわざありがとうございました。

312 :Name_Not_Found:2007/02/03(土) 01:04:37 ID:???
変数名を文字列として取り出せないのでしょうか。
var foo1 = "abc";
var foo2 = 123;

foo1から"foo1"を得たいです。




313 :Name_Not_Found:2007/02/03(土) 09:26:51 ID:???
>>312
foo1を実行した時点で値が取り出されて「"abc"」
になってしまう。「"abc"」が入っている変数がいくつも
あるかも知れないがそれを承知でやるなら
for(var name in window) { if(window[name] == foo1) alert(name); }

314 :Name_Not_Found:2007/02/03(土) 11:01:24 ID:???
>>312
var obj = { "foo1": "abc", "foo2": 123 };
という方針の設計にすることをオススメする。

315 :Name_Not_Found:2007/02/03(土) 13:07:14 ID:???
板違い気味ですみません。

Sleipnir最新版にアップデートしたら、ローカルのHTMLファイル(自作js入り)をダブルクリック時に、
ブラウザ上部に
「セキュリティ保護のため、コンピュータにアクセスできるアクティブコンテンツは〜」
メッセージが出るようになってしまいました。

ただし、yahooのページ(ローカルに保存したもの、js入り)を開いた場合はメッセージがでません。

jsを書くのが面倒になるので何とかしたいのですが、
原因と解決方法ご存知の方いませんか?

316 :Name_Not_Found:2007/02/03(土) 15:36:47 ID:???
>>315
ActiveX使ってるのでは?
JavaScriptというか、JScriptね
IE(およびIEコンポネートを使っている)
ブラウザ以外で動かなければ間違いなくJScript

もしそうならセキュリティーの設定を変更するしかない

317 :Name_Not_Found:2007/02/03(土) 15:46:30 ID:???
>>315
Sleipnir は知らんけど IE ならファイルの先頭に
<!-- saved from url=(0014)about:internet -->
って書けばセキュリティゾーンが変わる。

yahooの保存したファイルも見てみ。

318 :Name_Not_Found:2007/02/03(土) 17:08:26 ID:???
ありがとうございます。

>>316
自作ファイルには、
<script language="javascript"></script>
とだけ入れています。
やはりSleipnirアップデートによってセキュリティ設定が厳しくなったみたいですね。

>>317
コメントを入れるか、Web上に置いてhttpアクセスすると、メッセージは出ませんでした。
ただ筋として、まずセキュリティ設定を下げる方向でやってみます。

319 :Name_Not_Found:2007/02/03(土) 22:15:01 ID:???
お世話になります。
<a href="#" onClick="">
このようにして javascript の挙動を描いていますが、リンクをクリックした際に
ページの先頭に移動してしまいます。
これを防ぐ手だては無いでしょうか?ぐぐるにも、キーワードが絞り込めずに参っています。



320 :Name_Not_Found:2007/02/03(土) 22:21:07 ID:???
>>319
まずFAQ嫁
>>3

321 :Name_Not_Found:2007/02/03(土) 22:33:36 ID:???
>>319
FAQが熟読できない奴は帰れ!

322 :Name_Not_Found:2007/02/03(土) 22:38:05 ID:???
>>320-321
Q7が該当してました。本当に申し訳ないです。
これからは、ぐぐる前にFAQ熟読します。


323 :Name_Not_Found:2007/02/03(土) 23:53:57 ID:???
>>313
>>314

言語仕様的には無理って事ですね。
サンクスです。

今は
trace("foo1");
にして中でevalとか苦しいことをやっているので
 trace(foo1);
にできたらいいと思ってたんですが。

324 :Name_Not_Found:2007/02/04(日) 00:26:12 ID:???
自分が使っているフォントだと、…(三点リーダ)が...こんな風に表示されてしまいます。
そこでJavaScriptで…の部分だけフォントを変えたいのですが、その方法がよく分かりません。
何か良い方法はあるでしょうか。と言うか、これをJavaScriptでやるのは間違っているでしょうか?

325 :Name_Not_Found:2007/02/04(日) 00:42:43 ID:???
>>324
CSSで「.x { font-family: ... }」とか指定しておき、
bodyのonloadハンドラで次の動作を実行させるとかかな。試してないけど。
document.body.innerHTML = document.body.innerHTML.replace(/…/g, '<span class=x>…<\/span>');

326 :Name_Not_Found:2007/02/04(日) 00:44:49 ID:e5fg+rg3
3点リーダだけspanでくくってstyleでフォントを指定してやればいいだけなんじゃないの?

327 :326:2007/02/04(日) 00:45:19 ID:???
上げちまった
失礼

328 :Name_Not_Found:2007/02/04(日) 01:06:20 ID:???
>>326
うーん、結構多様するから出来ればそれは避けたいんです。

329 :Name_Not_Found:2007/02/04(日) 11:07:43 ID:???
>>328
一文字なので(正確には、複数のNodeにまたがっていないので)、簡単だろ。
innerHTMLを置換する(つまり必要以上にNodeを破棄して新規に構築する)
のを嫌っているのだろうとも思えるのだが、なんにせよ、
自分なりに何か考えた途中結果を出すべきじゃないかな。

330 :Name_Not_Found:2007/02/04(日) 14:21:24 ID:???
>>328
いや、単に >>325 が理解できないので無視してるとかじゃないの?

331 :Name_Not_Found:2007/02/04(日) 16:20:20 ID:???
タイムゾーンを日本時間にしてあるPC上のブラウザでサマータイムのある国の
時刻を表示するには、サマータイムの期間を調べて、サマータイム期間中は
Dateオブジェクトに1時間足すようなコードを自力で書いてやらないとだめですよね?

332 :Name_Not_Found:2007/02/04(日) 17:26:40 ID:bpHINXiw
連番の画像をロード時に読み込むときに、指定のサイズに縮小したいのですがうまくいきません
仕方なく表示のときにサイズを変えてみたところ画像だけ縮小されて、テーブルが実サイズにリサイズされてしまいました
ロード時にサイズを変更できればうまく行くと思うのですが何か方法はありませんか?

function setting(name, file){
  for(i=1; i<=animeMAX ; i++){
    prImg[i] = new Array();
    for(j=1; j<=fileMAX; j++) prImg[i][j] = document.createElement("IMG");
  }
  for(i=1; i<=animeMAX ; i++){
    for(j=1; j<=fileMAX; j++){
      if(j<10){
        url = file + i + "/" + name + "0" + j + ".jpg";
      }else{
        url = file + i + "/" + name + j + ".jpg";
      }
      prImg[i][j].src = url;
    }
  }
}

333 :Name_Not_Found:2007/02/04(日) 18:58:43 ID:???
>>331
そうですね。

334 :Name_Not_Found:2007/02/04(日) 19:02:03 ID:???
>>332
サイズが縦横の pixel のことなら、
その setting で height と width を設定すれば良いだけでは?

335 :332:2007/02/04(日) 19:47:02 ID:bpHINXiw
%指定も大丈夫ですか?
なら何とかなりそうです

336 :Name_Not_Found:2007/02/04(日) 20:16:33 ID:???
>>335
大丈夫だけど、DOMプロパティ(HTML属性)の場合、
CSSと比較して、定義がかなり曖昧で、実装バグの回避方法に関心がある人はほとんど居ない。
>>332
//関係ないが、明らかに無駄が多い。
//たとえば、"000" から "999" まで出力するとする。
for (var i = 0; i < 1000; i++) {//0から1000までの1001回のチェック。
  if (i < 10) print('00' + i);//0から999までの1000回がこのチェックをされる。
  else if (i < 100) print('0' + i);//10から999までの990回がこのチェックをされる。
  else print(i);
  //計 1001 + 1000 + 990 = 2991 [回] のチェック。
}
//1桁と2桁の数値より3桁の数値が多いので、逆順でチェックする。
for (var i = 0; i < 1000; i++) {//0から1000までの1001回のチェック。
  if (99 < i) print(i);//0から999までの1000回がこのチェックをされる。
  else if (9 < i) print('0' + i);//0から99までの100回がこのチェックをされる。
  else print('00' + i);
  //計 1001 + 1000 + 100 = 2101 [回] のチェック。
}
//無意味なチェックを排除するために、ループを分ける。
for (var i = 0; i < 10; i++) print('00' + i);//0から10までの11回。
for (; i < 100; i++) print('0' + i);//10から100までの91回。
for (; i < 1000; i++) print(i);//100から1000までの901回。
//計 11 + 91 + 901 = 1003 [回] のチェック。
//時間を計ってみる。
function u() {for (var i = 0; i < 1000; i++) {if (i < 10); else if (i < 100); else;}}
function v() {for (var i = 0; i < 1000; i++) {if (99 < i); else if (9 < i); else;}}
function w() {for (var i = 0; i < 10; i++); for (; i < 100; i++); for (; i < 1000; i++);}
function b(f) {var i = 0; var s = new Date; for (; i < 65536; i++) f(); return new Date - s;}
b(u);// 11563
b(v);//  9438
b(w);//  4390

337 :Name_Not_Found:2007/02/04(日) 21:12:47 ID:???
その分かりにくいコードより元の素直なのがなんぼもマシ。
65536回やっても1秒違わないわけだろ。

338 :Name_Not_Found:2007/02/04(日) 21:18:48 ID:???
>>337
ループを分けるのが判り難いとほざくのは、プログラミング歴3ヶ月以下の学生だな。

339 :Name_Not_Found:2007/02/04(日) 21:39:04 ID:???
変なのがいますね

340 :Name_Not_Found:2007/02/04(日) 21:50:03 ID:???
私なら…
for(j=1; j<=fileMAX; j++){

var numStr = "000"+j ;
url = file + i + "/" + name + numStr.substr(-3,3) + ".jpg";
prImg[i][j].src = url;

}

とか書くかな。

>>336 正直、そのコードは保守性が低くなるだけで、メリットはほとんど無い。

341 :Name_Not_Found:2007/02/04(日) 21:55:31 ID:???
全然違うね。コードを組んでいくと次第に混み入って来て
最後は人間の頭に載らなくなって組めなくなるだろ。その
限界に近付いた時にその中にある個々のコードの断片が
分かりやすい程全体として先まで行けるんだよ。性能が
どうとかいうのはちゃんと組めて動かせてから問題に
なるもんだろ。そしてCPU時間の90%はコードの10%の
部分で消費されるからそこだけ分かりやすさを落して
でもチューニングする。最初から個々の断片の分かり
やすさを犠牲にするなんてそれこそ素人だね。1つの
ことをやるのなら1つのループにしといた方が絶対に
読みやすいよ。いやまあ、各自組みたいように組めば
いいんだけど洩れはそう考えてるわけさ。

342 :Name_Not_Found:2007/02/04(日) 21:58:34 ID:???
そもそも0フィルの定石「String(10000+j).substring(1)」
とかを使うのが一番分かりやすいと思うけどな。

343 :Name_Not_Found:2007/02/04(日) 22:02:48 ID:???
>>341
だから、ループを分ける程度でうろたえるなよ。誰でも、ごく普通に、やることだから。JS界隈が極端に低レベルなだけなんだよ。

>>340
まず、マジレスしておくと、String#substr() は、8年前に削除されそうになったが、
古いコードを処理するために、かろうじて仕様の付録に残されたメソッドだ。
新規のコードで使う物ではない。

function x() {for (var i = 0; i < 1000; i++) ('00' + i).slice(-3);}
//次は、計測用に、その読みやすい(笑)コードに合わせて処理を追加した。
function u() {
  for (var i = 0; i < 1000; i++) {
    if (i < 10) '00' + i; else if (i < 100) '0' + i; else i;
  }
}
function v() {
  for (var i = 0; i < 1000; i++) {
    if (99 < i) i; else if (9 < i) '0' + i; else '00' + i;
  }
}
function w() {
  for (var i = 0; i < 10; i++) '00' + i;
  for (; i < 100; i++) '0' + i;
  for (; i < 1000; i++) i;
}
//ミリ秒の単純引き算をミスるほど、差1秒以内に拘る>>357の為に、8192回にした。
function b(f) {var i = 0; var s = new Date; for (; i < 8192; i++) f(); return new Date - s;}
//結果。
b(u);// 1453
b(v);// 1187
b(w);//  546
b(x);//26593 ぉぃぉぃ、こんな読みやすい(笑)コード書くなよ、プログラミング初心者の>>340

344 :Name_Not_Found:2007/02/04(日) 22:08:06 ID:???
昔、Z80とかの非力なCPUで、どうしてもチューニングしなきゃならんときに、そう言う手法は使ったが…
さすがに、今、しかもユーザーサイドのスクリプト言語でやろうとは、思わんな。

345 :Name_Not_Found:2007/02/04(日) 22:28:52 ID:???
性能のために読みにくくするというのが時代錯誤。
ループ1個を2つに分けたら「読めなくなる」わけはない
けど「読みにくい方向への手直し」だから時代錯誤。

346 :Name_Not_Found:2007/02/04(日) 22:30:12 ID:???
うはキモさが増した

347 :Name_Not_Found:2007/02/04(日) 22:39:05 ID:???
>>336,343

それ、1ページに何枚画像表示するつもりの計算なの?

348 :Name_Not_Found:2007/02/04(日) 22:41:43 ID:???
JS が遅れてるって普段どんな高尚な言語使ってんだよ
今時のコンパイラは固定回数のループは勝手に書き換えるしな

少しでもコーディングを楽にしようって
富豪的プログラミングに移りつつある中で
時代錯誤もいいとこだよ

349 :Name_Not_Found:2007/02/04(日) 22:44:40 ID:???
>>1
・対象環境や使用技術は質問者の裁量であることを理解する者
ってあるだろ。あとは質問者が選べば。言い合いの煽り合いなんて
意味ないもん。主張があれば言えばいいだけで。

350 :Name_Not_Found:2007/02/04(日) 22:46:27 ID:???
>>348
JavaScriptの処理系がそれをやってないことくらい分かれよ馬鹿。

351 :Name_Not_Found:2007/02/04(日) 22:46:52 ID:???
少なくとも今の件では、場合分けをループ内で行う理由が無いのだから
ループを切り分けるのは自然な思考だと思うが。
だから>>336の保守性が低いとは思えん。
削れるところで削っておいて損はない。

俺はループのネストが読みやすいとは思わないな。

352 :Name_Not_Found:2007/02/04(日) 22:50:32 ID:???
>>350
じゃあどんな言語が高レベルなんですか。
インタープリタ言語で何が高レベルなんですか馬鹿。

353 :Name_Not_Found:2007/02/04(日) 22:52:26 ID:???
webプログラミングだって事、理解してんのかねぇ…

あきらかに、常識外れの想定して、"遅い"だの"効率が悪い"だの言ってるけど、
常識内の想定なら、コード量減らして、通信容量の心配した方が良いんじゃねーの?としか思えんがな…

354 :Name_Not_Found:2007/02/04(日) 22:54:50 ID:???
>>353
コード量が増えてるか?
俺はわざわざ条件処理の回数を厳密に書いてやったが、文字数も数えてやった方が良いのか?

355 :347:2007/02/04(日) 22:59:19 ID:???
>>354
いい加減、発想が時代遅れだって理解しろよ。

数レス前にした質問を繰り返すけどさ、おまえさんの想定している画像の表示枚数は、1ページに何枚だ?

356 :Name_Not_Found:2007/02/04(日) 23:01:58 ID:???
>>354
比べてみれば?

>>340や、>>342が示したコードと、君の"正しい"コードと。

357 :Name_Not_Found:2007/02/04(日) 23:06:09 ID:???
>>355
>>336
>//関係ないが、明らかに無駄が多い。
>//たとえば、"000" から "999" まで出力するとする。

画像?計時して分かりやすいように別の状況を想定しただけだが、何を言いたいんだ?

まあ、好きにしろ。あまり叩くと、読みやすい教の洗脳が深まるだけだから、やめといてやるよ。

あと、テキストファイルの転送速度がネックになるのは皆無だ。それこそ、時代錯誤だぞ。
ウェブページで最大のネックは、描画速度だ。
結局、好きに書け、>>340みたいな醜態を晒さない程度に、という結論になっても、それはそれで正しい。
が、ループを分ける、ていどでうろたえるなよ、とだけ繰り返しておこう。頭悪すぎるぞ(あ、また叩いて洗脳深めちゃうなw)

358 :Name_Not_Found:2007/02/04(日) 23:08:28 ID:???
ウェブで最大のボトルネックは
リッチコンテンツの転送速度でしょ

359 :Name_Not_Found:2007/02/04(日) 23:08:56 ID:???
自分の主張が通らなかったとかいって未練たっぷりだねえ。
ご愁傷様。いちおう2ちゃんらしい煽りでした(w

360 :Name_Not_Found:2007/02/04(日) 23:09:41 ID:???
ああこういう老害いるいる
こういうひとは「勉強になります大将」とか言ってお茶濁しとけばいいんだよ

361 :Name_Not_Found:2007/02/04(日) 23:11:45 ID:???
ID出ない板は無駄に疲れる

362 :Name_Not_Found:2007/02/04(日) 23:12:08 ID:???
>>357
実用上全く問題にならない"無駄"を"正しいスクリプトで改善"する為に、直接、金の絡む、通信容量の心配なんて、大した問題では無い。

こう言う結論ですね。

363 :Name_Not_Found:2007/02/04(日) 23:12:16 ID:???
>>358
話拡げるなよ負け犬の詭弁野郎が。

364 :Name_Not_Found:2007/02/04(日) 23:14:05 ID:???
はい煽り合いのレス無駄づかいおしまいね。どうせまた
再発するだろうけど。過去にも何回もやってる論争だしね。
過去にどういう風に終わったか見とくといいんじゃないですかね。

365 :Name_Not_Found:2007/02/04(日) 23:15:08 ID:???
>>362
さすがに>>340みたいなのは問題になる。同じテストを非力なマシンでやれば数分かかるか、フリーズする。

366 :Name_Not_Found:2007/02/04(日) 23:18:26 ID:???
fileMaxの値によるんでしょ。それで終わりでいいじゃん。

367 :347:2007/02/04(日) 23:20:18 ID:???
>>365

だからさぁ…、どういう想定してるわけ?

よーーーく、考えてみなよ。

たとえば、1ページで1000枚のサムネイルを表示するとしよう。
私なら、こう言う、"お前馬鹿だろ?"と。

368 :Name_Not_Found:2007/02/04(日) 23:21:16 ID:???
だからfileMaxの値によるんでしょ。レスの無駄使いやめようよ。

369 :Name_Not_Found:2007/02/04(日) 23:21:32 ID:???
>>363
Opera とか使ってみるといいよ。

html を解析して DOM を構成して
DOMContentLoaded でごそごそやった後に
後から画像が差し込まれる。

ミリ秒をちまちま削ったところで
画像一個で相殺される。

370 :Name_Not_Found:2007/02/04(日) 23:24:43 ID:???
つうか、洗脳が深いな。客観的に見てみろ。
高性能なマシンが普及した。これは事実だ。
しかし、JavaScript も JScript も、後方互換のしがらみで、大きな進化はしてないよ。
JScript はいつまでたってもキャシュすべきところをそうしない。
JavaScriptで変数やプロパティの宣言順序を気にしなくてよくなったのはつい最近だ。
つまり、コード書く人間の助力が大いに必要なんだよ。

あと、読みやすいコードを書いているんじゃなくて、暗記できた短い構文をスラスラ反芻してるだけだろ。
勿論、そういう気楽さを否定するつもりもないし、可能な限り楽をすれば良いと思うが、
それを処理するエンジンがレガシーを引きずっているのだから、机上の空論でしかないんだぞ。

371 :Name_Not_Found:2007/02/04(日) 23:25:19 ID:???
さあ>>363が顔を真っ赤にして言い返す文句を考えていまつ。
しばらくお待ちくださいなのでつ。

372 :Name_Not_Found:2007/02/04(日) 23:26:11 ID:???
もうやめようってば…

373 :Name_Not_Found:2007/02/04(日) 23:26:47 ID:???
>>369
>>357
>ウェブページで最大のネックは、描画速度だ。

374 :Name_Not_Found:2007/02/04(日) 23:26:50 ID:???
自分の主張だけが客観的だと主張する主観。

375 :Name_Not_Found:2007/02/04(日) 23:28:42 ID:???
ソフト書きで最大のコスト要因は人間の作業時間だという「常識」が
分かってないだけでしょ。

376 :Name_Not_Found:2007/02/04(日) 23:29:34 ID:???
自演って気づいてないのが自分だけってのもすごいな

377 :Name_Not_Found:2007/02/04(日) 23:32:28 ID:???
さてここで質問しよう。2つのプログラムAとBは客の注文を
同じように満たす。Bの方が20%ほど速い。Aの方が通読して
理解するのに20%ほど短い時間で済む。あなたならAとBの
どっちを選びますか。20%の速さか20%の読みやすさか。

378 :Name_Not_Found:2007/02/04(日) 23:33:49 ID:???
>>377
そういう話じゃないだろ。

379 :Name_Not_Found:2007/02/04(日) 23:34:05 ID:???
>>377
話そらすな。ループを分けることのどこが読みにくいんだ。関数 w と関数 u, v とに可読性の差は無いだろう。

380 :Name_Not_Found:2007/02/04(日) 23:35:39 ID:???
1つの作業に1つのループの方が「洩れは」読みやすいと考えているね。

381 :Name_Not_Found:2007/02/04(日) 23:36:00 ID:???
俺も

382 :Name_Not_Found:2007/02/04(日) 23:37:38 ID:???
>>380
しかし、上位桁に "0" を詰める時、ループを分けるのはかなり普遍的なパターンだ。
逆に、この問題で、ループを分けてなかったら、今回のように指摘したくなる。

383 :Name_Not_Found:2007/02/04(日) 23:37:55 ID:???
分かったよ、読みやすさの感覚が他人と違うせいでこういう
論争になってるわけなのね。それでおしまいでいいじゃん。

384 :Name_Not_Found:2007/02/04(日) 23:40:08 ID:???
いっそループ使わなきゃいいんじゃね

385 :Name_Not_Found:2007/02/04(日) 23:41:09 ID:???
>>382
そうなの?どの言語で?JSだったらこのスレでは
「String(10000+j).substring(1)」とかが一番多いし短くて
読みやすいとされてるでしょ。ループ周回数がひどく多い
(今回の場合はそれはない)場合以外は無問題。他の言語だったら
sprintf()とか使うよな普通。で、どの言語の話?

386 :Name_Not_Found:2007/02/04(日) 23:42:37 ID:???
>>382
だから、それが時代錯誤なんだってw

387 :Name_Not_Found:2007/02/04(日) 23:45:19 ID:???
他人の主張も受け入れて折り合いをつけられるようにならないと
2ちゃんやっててつらいよ…

388 :Name_Not_Found:2007/02/04(日) 23:46:58 ID:???
>「String(10000+j).substring(1)」とかが一番多いし短くて
>読みやすいとされてるでしょ。

多い、短い、読みやすい、全て事実だが、実行速度があまりに遅すぎる。

389 :Name_Not_Found:2007/02/04(日) 23:48:22 ID:???
>>388
だからそれを何回実行するかで取捨選択すればいいんでしょ。
10回とか100回でも絶対不可だと主張しやすか?本当に?

390 :Name_Not_Found:2007/02/04(日) 23:48:42 ID:???
>>388
おまえのコンピューターは、4004でも積んでるのか?

391 :Name_Not_Found:2007/02/04(日) 23:49:14 ID:???
早くAdobeのJIT技術がSpiderMonkeyに入ればいいと思う。
ttp://internet.watch.impress.co.jp/cda/news/2006/11/08/13860.html
ttp://www.mozilla-japan.org/projects/tamarin/faq.html


392 :Name_Not_Found:2007/02/04(日) 23:51:05 ID:???
つまりたとえ10回しか実行しなくても遅いと思うだけで
激しく嫌悪感がつのって受け入れられないと。それなら
そういう人間なんだから自分で他の方法を使うのはしかた
ないけど、それを他人に押しつけないでくれ。迷惑だから。

393 :Name_Not_Found:2007/02/04(日) 23:55:26 ID:???
老害

394 :Name_Not_Found:2007/02/04(日) 23:59:34 ID:???
計ってみたが 1552:521 でたった3倍しか違わなかった。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<script type="text/javascript">
var a = new Array(100000);
var t1 = new Date().getTime();
for(var i = 0; i < 100000; ++i) a[i] = String(1000000+i).substring(1);
var t2 = new Date().getTime();
var i = 0;
for( ; i < 10; ++i) a[i] = "0000" + i;
for( ; i < 100; ++i) a[i] = "000" + i;
for( ; i < 1000; ++i) a[i] = "00" + i;
for( ; i < 10000; ++i) a[i] = "0" + i;
for( ; i < 100000; ++i) a[i] = String(i);
var t3 = new Date().getTime();
document.write((t2-t1) + ':' + (t3-t2) + '<br>');
</script>
</body></html>

395 :Name_Not_Found:2007/02/05(月) 00:00:15 ID:???
まあいいじゃないか、どんな方法でも
そのときそのときによって使い分けるのが
賢いプログラミングというものだ

396 :Name_Not_Found:2007/02/05(月) 00:03:55 ID:???
>>395 がいいことを言った!

397 :Name_Not_Found:2007/02/05(月) 00:08:09 ID:???
こんな論争で60レスも浪費しちゃったよ…

398 :Name_Not_Found:2007/02/05(月) 00:17:45 ID:???
>>394
環境は?

399 :Name_Not_Found:2007/02/05(月) 00:24:52 ID:???
どんな環境でも比率として3倍

400 :Name_Not_Found:2007/02/05(月) 00:26:20 ID:???
Mac mini G4-1.42GHz mem1GB
-Firefox2
 2170:1154
-Safari
 26518:9526

Firefoxはたいしたものだ 2倍しか違わん
Safariは糞だな
まあこんだけ回せれば十分だろうが

401 :Name_Not_Found:2007/02/05(月) 00:30:04 ID:???
>>399
Fx2 1047:547 (やる度に結果が違うが、だいたいこのくらい)
IE6 4219:4813 (IE、遅いっす。と言うか、IE、subStrの方が速いっす。)

402 :Name_Not_Found:2007/02/05(月) 00:34:45 ID:???
Operaもやってみたっす。
Opera9.02 1360:4156 (やっぱり、subStrの方が速いっす。)

Fx2ループ分割、爆速っす。

403 :Name_Not_Found:2007/02/05(月) 00:40:07 ID:???
【 結論 】
開発で重要なのは老害の思い込みではなく、
想定環境に応じたテストケースの結果と、高速化の必要性を天秤にかける事

404 :Name_Not_Found:2007/02/05(月) 00:42:58 ID:???
正直、スクリプト言語で、こんな方法の高速化をしなきゃならない状況になったら、
それは、根本的に設計がおかしいか、言語の選択を間違っているか、どちらかだと思う。

405 :Name_Not_Found:2007/02/05(月) 00:45:42 ID:???
substr() に対して配列の処理のウェイトが大きいんじゃないか?

>>343 見たらゼロ埋めしたあと何もしてないんだな。
差を大きく見せるためだけの無意味なコードか。

406 :Name_Not_Found:2007/02/05(月) 00:51:02 ID:???
>>404
根本的に進化してないって言ってるだろ。だから人力が重要だって……。

>>405
アホがおかしなこと言うなよ。いわば定数項を削除して、できるだけ純粋な差を知るためだろ。

407 :Name_Not_Found:2007/02/05(月) 00:58:52 ID:???
>>405
substr() は仕様本文には無いと少し前にも言ったんだが。
つうか、>>394 にsubstr() は無いだろ。常連どもが使うわけがないから。

408 :Name_Not_Found:2007/02/05(月) 00:59:26 ID:???
また来たか

409 :Name_Not_Found:2007/02/05(月) 01:01:24 ID:???
すんまそん、substringですね、何となく打ち間違えて
そのまま動いてしまうので間違いに気がつかないという。

410 :Name_Not_Found:2007/02/05(月) 01:02:03 ID:???
以後、放置で。

411 :Name_Not_Found:2007/02/05(月) 01:03:19 ID:???
放置了解一人目
ノシ

412 :Name_Not_Found:2007/02/05(月) 01:03:44 ID:???
それでループ回数が10回とかでもsubstring()拒否な訳?

413 :Name_Not_Found:2007/02/05(月) 01:03:54 ID:???
そのうち「>>395を8192回読め」という書き込みが繰り返されそうで怖いな

414 :Name_Not_Found:2007/02/05(月) 01:07:47 ID:???
>>407
いろいろ試してみたんだが、おまえOperaで計っただろ。

Operaは、sliceが異様に重いぞ。Fx2で計ってみろ。ついでにIEでも。

415 :Name_Not_Found:2007/02/05(月) 02:05:49 ID:???
onload = function()
{
document.body.innerHTML = document.body.innerHTML.replace(/文字/gi, '<a href="hogehoge.html">文字<\/a>');
}

これが上手く機能しないんですが、どこが駄目なんでしょうか?

416 :Name_Not_Found:2007/02/05(月) 02:22:04 ID:???
問題なし

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=SHIFT_JIS">
<title>テスト</title>
<script type="text/javascript">
<!--
onload = function()
{
document.body.innerHTML = document.body.innerHTML.replace(/文字/gi, '<a href="hogehoge.html">文字<\/a>');
}
//-->
</script>
</head>
<body>
<p>文字文字君</p>
</body>
</html>

417 :Name_Not_Found:2007/02/05(月) 03:22:53 ID:???
>>416
htmlとjavascriptのcharsetが合ってないともしかして駄目ですか?
ちなみに文字の部分は記号なんですけど。

418 :Name_Not_Found:2007/02/05(月) 03:44:07 ID:???
>>417
>htmlとjavascriptのcharsetが合ってないともしかして駄目ですか?
なんだ?
htmlと外部jsファイルで文字コードが違うって事?
ならscriptタグにcharset指定追加しませり

419 :Name_Not_Found:2007/02/05(月) 05:48:02 ID:???
最近は、Jsonを使いまくってAJAXなんですが…
もうAJAJ(アジャジャ)って呼んでいいですか?

420 :Name_Not_Found:2007/02/05(月) 10:00:55 ID:???
>>417
まず日本語なしでやって確認すれ。それで動作すればコード問題。
コード問題を回避するには日本語文字を直接入れる代わりに
\uHHHH形式で入れればいい。終了。

421 :rinka:2007/02/05(月) 11:36:50 ID:b/GFT7m+
初めて、カキコミさせていただきます。

どうしても、javascriptエラーが消えず、途方にくれています。

ロールオーバーをしたいのですが、誰かがつくったソースのイメージを
いれかえただけなのですが、動かなくなってしまいました。

初歩的なミスだと思うのですか、基本的なjavascriptがわからず、
クライアントにせめられ困っています。

どなたか、エラーを直していただけませんでしょうか?

よろしくお願いいたします。

422 :rinka:2007/02/05(月) 11:38:09 ID:b/GFT7m+
リンクを忘れてました。すいません。。。。
こちらです。

http://www.townhoppers.com/th_test/home_en2.html?cl=2

423 :Name_Not_Found:2007/02/05(月) 11:38:44 ID:???
おかねはらえばやってくれるひとがいるとおもいます。

424 :Name_Not_Found:2007/02/05(月) 12:00:44 ID:???
>>421
誰かが作ったソース…

作者に聞けば良いだろう。当然、ライセンス受けているんだろう?

425 :Name_Not_Found:2007/02/05(月) 12:08:32 ID:???
動いてるじゃん

426 :Name_Not_Found:2007/02/05(月) 12:24:06 ID:???
普通じゃん

427 :Name_Not_Found:2007/02/05(月) 13:06:31 ID:???
>>421 allaboutのパクリ?なんにせよこれで金取っているとはw
    PRサイトでAjaxをメインに使うのは御法度だぜw

428 :Name_Not_Found:2007/02/05(月) 17:02:31 ID:???
こんにちは。
画像をクリックしたらそのクリックした座標をゲットする方法を教えてください。
画像の左上頂点を0,0とした座標です。

event.xでブラウザ全体での座標はゲットでき、
またimgをpositionアブソリュートで指定すれば、その位置との逆算から画像上の位置をゲットすることはできるんですが、
ページの構成上、positionアブソリュートは使いたくありません。

具体的にどんなことがやりたいのかというと、画像上に書かれているグラフの座標を取得してそれにより様々な結果を textarea に表示しようというわけです。

429 :Name_Not_Found:2007/02/05(月) 17:17:30 ID:???
>>428
img要素のoffsetTopとかoffsetLeftを取得して差し引けば
いいんでないの。

430 :Name_Not_Found:2007/02/05(月) 18:04:47 ID:???
>>428
<input type="image">

431 :Name_Not_Found:2007/02/05(月) 18:47:40 ID:???
>>430
送信とかせずに、一つのページ上(JavaScriptおんりー)でもそれが使えるでしょうか?
鯖でないローカルにおいても動作しないとダメなので。

onClickからフォームをsubmit リターンフォールすにして
GET文字列取得できるのかな?

432 :Name_Not_Found:2007/02/05(月) 18:57:03 ID:???
>>431
429の方法で。scrollXXXXもつかってくれ

433 :Name_Not_Found:2007/02/05(月) 19:04:03 ID:???
>>429 >>432
なんなんだよこれは!!!!
あのさ、




ほぼ思い通りの動作です。
大変ありがとうございました。
とほほをみていたのでoffsetTopとかが載ってませんでした。

434 :Name_Not_Found:2007/02/05(月) 19:18:59 ID:???
だからとほほなんか見るなとあれほど(ry

435 :Name_Not_Found:2007/02/05(月) 19:22:09 ID:???
ごめんなさい。てへっ

436 :Name_Not_Found:2007/02/06(火) 00:39:20 ID:+Hh0ICTQ
知識をお借りしたいのですが…

--------------------
<script language="JavaScript">document.write("<!--");</script>
あいうえお<br/>
<script language="JavaScript">document.write("-->");</script>
--------------------
とした時に、1行目で文法エラーとなってしまいます。

FireFoxのエラー情報によると、1行目の</script> の / の所を矢印がさしていますが、
例えば、
<script language="JavaScript">document.write("AAA!--");</script>
などとするとエラー自体は起こらなくなるので原因は <!-- だと思うのですが、
ここはどのように記述すればエラーは起こらなくなるでしょうか?

ちなみに、<!-- や &lt; などとした場合、<!-- と表示されてしまい
HTMLがコメントとならないので、駄目なようです。

すみませんがよろしくお願いします。

437 :Name_Not_Found:2007/02/06(火) 00:50:25 ID:???
すみません、

&lt;!-- や &amp;lt; などとした場合、<!-- と表示されてしまい…

です。


438 :Name_Not_Found:2007/02/06(火) 00:56:07 ID:???
>>436
普通に考えて無理だろ。

439 :Name_Not_Found:2007/02/06(火) 01:28:54 ID:???
JavaScript上で<!--は//と等価扱いじゃないかな。
JavaScriptでHTMLコメントを出力してどうしたいのか意味判らんけど、文字分解してinnerHTML追加したら成功したモヨリ

<div id="outputDiv"></div>
<script type="text/javascript">
outputHTML="" ;
<!-- document.getElementById("outputDiv").innerHTML = "<!-- てすと -->" ;//無視される

document.getElementById("outputDiv").innerHTML =
"test<"
+"!"
+"-"
+"- てすと -"
+"->test"
;

出力結果はsafariとfirefoxで共に「testtest」。ちゃんと「てすと」がコメントアウトされてるようだ

440 :Name_Not_Found:2007/02/06(火) 03:46:35 ID:TIPxpEPB
環境は、WinMe、128M、IE5.5です。

フリーのJavaScriptの使えるエディタはないでしょうか。
Aptanaというのは使ってみたのですが、
起動まで30秒ぐらいかかったり、終了するとエラーが出たり、
自分の環境には合いませんでした。


441 :Name_Not_Found:2007/02/06(火) 03:49:30 ID:TIPxpEPB
使えるというのは、ソースの色分けができる、
文法チェックができるなどです。

442 :Name_Not_Found:2007/02/06(火) 04:04:20 ID:???
>>436
\

443 :Name_Not_Found:2007/02/06(火) 06:14:01 ID:???
×:"<!--"
○:'<!--'

444 :Name_Not_Found:2007/02/06(火) 12:14:06 ID:/4F8iVui
うまくボタンにイベントを割り振ることができません。
※allBtn.setAttributes = ("onClick", "myFunc()");としても
※allBtn.onClick =  "myFunc()";としてもうまくいきませんでした。

Objectの把握の仕方が甘いためと思いますが,よろしくお願いします。

var allBtn = document.createElement("input");
allBtn.type = "button";
allBtn.id = "myBtn";
※allBtn.setAttributes = ("onClick", "myFunc()");
allBtn.value = "my button"
document.body.appendChild(myBtn);


445 :Name_Not_Found:2007/02/06(火) 12:18:43 ID:/4F8iVui
(本質的な部分ではないですが)
document.body.appendChild(myBtn)は
document.body.appendChild(allBtn)の書き間違えです

446 :Name_Not_Found:2007/02/06(火) 12:53:00 ID:???
>>444
過去レス見てみるといくらでも解決策が

それにしても、なんでFunction使ったり文字列使ったりすんのかなぁ

447 :Name_Not_Found:2007/02/06(火) 13:25:53 ID:???
>>444
過去レスもそうだがまずFAQ読んどけよな。

448 :Name_Not_Found:2007/02/06(火) 17:09:59 ID:WlZWDyXE
formItem=["あああ","いいい","ううう"]
nameItem=["aaa","bbb","ccc"]
document.myForm.aaa.value=formItem[0];

こうすると<input name="aaa" type="text" value="">に値が入るのですが、

document.myForm.nameItem[0].value=formItem[0];

こうすると入りません。配列にフォームにあるname名を指定して
documentの対象としたいのですが、上のような書き方では無理なのでしょうか?

449 :Name_Not_Found:2007/02/06(火) 17:12:58 ID:???
>>448
日本語がおかしくて理解できないね。HTML側も提示してみ。

450 :Name_Not_Found:2007/02/06(火) 17:15:26 ID:???
>>448
> document.myForm.nameItem[0].value=formItem[0];

document.myForm[nameItem[0]].value=formItem[0];

451 :448:2007/02/06(火) 17:20:33 ID:???
>>450
まさにこれです!うまく行きました。ありがとうございました。

452 :Name_Not_Found:2007/02/06(火) 17:20:44 ID:???
んー?
あー、nameItem配列1番目の名前に一致したフォーム名を取得したいって事じゃね
だとしたら答えは簡単だ

FAQ9番嫁

453 :Name_Not_Found:2007/02/06(火) 17:21:42 ID:???
あらぼーっとしてたら答え出てやんの
まあいいや

454 :Name_Not_Found:2007/02/06(火) 17:23:07 ID:???
ニヤニヤ

455 :Name_Not_Found:2007/02/06(火) 17:29:26 ID:???
ひとり、恐ろしく読解力の無いのがいるなw

456 :Name_Not_Found:2007/02/06(火) 17:31:33 ID:???
firefox2で
obj.rows[n].cells[m].style.borderBottom = "1px solid #333333";
としても下線が引けないのですがどなたか助言いただけないでしょうか。

MSIE6は無論、Netscape7.1でも問題ないのですが...orz
# style.color = "#333333" などであればfirefoxでもおkです。

457 :Name_Not_Found:2007/02/06(火) 17:55:32 ID:???
>>456
Firebug 入ってる?

458 :Name_Not_Found:2007/02/06(火) 18:07:22 ID:7qxdZ6UF
キャレット位置を取得する方法を教えてください。
以下のサイトを参考にしてみたのですが出来ませんでした。
http://blog.vishalon.net/Post/57.aspx
ソースはこんな具合です。

459 :Name_Not_Found:2007/02/06(火) 18:09:48 ID:7qxdZ6UF
<HTML><HEAD>
<script type="text/javascript"><!--
function setStyle() {
var divObj = document.getElementById("test2");
divObj.style.backgroundColor = "red";
divObj.style.width = 100;
divObj.style.height = 100;
}
function get(){
//var ctrl = document.getElementById("test");
document.getElementById("test2").innerHTML = doGetCaretPosition(ctrl);
}
function set(pos){
var ctrl = document.getElementById('test');
setCaretPosition(ctrl, pos);
}
function doGetCaretPosition(ctrl){
var CaretPos = 0;
if (document.selection) {// IE Support
ctrl.focus ();
var Sel = document.selection.createRange ();
Sel.moveStart ('character', -ctrl.value.length);
CaretPos = Sel.text.length;
} else if {// Firefox support
(ctrl.selectionStart || ctrl.selectionStart == '0');
CaretPos = ctrl.selectionStart;
}
return (CaretPos);
}

460 :つづき:2007/02/06(火) 18:13:38 ID:7qxdZ6UF

function setCaretPosition(ctrl, pos){
if(ctrl.setSelectionRange){
ctrl.focus();
ctrl.setSelectionRange(pos,pos);
}else if (ctrl.createTextRange) {
var range = ctrl.createTextRange();
range.collapse(true);
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
}
// --></script>
</HEAD><body>
<textarea id="test"></textarea>
<a href="javascript:setStyle()">11111</a>
<div id="test2"></div>
</body></HTML>

461 :436:2007/02/07(水) 01:26:41 ID:???
遅くなってすみません。

>>439さん
ありがとうございます、参考にしてinnerHTMLを編集する方法で解決しました。
助かりました!

>>442さん、443さん
元のソースでは、そのどちらの方法でも解決しなかったです…。
が、レスありがとうございました。




462 :456:2007/02/07(水) 09:12:15 ID:???
すいません、どうもCSSとのバッティングみたいです(お恥ずかしいことにノーマークでした)。

>>457
入れてはいるんですがアイコンが怖くてw

463 :456:2007/02/07(水) 09:35:33 ID:???
どうも border-collapse: collapse; が原因ぽいです。
一応報告。

464 :Name_Not_Found:2007/02/07(水) 11:11:08 ID:???
>>463
スレ違いだがborderをcollapseしたら確かに危うそう。
tdなりの内側に別のdivを入れてそのdivのborderを設定すれば。

465 :Name_Not_Found:2007/02/07(水) 12:02:38 ID:???
ニュースサイトに時々ある、
「続きを読む」をクリックすると、
別ページに移行せずに、下に続きの文章が現れるようにしたいです。

折りたたみメニューのスクリプトで表示は無事にされるのですが、
クリックしてすべての文章が表示されたときに、
「続きを読む」が「文章を閉じる」に変わるようにしたいのです。

ブログ用では、以下のスクリプトがあるようですが、
ttp://blog.livedoor.jp/jigokuhen00/archives/4465481.html

これを普通のHTMLサイト用に直すことがどうしてもできません。
どなたかアドバイスいただけないでしょうか。
やりたいのは、以下のようなことです。

最初
--------------
・最初に表示される文章<BR>
続きを読む /  日付・引用元など(最初も最後も同じ文)


「続きを読む」クリックで以下
-----------
・最初に表示される文章
・クリックで表示された文章
文章を閉じる /  日付・引用元など(最初も最後も同じ文)

466 :Name_Not_Found:2007/02/07(水) 12:21:08 ID:???
>>465
続きのページがどっか違う所にあってそこからひっぱってくるのか、
すでにHTMLソースに書いてあるのかで話が変わってくると思う

と言うか、まずどこまで自分で作ったのかを書いた方が良いよ
やり方一つじゃないと思うし

467 :Name_Not_Found:2007/02/07(水) 12:34:30 ID:???
div.style.display = (element.style.display != "none")?"none":"block"
とかかな

468 :Name_Not_Found:2007/02/07(水) 13:15:55 ID:???
>>465
ああ、俺よくやる
みっつの要素の表示/非表示を切り替えていくだけでできるっしょ

A・「続きを読む」
B・表示/非表示を切り替えられる文章(最初非表示)
C・「閉じる」(最初非表示)

それぞれDIVタグに格納されてるとして、
・Aが押されたらAを隠してB,Cを表示
・Cが押されたらCを隠してA,Bを表示

要素.style.display="none"←→"block"あたりで切り替える
サンプルコードは>>467氏が部分例出してるし不要かな

もっといいやりかたあんのかな

469 :456:2007/02/07(水) 13:59:15 ID:???
>>464
Geckoに対して

border-collapse: separate;
border-spacing: 0px;

としました。
すっかりスレ違いだけどいつか誰かの役に立てれば幸い。

# ってか、これfxのバグだよね...?

470 :Name_Not_Found:2007/02/07(水) 14:03:32 ID:???
CSSな話だが、border-collapseが「何をcollapse」するのか調べてみ。

471 :456:2007/02/07(水) 14:34:40 ID:???
>>470
助言ありがトン。

> 「何をcollapse」するのか

隣接するセルのボーダーですよね?
下線を引きたかったのはobj.rows[obj.rows.length - 1]のcellsなんで、
問題ないかと思っていたのですが...。

472 :Name_Not_Found:2007/02/07(水) 14:58:03 ID:???
>>471
ソースを見んことにははっきりとわからんが
十中八九Fxのバグではないと思う。
重なったボーダーの優先度とか調べてみ。
それでも疑問があったらCSSスレへどうぞ。

473 :Name_Not_Found:2007/02/07(水) 15:38:25 ID:???
グーグルマップがやってるようなマウスホイールの取得を実装したいのですが、検討つきませぬ。
なんぞ「ここ嫁」「これでぐぐれ」みたいなポインタあったら教えてください

474 :Name_Not_Found:2007/02/07(水) 15:44:02 ID:???
>>473
onmousewheel

475 :Name_Not_Found:2007/02/07(水) 15:44:30 ID:???
thx

ヘボシツモンスマソ

476 :474:2007/02/07(水) 15:45:55 ID:???
はえーよバカ。何十回リロードしてるんだ。

477 :Name_Not_Found:2007/02/07(水) 16:03:06 ID:???
え、いやたまたまですよ
7回くらいですけん

478 :Name_Not_Found:2007/02/07(水) 22:04:17 ID:???
applyを使った継承で質問があります。

var x = function() {
/* なんらかのxの実装 */
};

var y = function() {
x.apply(this);
/* なんらかのyの実装 */
};

var z = new y();

このような形の継承関係があった場合に、
「xの実装のなかでyからは見ることが出来るけれど、zからみることが出来ない」
というメンバを定義することって不可能でしょうか?

479 :Name_Not_Found:2007/02/07(水) 23:04:24 ID:4IIoDn4g
IEでキャレット位置を取得するのはやっぱり無理ですか?


480 :Name_Not_Found:2007/02/07(水) 23:36:47 ID:NajzvM24
いろいろ調べてみたのですが行き詰ったので、解決の糸口となる
キーワードだけでもご教示頂けたらと思います。

現在は
function foo(id){
    window.open("http://xxx.jps?user_id=" + id, "new_win");
}

という関数があり、これをbuttonのonclickで呼び出しているのですが
仕様変更でpostで送信しなければならなくなりました。

HTMLの部分にformを追加してsubmitする方法ならpostで送信できますが
この関数はjsp内にincludeして広範囲で利用しているため、HTML部分の
修正を含めると工数が掛かるので、なんとか現状の引数を渡す仕様で
javascriptの修正だけでpost送信できないかと試行錯誤しています。

利用するクライアントはIE6限定になっています。何卒ご教示のほど
お願い致します。

481 :Name_Not_Found:2007/02/08(木) 00:02:20 ID:???
>>478
それは昔俺も悩んだが、完璧な方法は思い当たらなかった。
ちなみにprototypeをつかった継承にしても同じ問題がある。

482 :Name_Not_Found:2007/02/08(木) 00:06:32 ID:???
>>480
べつにHTML側を直さなくてもJSでdocumentの最後にでも見えない
iframeを挿入してその中にformを作ってpostすればいいんでは。

483 :Name_Not_Found:2007/02/08(木) 00:10:03 ID:???
googleのキャッシュを表示したときのように
特定のキーワードの色を変えて表示させたいんですが
ぐぐるためのヒント教えてください

484 :Name_Not_Found:2007/02/08(木) 00:36:24 ID:???
>>483
「キーワード」 「ハイライト」
あと、DOMと正規表現つかえないときついだろうね

485 :Name_Not_Found:2007/02/08(木) 00:39:57 ID:???
>>484
ありがとうございます
ずっと「キーワード」「マークアップ」で検索して難儀していました
重ね重ねありがとうございます >>484様の事は決して忘れません

486 :Name_Not_Found:2007/02/08(木) 00:43:26 ID:???
>>482
そういうようなやり方しかないですかね。もっとスマートにできないかと
思ったのですが。しかし参考になりました。ありがとうございます。

487 :Name_Not_Found:2007/02/08(木) 00:56:45 ID:???
>>486
ん? いったいどうスマートにやりたいんだ?
丁度いま、DOMでformとinput要素applendChildしてsubmit()呼んでる処理書いてるけど、普通にPOSTで飛ばせてるよ。
innerHTMLでもいけると思うけど。

488 :Name_Not_Found:2007/02/08(木) 01:03:26 ID:???
>>478
var x = function() {
this.a = "A";
};
x.b = "B";

var y = function() {
x.apply(this);
this.bDash = x.b;
};

var z = new y();

z.a : "A"
z.b : undefined
z.bDash : "B"

こんなんで良いの?

489 :Name_Not_Found:2007/02/08(木) 01:07:11 ID:???
>>486
XMLHttpRequest 使えば?

490 :Name_Not_Found:2007/02/08(木) 01:15:17 ID:???
>>488
それだと仮にx.bがfunctionだった場合、x.bからxのスコープが見えないから一般的には駄目

491 :Name_Not_Found:2007/02/08(木) 01:22:14 ID:???
>>488
レスありがとうございます。

しかしその場合、たとえば
var x = function() { var str = "test"; };
x.setStr = function(v) { str = v; }; // error
という問題があったり、

var x = function() { this.a = "A"; };
x.setA = function(v) { this.a = v; }; // 想定外
という問題があり、関数が絡んで同じクラスのメンバを使おうとすると困ってしまいます。

492 :Name_Not_Found:2007/02/08(木) 01:28:52 ID:???
>>491
えーと、良くわかんないんだけど、xの一部分だけ継承したい?と言う要求?

493 :Name_Not_Found:2007/02/08(木) 01:48:34 ID:kaj/iayM
IEでキャレット位置を取得する方法を聞いても、みんなが見事にスルーする理由はなんですか?

494 :Name_Not_Found:2007/02/08(木) 01:53:44 ID:???
>>493
タイミングの問題。
テキスト入力欄での話ならcreateTextRangeでググれ。

495 :Name_Not_Found:2007/02/08(木) 10:45:17 ID:???
javaソースとか探して張りつけてるだけのエセjava使いなんですけど

1からちゃんと勉強したいと思い参考サイトを見ようと思ってるのですが
どこかわかりやすくてお勧めのところはないでしょうか?
テンプレにあるもの意外をお願いします。

ちなみに貧乏なのであまりお金の掛かるものはなしでお願いします

496 :Name_Not_Found:2007/02/08(木) 11:02:23 ID:???
>>495
>>7,8

497 :Name_Not_Found:2007/02/08(木) 11:18:14 ID:???
とほほ


498 :Name_Not_Found:2007/02/08(木) 11:28:10 ID:???
オライリーのサイ本。
図書館で借りれ。

499 :Name_Not_Found:2007/02/08(木) 11:35:26 ID:???
>>495
ここではサイ本とMy UNIX(入門JavaScript)が肯定されてるね。
サイ本は高くMy UNIXのが安い。errataはここ。
ftp://ftp.ascii.co.jp/pub/my-unix/javascript/
>>497
とほほで勉強するのは勧めないね。半可通になってここで
叩かれたいなら別だが。

500 :Name_Not_Found:2007/02/08(木) 11:42:40 ID:???
>>499
なにマジレスしてんの馬鹿じゃないの

501 :Name_Not_Found:2007/02/08(木) 11:54:12 ID:???
>>493
とりあえず作ってみたけどー。IE専なんであんまりやる気出ず。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var r0 = document.selection.createRange(), l0 = r0.text.length;
while(true) {
r0.moveStart('character', -1); var l1 = r0.text.length;
if(l0 == l1) break; else l0 = l1;
}
alert(l0);
}
</script>
</head><body>
<div><textarea id="a0" rows="10" cols="20" onmouseup="test()"></textarea></div>
</body></html>

502 :Name_Not_Found:2007/02/08(木) 11:59:36 ID:???
>>500
参考書を求めたいという話題だったら元質問がネタだろうと
それと関係なくここを見てるヤシもいるんだからマジレス
するよ。過去何十スレもずっとそうしてるしね。アンタのが
このスレを分かってないだけだろ、よそ逝ってくれ。

もしかしてとほほの信奉者だったりして(だったら劇藁だな)。
おお、2ちゃんらしくなってきたねー。

503 :Name_Not_Found:2007/02/08(木) 12:28:04 ID:???
(;^ω^)

504 :Name_Not_Found:2007/02/08(木) 12:30:00 ID:???
>>502
何マジレスしてんの馬鹿じゃないの

505 :Name_Not_Found:2007/02/08(木) 12:30:44 ID:???
おお、2ちゃんらしくなってきたねー。(笑)

506 :Name_Not_Found:2007/02/08(木) 12:36:47 ID:???
>>487
目からウロコが落ちました。
本当にありがとうございました。

507 :Name_Not_Found:2007/02/08(木) 13:02:37 ID:???
>> >>478とそれにレスしてる全員
過去にも言ったが、それを継承とは言わないから。
例えば、>>478 で、z instanceof x は false だわな。継承してない。
継承の中で使われることが多いが、それ自体は継承ではない。
つまり、「apply を使った継承」 という言葉自体が意味不明だ。
いちいち、this.a = a; this.b = b; this.c = c; ... と書くのが面倒かつ変更時に弱いから、
(利用したい関数).apply(this, arrayLike) と書くだけだ。

508 :Name_Not_Found:2007/02/08(木) 13:17:55 ID:???
>>507
継承ってのは、単にオブジェクト指向の概念の一つで、 instanceof の結果とは関係ないから。

509 :Name_Not_Found:2007/02/08(木) 13:40:47 ID:???
>>507
> 過去にも言ったが、それを継承とは言わないから
(笑)

510 :Name_Not_Found:2007/02/08(木) 13:42:43 ID:???
俺様口調でトンチキな事言う程恥ずかしい事は(ry

511 :Name_Not_Found:2007/02/08(木) 13:57:40 ID:???
instanceofって、何の話をしているのやら
ECMA262-3rd以外の話をしたいならオナニースレ行けよ

512 :Name_Not_Found:2007/02/08(木) 14:44:18 ID:???
話逸れるけどECMA-262thirdのLanguage Specification pdfに
しっかりinstanceof入ってますよこの半可通

513 :Name_Not_Found:2007/02/08(木) 14:54:56 ID:???
>>512
すまんしらんかった

514 :Name_Not_Found:2007/02/08(木) 15:49:26 ID:???
半可通

515 :Name_Not_Found:2007/02/08(木) 16:21:36 ID:???
半可通のお笑い種発言に半可通が突っ込むという体たらく

まあ典型的な2chの日常風景
殺気立つ必要はあるまいて
マターリ殺伐しようぜ

516 :Name_Not_Found:2007/02/08(木) 16:29:26 ID:???
この流れなら宣伝できる。
言語の話ならム板もあるよ。
ECMAScript デス 2
http://pc10.2ch.net/test/read.cgi/tech/1088298991/

517 :Name_Not_Found:2007/02/08(木) 16:39:23 ID:???
>>516
さてはこの流れお前の自演か

518 :Name_Not_Found:2007/02/08(木) 16:52:50 ID:X2VYdmsf
極希なんですが、子windowから親windowにsubmitしようとすると
新しいwindowが立ち上がってしまいます。本当にたまにしか起こらないので
再現もできないし原因も分かりません。環境はWIN2KにIE6です。

考えられる原因があれば些細な事でも構わないのでヒントをください。

519 :Name_Not_Found:2007/02/08(木) 17:49:17 ID:h5cgyBZ9
ページが読み込まれたら下のフレーム(bottomFrame)に
URLを表示させたいと思います。
<script type="text/javascript">
var url="http://2ch.net";
function bottom_url(){
location=url;
}
</script>

これだと開いているページ内が移動されますが、
フレームのページに移動されません。
ターゲット指定するにはどのように変えればいいのでしょうか?

520 :Name_Not_Found:2007/02/08(木) 18:55:49 ID:???
JavaScriptのみで完全にユニークなIDって作成できるんでしょうか。
今まではnew Date().getTime()を利用していたのですが、
コンフリクトを起こしてしまいました…
サーバサイドに手を入れることなく、ユニークなIDをつくりたいのですが、
ちょっとやり方が思い浮かびません。どなたかアイデアあれば是非ください

521 :Name_Not_Found:2007/02/08(木) 18:57:14 ID:???
parent
top
あたりをググれ

522 :Name_Not_Found:2007/02/08(木) 19:05:29 ID:???
>>520
何と何を一意に区別するIDなのかわからんが、
鯖側からなんらかの情報をもらわなければ本当にユニークな方法はない。
cookieにsessionidでも入ってればそれとDate方式の複合でなんとか。
コンフリクトを減らすだけならランダムな文字なりつける。

523 :Name_Not_Found:2007/02/08(木) 19:07:18 ID:Y8HJ/jgW
とりあえずcreateRangeでグぐってみたけど、わんないよ。
これで出来る、とかいって、全然出来てないのばかり。
キャレットの所得のしかた教えてください。

とりあえず参考http://d.hatena.ne.jp/brazil/20061021/1161377936をにして作ってみたけど、これじゃ選択範囲だよ。

524 :Name_Not_Found:2007/02/08(木) 19:08:18 ID:???
>>520
Uniq_Id_1 とかで、カウントアップすれば?まぁ、オーバーフローすれば、被るけど。

525 :Name_Not_Found:2007/02/08(木) 19:09:19 ID:???
>>520
無理だろ、常識的に考えて
まあ、getTime+それ以外の情報(UA、ページロードタイム、ウィンドウサイズ、ウィンドウ座標、マウス座標、ランダムな大きい数値とか)を元にIDを生成すればコンフリクトは確率的には少なくなるだろうね
要はIDを長くするor変化させるという一時しのぎ。やっぱり、CGIが使えないときつい

526 :523:2007/02/08(木) 19:12:35 ID:Y8HJ/jgW
<script type="text/javascript"><!--
function replace_css(textObj){
var sValue = textObj.value;
var iNewSelectionStart = textObj.selectionStart;
var iNewSelectionEnd = textObj.selectionEnd;
if(typeof iNewSelectionStart != "number"){
var rngObj_S = document.selection.createRange();//選択範囲Object(textRange)
var rngObj_A = textObj.createTextRange();//textarea内Object(textRange)
var rngObj_B = textObj.createTextRange();//同上
var iMaxIndex = rngObj_A.text.length;//textarea内文字数
var Left = rngObj_S.offsetLeft;//選択領域の左側の位置
var Top = rngObj_S.offsetTop;//選択領域の上側の位置
rngObj_B.moveToPoint(Left,Top);//座標移動(x:横座標,y:縦座標)
rngObj_A.setEndPoint("StartToStart", rngObj_B);//
var iIndex = iMaxIndex - rngObj_A.text.length;
//最後尾の改行計算バグ補正
if(iIndex == iMaxIndex){
var rngObj_T = textObj.createTextRange();
rngObj_T.collapse(true);
rngObj_T.setEndPoint("EndToStart", rngObj_A);
var iCount = 0;
while(rngObj_T.expand("character"))
iCount++;
iIndex += ((sValue.length - iIndex) - iCount*2);
}
iNewSelectionStart = iIndex;
iNewSelectionEnd = iNewSelectionStart + rngObj_S.text.length;
}
document.getElementById('a').innerHTML = iNewSelectionStart;
document.getElementById('b').innerHTML = iNewSelectionEnd;
}
// --></script>

527 :Name_Not_Found:2007/02/08(木) 20:04:11 ID:???
>>523
あんたの言う「キャレットの位置」って何なの?
先頭から何文字目にキャレットがあるかわかればいいの?
それとも何行目の何桁目という形で取得したいの?
はたまた上端から何ピクセル、左端から何ピクセルかが知りたいの?

528 :Name_Not_Found:2007/02/08(木) 22:45:48 ID:kaj/iayM
>>527
「先頭から何文字目にキャレットがあるか」でお願いします。

レスくれてありがとう。

529 :Name_Not_Found:2007/02/08(木) 23:02:36 ID:???
結局 >>501 は無視ですかそうですか。まあいいんだけど。

530 :Name_Not_Found:2007/02/09(金) 00:05:48 ID:???
質問させてください。
RegExpで「直前にaが無いb」にマッチさせるにはどうすればいいんでしょうか?
例えば"abcbb"の最初のbはスルーして2番目と3番目のbにだけマッチさせたいんですが。
否定後読みってのを使えばよさそうってとこまでわかったんですがうまくいきません。

531 :Name_Not_Found:2007/02/09(金) 00:22:48 ID:???
>>529
まあいいなら書くなよ
うぜーな、この構ってチャンが

532 :Name_Not_Found:2007/02/09(金) 00:23:47 ID:???
>>530
スレ違い。だから答えはずばり教えてあげないけど、[^a]をうまく使って書け

533 :Name_Not_Found:2007/02/09(金) 00:56:13 ID:???
>>532
それは駄目じゃないの。"abcbb".replace(/[^a]b/g, "B") → abcBb

534 :Name_Not_Found:2007/02/09(金) 00:58:12 ID:???
しまった間違えた、でも駄目なのに変わりはないような。
"abcbb".replace(/([^a])b/g, "$1B")

535 :Name_Not_Found:2007/02/09(金) 01:28:32 ID:???
JavaScriptでもJScriptでも戻り読み「(?<=...)」はサポートされてないからな。
工夫して切り抜けるしかないんじゃね?
"abcbb".replace(/b/g, function(match, index, input){ return input.charAt(index-1) == 'a' ? match : 'B'; });

536 :Name_Not_Found:2007/02/09(金) 01:30:54 ID:???
おっと、この場合は「否定戻り読み『(?<!...)』はサポートされてないからな」というべきだったか。

537 :Name_Not_Found:2007/02/09(金) 10:35:01 ID:9PFIRdfj
>>4のQ9に似ているのですが…
document.forms["myform"]elements[hogeghoge]

の「hogehoge」の部分に 配列を格納した変数「hoge[x]」を入れたいのですが
うまくいきません
[`hoge[x]`]とクウォートで囲んだり [hoge][x]としてみましたが どうしても
エラーになります
何か良い方法はありますでしょうか? ご教授いただけるとうれしいです

538 :Name_Not_Found:2007/02/09(金) 10:40:59 ID:???
["hoge[0]"]
["hoge[1]"]
var x = 0; ["hoge[" + x + "]"]

539 :Name_Not_Found:2007/02/09(金) 10:41:59 ID:???
>>537
document.forms['myform'].elements[hoge[x]].value
とかだよね。elementsの前の「.」が抜けてるぞボケ!!!!
(このスレでは「ご教示」でないと煽られるので注意)

540 :Name_Not_Found:2007/02/09(金) 10:43:08 ID:???
>>537
近道しようと思わないで、リファレンスを読みましょう。
ttp://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide

初心者が近道だと思っている道は、ほぼ間違いなく、迷路です。遠回りに見えても、本道を歩きましょう。それが、一番の近道です。

541 :537:2007/02/09(金) 10:51:17 ID:???
>>538
ありがとうございます 僕の理解力が悪いのか
document.forms["myform"].elements["hoge"+x+"]"]
ではエラーが出ました

>>539
二つもボケをかましてしまいすいませんでした
「ご教示」ですね 気をつけます!

>>540
おっしゃるとおりですね…
リファレンスをじっくり読んできます!

皆さんありがとうございました!

542 :Name_Not_Found:2007/02/09(金) 11:08:11 ID:???
> elements["hoge"+x+"]"]
すごい頻度でミスるな。コピペもできなきゃ手の施しようがない。

つうか、["hoge[x]"] なんだろうな、たぶん。HTML見せれば即決するが、アホらしゅうて誰も回答しないかw

543 :543:2007/02/09(金) 14:33:13 ID:S700YF3q
フレームを使って左にメニュー(menu)、右に本文(view)を表示させてます
メニューのフレームで
<span onClick='top.view.window.location.replace("http://www.yahoo.co.jp/");return false;'>別サイト</span><br>
<span onClick='top.view.window.location.replace("test.html");return false;'>同じサイト</span><br>
と記述して「別サイト」をクリックしたら本文の方にヤフーを表示
「同じサイト」をクリックしたら本文の方に自サイトのhtmlを表示させたいです

「同じサイト」クリック後「別サイト」クリックはきちんとヤフーが出ます
「別サイト」クリック後「同じサイト」クリックだとtest.htmlに遷移しません
<a>タグ等では普通にヤフーに遷移することが出来ます
なお、IEでは上記の様になりましたがネスケでは正常に動作します

過去ログは「location.replace 別サイト」で検索しましたが特に良さそうな例は見つかりませんでした
ご教授お願いします

544 :Name_Not_Found:2007/02/09(金) 15:45:09 ID:???
top.frames['view'].location.reprace〜
若しくは
top.view.location.replace〜

「window」は最上位オブジェクトですよ。

545 :Name_Not_Found:2007/02/09(金) 16:02:08 ID:???
>>543
へーIEってそうなんだ。「.window」だけ削除したら動くとか?

546 :543:2007/02/09(金) 17:09:30 ID:O8ViFILf
あ、なるほど。了解しました。助かりました〜

>>545
とりあえずスッキリしたソースが好きなので下でキチンと動きました

547 :530:2007/02/09(金) 18:35:29 ID:???
ありがとうございました。
否定戻り読みはサポートしてなかったんですね。

548 :Name_Not_Found:2007/02/09(金) 23:24:29 ID:x0BV8VZb
質問です。
HTMLにタグを貼るとき
<script src="AAAA.js" type="text/javascript"></script>
<script src="BBBB.js" type="text/javascript"></script>
<script src="CCCC.js" type="text/javascript"></script>

↑を↓みたいにできませんか?

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

(BBBB.js と CCCC.js は AAAA.jsから読み込む)


javascriptからjsファイルを読み込む方法が分かりません

549 :Name_Not_Found:2007/02/09(金) 23:25:57 ID:d1B/kzU0
質問です。
Select要素の中の要素をすべて削除して、
新しい要素を追加したいのですが、

for(i = 0; i < selO.length; i++){
child = selO.child(i);
selO.removeChild(child);
}

だと、全部消えてくれません。

知りたいのは、
すべての子を一気に消す方法はないか。
ないなら、どういう方法が一般的か。
なぜ、上のコードで、すべて消すことができないのか。
の3点です。

宜しくお願いします。

550 :Name_Not_Found:2007/02/09(金) 23:25:58 ID:???
>>548
document.write('<script src="BBBB.js" type="text/javascript"></script>')
document.write('<script src="CCCC.js" type="text/javascript"></script>')


551 :Name_Not_Found:2007/02/09(金) 23:29:13 ID:???
>>549
後ろから消しなよ

あと個人的にあまり好きじゃないんだが
piyo.length = 0 で全部消える

552 :Name_Not_Found:2007/02/09(金) 23:31:25 ID:???
>>550
天才ですね
目から鱗です


553 :548=552:2007/02/09(金) 23:31:51 ID:???
です

554 :Name_Not_Found:2007/02/09(金) 23:33:55 ID:d1B/kzU0
>>551
あぁ、0から消すと、1にあったのが0にズレるんだ?
先入れ後出しでつね。
ありがとうございます。

555 :Name_Not_Found:2007/02/09(金) 23:36:22 ID:???
>>549
<script type="text/javascript">
function kaeru(){
var selO = document.getElementById("selO");
var cloneSelO = selO.cloneNode(false);

cloneSelO.appendChild(document.createElement("OPTION"));
cloneSelO.lastChild.text = "変更した";
cloneSelO.appendChild(document.createElement("OPTION"));
cloneSelO.lastChild.text = "変更した";

selO.parentNode.replaceChild(cloneSelO, selO);
}
</script>
<select id="selO"><option>変更前</option><option>変更前</option><option>変更前</option></select>
<input type="button" value="替える" onclick="kaeru()">

556 :Name_Not_Found:2007/02/09(金) 23:42:32 ID:d1B/kzU0
>>555
selectコピって、新しく中身作って
select置き換えるのか。

これはいいですね。

さらによく見てみると、selectの属性とか変更される可能性ないんで
置き換えだけでよさそうです。
ありがとうございます。

557 :Name_Not_Found:2007/02/10(土) 02:53:28 ID:???
blogの「続きを読む」の折りたたみをメニューに使用して何階層にもしてるんですが
http://www2f.biglobe.ne.jp/~takan/javac/dhtml/ie/dh_display_contents1.htm

全部クリックすると出っ放しでズルズル長くなるので、
一つクリックして表示したら他の階層を閉じられるようにしたいのですが、
JavaScriptで何とかならないでしょうか。
よろしくお願いします。

558 :Name_Not_Found:2007/02/10(土) 04:27:46 ID:???
>>557
<SCRIPT Language="JavaScript">
<!--
idlist = new Array('dh1','dh2');

function show_hide(id) {
for(n=0; n<idlist.length; n++) {
if(id==idlist[n]) {
disp = document.all(id).style.display;
if(disp == "block")
document.all(id).style.display = "none";
else
document.all(id).style.display = "block";
} else {
disp = document.all(idlist[n]).style.display;
if(disp == "block")
document.all(id).style.display = "none";
}
}
//-->
</SCRIPT>

これくらいしか思い付かない。


559 :Name_Not_Found:2007/02/10(土) 04:29:31 ID:???
>>558

disp = document.all(idlist[n]).style.display;
if(disp == "block")
document.all(idlist[n]).style.display = "none";
}
}
//-->

少し訂正。


560 :Name_Not_Found:2007/02/10(土) 05:54:48 ID:Idxi/UCG
キャレット位置は取得できないでFAですか?

561 :Name_Not_Found:2007/02/10(土) 06:18:20 ID:???
いつも中入れ中出しでつ。

562 :Name_Not_Found:2007/02/10(土) 06:43:41 ID:???
>>560
あんたとこでは >>501 は動作しないのね?

563 :Name_Not_Found:2007/02/10(土) 08:33:09 ID:6HBejGjf
>>560
アホ?それとも釣り?

564 :Name_Not_Found:2007/02/10(土) 09:22:50 ID:???
>>563
いや… IE6しか持ってないんで、手元のIE6では動いている
んだけど何か動かないとこがあるのなら知りたいなと。

565 :Name_Not_Found:2007/02/10(土) 10:42:32 ID:???
テキストボックスじゃなくて、「普通の文章を選択状態にする」方法あります?
一応調べて無理っぽいとは思ったんですが、もし知っている方がいれば。

566 :Name_Not_Found:2007/02/10(土) 11:17:53 ID:???
画面全体をreadonlyのtextareaにするとか

567 :Name_Not_Found:2007/02/10(土) 12:03:32 ID:???
>>565
これもIE6でしかテストしてないけど。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var r0 = document.body.createTextRange();
r0.findText('鉛筆'); r0.select();
}
</script>
</head><body onload="test()">
<p>これは鉛筆です。</p>
</body></html>

568 :Name_Not_Found:2007/02/10(土) 12:15:00 ID:???
>>567 Geckoのコードも追加した。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
if(document.body.createTextRange) { // IE
var r0 = document.body.createTextRange();
r0.findText('鉛筆'); r0.select();
} else if(document.createRange) { // Gecko
var r0 = document.createRange();
var t0 = document.getElementById('p0').childNodes[0];
r0.setStart(t0, 3); r0.setEnd(t0, 5);
window.getSelection().addRange(r0);
}
}
</script>
</head><body onload="test()">
<p id="p0">これは鉛筆です。</p>
</body></html>

569 :566:2007/02/10(土) 12:18:31 ID:???
>>568
おお、すげえ

570 :Name_Not_Found:2007/02/10(土) 14:28:21 ID:0I7GbTgF
「/」がエスケープされた「%2F」がさらに「%252F」とエスケープされている場合、
これを「/」に戻すにはどうすればいいんでしょうか・・・

replace((\/|%2F|%252F), unescape("$1"))

とすると「%2F」は「/」になるんですが
「%252F」は「%2F」になるだけで「/」にはなってくれません・・・

プログラミングに関しては何も知らないんですが
やりたいことがあって(ほかの人が作った物を自分好みにしたい)
正規表現だとかunescapeだとかを知ったばかりなんですが・・・
よろしくおねがいします

571 :Name_Not_Found:2007/02/10(土) 14:35:59 ID:???
え?こう?
unescape(unescape("%252F"))


572 :570:2007/02/10(土) 14:44:24 ID:0I7GbTgF
>>571
それで普通はいけるものなんでしょうか?
やってみたんですが「%252F」から「%2F」になったままです・・・

もしかしたらほかの部分に問題があるのかもしれません
調べてきます
ありがとうございました

573 :Name_Not_Found:2007/02/10(土) 15:19:34 ID:???
>>572
いや、その正規表現と合わせて使っても駄目だよ?
  alert( unescape(unescape("%252F")) );
これ自体はちゃんと / が表示されるでしょ?
変換させたい文字列をそのまま突っ込んで下さい。


  var url = "http:%252F%252Fwww.2ch.net%252F";
  var url2 = unescape(unescape(url));
  alert(url2);


574 :570:2007/02/10(土) 16:19:58 ID:???
ああ、レスが。どうもです
このままじゃダメで別のかたちに書き換えないといけないんですね
勉強してきます・・・


575 :Name_Not_Found:2007/02/10(土) 16:29:16 ID:qildVD6B
>>574
【参考】
ttp://tmitei.exblog.jp/

576 :Name_Not_Found:2007/02/10(土) 17:16:42 ID:???
>>568
"鉛筆".length == 2 のように2文字以上の場合は Text ノードオブジェクトが複数になっている場合が普通にあるから、W3C-DOM の方は、そう単純にはならないだろう。

577 :Name_Not_Found:2007/02/10(土) 17:28:44 ID:???
normalizeすればいいと思うけど

578 :Name_Not_Found:2007/02/10(土) 17:44:07 ID:???
>>577
複数の Text に分割されている場合、最も多い(というか100%と言ってよい)のは、
「<span>あいう</span>えお」 から、「うえ」を探すような場合。

579 :565:2007/02/10(土) 18:33:24 ID:???
>>567でFAでした。どうもありがとうございます。

580 :Name_Not_Found:2007/02/10(土) 21:09:58 ID:???
>>570
var nanika = '%252F';
while(nanika.match(/%[\d\w]{2}/){
nanika = unescape(nanika);
}

でどーかと思ったんだが、escape の仕様をよくわかってないんで
まずいやも
つーか元の文字列に '%' が入ってたらどうするんだろうね?
わかる人の突っ込みキボンヌ

581 :Name_Not_Found:2007/02/10(土) 21:17:50 ID:???
ごめん、ちょぉまずかった

582 :Name_Not_Found:2007/02/10(土) 22:10:29 ID:7Popa41S
だれか〜、ここ↓に答えるか、ここで、問題点を指摘してくれんか?
Yahooは、初めて使ったが、どうも人の回りが悪いようだ。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1310754628

583 :Name_Not_Found:2007/02/10(土) 22:29:14 ID:???
>>582
標準がXHTMLだと考えるのは構わないけど、拡張子なんて無難にしておけば良いともう。

584 :Name_Not_Found:2007/02/10(土) 22:34:56 ID:???
どうせIE + application/xhtml+xmlがらみでしょ。
サーバが返すMIMEタイプを変えられない環境なら.htmlでいいじゃん。
間違いじゃないし。

585 :Name_Not_Found:2007/02/10(土) 22:36:55 ID:???
どっかで単にXHTMLに反することやってる気ガス
firebugあたり使ったら挙動がおかしくなってる点でエラー読めたりしないかい。

586 :Name_Not_Found:2007/02/10(土) 22:38:58 ID:7Popa41S
>>584

いちおう、Mac OS X Tiger+Safari&Firfoxで、開発してるんです。
拡張子は、やっぱりHTMLの方が良いですかね?

587 :Name_Not_Found:2007/02/10(土) 23:11:00 ID:???
>>586
現象が再現する最低限のソースを出せや

588 :Name_Not_Found:2007/02/10(土) 23:15:29 ID:7Popa41S
>>587 へいっ!
<script src="scripts/prototype.js" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
function loadDataFile(fName)
{
new Ajax.Request(fName, { method: 'get', onComplete: displayData });
}
function displayData(httpObj)
{
$("outputarea").innerHTML = httpObj.responseText;
}
//]]>
</script>

こんな感じっす。<div id="outputarea"></div>の間に出力するということです。

589 :Name_Not_Found:2007/02/10(土) 23:17:42 ID:???
あんたはアメリカ人か

590 :Name_Not_Found:2007/02/10(土) 23:19:27 ID:7Popa41S
>>589
どういうこと?

591 :565:2007/02/10(土) 23:23:07 ID:???
>>565>>567>>579の続きなんですが、
「鉛筆」が文章中に複数ある場合、必ず1個目のほうが
選択状態になりますよね?

2個目以降は選択できないんでしょうか。

調べたら、findTextのオプションの引数で指定できるようなのですが、
findText('鉛筆',1)でも
findText('鉛筆',2)でも両方1個目が選択されます。
環境はXPのIE6です。

592 :Name_Not_Found:2007/02/11(日) 01:45:00 ID:???
>>591
findTextの第2引数の意味が分かってんのかね。referenceを読め。
とりあえず込み入った方法で選択したいのならtextareaの内容を
まず調べてどの位置を選択するか決め、moveで位置決めして
moveEndで範囲の後ろを調整し最後にselectするとかかな。
まあがんばって。referenceのありかはテンプレにあるだろ。

593 :Name_Not_Found:2007/02/11(日) 02:02:15 ID:V978gkxf
prototype.jsを始めてみようと思い、
http://www.prototypejs.org/よりダウンロードしたものを
使っているのですが、
簡単なソースファイルを書き、FireFox + FireBugsを使って様子を見てみると、
次のようなエラーがでて、うまく動きません。
>>illegal character (prototype.js line 1)

一方、IE6で試してみたところ、とくに問題なく動きました。

私は、prototype.js自体に問題があると考えているのですが、
ソースファイルを見てみたところ、特に問題があるとは思えません。
どなたか原因・解決法をご存知の方がいらっしゃれば、教えてください。

594 :565:2007/02/11(日) 03:00:50 ID:???
>>592
第二引数は検索の方向ですか・・orz
英語のリファレンス見てたので早とちりしてしまいました。
何とかやってみます。

595 :Name_Not_Found:2007/02/11(日) 03:54:35 ID:???
>>593
もし文字エンコードの相違が原因であれば、HTMLのSCRIPT要素のCHARSET属性を明記すれば解決する。

596 :Name_Not_Found:2007/02/11(日) 05:09:10 ID:HwFCKy8g
>>560

createRangeを使えば簡単だと思ってるやバカが多いみたいだけどIEじゃ結構面倒。
面倒だから教えないけど。

597 :Name_Not_Found:2007/02/11(日) 09:54:14 ID:5jaI0ZdV
質問【オンマウスでリンク画像(文字)が跳ねるようにしたい】
↓これでは駄目だった
<HEAD>
<link rel="stylesheet" href="style.css" type="text/css">
<SCRIPT LANGUAGE="JScript" type="text/jscript" charset="shift_jis" src="jmplink.js">
</SCRIPT>
</HEAD>
<BODY onLoad="jmplink();">
<a href="" target=_blank onfocus="this.blur()"></a>

598 :Name_Not_Found:2007/02/11(日) 10:25:10 ID:???
>>596
それで >>501 は自分とこでは動作するんだけど他の人のとこ
ではだめなのでしょうか…
>>597
そのJSの中身を公開せずに質問に答えられるESPなんかいない。
帰れ。

599 :Name_Not_Found:2007/02/11(日) 11:34:18 ID:???
>>595さん
解決しました。ありがとうございました。

600 :Name_Not_Found:2007/02/11(日) 12:11:52 ID:???
ツリー形式のメニューを作りたいのでツリー型のオブジェクトを作り、
再帰呼び出しで表示しようとしたのですが、全部の項目が表示されません。
データはキチンと格納されているようなので、再帰呼び出し処理にバグが
あると思いますが、余計な処理を削ぎ落として極力シンプルにしてエラーを
見つけやすくしても、どこにもおかしな所が見付けられませんでした。

<html><head><script language="javascript">
function MenuData(text,href) {
this.text = text;
this.href = href;
this.children = new Array();
this.addChild = function(text,href) {
length = this.children.length;
this.children[length] = new MenuData(text,href);
return this.children[length];
};
}

Cmd = new Array();
Cmd[0] = new MenuData('項目0','menu0.htm');
Cmd[1] = new MenuData('項目1','menu1.htm');
Cmd[2] = Cmd[0].addChild('項目00','menu00.htm');
Cmd[3] = Cmd[0].addChild('項目01','menu01.htm');
Cmd[4] = Cmd[1].addChild('項目10','menu10.htm');
Cmd[5] = Cmd[1].addChild('項目11','menu11.htm');
Cmd[6] = Cmd[2].addChild('項目000','menu000.htm');
Cmd[7] = Cmd[2].addChild('項目001','menu001.htm');
Cmd[8] = Cmd[3].addChild('項目010','menu010.htm');
Cmd[9] = Cmd[3].addChild('項目011','menu011.htm');


601 :Name_Not_Found:2007/02/11(日) 12:12:54 ID:???
Cmd[10] = Cmd[4].addChild('項目100','menu100.htm');
Cmd[11] = Cmd[4].addChild('項目101','menu101.htm');
Cmd[12] = Cmd[5].addChild('項目110','menu110.htm');
Cmd[13] = Cmd[5].addChild('項目111','menu111.htm');
Menu = new Array(Cmd[0],Cmd[1]);

function List(Nodes, depth) {
for(i=0;i<Nodes.length;i++) {
buff = "";
for(j=0;j<depth;j++)buff = buff + '■';
buff = buff + Nodes[i].text + '<br>';
document.write(buff);
if(Nodes[i].children.length > 0)List(Nodes[i].children, depth+1);
}
}
</script>
</head>
<body>
<span>
(関数による再帰呼び出し表示)<br>
<script language="javascript">
List(Menu, 0);
</script>
</span>
<hr>


602 :600-601:2007/02/11(日) 12:15:16 ID:???
<span>
(非再帰呼び出し表示)<br>
<script language="javascript">
buff = "";
for(i=0;i<Menu.length;i++) {
buff = buff + Menu[i].text + '<br>';
for(j=0;j<Menu[i].children.length;j++) {
buff = buff + '□' + Menu[i].children[j].text + '<br>';
for(k=0;k<Menu[i].children[j].children.length;k++) {
buff = buff + '□□' + Menu[i].children[j].children[k].text + '<br>';
}
}
}
document.write(buff);
</script>
</span>
</body>
</html>

どこかおかしな点が見付けられる人がいたら、知恵を借りたいと思います。
自分の頭ではこれが限界です。お願いします。

603 :Name_Not_Found:2007/02/11(日) 12:45:06 ID:???
内容みてないけど
変数全部グローバルだね

604 :Name_Not_Found:2007/02/11(日) 13:34:32 ID:???
グローバル化社会ですから。

605 :Name_Not_Found:2007/02/11(日) 13:48:18 ID:???
>>603
関数の外で宣言しなくてもグローバル変数扱いになるんですね。
関数の中で宣言したら、ローカル変数になりました。
メニューもキチンと表示されます。

ありがとうございました。


606 :Name_Not_Found:2007/02/11(日) 14:15:54 ID:7MPwvs99
質問です。
Div要素に、アルファチャンネル付きPNG画像を表示させているんですが
フィルタを使用したくなって、適用してみると、アルファチャンネルが透けなくなってしまいました。。。

どちらも使うのは無理なのでしょうか?


607 :Name_Not_Found:2007/02/11(日) 17:39:24 ID:hU8PO4pZ
恥ずかしい質問ですがご容赦を。
いつもDWで作業してますが、手打ちはソースを確認するくらいです。
そして今DWがなくて違う場所にいます。
そしてどうしても解決したい機能がありまして質問させていただきます。
1)ブログの過去記事が増えてきて、ジャンプメニューでさっとアクセスできるようにしたい。
2)「バックナンバー」というリンクを押したら別窓で小さなリスト一覧が出る。
3)そこで特定の記事を選ぶと、メインの窓でその記事が表示される。
その小さな窓の中でなら表示はすぐ出来るのですがメイン画面に表示させる術を知らないのです。
ターゲットとかbody IDなどは分かってきたのですが実際に組むとなると頓挫してしまいました。
head内に書くjavascript内になにか指定をしたりするのでしょうか?
手取り足取りお願いすることになっていますがどうかよろしくお願いいたします。


608 :Name_Not_Found:2007/02/11(日) 18:07:35 ID:???
window.opener

609 :Name_Not_Found:2007/02/11(日) 18:09:02 ID:???
>>607
window.opener.location.href = 行き先URL;

610 :607:2007/02/11(日) 20:59:06 ID:???
>>608-609
感謝です。
こういうのがあったとは…勉強不足でした。
そして勉強になりました。
ありがとうございました。


611 :Name_Not_Found:2007/02/12(月) 02:43:27 ID:???
HPをアップロードした再に
検索中のページは、アクセス時に無効なメソッド (HTTP 動詞) が使われたため、表示できません。

と表示される箇所があったのですが
具体的にどのような不具合な箇所があるのでしょうか?

612 :Name_Not_Found:2007/02/12(月) 03:04:58 ID:???
>>611
初心者スレへ。

613 :Name_Not_Found:2007/02/12(月) 06:39:12 ID:???
>>611
どこがJavaScriptと関係あると判断したんだね?

614 :611:2007/02/12(月) 10:45:56 ID:???
javascriptで作ったページだったのでこちらで
聞いてみました。
初心者スレで聞いてみます。

615 :Name_Not_Found:2007/02/12(月) 11:27:59 ID:???
>>614
次に来る時は「エラーが出る最小限のソース」を作って貼るようにね。
それができないならここで質問しないでくれ。

616 :Name_Not_Found:2007/02/12(月) 16:02:42 ID:???
var textareas = document.getElementsByTagName('textarea');

みたいにinput type の text だけ取得できる?


・・・、 の が()にみえて変な感じ。

617 :Name_Not_Found:2007/02/12(月) 16:23:29 ID:???
もうちょっとわかりやすく質問してくれ

618 :Name_Not_Found:2007/02/12(月) 16:32:45 ID:???
目的は

<input type="text" value="" name="" />

っていうのだけを取得することなんだけど、
var hoge = document.getElementsByTagName('input');

しかできないのかな、

<input type="button" value="" name="" />
まで取得しちゃうのが悩ましくて。

if ( this.getAttribute("type") == "text")
で試したけれども、数が多いと表示に時間がかかってしまう。うーん
なんかもっとシンプルにしたい!というところで挫折中。

619 :Name_Not_Found:2007/02/12(月) 16:39:14 ID:???
>>616
できません。どっちかというとtype="button"を使うかわりに
<button>...</button>を使えばいいんでないの?

620 :Name_Not_Found:2007/02/12(月) 16:46:10 ID:???
>>619
ありがとう〜 無理だったか。

<button>、そのとおりなのだけど、
既存サイトなもので書き換えができないのよ〜。

getAttributeより早そうな他の手段を考えてみるわー

621 :Name_Not_Found:2007/02/12(月) 18:18:56 ID:???
誰の目にもDOM-XPathの使い所じゃないか。
しかし、DOM-HTMLでtypeプロパティを条件にグレップしても全然遅くないけどな。

622 :Name_Not_Found:2007/02/12(月) 19:21:35 ID:???
遅くないなら結構なことだな。

623 :Name_Not_Found:2007/02/12(月) 23:14:27 ID:???
>>621 なるほど、Geckoで動くね。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var r, x, a = [];
if(document.evaluate) {
r = document.evaluate('//input[@type="text"]', document, null, 0, null);
while(x = r.iterateNext()) { a.push(x); }
for(var i = 0; i < a.length; ++i) { a[i].value = 'X'; }
}
}
</script>
</head><body>
<form action="#" onsubmit="return false"><div>
<input name="b0" type="button" value="Test" onclick="test()">
<input name="t0" type="text">
<input name="b1" type="button" value="Test"><input name="t1" type="text">
<input name="b2" type="button" value="Test"><input name="t2" type="text">
</div></form></body></html>

624 :Name_Not_Found:2007/02/12(月) 23:39:12 ID:???
>>623
そういう風に使うならXPathResultをスナップショット系にするようにすれば
whileで配列に入れなくてもよくなるよ
あとXPath式を相対パスにしてコンテキストノードをdocument.bodyに絞ってevaluateした方が速い

625 :Name_Not_Found:2007/02/13(火) 00:35:24 ID:cdRia9UT
javascript:if("AB".match(/(.*?)*?B/)){alert(RegExp.lastMatch);}
これページに埋め込むとFirefoxではクラッシュ。IEではメモリ使いまくりで大変なことになりますね。

(Firefoxでは1.5.0.3で修正されてますhttps://bugzilla.mozilla.org/show_bug.cgi?id=330352 )


626 :Name_Not_Found:2007/02/13(火) 01:12:11 ID:???
(相対パス) && (コンテキストノード) // >>624が指摘済み
&&
( <input> も <input type="text"> も、DOM-HTML の type プロパティが "text" )

==> 'descendant::*[(local-name()="INPUT" or local-name()="input") and (not(@type) or @type="text")]'

627 :Name_Not_Found:2007/02/13(火) 01:31:03 ID:???
擬似的に画面内にウィンドウを表示するようなフレームワークが
あったと思うんですが名前をど忘れしてしました

英語のサイトだったと思うんですが・・優しい人だれか教えてくだちい

628 :620:2007/02/13(火) 01:55:11 ID:???
>>627
LightBox系かな?
http://fortysomething.ca/mt/etc/archives/005400.php
とかにまとまってたよ

>>626
それだとtype=text取得できる?・・・げっ、難しくて読めないけどぐぐって調べてみる

629 :627:2007/02/13(火) 02:23:06 ID:???
>>628
ビンゴです!ありがとう!

今見たんですがlightboxは画像だけなんですね
LITBoxでエロいことしてみよう・・・

630 :Name_Not_Found:2007/02/13(火) 03:05:08 ID:???
>>626
要素名が大文字かそうじゃないか(text/htmlかapplication/xhtml+xmlか)はXPath式の外で判定した方が
無駄がなくなるんじゃないかな
判定方法はルート要素が大文字かどうか調べるのでもdocument.xmlVersionの有無でも
Gecko拡張のdocument.contentTypeでも何でもいいけど

var n = document.documentElement.localName;
var input = (n != n.toUpperCase()) ? "input" : "INPUT";
var expr = 'descendant::*[local-name()="'+input+'"][not(@type) or @type="text"]';


631 :Name_Not_Found:2007/02/13(火) 04:37:05 ID:???
>>630
// [... and ...] を JS に訳す。
Array.filter(document.body.getElementsByTagName('*'),
             function (e) {return e.localName == input && e.type == 'text';});// (!e.getAttribute('type') || e.getAttribute('type') == 'text')
// [...][...] を JS に訳す。
Array.filter(document.body.getElementsByTagName('*'),
             function (e) {return e.localName == input;})
     .filter(function (e) {return e.type == 'text';});// (!e.getAttribute('type') || e.getAttribute('type') == 'text')

* HTMLInputElement のリスト作成と保持、
* HTMLInputElement の個数分のループ増分、
のせいで、変数 input を作って省いた無駄が帳消しされる。

結局、微小な無駄を省くための無駄な努力を本気でやるなら、
IF (text/html) {
  IF (HTML) descendant::INPUT[...];
  ELSE IF (html) descendant::input[...];
} ELSE {
  descendant::*[... and ...];
}
のような分岐を JS で書くことになるかな。

632 :630:2007/02/13(火) 08:04:41 ID:???
>>631
すごい勉強になった。ありがとう
これだけちゃんと知ってる人が居るんなら自分ももっと質問しようかな


633 :Name_Not_Found:2007/02/13(火) 17:40:09 ID:PNob3ppY
JSで、rubyのString#scan()に相当するものはありますか。
input = ".....";
while (m = input.scan(/(¥w+)=(¥d+|¥w+.¥w+)/)) {
...
}
のようなかんじで、つづけてマッチングさせたいんです。


634 :Name_Not_Found:2007/02/13(火) 21:03:59 ID:???
>>624
var loopCount = 20, doc = document, body = doc.body;
var t1 = new Date();
for (var i = loopCount; i--;) {
var r1 = doc.evaluate("//input[@type='text']", doc, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
} // 180ms
var t2 = new Date();
for (var i = loopCount; i--;) {
var r2 = doc.evaluate("descendant::input[@type='text']", body, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
} // 70ms
var t3 = new Date();
for (var i = loopCount; i--;) {
var r3 = doc.evaluate("/descendant::input[@type='text']", doc, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
} // 70ms
var t4 = new Date();

Firefox 2.0.0.1、<input type="text">が1024個含まれる文書で測定。
"//"は"/descendant-or-self::node()/"の省略形だから、
絶対パスか相対パスかなんてことよりも、ロケーションステップが
増えることのほうが問題になるんじゃないか。

あとtext/htmlな文書に対して、Firefoxだとlocal-name()で
大文字の要素名を返すが、Operaだと小文字の要素名を返すみたい。

635 :Name_Not_Found:2007/02/13(火) 21:14:44 ID:???
function A(){
   this.property=0;
   this.method=function(){
      document.title=0;
      if(this.property<10){
         ++this.property;
         setTimeout('this.method()',1000);
      }
   }
}
var a=new A();
a.method();

動きません。
setTimeoutにthisを使う(使わない)方法はどうすりゃいいですか?

636 :Name_Not_Found:2007/02/13(火) 21:26:11 ID:???
>>633
var input = "a=1 b=2 c=3";
var m;
while (m = /(\w+)=(\d+)/g.exec(input)) {
alert("lhs: " + m[1] + ", rhs: " + m[2]);
}

lhs: a, rhs: 1
lhs: b, rhs: 2
lhs: c, rhs: 3

>>635
散々既出。過去スレをsetTimeoutで検索しろ。その中からさらにthisでページ内検索しろ。

637 :635:2007/02/13(火) 21:30:10 ID:???
分かりました。

638 :633:2007/02/13(火) 21:35:36 ID:???
>>636
Thank you very much.
The point is 'g' option. Oh, I haven't known it.
I appreciate you very much and hope your HAPPY VALENTINE!

639 :Name_Not_Found:2007/02/13(火) 21:40:46 ID:???
>>634
検索範囲を狭めるためには相対の方がいいと思うよ
あとその例で一番問題なのはロケーションステップの数もそうかもしれないけど
/descendant-or-self::node()/の「node()」じゃないかな

>あとtext/htmlな文書に対して〜
あ、そうなのか。ちゃんと確認しないとだめだな…

640 :636:2007/02/13(火) 22:01:57 ID:???
>>638
ごめん、そのままだとIEで無限ループに陥る。
var re = /.../g;
while (m = re.exec(input))
というふうにいったん正規表現を変数に収めれば大丈夫。
(いったい何なんだ、この謎の挙動は。)

641 :636:2007/02/13(火) 22:17:13 ID:???
>>638
あと言い忘れたがな、こちらとら明日も男ばかりの学校で独りだ。
もらえる相手はおろか、ともに慰めあう野郎すらいやしない。
ちくしょうちくしょうちくしょう、俺なんか馬に蹴られて死んじまえ。

642 :Name_Not_Found:2007/02/13(火) 22:22:21 ID:???
キモイ...

643 :Name_Not_Found:2007/02/14(水) 03:49:37 ID:???
>>641
友達を増やすんだ。
SE・PGじゃないほうな。

644 :Name_Not_Found:2007/02/14(水) 09:02:54 ID:???
もらうだけだったら、どこか適当なサークルにでも入ればいいのに

645 :Name_Not_Found:2007/02/14(水) 11:56:27 ID:???
義理は面倒なだけだぞ。
まぁ、出来れば避けたい人から本命貰うのは、更に面倒だが…。


俺なんか、高校の時キモイ男に貰ったからな('A`)

646 :Name_Not_Found:2007/02/14(水) 13:28:48 ID:+oNAxdmd
if(choko!=true)alert('throw them away to the moon');

647 :Name_Not_Found:2007/02/14(水) 14:13:14 ID:???
なんかソートプログラムが色々置いてるサイトとかないでしょうか?

648 :Name_Not_Found:2007/02/14(水) 14:29:51 ID:???
>>647
課題なら自分でやれ。JavaScriptならsortメソッドあるから
自分でイチから書く必要なんて(課題以外には)ない。

649 :Name_Not_Found:2007/02/14(水) 15:32:59 ID:???
>>648
http://www2u.biglobe.ne.jp/~oz-07ams/prog/dom-notes/sort_rows.html

650 :Name_Not_Found:2007/02/14(水) 16:18:12 ID:???
>>649
それもイマイチで、洩れならまずデータをコピーで裏側に取って
整列した後replace1発にするけどね。まあともかく、遅くなきゃ
何でも(というか読みやすく書きやすいものが)いいんじゃないの。
それにそのサイトでも整列自体はArray#sortだよね。

651 :Name_Not_Found:2007/02/14(水) 17:11:24 ID:???
<input type=text

の形のテキストボックスで、数字のみ入力可能にするにはどうしたいいのでしょうか?

652 :Name_Not_Found:2007/02/14(水) 17:33:57 ID:???
(その INPUT 要素).onChange = function(){
if((その INPUT 要素).value.match(/[^\d]/)){
alert('ブルァァァァァァァァアアアアアアアア!!!!!');
(その INPUT 要素.value = '';
}
}

653 :Name_Not_Found:2007/02/14(水) 17:35:08 ID:???
ミスった
4行目の括弧てきとーに閉じて

654 :Name_Not_Found:2007/02/14(水) 17:39:05 ID:???
ごめん
1行目.replace('onChange', 'onchange')

655 :651:2007/02/14(水) 18:27:30 ID:???
>>652
ありがとうございます。
style="format: number;"
見たいな感じでプロパティを与えることができれば便利かなとおもってました

656 :Name_Not_Found:2007/02/14(水) 18:29:17 ID:???
なにそのCSSw

657 :Name_Not_Found:2007/02/14(水) 21:08:15 ID:???
thisThread.attendant = "aho: inhibit";
とかしたい気分だな。

658 :Name_Not_Found:2007/02/14(水) 22:44:56 ID:???
すいません、教えて頂きたいのですが、

selectメニューを選んだら、その項目名(option)の中身が、
テキストエリアにリアルタイムで出力するスクリプトを作成したいのですが、わかりません。

教えて頂けませんか。。

659 :Name_Not_Found:2007/02/14(水) 22:51:15 ID:???
>>658
<select onchange="document.getElementById('hoge').value=this.options[this.selectedIndex].text">
<option>あああ</option><option>いいい</option><option>ううう</option></select>
<input type="text" id="hoge" value="">

660 :Name_Not_Found:2007/02/14(水) 22:53:08 ID:???
>>659
ありがとうございます;


661 :Name_Not_Found:2007/02/15(木) 04:55:18 ID:???
Seamonky (JavaScript-C 1.5 pre-release 6a 2004-06-09) をコマンドラインから使っています。
あるスクリプトから別のスクリプトを読み込むにはどうしたらいいですか。
PHPのinclude()みたいなことがしたいです。

あと、Seamonkeyでファイルの読み書きはできますか。
print()があるのはわかったんですけど、ファイルの読み書きがわかりませんでした。


662 :Name_Not_Found:2007/02/15(木) 06:46:04 ID:???
SeaMonkeyって言うのはブラウザやらメーラーやらを統合したアプリケーションスイートだ。
おそらくあんたが使ってるのはSpiderMonkeyを使用したJavaScript Shell。
http://developer.mozilla.org/ja/docs/Introduction_to_the_JavaScript_shell

663 :Name_Not_Found:2007/02/15(木) 13:54:18 ID:KvvUPIrG
http://pol.s263.xrea.com/lotr/

PukiWikiで作ってるサイトの左のメニューの項目が将来的に多くなりそうだから、javascriptを使ったプラグインを組み込んで、
一部折りたたんでマウスを上に持ってくると開いて、マウスを外すと閉じるようにしたい。

が、閉じる動作が上手くいかない。(なぜか一行目にしか反応してくれない)
何を言ってるのかわからないと思うから、左側のメニューの、詳細データ>戦闘>skillにマウスを重ねてみてくれ。

http://pol.s263.xrea.com/region.zip 改造前後のプラグインのソース
原型のプラグインの情報は"region.inc.php"でググれば出てくるけど多分たいしたもんはない。

えろいひと助けてください。お願いします。

664 :Name_Not_Found:2007/02/15(木) 15:04:25 ID:???
>>663
丸痴乙。向こうでももう回答なしだな。

665 :Name_Not_Found:2007/02/15(木) 15:37:23 ID:???
それはおもしろいりくつだ

666 :Name_Not_Found:2007/02/15(木) 15:48:47 ID:???
>>663
あのね、折り畳んであって出て来るものを1行目のdivの中に入れる。
でないと折り畳んであって出て来たものにマウスを動かしたとたんに
1行目からは出てしまうでしょ。まあよくある間違いなんだけど。

667 :Name_Not_Found:2007/02/15(木) 16:25:54 ID:KvvUPIrG
>>666
ありがとう!

668 :Name_Not_Found:2007/02/15(木) 20:57:38 ID:???
質問です。
document.getElementById('x').innerHTML='A';
とやると、未知の実行時エラーになります。どんな障碍が考えられますか。
WindowsXPです。

669 :Name_Not_Found:2007/02/15(木) 21:01:28 ID:???
>未知の実行時エラー
tableとかIEで操作できないタグのinnerHTML弄ろうとしてない?

あと俺のヘボった例だと、元のHTMLにタグの閉じ忘れが
あったりして、DOMツリー解釈がおかしくなってる時に
そのエラー出て悩まされた事あるお
……そんときはaタグの閉じ忘れだったよ。情けなくて泣きたくなったな

670 :Name_Not_Found:2007/02/15(木) 23:11:58 ID:???
documentロード前に実行してるからじゃないの?

671 :Name_Not_Found:2007/02/16(金) 08:25:54 ID:???
>>668
その現象が起きる最小限のサンプルを作って貼れ。それが嫌なら帰れ。
ここでありとあらゆる可能性を全部書かそうだって?ごう慢すぎ。

672 :Name_Not_Found:2007/02/16(金) 09:50:13 ID:???
('x')
↑これに吹いたw

673 :Name_Not_Found:2007/02/16(金) 14:39:52 ID:ojvKbQFW
document.writeを使ってjavascriptを書き出すとIEのみ意図したところから外れて表示されるのですが、
div内に収める方法はありますか?
ソースの上のdivがやりたい動作で、下のdivがIEで外れてしまう動作です。
(FirefoxとOperaでは外れないです)

<html>
<head>
</head>
<body>
<!-- 行いたい動作 -->
<div id="no_script" style="border:1px solid #000">
<h4 style="background-color: #eee;">アプラグ表示_scriptなし</h3>
<script type="text/javascript" src="http://aplug.nifty.com/panel/P002c" charset="utf-8"></script>
</div>

<!-- 意図しない動作 -->
<script type="text/javascript" charset="utf-8">
var str='';
str += '<div id="script" style="border:1px solid #000">';
str += '<h4 style="background-color: #eee;">アプラグ表示_scriptあり</h3>';
str += '<script type="text/javascript" src="http://aplug.nifty.com/panel/P002c" charset="utf-8"></';
str += 'script>';
str += '</div>';
document.write(str);
document.close();
</script>
</body>

674 :661:2007/02/16(金) 18:37:45 ID:???
>>662
まったくおっしゃるとおりでした。ありがとう。
でもファイルを読み込む関数がないんですけど。
readline()はstdinを読むだけみたいだし。

675 :Name_Not_Found:2007/02/16(金) 18:52:45 ID:???
js> help()
してみろ

676 :Name_Not_Found:2007/02/16(金) 22:00:32 ID:???
>>673
わけわからん。超能力を駆使して答えてみた。

str += 'script>'; 
// str += '</div>';
document.write(str); 
document.close(); 
</script> 
<script>
document.write('</div>');
</script>

貼り付けたスクリプトが実行されるタイミングは
IEと他で微妙に違うみたいですね。


677 :Name_Not_Found:2007/02/16(金) 22:54:55 ID:lJz2XHkD
フォームのチェックボックスが
<input name="check[]" type="checkbox" value="1">
<input name="check[]" type="checkbox" value="2">

こういう複数選択(配列代入)式の場合、どうやってそのnameを取得
すればいいのでしょうか?入力チェックなどで↓のようにしましたが、
上手くできませんでした。(アラートが出ない)

if(check[0].checked == false){
alert('選択して下さい');
return false;
}

678 :Name_Not_Found:2007/02/16(金) 23:02:22 ID:???
特定のクラス名を持つp要素に囲まれたa要素を取得したいのですが、
idと違って上手く取得できません。
どうすればいいのでしょうか?

679 :Name_Not_Found:2007/02/16(金) 23:03:25 ID:???
>>677
FAQ

680 :673:2007/02/16(金) 23:30:38 ID:???
>>676
あれ?ごめんなさい。

> 貼り付けたスクリプトが実行されるタイミングは
> IEと他で微妙に違うみたいですね
そうです。このことが言いたかったのです。

一度script部分だけブラウザの中に読み込んでおいて、
他のHTMLタグを書き、全部書き終わった後でscriptを実行してしまうから
divの囲いから外れてしまうのかな?と。

IEだけなのでそれをどうにかする方法があれば教えてもらいたいのです。

681 :Name_Not_Found:2007/02/17(土) 00:43:25 ID:???
nnerHTMLにすれば?

682 :Name_Not_Found:2007/02/17(土) 00:50:14 ID:???
>>680
あれ?>>676じゃだめだった?

683 :Name_Not_Found:2007/02/17(土) 04:55:34 ID:???
落ち着いて読んでないだけだろう。

684 :Name_Not_Found:2007/02/17(土) 10:16:07 ID:s2RFsBvT
<script language="JavaScript">
<!--
vType = ["hidden","visible"];
function pdMenu(mName) { Menu = document.all[mName].style;
Menu.visibility = vType[Menu.visibility.indexOf("hidden") + 1]; }
// --></script>

変な挙動をします。。。以下htmlです

685 :Name_Not_Found:2007/02/17(土) 10:26:45 ID:s2RFsBvT
<img src="img/gnav_01.jpg" onMouseover="pdMenu('Menu1')"><br>
<div id="Menu1" style="visibility:hidden" onMouseout="pdMenu('Menu1')">
<a href="#"><img src="img/menu_1_1.jpg" border="0"></a><br>
<a href="#"><img src="img/menu_1_2.jpg" border="0"></a><br>
<a href="#"><img src="img/menu_1_3.jpg" border="0"></a><br>
</div>
どなたかお助けください><
<img src="img/gnav_02.jpg" onMouseover="pdMenu('Menu2')"><br>
<div id="Menu2" style="visibility:hidden" onMouseout="pdMenu('Menu2')">
<a href="#"><img src="img/menu_2_1.jpg" border="0"></a><br>
<a href="#"><img src="img/menu_2_2.jpg" border="0"></a><br>
<a href="#"><img src="img/menu_2_3.jpg" border="0"></a><br>
</div>
<img src="img/gnav_03.jpg" onMouseover="pdMenu('Menu3')"><br>
<div id="Menu3" style="visibility:hidden" onMouseout="pdMenu('Menu3')">
<a href="#"><img src="img/menu_2_1.jpg" border="0"></a><br>
<a href="#"><img src="img/menu_2_2.jpg" border="0"></a><br>
<a href="#"><img src="img/menu_2_3.jpg" border="0"></a><br>
</div>
どなたかお助けください><

686 :Name_Not_Found:2007/02/17(土) 10:27:51 ID:s2RFsBvT
間違えました。すいません。
<img src="img/gnav_01.jpg" onMouseover="pdMenu('Menu1')"><br>
<div id="Menu1" style="visibility:hidden" onMouseout="pdMenu('Menu1')">
<a href="#"><img src="img/menu_1_1.jpg" border="0"></a><br>
<a href="#"><img src="img/menu_1_2.jpg" border="0"></a><br>
<a href="#"><img src="img/menu_1_3.jpg" border="0"></a><br>
</div>
<img src="img/gnav_02.jpg" onMouseover="pdMenu('Menu2')"><br>
<div id="Menu2" style="visibility:hidden" onMouseout="pdMenu('Menu2')">
<a href="#"><img src="img/menu_2_1.jpg" border="0"></a><br>
<a href="#"><img src="img/menu_2_2.jpg" border="0"></a><br>
<a href="#"><img src="img/menu_2_3.jpg" border="0"></a><br>
</div>
<img src="img/gnav_03.jpg" onMouseover="pdMenu('Menu3')"><br>
<div id="Menu3" style="visibility:hidden" onMouseout="pdMenu('Menu3')">
<a href="#"><img src="img/menu_2_1.jpg" border="0"></a><br>
<a href="#"><img src="img/menu_2_2.jpg" border="0"></a><br>
<a href="#"><img src="img/menu_2_3.jpg" border="0"></a><br>
</div>


687 :Name_Not_Found:2007/02/17(土) 11:13:53 ID:???
質問はきちんと日本語で。「どういう意図のプログラムで」
「どのように動作しない/予定外の動作をするのか」書く。

688 :Name_Not_Found:2007/02/17(土) 11:21:50 ID:???
Mr.673、プログラマに説明するならきちんとプログラマ語で
話さないと通じないぞ

689 :Name_Not_Found:2007/02/17(土) 11:32:02 ID:???
ちょっと質問。
ttp://alpha.sourceforge.jp/diary/#d0216
で言われてる
> 自由関数が利用可能で、自由関数で済むならオブジェクトに結び付けない方がウマい。
って具体的にどういうこと?


690 :Name_Not_Found:2007/02/17(土) 11:32:07 ID:???
IE専なコード貼られても手元のFxで試せないからなー。

691 :Name_Not_Found:2007/02/17(土) 11:42:37 ID:???
>>689
自由関数という言い方は始めてだな。意味としてはメンバ関数
(メソッド)でない関数という意味で使ってるようだね。
'abcd'.substring(1, 3);
よりも
string_substring('abcd', 1, 3);
の方がいいってわけかね?洩れはメソッド記法の方が読みやすい
と思うけどね。読みやすさって大切だよー(また論争になるかな)。
ライブラリによるプロトタイプ汚染とかの問題はあるけどね。

692 :Name_Not_Found:2007/02/17(土) 12:14:58 ID:???
>>691
dクス
言語によってこの辺変わってくるのかな?
二つの値を比較するとかだと、メソッドじゃない方がいいとも思うけど。

693 :Name_Not_Found:2007/02/17(土) 12:43:43 ID:???
>>690
IEで試せばええやん

694 :Name_Not_Found:2007/02/17(土) 12:47:26 ID:???
Windows使ってないもーん。まあ試したい人が試せばいいんでしょ。

695 :Name_Not_Found:2007/02/17(土) 13:08:17 ID:???
>>694
まーそうだな。IE使いの俺は試す気ないし

696 :Name_Not_Found:2007/02/17(土) 13:23:14 ID:???
document.body.currentStyle.borderTopWidth
の値をピクセル単位で取得したいのですが、どうすればよいでしょうか?
IE専でお願いします。

697 :Name_Not_Found:2007/02/17(土) 13:32:07 ID:???
>>696
IE専だから試してないけど(手元にIEない)、その値を
適当な絶対位置指定の見えないdivのheightとかにでも
設定してそのdivのoffsetHeightを読み出すとかどう?

698 :696:2007/02/17(土) 14:07:48 ID:???
>>697
なるほど!それでいってみます。

699 :Name_Not_Found:2007/02/17(土) 16:20:06 ID:???
>>691
>可読性
string_method(...)
"...".method(...)
両者の何処に可読性の差があるんだ?

700 :Name_Not_Found:2007/02/17(土) 17:07:15 ID:???
キタ…!

701 :Name_Not_Found:2007/02/17(土) 17:08:19 ID:???
"自由関数" の検索結果 約 18 件中 1 - 10 件目 (0.20 秒)

702 :Name_Not_Found:2007/02/17(土) 18:32:35 ID:???
17.toString(16);
とかやって泣きを見るわけだ

703 :Name_Not_Found:2007/02/18(日) 16:26:01 ID:ab4sx2r3
formで送信する文字のエンコードを変更したいのですが、方法はありませんか。
IE6以上で対応できれば、大丈夫です。

704 :Name_Not_Found:2007/02/18(日) 16:46:25 ID:???
>>703
ググったら色々出てきたぞ。
http://www.google.com/search?num=50&hl=ja&q=javascript+%E6%96%87%E5%AD%97%E3%82%B3%E3%83%BC%E3%83%89&lr=lang_ja

705 :Name_Not_Found:2007/02/18(日) 16:58:27 ID:ab4sx2r3
>>704
一番上のやつ?
やっぱ、document.charsetでやるしかないのか…

706 :Name_Not_Found:2007/02/18(日) 17:19:08 ID:???
XMLHttpRequestのsetRequestHeaderで指定できなかった?

707 :Name_Not_Found:2007/02/18(日) 17:53:58 ID:???
XMLHttpRequestでやると全部自前で用意になるからなー。

708 :Name_Not_Found:2007/02/19(月) 01:22:09 ID:Ae2jF3Gk
Javascriptでボタンを置き換えた際にFirefox環境においてSubmitされません。
TABLEタグの外にFORMタグを置くと正常動作しますが、プログラム側で
繰り返し処理をしてFORMがTRごとに生成されるようにしたいので
TABLEタグの外にできれば置きたくないです。
FORMが一つだとプログラムが複雑になってしまうので。
これに関する簡単な回避方法など知ってる人いたら教えて下さい。

ソースは下記です。


709 :Name_Not_Found:2007/02/19(月) 01:23:30 ID:Ae2jF3Gk
<html><head><SCRIPT language="JavaScript">
<!--
function pop(){
elem = document.getElementById('666');
elem.innerHTML = '<input type="submit" value="このボタンがsubmitされない" />';
}
function sub(){
alert("サブミット確認ダイアログ");
}
// -->
</SCRIPT></head><body><table>
<form method="POST" onSubmit="sub();">
<tr>
<td align="center" id="666">
<input type="button" onclick="pop()" value="クリックするとボタン置き換え" />
</td>
<td align="center">
<input type="submit" value="クリックするとSubmit" />
</td>
</tr>
</form>
</table></body></html>

710 :Name_Not_Found:2007/02/19(月) 01:26:19 ID:???
数字から始まるidはイリーガルでは…

711 :Name_Not_Found:2007/02/19(月) 01:27:12 ID:???
>>708
そんな間違った html で動くわけなかろう

712 :Name_Not_Found:2007/02/19(月) 01:30:56 ID:???
>>709
これじゃ駄目なの?

<html><head><SCRIPT language="JavaScript">
<!--
function pop(elem){
elem.type = "submit";
elem.value = "このボタンがsubmitされない";
}
function sub(){
alert("サブミット確認ダイアログ");
}
// -->
</SCRIPT></head><body><table>
<form method="POST" onSubmit="sub();">
<tr>
<td align="center" id="666">
<input type="button" onclick="pop(this)" value="クリックするとボタン置き換え" />
</td>
<td align="center">
<input type="submit" value="クリックするとSubmit" />
</td>
</tr>
</form>
</table></body></html>


713 :Name_Not_Found:2007/02/19(月) 01:56:05 ID:Ae2jF3Gk
>>710
そうでしたね。
これは簡略化したHTMLで、本当はテキスト+IDなので大丈夫です。

>>711
ええっと、どこらへんが間違ってるんでしょうか。
<td align="center">がまずかったかな・・・。
それともやっぱTABLEタグとFORMタグの構造の位置関係かな。
TRと同じ数だけFORMを作りたいんですよねー。
その時点でHTML的にアウトなのかな。だからFirefoxでパスしないのかな。
とはなんとなく思ってるんですけどねえ。でも不便じゃないですか、それ。

>>712
それだと挙動が変わってしまいますね。クリックした途端Submitされちゃう。
あとこれはシンプル化したHTMLなので、本番はinnerHTMLにもっと他の内容も
突っ込まないといけないんですよね・・・・。
なので単純にボタン要素を書き換えるというわけではないのです。
分かりにくくて申し訳ない。

714 :Name_Not_Found:2007/02/19(月) 02:09:23 ID:Ae2jF3Gk
ぶっちゃけこれインライン編集なんですよ。もうちょっと論点明確にするため書き換えてみました。
<html><head><SCRIPT language="JavaScript">
<!--
function pop(){
elem = document.getElementById('abc');
elem.innerHTML = '<input type=text /><input type=submit value=このボタンが無効になる />';
}
function sub(){
alert("サブミット確認ダイアログ");
}
// -->
</SCRIPT></head><body>
<table>
<form onSubmit="sub();">
<tr>
<td id="abc">
<a href="#" onclick="pop()">クリックするとボタン置き換え</a>
</td>
<td>
<input type="submit" value="クリックするとSubmit" />
</td>
</tr>
</form>
</table></body></html>

715 :Name_Not_Found:2007/02/19(月) 03:22:41 ID:???
なるほど、後から動的に追加したsubmitではFxで送信できないな。
そういう仕様だっけ?

716 :Name_Not_Found:2007/02/19(月) 03:36:53 ID:Ae2jF3Gk
>>715
それもTable内にFormがある場合だけなんですよね。
レンダリングの際にTableタグが壁になってるのかな・・・

717 :Name_Not_Found:2007/02/19(月) 03:49:34 ID:???
>>716
うん間違った。仕様じゃなかった。tableタグがいかんようやね。
xmlhttprequestでやったら送れたけど。

718 :Name_Not_Found:2007/02/19(月) 05:08:01 ID:???
tableじゃなくて、table直下のformが駄目ってのは基本だろ。

719 :Name_Not_Found:2007/02/19(月) 05:30:45 ID:???
>>717
submitをXMLHTTPREQUESTでやるってことですか?
AJAXって使ったことないんでよかったら教えて下さい。

>>718
直下じゃなくてもダメなんですよねぇ。いろいろ試したんですが。


720 :Name_Not_Found:2007/02/19(月) 05:54:13 ID:???
あっそういえばnameが無いのは無効ってのもあったかな?

721 :Name_Not_Found:2007/02/19(月) 08:14:54 ID:???
>>718-719
table要素の直下にform入れたらinvalidだ。trの直下にも駄目。
validなHTMLが書けるようになってから来い。色々試したのが
全部デタラメなんだろ。validなHTMLでなおかつ動かない最小の
例を作って来たら見てもいいけど、アンタにはvalidが分からない
から作れないと見たね。

722 :Name_Not_Found:2007/02/19(月) 08:39:22 ID:???
>>721
TDの中に入れたら動きましたけどねぇ。
でもそれだと改行問題のハックにならないのはまだいいとしても、
構造的におかしいんですよね。だってその場合全ての
TD内部にFORMを書かないといけなくなり、hiddenの変数なんかも
全て2重に書かないといけなくなりますからねえ。

何がValidで何がInvalidかは一応分かってるつもりです。
でもプログラマとしてはそんな事実際どうでもいいんですよ。
できればHTML壊したくないですけど効率的に書く方が重要な場合もあります。

> validなHTMLでなおかつ動かない最小の例

この場合そんな例作れるんですか?TABLEの外にFORM置くかTDの中に置くか
どっちかしかないんじゃないですか。どっちでもスクリプト自体は動きますよ。
動いちゃ論点が明確にならない。そのためにはJSPもつけて説明しないと
いけなくなるし、そうなると板違いになります。

まぁそういったわけであのようなHTMLで質問したわけなんですが。

ValidなHTMLじゃないとJavascriptの質問はしちゃいけないんですか。
厳しいですねえ。なんかハックはないもんですかねえ。
プログラム的に重複するのが嫌なんですよ。それに比べればValidityぐらい・・


723 :Name_Not_Found:2007/02/19(月) 08:58:19 ID:???
>>722
だからTABLEやTRの直下にFORMがinvalidでありブラウザはそれを無視してもよい、
もしくは無視すべきであるのが「仕様」ってことだよ。
プログラマなら仕様ぐらい見れ。仕様外でも動くことがあるのはたまたまかバグ。

<!ELEMENT TABLE - -
(CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>
<!ELEMENT TR - O (TH|TD)+ -- table row -->


724 :Name_Not_Found:2007/02/19(月) 09:15:25 ID:???
>>723
んーっとじゃぁこういう場合普通はどういう解決法をとるんですか?
HTMLの仕様って元々なんか無意味な制限だらけじゃないですか。
しかもブラウザがそれ無視するんなら厳格に仕様守る意味は何かと。
要は動けばいいんですよ。できれば重複無しで。HTMLの仕様なんてどうでもいい。
やっぱ俺プログラマ向いてない?

725 :Name_Not_Found:2007/02/19(月) 09:30:39 ID:???
>>724
正直向いてない。
そのどうでもいい仕様に従って作られてるブラウザ上でのプログラムだろうが。
動きゃいいが、なぜ動くのか動かないのか理解しないなんてデバグもままならん。

<tr><form><table>...</table></form></tr>とでもしとけ。
どうせ各カラムの幅をpxで固定とかしてんだろ?
それが嫌なら値取ってxmlhttprequestなり
別んとこにform生成してhiddenつっこむなり。

726 :Name_Not_Found:2007/02/19(月) 09:43:34 ID:???
うーん。
なぜ動かないかは勿論理解したいけど、仕様の問題と分かったならそれを超えたいと思う。
業務に従事するプログラマなら普通の発想では。。。と思いますが。知りたいのはハック。

> どうせ各カラムの幅をpxで固定とかしてんだろ?

デザインは俺の仕事じゃないんで他の人がそこらへんはやります。

> それが嫌なら値取ってxmlhttprequestなり
> 別んとこにform生成してhiddenつっこむなり

はじめからこういった打開策について尋ねていたんですがねえ。
これもうちょい詳しく教えてもらえませぬか → 別んとこにform生成してhiddenつっこむなり


727 :Name_Not_Found:2007/02/19(月) 09:50:33 ID:???
nameの付いてないinputは送信されないってのが原因じゃないの?

728 :Name_Not_Found:2007/02/19(月) 10:05:03 ID:???
次だ次。

729 :Name_Not_Found:2007/02/19(月) 10:10:07 ID:???
簡単にいえば、THやTDの中にform入れるのはvalidだからそう
すればいいのではと。誰かそう言ってやればいいのにね。でも
いちいちバグるたびにここでvadidかどうか教えてもらうんじゃ駄目ぽ。
自分で勉強する気のない奴に教える回答者などない。というのがこのスレ。

730 :Name_Not_Found:2007/02/19(月) 10:18:38 ID:???
>>729
> 簡単にいえば、THやTDの中にform入れるのはvalidだからそうすればいいのではと。誰かそう言ってやればいいのにね。

それだと問題あるからハックがないのかなぁと聞いてるわけなんですが。

> でもいちいちバグるたびにここでvadidかどうか教えてもらうんじゃ駄目ぽ。

そんなことはした覚えがないんですが。


731 :Name_Not_Found:2007/02/19(月) 10:21:46 ID:???
マージンも消せない問題って何?

732 :Name_Not_Found:2007/02/19(月) 11:15:14 ID:???
>>726
<tr><td><input name="a"></td><td><input name="b"></td><td><input onclick="hoge(this)"></td></tr>
function hoge(elem) {
 elem.parentNode.parentNode(=<tr>) 以下からinput選んで値を取得
 documentのどっかにformを生成し、取得した値で<input hidden>を作りsubmit
}
あとはべんきょしれ。
ハックなんぞ「正しい」のがなにかわかってからだ。

733 :Name_Not_Found:2007/02/19(月) 13:30:27 ID:???
テンプレのまとめサイトとか死んでるものが多いので
本を購入して勉強しようと思うど素人です。

いんちき表記などない、王道の書き方にのっとった
超初心者用の勉強本でお勧めありませんか?

734 :Name_Not_Found:2007/02/19(月) 13:38:20 ID:???
ないよ

735 :Name_Not_Found:2007/02/19(月) 13:57:18 ID:???
以下の外部ファイルを読み込んで、さらに外部のjavascriptを表示しようと思っているのですが、
実行するとページの読み込みが完了しません。(/* */部分のコメントを外すと再現できます。)
script.srcに問題点があるのでしょうか?

// 全体を囲むdivの作成
var str = '<div id="content"></div>'
document.write(str);
document.close();

var div = document.createElement('div');
var h4 = document.createElement('h4');
var text = document.createTextNode('テスト');
// h4 に テキストを追加
h4.appendChild(text);
var span = document.createElement('span');
span.id = 'span';
var script = document.createElement('script');
script.type = 'text/javascript';
script.charset = 'utf-8';
/* // ここのコメントを外すと読み込みが完了しない
script.src = '外部のjsファイルのURL';
*/

// span に script をつける
span.appendChild(script);
// div に h4 をつける
div.appendChild(h4);
// div に span をつける
div.appendChild(span);

// 全体を囲む contentのdiv に作ったdivをつける
document.getElementById('content').appendChild(div);

736 :Name_Not_Found:2007/02/19(月) 14:27:15 ID:???
>>722
俺もJSPやC#やPHPなどの担当で
どっちかというと、間違いなく期待の動作をすればvalidなHTMLとかドウデモイイほうだったが

ブラウザとかを作る側になると、間違ったコーディングしてる多数のサイトの為に
W3Cとかの標準準拠だけじゃなくIEのようなファジーっぽいことする必要が出るので
そういう考えはIT業界の悪循環になるとは気づいたよ。

だからと言ってHTMLを厳格な言語にすると、今のような発展はなかったかもしれんし
かなり難しい問題だとは思うが

737 :Name_Not_Found:2007/02/19(月) 14:31:03 ID:EUWOo7JN
インプットに入力した数字をJavaScriptで出力したいのですが、
どこを修正したらよろしいでしょうか?

<form>
<input type="text" name="num" onChange="document.Change.ChangeNum">

<script LANGUAGE="JavaScript">
<!--
function document.Change.ChangeNum(){
document.write("num");
}
-->
</form>

738 :Name_Not_Found:2007/02/19(月) 14:35:13 ID:???
tdのinnerHTMLを書き換えるのは一般に危うい。
tdの中にdivを入れて、そのdivのinnerHTMLを書き換えたらどうかな。

739 :Name_Not_Found:2007/02/19(月) 14:45:37 ID:???
>>738
試してみたけどだめだ…やっぱtr直下のformでsubmitボタン
を取り替えるのってだめなんだね。どっちかというと、ボタンを
取り替えるんじゃなくてonclickハンドラの中身をsubmit()に取り替える
のがいいと思うんだけど、ボタンごと取り替えないと駄目なのかねえ?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test(id) {
document.getElementById(id).innerHTML = '<input type="submit" value="X">';
}
</script>
</head><body>
<table border="2" summary="test"><tbody>
<tr><form action="#"><th><input type="text" name="a"></th>
<th><div id="d0"><input type="button" onclick="test('d0')" value="Y"></div>
</th></form></tr>
<tr><th colspan="2"><form action="#"><input type="text" name="b">
<div id="d1"><input type="button" onclick="test('d1')" value="Y"></div>
</form></th></tr>
</tbody></table></body></html>

740 :Name_Not_Found:2007/02/19(月) 14:46:28 ID:???
>>719
うぃ。とりあえずFx専用。
function posts(){
var o;
o=new XMLHttpRequest();
o.onreadystatechange=function(){
if(o.readyState==4){
alert('送信完了');
}
}
o.open('post','test.php');
o.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
o.send('key='+document.getElementById('abc').value);
}
function replace(){
document.getElementsByTagName('td')[0].innerHTML='<input id="abc" type="text"><input type="submit" value="このボタンが無効になる" onclick="posts();return false;">';
}

<table>
<form>
<tr>
<td><a href="#" onclick="replace();return false;">書き換え</a></td>
</tr>
</form>
</table>

741 :Name_Not_Found:2007/02/19(月) 14:46:58 ID:???
>>737
テンプレを熟読してからまたおいで。

742 :737:2007/02/19(月) 16:48:48 ID:EUWOo7JN
ありがとうございます。
おかげで解決しました。

743 :Name_Not_Found:2007/02/19(月) 19:25:11 ID:???
つうか、CSS書きがIE5.xは切捨てだとか言ってのけるほどCSSが普及した時代なのに、<form>を不正な位置に書いてはっく(笑)などとほざいている外基地など放って置けば?どうせ計算機関連全ての面でスーパー初心者だろうからw

744 :Name_Not_Found:2007/02/19(月) 19:26:53 ID:???
>>740
初心者のおまえが何をはしゃいで回答してんだ?FORM要素の出現位置がおかしいだろ外基地。

745 :Name_Not_Found:2007/02/19(月) 19:33:37 ID:???
ううむNN4.xとかの時代を思い出すな

必ずtable直下にformタグ置いてたNさん、今どこでどうしてるんだろ

746 :Name_Not_Found:2007/02/19(月) 19:34:53 ID:???
>>733
>いんちき表記などない
これを望むと、>>734の言うとおり、ない。
逆にこれだけはやめておけというものならいくらでも挙がるだろう。
最近立ち読みした中で酷かったのは某ムック本だな。JS歴数年のやつらが偉そうに執筆してて失笑したw

747 :Name_Not_Found:2007/02/19(月) 19:41:54 ID:EUWOo7JN
たびたびすみません。
以下の書き方だと、ボタンを押すとJavaScriptで処理した内容しか表示されません。
<html>から</html>上から下まで表示するにはどうしたらよろしいのでしょうか?

<html>
<head><title>テスト</title></head>
<body>
<p>JavaScriptの実行テスト</p>

<script language="javascript"><!--
function setItem() {
int = num.value
for (i = 0; i < int; i++) {
document.writeln("テスト<br>");
}
}
// --></script>

<br>表示する回数<input type="text" name="num"><br>
<input type="button" name="button" value="OK" onClick="setItem()">

</body>
</html>

748 :Name_Not_Found:2007/02/19(月) 19:46:45 ID:???
>>747
>>3のQ4


749 :733:2007/02/19(月) 19:59:23 ID:???
>>734
>>746
やはり、いんちき表記引っかかるんですねorz

まあまあ許容できる範囲で、基礎固め用っていうのはありませんか?

750 :Name_Not_Found:2007/02/19(月) 20:15:50 ID:???
とりあえずプログラミング初心者ならJavascriptはお勧めしない
PythonかLisp超お勧め

751 :Name_Not_Found:2007/02/19(月) 20:20:54 ID:???
過去スレ読んでたら、doctypeの人って凄い時期から居るんだな。
なんか可哀想になってきた。
病気でも患ったのかな。

752 :Name_Not_Found:2007/02/19(月) 20:31:16 ID:???
PHPしかやったことないけど、Javascriptってどうよ?

753 :Name_Not_Found:2007/02/19(月) 20:35:29 ID:???
どうとも言えんな。
PHP使いにとって知っておいて損はないと思うけど。
javascriptだけじゃ所詮オモチャだし。

754 :651:2007/02/19(月) 20:40:01 ID:???
webProg作るときに、フォームの内容をJSでチェックする手法はなかなかいいぞ。
もちろん鯖側でも同じチェックをしなければならないがな。
またテキストボックスなどでエンターを押しただけでフォームが投稿されてしまうデフォルトの不親切仕様も避けることができるし、
いちいち必須項目未記入などで何度も送信するのもユーザー側にはしんどいので、JSでさくっとチェックされると楽しい

755 :Name_Not_Found:2007/02/19(月) 20:40:01 ID:???
>>751
<!DOCTYPE ご心配頂きどうも。でも単なる趣味ですからご心配なく。>

756 :Name_Not_Found:2007/02/19(月) 20:55:11 ID:???
>>749
このスレでよく挙げられているのはオライリーのサイ本とMyUNIXだね。
役に立つ書籍スレあたりでも紹介されることがある。

757 :Name_Not_Found:2007/02/19(月) 21:15:25 ID:???
>>732
>ハックなんぞ「正しい」のがなにかわかってからだ。
もっともですが、もう正しいのが何か分かったからいいじゃない。
あと、そのやり方だとプログラム的に無駄が多くなりすぎるのでダメでした。

>>736
確かに。正論ですな。

>>738
最初はそうやってたんだけど、ここに晒す時に簡略化しました。

>>739
わざわざ試してくれてありがd

>>740
サンクス。これを同期で送れば普通と同じ動作になるんですかね。

>>743
HTMLは本業じゃないんでねえ。ここはJavascriptのスレッドだし、それじゃダメかなあ。
FORMを不正な位置に書くとかCSS書きがどうのこうのは分かるんだけど
単にプログラムが効率的じゃなくなるっていうだけですよ。
そんな欠陥仕様のHTMLとはあんまりお近づきになりたくないですねえ。

>>744
740が初心者かどうかは置いといて、この場合にFORM要素の位置がおかしいのは
俺の要求がそうだったからであって740の責任じゃねーだろーが。アホか。
ここで740を外基地呼ばわりすんのはおかしいだろ。俺は外基地だけど740は
ただの親切なおっさんだろーが。親切なおっさんも俺みたいな外基地に協力しただけで
外基地扱いか?そんなんナチスドイツのやり方だろーが。アホか、氏ね。氏ね、独裁者。


758 :Name_Not_Found:2007/02/19(月) 21:27:25 ID:???
phpとの連携のためにじゃ場スクリプトおぼえてみます。ありがとうございました。

759 :Name_Not_Found:2007/02/19(月) 21:39:42 ID:???
>>757
効率も無駄も糞もあるかよ。コピペできなくて匙投げてんだろ。
一番無駄がなくわかりやすいのは全体送って鯖側で対象行のみ処理だ。
>>740 だって相当簡略化されてるのは理解してるか?
同じようなことをしないと効率的な処理はできんぞ。

760 :Name_Not_Found:2007/02/19(月) 22:01:02 ID:???
>>759
もう諦めてTDの中に書こうかなあ。
コピペできなくて匙投げる?何の話でしょう?いつ投げました?
740に関してはIE対応してないとかそういうことを言ってるのかな?
あとはScriptタグがないとかHTMLタグがないとかw

あとプログラムの効率も大事ですけど、コード量減らしたいってのもあるし。
むしろそっちの方が大事かも

761 :Name_Not_Found:2007/02/19(月) 22:01:25 ID:???
と思ったらtbody直下にformか。
form.innerHTML -> "", form.firstChild -> null なのにsubmitされるとは気持ち悪ぅ…

762 :Name_Not_Found:2007/02/19(月) 22:28:01 ID:???
なるほどなっと。
<table><tbody><form><tr></tr></form></tbody></table>はDOMとしては
<table><tbody><form></form><tr></tr></tbody></table>と組み換えられる。
あとから<tr>に<input submit>を加えてもDOMtree上では親フォームがないので無効っと。

<tr>内の<input>の.formはたまたま組み替え前に参照設定されてるだけで、
いつ動作が変わることやらってな危ない橋。FxでもIEでも。

763 :Name_Not_Found:2007/02/19(月) 22:57:50 ID:???
それで、なんでボタン全体を差し替える必要があるのか聞かせてホスイ。
最初からボタン2つ入れておいて見える見えないだけ切替えればうまく
動くものと予想されるけどそれはどうよ。

764 :749:2007/02/19(月) 23:08:17 ID:???
>>756
サイ本って何て思ったら本当にサイw
とりあえずその2冊覘いて来ます。
ありがとうございました。

765 :Name_Not_Found:2007/02/19(月) 23:25:08 ID:???
>>762
おお!!なるほど。参考になります。

>>763
714見てもらえると分かると思うんですが、ボタンの置き換えじゃなくていいんです。
インライン編集なのです。ユーザーがボタンを押すかリンクをクリックするかなんらかのアクションを
起こすとそこに編集用ボックスとボタンが現れて該当文字列を編集できるようにするということです。


766 :Name_Not_Found:2007/02/19(月) 23:33:00 ID:???
>>765
だったらその現れるものを最初からHTMLに書いておいて、ただし
非表示にしておけばいいんではないの?

767 :651:2007/02/20(火) 08:19:55 ID:???
>>766
DQ4の気球と同じ手法だな

768 :Name_Not_Found:2007/02/20(火) 08:43:20 ID:???
>>766
頭よすぎ!

769 :Name_Not_Found:2007/02/20(火) 08:44:24 ID:???
>>768
窓アプリでは基本的手法なんだけどな

770 :Name_Not_Found:2007/02/20(火) 08:53:27 ID:???
インライン編集 -> 淫乱編集 -> ツンデレメガネキャリアウーマン=漏れの大好物

771 :Name_Not_Found:2007/02/20(火) 08:56:22 ID:???
>>770
お前とは趣味が違うようだ。

772 :Name_Not_Found:2007/02/20(火) 12:11:21 ID:rDXK+qHy
radioボタンのチェックをJavaScriptで外したいんですが
inputのname指定で外す方法はありますか?

773 :Name_Not_Found:2007/02/20(火) 12:29:12 ID:???
ラジオボタンって、どの選択肢も選択しない選択肢を用意しておくもんじゃね?

774 :Name_Not_Found:2007/02/20(火) 13:15:34 ID:???
>>772 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var a = document.forms.f0.elements.r0;
for(var i = 0; i < a.length; ++i) a[i].checked = false;
}
</script>
</head><body>
<form name="f0" action="#"><p>
<input type="radio" name="r0" value="1" checked>1
<input type="radio" name="r0" value="2">2
<input type="radio" name="r0" value="3">3</p></form>
<p><button onclick="test()">Test</button></p>
</tbody></table></body></html>

775 :735:2007/02/20(火) 13:21:31 ID:???
>>735はどなたかわかりませんか?
script.srcをコメントアウトすると問題なくて、script.srcを入れると読み込みが完了しないので、
動的にjavascriptを組み込む時に何か方法があるのかな?と思ったのですが。
質問の仕方がまずい?

776 :772:2007/02/20(火) 13:30:31 ID:rDXK+qHy
>>773
見た目の問題なんです><

>>774
ありがとうございます。
私の質問の仕方が悪かったのですが
その場合のf0とr0を引数にして動作させたかったのです。

で、色々やってたら解決しました(つづく

777 :Name_Not_Found:2007/02/20(火) 13:35:53 ID:???
>>776 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test(form, name) {
var a = document.forms[form].elements[name];
for(var i = 0; i < a.length; ++i) a[i].checked = false;
}
</script>
</head><body>
<form name="f0" action="#"><p>
<input type="radio" name="r0" value="1" checked>1
<input type="radio" name="r0" value="2">2
<input type="radio" name="r0" value="3">3</p></form>
<p><button onclick="test('f0','r0')">Test</button></p>
</tbody></table></body></html>

778 :772:2007/02/20(火) 13:37:18 ID:rDXK+qHy
とりあえず2種類の方法で解決しました。

function reset_radio1(elemName){
var r = document.getElementsByName(elemName);
for(i=0;r.length>i;i++){
r[i].checked = false;
}
}

function reset_radio2(formName,elemName) {
var r = document.forms.item(formName).elements.all.item(elemName);
for(i=0;r.length>i;i++){
r[i].checked = false;
}
}

ブラウザ対応を考えると、どちらがいいんでしょうか?

779 :772:2007/02/20(火) 13:42:31 ID:rDXK+qHy
>>777
それだとインデックス番号じゃないと動作しなくて、それで悩んでたんです
即レスありがとうございます

780 :Name_Not_Found:2007/02/20(火) 13:45:32 ID:???
>>775
一回ローカルで試してみたけど何も問題なかった

781 :Name_Not_Found:2007/02/20(火) 13:50:39 ID:thU9xlSu
getElementById('idName')って考えた奴、とゆーか、決めた連中。
センスぜろ。

782 :Name_Not_Found:2007/02/20(火) 14:16:49 ID:???
>>775
漏れも再現できん
url 間違ってたとかいうオチだったら漏れ泣く

783 :Name_Not_Found:2007/02/20(火) 14:50:36 ID:???
>>779
ん?まさに >>777 で名前指定して動かしているじゃん。

784 :Name_Not_Found:2007/02/20(火) 14:58:26 ID:???
>>775
つーか、>>673 == >>735
だよな?>>676で回答したんだが、アレはどうなったんだよw
できなかったんなら「できなかった」くらい書けと

785 :Name_Not_Found:2007/02/20(火) 15:41:49 ID:???
>>780,>>782,
こっちだとやはり読み込み完了しない。。
周りの人にも一旦試してもらいます。
jsは実行できてるからurl間違ってるとかではないと思うのだけど、そうだったごめんなさい。
試していただいてありがとうございます。

>>784
ごめんなさい!>>682にレスした気でいた。できました。ありがとうございます
htmlファイルに<script>でいけたので、
外部ファイルで同じことを実現できるかやっていて>>735になりました。
>>676のパターンみたく、
document.write('<scirpt....1>');
document.write('<scirpt....2>');
って順番に書くと実行できることまで確認できました。
それで、「DOMだとできないのか?」と思い、>>735と。

786 :Name_Not_Found:2007/02/20(火) 16:30:28 ID:???
>>785
「JavaScript 動的ロード」でググればいくらでもサンプルあるだろうに

787 :735:2007/02/20(火) 16:42:23 ID:???
たびたびすみません。
試してみたところ、IEとOperaに関しては表示されていました。
ただ、Firefoxの読み込みが完了しません。
windowsXPとFirefox2.0の組み合わせです。
そのままのコードを以下に貼ります。
まず、htmlファイルです。
(test.jsは次のレスで貼ります。)
>>786
その辺のサイトでもDOMでやってるサイトがあるのですけど、なぜか上手くいかずなのです。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<script id='inlinetest' type="text/javascript" src="test.js" charset="utf-8"></script>
</body>
</html>


788 :735:2007/02/20(火) 16:43:06 ID:???
test.js

// 全体を囲むdivの作成
var str = '<div id="content"></div>'
document.write(str);
document.close();

var div = document.createElement('div');
div.id = 'div';
var h4 = document.createElement('h4');
h4.id = 'h4';
var text = document.createTextNode('テスト');
h4.appendChild(text);
// span
var span = document.createElement('span');
span.id = 'span';
//
var script = document.createElement('script');
script.type = 'text/javascript';
script.charset = 'Shift_JIS';
script.src = 'http://www.blog-parts.net/chofu/trash/?key=1';

// span に script をつける
span.appendChild(script);
// div に h4 をつける
div.appendChild(h4);
// div に span をつける
div.appendChild(span);

// 全体を囲む contentのdiv に作ったdivをつける
document.getElementById('content').appendChild(div);


789 :Name_Not_Found:2007/02/20(火) 17:19:27 ID:???
参照先のjsがdocument.writeを使用してるんだから
無理やりDOM使ったって意味ないだろ。

790 :Name_Not_Found:2007/02/20(火) 17:53:40 ID:???
>>787
どうでもいいけど、script要素を追加するのはhead内でいいんじゃないの?
>>789が指摘してるように、呼び出し先がdocument.writeするから特定の要素内に置きたいってことなら
document.write("<script src='〜'><\/script>");
で終わりでしょ

791 :Name_Not_Found:2007/02/20(火) 18:51:16 ID:???
>>790
>>676を外部scriptファイルにすることになるので、もっとすっきりやる方法もあるのかな?と
思ってDOMを試してみたんです。

>>789
ごめんなさい。
> 参照先のjsがdocument.writeを使用してるんだから
この内容がわからないのですが、「無理やりDOMで挿入はできるけど、やってはいけない」ということですか?
document.writeして作った要素だからDOMは使えないと言うことですかね?

792 :Name_Not_Found:2007/02/20(火) 18:59:08 ID:???
ところでdocument.close()が気になるのは俺だけか?

793 :Name_Not_Found:2007/02/20(火) 20:05:12 ID:???
>>791
IEでonloadしたあとのbody.innerHTMLを表示してみ。
吐き出されたソースがdivの中に収まってないから。
documet.writeが出力する位置はDOMと関係ないんだよ。

794 :Name_Not_Found:2007/02/20(火) 20:19:45 ID:???
>>792
document.close()って必要ない?
>>793
<body onload="alert(document.getElementsByTagName('body')[0].innerHTML);">
を追加して実行してみました。
確かにscriptの実行結果が<div id="content"></div>から抜けてしまってる。
結局scriptが後から実行されてしまうのですね。
説明ありがとうございます。

795 :Name_Not_Found:2007/02/20(火) 20:48:54 ID:???
>>794
>>3のQ4

796 :735:2007/02/20(火) 20:52:29 ID:???
>>795
申し訳ない。。。
(3)DOMでノード挿入
をやっているつもりでした。
初めにdocument.writeやってる段階で意味がなかったのですね。。

797 :Name_Not_Found:2007/02/21(水) 00:53:44 ID:EMLAFgrP
desinModeでテーブルを挿入する方法ってありますか?

798 :Name_Not_Found:2007/02/21(水) 02:20:45 ID:???
desgin

799 :Name_Not_Found:2007/02/21(水) 02:44:21 ID:???
desing

800 :Name_Not_Found:2007/02/21(水) 03:21:31 ID:???
デブ

801 :Name_Not_Found:2007/02/21(水) 06:02:52 ID:???
>>797
command identifier として存在しなければ無いだろう。
colSpan と rowSpan がちょっとやっかいだけど実装するしかないんじゃないかな。

802 :Name_Not_Found:2007/02/21(水) 08:58:54 ID:???
design アフォ

803 :Name_Not_Found:2007/02/21(水) 12:12:49 ID:???
DOMって何の略?
Document Object Model?

804 :Name_Not_Found:2007/02/21(水) 12:13:48 ID:???
Download Only Member
http://e-words.jp/w/DOM-1.html

805 :Name_Not_Found:2007/02/21(水) 12:26:03 ID:xOnmUO9R
>>803
DQN Omae Mona

806 :Name_Not_Found:2007/02/21(水) 12:54:50 ID:???
>>803
ググッてから人に聞け。ヴォケ

807 :797:2007/02/21(水) 13:04:55 ID:sQUSFNso
説明不足ですんません。
テーブルを加えるだけなら、簡単でした。
↓見たいに、選択した範囲にテーブルを挿入するにはどうしたらいいですか?
http://www.kevinroth.com/rte/demo.htm

ってか、選択した文字列が取得できませんね。

808 :Name_Not_Found:2007/02/21(水) 13:16:43 ID:???
>>803
MS-09

809 :Name_Not_Found:2007/02/21(水) 13:23:12 ID:???
>>803
漫画の効果音

810 :Name_Not_Found:2007/02/21(水) 15:58:15 ID:jzywzE2w
どなたか数年前にすごい思いカラフルな
小窓のスクリプトが流行ったのご存知ないですか?

海外のサイトのもので、日本でも配布してたサイトがあったのですが、
著作権の問題で日本のサイトからは消えてしまったみたいです..
何か情報があれば教えていただきたいです。

811 :Name_Not_Found:2007/02/21(水) 21:18:19 ID:I/Izg3F/
初歩的なことかと思いますが質問させてください。

左側のフレーム(lframe)から、
右側のフレーム(rframe)のパス(http://〜/*.html)を取得できるでしょうか?

812 :Name_Not_Found:2007/02/21(水) 21:27:39 ID:???
>>811
フレームの参照.location.href

813 :Name_Not_Found:2007/02/21(水) 21:45:20 ID:???
>>811
いっとくけど鯖が違ったら不可能だからね。

814 :811:2007/02/21(水) 21:53:16 ID:???
>>812
問題解決しました。
ありがとうございました。


815 :Name_Not_Found:2007/02/22(木) 00:32:41 ID:ekX8j+cZ
質問させてください。
javascript:window.close()でウインドウを閉じようとすると、
「ウインドウは、表示中のwebページにより閉じられようとしています。
このウインドウを閉じますか?」のダイアログが出てしまいます。
このダイアログを出さずに、ワンクリックでウインドウを閉じられるようにする
方法はありますでしょうか?

816 :Name_Not_Found:2007/02/22(木) 00:50:32 ID:???
>>815
あるけど環境依存が激しいし、ある方法が今では使えなかったりして役に立たない

817 :Name_Not_Found:2007/02/22(木) 04:54:11 ID:???
テキストエリアでボタンを押すと1行ごとに文章が追加されていくプログラム
を作ったのですが、IEでは、ボタンを押して行を追加する毎に、フォーカスの
位置まで自動的にスクロールしてくれるのですが、Firefoxでは行が追加され
てもスクロールしてくれません。
いろいろ試行錯誤はしたのですが、手詰まりです。
なにか方法はありますでしょうか?

function textScroll(){
document.getElementById("ans").focus();
rng=document.getElementById("ans").createTextRange();
rng.collapse();
rng.move("character",document.getElementById("result").value.length);
rng.select();
}

IEではこれで問題なくスクロールしてくれるのですが・・・。

818 :Name_Not_Found:2007/02/22(木) 08:52:10 ID:???
>>817
フォーカスしたいオブジェクトが見える位置にa リンクの#を作りそこにとばす。

819 :Name_Not_Found:2007/02/22(木) 08:53:12 ID:???
IEのTextRangeはIE固有だからねー。W3CのRangeだとそういうのは
できないかも。textareaをやめてdivの中に追加していくとかに
すればできると思うけどね。

820 :Name_Not_Found:2007/02/22(木) 08:54:45 ID:???
>>818
おいおい! 質問を読まずに回答するなよ。textareaの「中に」リンクが
作れるか?

821 :Name_Not_Found:2007/02/22(木) 09:03:25 ID:???
>>820
俺が言ってることがわかってないようだなドアホが。
画面内にそのtextareaが収まるような位置にaリンクを貼れと言ってるんだよ。
だれも
textareaの中にリンクを作れとはいっとらん。
固定観念にとらわれるなよ。

822 :Name_Not_Found:2007/02/22(木) 09:04:36 ID:???
すまん俺のまちがいだ

823 :Name_Not_Found:2007/02/22(木) 09:04:48 ID:???
>>821
ふーん、そのリンクでtextareaの中身がスクロールさせられるの?

824 :Name_Not_Found:2007/02/22(木) 09:37:08 ID:???
>textareaの中にリンクを作れとはいっとらん。
小学生にでも言ってるつもりか。ワロタ

825 :Name_Not_Found:2007/02/22(木) 09:43:42 ID:???
ちょっと早めだけど次回テンプレ議論。
○FAQの中身はこれでいいか? (わりと完成されてると思う)
>>2は不要、>>5は半分不要という意見があったがどうする?
○参考サイトが取れなくなったのが多くてしょぼいがどうする?
○関連スレも書籍スレが無くなってるし減ってしまったがどうする?

826 :Name_Not_Found:2007/02/22(木) 10:34:59 ID:???
<textarea>ではないと仮定しても>>818はブラウザ履歴が追加されて迷惑だ。
現在対象としているようなブラウザのどれもがIEのscrollIntoView()を取り込んでいるのだから。
逆にそれを出来ないブラウザに対してはすっぱり諦めて何もしないでおくのが好ましいだろう。

827 :Name_Not_Found:2007/02/22(木) 10:59:29 ID:???
>>817
textArea.scrollTop = textArea.scrollHeight;

これ過去ログでも出てたはずなんだがな。
過去ログ検索でレスごとのAND検索ができないのは痛いな。

828 :Name_Not_Found:2007/02/22(木) 11:46:04 ID:btkh+soL
原因がjavascriptでない場合は誘導していただけたらとおもいます。

<EMBED
pluginspage=http://www.microsoft.com/Windows/Downloads/Contents/Products/MediaPlayer/
src=media/test.asx width=150 height=45 type=application/x-mplayer2
showpositioncontrols="0" showaudiocontrols="1" showtracker="1" showcontrols="1"
loop="1" autostart="0"></EMBED>
上記コードでtest.asx内で指定しているmp3ファイルを再生させています。

そして、同一html上に設置している下記ののリンクから
<a href="javascript:void(0)" onClick="profOpen('test.html','540','190','no')">test</a>

下記のjavascriptを呼び出し別ウインドを開いているのですが
function profOpen(url,w,h,scr) {
window.open(url, "_blank", "width="+w+",height="+h+",scrollbars="+scr)


上記スクリプトを実行すると、mp3を再生している場合再生が停止してします。
※コードのせいで書き込みがエラーになったので一部全角で記載しています。

1曲全ての再生が終わるまで停止させたくないのですが
function profOpen
を使用しつつ対処できるよい方法あれば教えて頂けたらと思います。

動作環境はWinXPSP2、IE6、MediaPlayer10です。

以上宜しくお願いいたします。

829 :Name_Not_Found:2007/02/22(木) 12:21:23 ID:???
>>828
onclickの最後に「;return false」を追加したらどうかな。

830 :817:2007/02/22(木) 13:12:32 ID:???
>>827さん
過去ログにあったのですか・・・。
この方法で無事解決しました。
ありがとうございました。

831 :Name_Not_Found:2007/02/22(木) 13:30:37 ID:???
>>825
イベントリスナ/タイマーに渡した関数内でthisを使いたいというのが
結構出るからFAQに入れてもいいと思うんだけどいい文面が思いつかない。
http://user.ftth100.com/mirrorhenkan/javascript/read.php?key=1156128409&st=943&to=971
http://user.ftth100.com/mirrorhenkan/javascript/read.php?key=1158468856&st=920&to=959

それから標準規格・リファレンスのE4XのPDFのダウンロード先が
なぜかミラー、しかも古い版。普通に本家にリンク張ればいいと思う。
それとwww.mozilla.org/docs以下(当然www.mozilla-japan.org/docs以下も)は
developer.mozilla.orgに移行することが決まってるし実際ほとんどが移行済み。
devedge-temp.mozilla.orgも同様に移行するはずなんだがこっちの
進行状況はよくわからん。とりあえず次レスに修正案を載せとく。
って今気づいたがWeb制作板Wikiが落ちてるな。こりゃ困った。

消えた参考サイトについてはInternet Archiveへのリンクを
載せとけばいいと思う。デフォルトで文字化けするのが難点だが。
あと内容が言語機能に偏っててブラウザオブジェクトの解説が少ないから、
そこらへんを補うためにこの二つを追加してはどうだろう。

JavaScriptでDOMを使う――オブジェクト指向入門の入門 - outsider reflex
http://piro.sakura.ne.jp/latest/flakes/033oo_javascript.html

オブジェクトなJSの基礎講座
http://chaichan.web.infoseek.co.jp/src/2ndthema.htm


832 :Name_Not_Found:2007/02/22(木) 13:32:26 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

JavaScript 1.5 ガイド / リファレンス (Netscape/Mozilla)
http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide (和訳)
http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference
http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Reference (和訳)

E4X (ECMAScript for XML)
http://www.ecma-international.org/publications/standards/Ecma-357.htm
http://www.ne.jp/asahi/nanto/moon/specs/ecma-357.html (和訳)

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 Reference, Netscape devedge
http://developer.mozilla.org/en/docs/Gecko_DOM_Reference
http://developer.mozilla.org/ja/docs/Gecko_DOM_Reference (和訳)
http://devedge-temp.mozilla.org/central/javascript/index_en.html

833 :Name_Not_Found:2007/02/22(木) 14:16:40 ID:RBHcIOtk
エンマークを検索するにはどうしたらいいですか?

document.myFORM.inputdata.valueには
"12345\"が代入されており、
\が含まれてるかどうか判定したいのです。

var mystr=document.myFORM.inputdata.value;
if (mystr.indexOf("\")!=-1){
alert("あったよ");
}else{
alert("ないよ");
}

エスケープシーケンスとみなされて?
うまくいきません。

よろしくお願いします。

834 :Name_Not_Found:2007/02/22(木) 14:19:02 ID:???
シングルくぉーてーしょんはどうだ?


835 :Name_Not_Found:2007/02/22(木) 15:12:02 ID:???
>>833
そういうときは「\\」で1つの「\」を表すことになるので。
>>831
Qx. タイマーやイベントハンドラに設定するコードにthisを含めたいのですが
「"...this..."」とか「function(){...this...}」ではうまく行きません。
Ax. それらが実行されるときはthisは別のもの(window)を指してしまってる。
「function(x){return function(){...x...};}(this)」のようにthisを別の
変数に束縛させてその変数を使う。

しかしクロージャだから循環参照問題が起きることがあるよねえ。それは
いずれ是正されていくはずだからほっとくとか?あとInternet Archive
経由で古い参考サイトをたどるのってどういうURLになるの?やった事無い…

836 :Name_Not_Found:2007/02/22(木) 15:12:49 ID:???
\\

837 :828:2007/02/22(木) 15:16:32 ID:???
>>829
「;return false」追加で無事対応できました。
ありがとうございます。

838 :Name_Not_Found:2007/02/22(木) 15:35:00 ID:RBHcIOtk
返答ありがとうございます。
シングルクォートに変えても変わりませんでした。

実は、先の例文のままだと即エラーがでます(笑)
私もはじめは、
mystr.indexOf("\\")!=-1として
エラーを回避してたのですが、
文字列に\が含まれていても
ないよって言われるので困っていたのです。
ちなみに文字列に\\が含まれるとあったよになります。


839 :Name_Not_Found:2007/02/22(木) 15:57:34 ID:???
>>835
http://web.archive.org/web/example.com/
でてきとーに変換してくれるみたい
これが正しい使い方なのかは知らんが
つーわけでテスト


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

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


まとめサイトなんかあったのか、と思ったら消えてんのね

840 :Name_Not_Found:2007/02/22(木) 15:58:48 ID:???
>>838
うーんそうだっけ?だったら
if(mystr.match(/\\/)) ...
ではどうかな。ちょっとまてよ、そのJavaScriptコード、どういう
環境から書いてるんだ?まさか '\\\\' が正解だったりしないよな?

841 :Name_Not_Found:2007/02/22(木) 16:00:17 ID:???
>>835
クロージャも含めてすっきりまとめられるといいんだがねぇ。

842 :Name_Not_Found:2007/02/22(木) 16:20:00 ID:???
>>838
>>>
文字列に\が含まれていても
ないよって言われるので困っていたのです。
<<<

mystr = '12345\6789';

みたいに javascript で「'\' を含む文字列を代入」するとその '\' は
エスケープに使われてると見なして '123456' になるが、htmlの
<input> とかに '12345\6789' とか入れといて .value は'12345\6789'
になる
それで .indexOf('\\') する mystr に '\' が含まれてないって話では
ないかという気がしたんだが、'12345\' だとエラーなるから違うんじゃ
ねーかという気もする


ところで過去スレ全集の管理人が Wiki も設置してくれてるようなんだが
1年前に設置しただけで使われてる様子が無い。
使っていいんかね?てかまとめサイトいらんか?
まとめるってもタイヘンだしなぁ

843 :Name_Not_Found:2007/02/22(木) 16:21:53 ID:???
10行目.replace('123456', '123456789');

844 :Name_Not_Found:2007/02/22(木) 16:37:32 ID:RBHcIOtk
>>840
はい。
matchもsearchもやったんですが。。

>>842
おっしゃるとおりでして。。
<input>のvalueで代入した文字列に
\が含まれてるかどうかを調べたいのです。
さらに\は末尾につくことが多く悩ましいのです(笑)

input.value文字列の\を全角に置換?どうやって?
ユニコード??
あー、解決したらぜひ
wikiまとめにでも載せてほしい。。



845 :Name_Not_Found:2007/02/22(木) 16:53:03 ID:???
>>844
javascript のソースに '\' を含む文字列を書いた場合にどう
なるのかがわかってない?

var spam = '12345\6789';
var blah = '12345\\6789';

がそれぞれどうなるか理解できるなら、あとはお望みのもの
を <input>.value に代入するなり .replace() するなりでおkって
話だと思うが。

846 :Name_Not_Found:2007/02/22(木) 16:59:59 ID:???
何が問題なんだかよく分からん。これでどっちでも動作するし。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var s = document.forms.f0.elements.t0.value;
alert(s.indexOf('\\'));
// alert(s.match(/\\/));
}
</script>
</head><body>
<form name="f0" action="#" onsubmti="return false"><p>
<input name="t0" type="text" value="12345\"></p></form>
<p><button onclick="test()">Test</button></p>
</tbody></table></body></html>

847 :Name_Not_Found:2007/02/22(木) 17:15:26 ID:PfAbSjng
結局エスケープシーケンスのことわかっちょらんつーこと?

848 :Name_Not_Found:2007/02/22(木) 17:17:47 ID:???
基本ぐらいは理解してないとこれ以上の進展は望めないな

849 :Name_Not_Found:2007/02/22(木) 17:27:26 ID:???
>>846
たぶんその test 関数のテストをしようとして

document.forms['f0'].input['t0'].value = '12345\';

みたいなことをしたんではないかとエスパーごっこしてみた


>>848
基本的なことくらい理解してないと困るよな
と文字列リテラルと String オブジェクトの違いを今知った
奴が言ってみる

850 :Name_Not_Found:2007/02/22(木) 17:29:48 ID:???
あー、forms['f0'] とかはそんなんないと思うが、そんな感じで

851 :Name_Not_Found:2007/02/22(木) 17:41:40 ID:bjvEsRiR
ソース中のコメントを取得したいのですが,うまくいきません。
getElementsByTagName('comment');としてもだめでした。
DOMインスペクタでは"#comment"となっていたのでそれも試しましたが,だめでした。

環境はFirefox 2です。Greasemonkeyを使ってコメントを取得しようと思ってますが、
スクリプト内容自体は通常のjavascriptだと思うので,こちらで質問しました。

<!--   -->
の部分はDOMを使って取得することはできないのでしょうか?

comments = document.getElementsByTagName("#comment");
alert(comments.length);       #--> 0
for (var i = 0; i < comments.length; i = i++) {
        alert(comments[i]);
}


852 :Name_Not_Found:2007/02/22(木) 18:06:05 ID:???
>>851
getElementsByTagNameで取得できるのはElementノード(の集合のNodeList)だけだよ

var comments = document.evaluate("descendant::comment()", document, null, 6, null);
alert(comments.snapshotLength);
for (var i = 0; i < comments.snapshotLength; i++) {
alert(comments.snapshotItem(i).nodeValue);
}

とか

853 :Name_Not_Found:2007/02/22(木) 18:13:40 ID:???
>>851
って言うか i = i++ って……

854 :848:2007/02/22(木) 18:17:39 ID:RBHcIOtk
すみませんでした。
>>846
さんのをローカルHTMLに記述して正常に動きました。

でもなんで私のCGIではエラー?と思ったら
perlのヒアドキュメント内の記述でして(汗)
s.indexOf('\\'));では×
s.indexOf('\\\\'));では○
という申し訳ないミスでした。
お騒がせしました。
でも解決できてうれしいです(^_^;)

855 :Name_Not_Found:2007/02/22(木) 18:38:24 ID:PfAbSjng
おいおい、詰まったら最小の構成で原因つきとめるのが基本だろ

856 :Name_Not_Found:2007/02/22(木) 18:39:26 ID:???
>>852
thanks

http://gentzen.math.hc.keio.ac.jp/JavaScript/day18/index4.html
ref1.innerText = books.item(1).getElementsByTagName("comment").item(0).text;

というのがあったので使えるのかと思ってました。

857 :Name_Not_Found:2007/02/22(木) 20:21:02 ID:???
>>856
もちろんcomment要素(HTMLでは定義されてないけど)があればgetElementsByTagNameで取得できる。
<!---->はコメント宣言であって要素ではないからな。

858 :Name_Not_Found:2007/02/22(木) 20:34:06 ID:???
>>856
innerHTMLから正規表現で引っこ抜けないかな
今テスト環境がないから未検証だけど

859 :Name_Not_Found:2007/02/22(木) 20:43:23 ID:???
MacIEで配列から要素を削除する方法って無い?

860 :Name_Not_Found:2007/02/22(木) 21:05:02 ID:???
>>859
deleteできないなら再構築すればいいでないの

861 :Name_Not_Found:2007/02/22(木) 21:43:35 ID:???
>>859
pop, shift, splice らは IE5.5 から。その反対操作の push, unshift も。
破壊的メソッドで IE4-5 でも使えるのは sort, reverse だけ。

862 :Name_Not_Found:2007/02/22(木) 22:22:29 ID:???
XMLDOMでXMLを扱ってるんですが
インデックスでなくタグ名をもとに子要素にアクセスすることってできますか?


863 :Name_Not_Found:2007/02/22(木) 22:53:22 ID:AzOL4J1Z
>>807

みんながスルーするので教えてあげよう。
画像なら好きなとこに入れられるだろ?
その後でreplaceすればいい。

864 :Name_Not_Found:2007/02/22(木) 22:57:48 ID:???
>>862
孫も含めていいなら好きな要素からgetElementsByTagName使えばいいけど
子だけなら、IEならselectNodesでやればいいんじゃないか

865 :Name_Not_Found:2007/02/22(木) 23:16:22 ID:???
>>864
どうもありがとうございます。
孫要素は含めたくないですね。
クロスブラウザでやってるのでIEだけに限定するのも避けたいところです。


866 :Name_Not_Found:2007/02/22(木) 23:18:55 ID:???
>>865
子要素を要素名をもとにforで検索

867 :Name_Not_Found:2007/02/22(木) 23:30:14 ID:???
>>865
引数のXPathはくろすぶらうざどころかメジャーな言語全てに通用するだろ。自分で書いて試せよクレクレ君。

868 :Name_Not_Found:2007/02/22(木) 23:40:23 ID:PfAbSjng
          ___
       //⌒___ \
      //_/    \\ \
               \\ \
                ((   |
                |  ∩
                |  | |
                |  | |
                |  / | <クレクレ君が現れたと聞いて飛んできました。
 __________/__/_____

869 :Name_Not_Found:2007/02/22(木) 23:45:18 ID:???
>>865
FirefoxとOpera9はDOM XPathが使える
IEとOpera9はselectNodes/selectSingleNodeが使える
Safariとかはわからん
(ttp://blog.8-p.info/articles/2006/11/30/safari-xpathではDOM XPathが実装されていたと言ってる)

DOM XPathはレベル3で、レベル1のCoreよりは実装数が少ないのは自明だから
>>866が言うように普通にchildNodes回してnodeNameとかで検索する関数つくった方が
よりクロスブラウザではある

870 :Name_Not_Found:2007/02/23(金) 00:28:28 ID:???
>>869
なるほど、どうもです。
確実な方法として自分で実装することにします。


871 :Name_Not_Found:2007/02/23(金) 00:43:31 ID:???
>>869
ブラウザで実験するとしても、
XMLのDOMを構築して、そのDOMをJSで操作できる、
という前提がある。
そんなブラウザでは XPath が当然のように使えるから、XPath を使うのが最善だ。
むしろ、リッチに XSLT を使ってもいいくらいで、その変換ファイルはどの言語でも再利用できる。

どうしても DOM-Core でプアにやりたければ、プアを極めるべく、
function proc(section, callBack) {for (var c = section.firstChild; c; c = nextSibling) if (c.nodeType == 1) callBack(c);}
と書くだろう。つまり少しでも重い childNodes プロパティを使わない方が良い(笑)

872 :Name_Not_Found:2007/02/23(金) 01:10:54 ID:???
>>871
手厳しいなあもう
つか871はもっと先に出てくると思ってたんだけど

873 :Name_Not_Found:2007/02/23(金) 01:32:26 ID:oOtepRxq
以下の記述でカウントダウンを表示させようと思ったのですが、
更新しないと数値が動きません… どこをいじればいいのでしょうか?

<!--
next = new Date(2007,6,26)
today = new Date()
days = Math.floor((next-today)/(24*60*60*1000))
time1 = Math.floor(((next-today)%(24*60*60*1000))/(60*60*1000))
time2 = Math.floor(((next-today)%(24*60*60*1000))/(60*1000))%60
time3 = Math.floor(((next-today)%(24*60*60*1000))/1000)%60%60
if((next - today)>0)document.write("あの日まであと",days,"日",time1,"時間",time2,"分",time3,"秒")
else if ((next - today)<0)document.write("あの日から",-days,"日過ぎました。")
// -->

874 :Name_Not_Found:2007/02/23(金) 01:38:48 ID:???
>>873
基本的には >>3 の A4 と一緒

あと
setInterval() かなんか使って
定期的にチェック→必要があれば書き換え
が必要

875 :Name_Not_Found:2007/02/23(金) 01:39:15 ID:???
>>873
setInterval使え

876 :Name_Not_Found:2007/02/23(金) 01:39:35 ID:???
>>872
>手厳しい
すみません。

まとめるとこうだな。callBack関数内でnodeName判定などフィルターかます。
function proc(section, callBack) {
  //MSXML
  //必要なら section.ownerDocument.setProperty('SelectionLanguage', 'XPath');
  var children = section.selectNodes('*');
  var c = children.nextNode();
  for (; c; c = children.nextNode()) callBack(c);

  //DOM-XPath
  var xr = section.ownerDocument.evaluate(
    '*', section, section.ownerDocument.createNSResolver(section), 5, null);
  try {for (; true; callBack(xr.iterateNext()));} catch (ex) {;}

  //DOM-Traversal
  var tw = section.ownerDocument.createTreeWalker(section, 1, null, false);
  if (tw.nextNode()) do callBack(tw.currentNode); while (tw.nextSibling());

  //DOM-Core
  >>871
}

877 :873:2007/02/23(金) 01:43:17 ID:???
>>874
>>875
わかりました、やってみます。
深夜なのにありがとうございました。

878 :Name_Not_Found:2007/02/23(金) 01:57:49 ID:???
>>876自己レス
XPath以外を使おうとすると、
> callBack関数内でnodeName判定などフィルターかます。
に類する処理が必要になるわけで、結局、無駄なんだよね。
"*" ではなく、"element-name" と XPath を書いた方が良いのは言うまでもないから。

879 :Name_Not_Found:2007/02/23(金) 04:42:48 ID:???
Safari2はDOM XPath使えないよ。
>>869はnightlyビルドの話ね。

880 :Name_Not_Found:2007/02/23(金) 14:33:38 ID:???
未来から帰ってきたんだけどSafariは絶滅するからドウデモイイよ

881 :Name_Not_Found:2007/02/23(金) 14:41:03 ID:???
>Safariは絶滅するからドウデモイイよ
アポ製品からwebkitに頼った所が一掃されるのか、firefoxベースに置き換わるのか、アポ自体がなくなるのかが気になるなw

しかし、webCore/JSCoreが携帯にまで幅広げやがってる昨今、まだ無視切り捨て体制入るには早いんじゃないかな。
iPhoneの実評価とS60の進展が心配。国内で問題になるのはまだ先だろけど

882 :Name_Not_Found:2007/02/23(金) 14:46:17 ID:???
なんかAppleはコンピューター業界から撤退してリンゴ生産業になってたお

883 :Name_Not_Found:2007/02/23(金) 15:03:04 ID:Ti2l9PRs
どなたか助言をお願いします。

とあるサイトがあり、資料請求のフォームも付いています。
単ページ構成なので縦長なのですが、告知したURLがhttp://
鍵マークがもちろん出ません。
ジオトラストの契約は済んでいてhttps://なら問題なく鍵マークが出ます。

さてここで問題は公表したアドレスからいかにしてhttpsに移動させるか
なのですが良い方法はありませんでしょうか?
とりあえず行った作業はページ上で「申し込みはこちら」というリンクに
https指定をしたことです。
これでフォームまで降りたときには鍵マークが出ます。
でもスクロールで下まで降りながら見る人には表示はされません。

リフレッシュなども考えたのですが、それだと鍵が出た後も
続きますよね?
こういった動作を一回こっきりに抑えるというのは出来るのでしょうか?
もしくは全く別の良い方法がないでしょうか?

どなたか知恵を貸してください。
お願いします。


884 :Name_Not_Found:2007/02/23(金) 15:18:59 ID:???
JSでやるならlocation.protocol読んで処理分ければOK

でもJSで処理していいのかね、それ
確実にやるなら素直にURL分けて転送するべきかと。

885 :Name_Not_Found:2007/02/23(金) 15:26:26 ID:???
>>833
.htaccessで、該当ページにアクセスきたらhttpsに転送すればいいんじゃね

886 :Name_Not_Found:2007/02/23(金) 17:05:49 ID:???
>>833
>>885に同意
JavaScriptで対処するのは仕事としてどうよ?

887 :Name_Not_Found:2007/02/23(金) 18:04:29 ID:???
環境変数のHTTPSを見ればいいんじゃね

888 :885:2007/02/23(金) 19:26:06 ID:???
やばアンカー間違えたわ、亀だが>>883

889 :Name_Not_Found:2007/02/23(金) 20:49:27 ID:???
こんにちは。ネット初心者でが、よろしくお願いします。

<INPUT type="submit" value="キャンセルボタン" onClick="hoge()">
cgiのフォームでボタンを押すと、確認ダイアログを表示したいと思ってます。
確認ダイアログで、「いいえ」を押したら、何も起きないようにしたいです。

function hoge(){
if(window.confirm("キャンセルしますか?")){
}
else{
//ここの処理わからないです。「いいえ」押してもcgi実行されてしまいます。
//location.reload(); すると一応cgi実行されないようにはできますが、ページを更新したくありません。
}

890 :Name_Not_Found:2007/02/23(金) 21:01:28 ID:???
onClick="return hoge();"
hoge() { if (window.confirm()) { return true; } else { return false; } }

891 :Name_Not_Found:2007/02/23(金) 21:02:17 ID:???
>>889
onclick="return hoge()"

function hoge(){
if(window.confirm("キャンセルしますか?")){
return false;
}
return true;
}

onclick が呼ばれたときには click が保留されてる状態
ここで false を返すと click がなかったことに

892 :Name_Not_Found:2007/02/23(金) 21:43:33 ID:???
>>890
>>891
お返事ありがとうございます。
return true;など関数の方に書いたり試しましたが、
フォームのほうでonclick="return hoge()"
と書かないといけなかったんですね。

丁寧に解説していただき、ありがとうごいました。
javascript書き方、少しわかってきました。

893 :Name_Not_Found:2007/02/23(金) 21:52:01 ID:???
リンクに移動する前にアラートでメッセージを表示させたいと思いました。
<a href="http:*******"target="_blank" onclick=alert('ここにメッセージ')>テキスト</a>
これではポップアップ禁止にしているとリンク先が表示されません。
しかし表示されるサイトもあるのですが何か方法があるのでしょうか。
よろしくお願いします。

894 :Name_Not_Found:2007/02/23(金) 21:53:30 ID:???
>>892
confirmの事後処理がなけりゃ、onclick="return window.confirm()" だけでも。

895 :Name_Not_Found:2007/02/23(金) 22:10:53 ID:???
<form onsubmit="return confirm()"><input type="submit"></form>
こっちの方が好き

896 :Name_Not_Found:2007/02/24(土) 11:12:28 ID:u9Pf79Ec
もうプログラミングしなくてもAjaxつくれるよ。
http://www.hows-ajax.jp/ab/
体験版もダウンロードできるよ。

897 :Name_Not_Found:2007/02/24(土) 13:29:59 ID:aDrclGqz
<SCRIPT language=javascript>
<!--

var dispFlag = 0; // 1:display, 0:hide

var glUa = navigator.userAgent.toUpperCase();
var glBrw = navigator.appName.toUpperCase();
var glVer = navigator.appVersion;
var temp = '';

var glWin = (glUa.indexOf("WIN") != -1);
var glIE = (glBrw.indexOf("MICROSOFT INTERNET EXPLORER") != -1);
var glIE4 = (glVer.indexOf("MSIE 4") != -1);
var glIE5 = (glVer.indexOf("MSIE 5") != -1);
var glIE6 = (glVer.indexOf("MSIE 6") != -1);

とあるサイトを取り込んで勉強している者ですがこのscriptの意味を教えていただければ幸いです。

898 :Name_Not_Found:2007/02/24(土) 13:34:57 ID:???
>>897
l1 要素の非表示切り替え状態を表すと思われるフラグ
l2-4 ブラウザ判別用のUA取得
l5 テンポラリ文字変数
l6- UA判別した結果

とエスパーしてみたが、これだけ晒してもあんまり意味はない希ガス
あとは自分でやれ

899 :Name_Not_Found:2007/02/24(土) 13:43:57 ID:aDrclGqz
>>897ですが
var dispFlag = 0; // 1:display, 0:hide

の意味が全く分かりません。
教えていただけると本当に助かります!


900 :Name_Not_Found:2007/02/24(土) 13:49:58 ID:???
>>899
同じ動作のスクリプトをネットで明後日見れば、何を意味するものか
瞬時にわかる。仕掛けはみんな同じだから。

901 :Name_Not_Found:2007/02/24(土) 13:50:09 ID:???
そういうのは「勉強してる」って言わない
金払って誰かに作ってもらえ

902 :898:2007/02/24(土) 13:50:37 ID:???
>>899
だから、それだけの情報じゃ
何かを表示/非表示するときに状態を示すために使うという予測しかできない
もしかしたら使われてないかもしれないし
ソースコードを検索すればいいじゃない

903 :Name_Not_Found:2007/02/24(土) 13:51:14 ID:???
javaに関しては全くの素人なのですが質問させていただきます。

自作HPを作っていたところ、リンク先のウィンドウサイズを固定する方法がわからず友人に聞いたところ
javascriptを使えば出来ると聞いたのですがやり方さっぱりわかりません。
手持ちのテキストを見てみたのですがそれでもいまいちわかりません。
使用ソフトはHPビルダー6です
よろしくお願いします。

904 :Name_Not_Found:2007/02/24(土) 13:51:35 ID:N23sfSTu
>>899
とりあえず、基礎勉強してから出直せ。てか、本買え。
while(true)
{
window.alert("本買え。");
}

905 :Name_Not_Found:2007/02/24(土) 13:53:42 ID:???
>>903
ちみも、勉強してこい。てか、その友達からやってもらえばいいじゃん^^

906 :Name_Not_Found:2007/02/24(土) 13:55:25 ID:aDrclGqz
<FORM name=news onSubmit="return subm()"
action=URL method=post><INPUT
type=hidden value=1 name=news0>
フォームについて勉強中ですがこの場合のvalue=1はどういう意味なのでしょうか?
駄文失礼します





907 :Name_Not_Found:2007/02/24(土) 13:55:38 ID:???
>>903
java野郎。
while(true)
{
window.alert("二度と来るな。");
}


908 :Name_Not_Found:2007/02/24(土) 14:01:17 ID:???
>>903
スレタイをよめ!
そしてググレ!

>>906
JavaScriptは関係ない
他所で聞け

909 :Name_Not_Found:2007/02/24(土) 14:25:18 ID:???
今日は土曜…
学校は午前で終わり…
       |
   \  __  /
   _ (m) _ピコーン
      |ミ|
   /  .`´  \
     ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    (・∀・∩< だから厨が沸いてるんだ!
    (つ  丿 \_________
    ⊂_ ノ
      (_)

910 :906:2007/02/24(土) 17:57:46 ID:???
自己解決しますた

911 :Name_Not_Found:2007/02/25(日) 00:57:05 ID:0X7PqPfZ
<SCRIPT language=JavaScript>
<!--
var D, C, R, U;
D = new Date();
C = D.getTime().toString(16);
R = document.referrer;
U = document.URL;
if (R.indexOf('"') > -1) R = '';
if (U.indexOf('"') > -1) U = '';
document.write('<img src="http://rt.****.co.jp/ichiba/?service_id=2&page_type=10001&dt=',C,'&rturl=',U,'&referer=',R,'" width=1 height=1 alt="">');
// -->
</SCRIPT>
このタグについてですが
document.write('<img src="http://rt.****.co.jp/ichiba/?service_id=2&page_type=10001&dt=',C,'&rturl=',U,'&referer=',R,'" width=1 height=1 alt="">');
// -->
の意味を教えていただければ幸いです。
あるサイトの1文ですが意味が全く分からず質問した次第です。

912 :Name_Not_Found:2007/02/25(日) 00:59:30 ID:???
>>911
テンプレにリファレンスがあるので、そちらをお読み下さい。

913 :Name_Not_Found:2007/02/25(日) 01:17:18 ID:???
>>911
document.writeをalertにして確認汁

914 :Name_Not_Found:2007/02/25(日) 11:58:43 ID:???
>>911
この一文だけわかんないって

915 :Name_Not_Found:2007/02/25(日) 23:32:38 ID:???
var dispFlag = 0; // 1:display, 0:hide
これって訳するとどういうことでしょうか?

916 :Name_Not_Found:2007/02/25(日) 23:39:10 ID:???
このスコープで宣言した dispFlag に 0 を代入する

917 :Name_Not_Found:2007/02/25(日) 23:56:00 ID:???
連投すいません!
var dispFlag = 0; // 1:display, 0:hide

でvar dispFlag = 0;はdispFlagに0を代入するというのは分かるのですが
その後の// 1:display, 0:hide はどういうことを意味するのですか?
お手数おかけします。


918 :Name_Not_Found:2007/02/26(月) 00:18:20 ID:???
hide にしたいときは 0 を
display にしたいときは 1 を代入してください

919 :Name_Not_Found:2007/02/26(月) 01:35:34 ID:???
>>917
>>898を10万回読んでろ
それから人に聞いてばっかりじゃなくて
男だろう?
なんでも試してみるものさ

920 :Name_Not_Found:2007/02/26(月) 03:43:16 ID:H/73xagz
>>917
コメント

921 :Name_Not_Found:2007/02/26(月) 04:21:57 ID:mwkML6C9
質問があります。
リンク先のサイトのような、ボタンをクリックすると画面全体に透明レイヤーがかかって
イメージやビデオが表示されるようなモノを最近良く見ますが、これってどうやるのですか。
なんか、シンプルなのでどこかにテンプレートありそうですけど。


http://www.duckfarm.net/desktops.html


922 :Name_Not_Found:2007/02/26(月) 04:24:29 ID:???
>>921
ライブラリあるからググれ
lightbox、GreyBox、modalboxあたりか?
使ったことないからよく知らん

923 :Name_Not_Found:2007/02/26(月) 04:51:16 ID:mwkML6C9
>>922
AWSOME!!
2chで聞いた質問でひさびさに即ヒット。
大体時間かけて自己解決することなるんだが。
感謝。

924 :Name_Not_Found:2007/02/26(月) 06:20:15 ID:???
それを言うならawesome。

925 :Name_Not_Found:2007/02/26(月) 14:43:07 ID:tylfh3zR
class 経由で指定された overflow:hidden を javascript で検出するにはどうやればいいんでしょう?
当然のごとく、e.style.overflow では引っかからないです…。

926 :Name_Not_Found:2007/02/26(月) 15:06:36 ID:???
Hint:cssStyle compoutedStyle

927 :Name_Not_Found:2007/02/26(月) 17:28:15 ID:???
ありがとー。computedStyle ね。しかもやっぱりクロスブラウザではトリック必要なようで…。

var computedStyle;
if (document.defaultView && document.defaultView.getComputedStyle) computedStyle = document.defaultView.getComputedStyle(e, "");
else if (e.currentStyle) computedStyle = e.currentStyle;
else computedStyle = e.style;

928 :Name_Not_Found:2007/02/26(月) 17:29:27 ID:???
てか、prototype.js の getStyle でよかったのか…orz

929 :Name_Not_Found:2007/02/27(火) 17:32:59 ID:???
mootools(ver1.00)を使っていて、特定部分をAjax.jsを使って書き換えたいんだけど
javascript
function rewrite(filename)
{
myAjax = new Ajax(filename, {
method: 'get',
update: 'test'
}).request();
}

html
(略)
<a onclick="rewrite('sample.html');">test</a>
(略)
<div id="test"><div>

IEだとアクセスが拒否されましたって出るし、Geckoだとエラーは出ないけど書き換わらなくてうまく動かない。
誰か助けてくれorz

930 :Name_Not_Found:2007/02/27(火) 17:50:15 ID:???
frame.htmlの長さによってiframeのheightを変えるスクリプト
function LoadFrame(frid) {
var Ifr = document.getElementById(frid);
Ifr.style.height = (Ifr.contentWindow)?
Ifr.contentWindow.document.body.scrollHeight:
document.frames[frid].document.body.scrollHeight;
}

<iframe src="frame.html" onload="LoadFrame(this.id)" id="Ifr" frameborder=0></iframe>

IEで思った通りになるのですが、
Firefox、macIE、ネスケでは反映してくれませんでした。
クロスブラウザについても調べてみたのですが…お手上げでした。
大変恐縮ですが、どなたかヒント下さい。

931 :Name_Not_Found:2007/02/27(火) 18:15:44 ID:???
>>929
このスレをonclickで検索してみたらどうかな。
>>930
まずそのscrollHeightが正しく取れているかどうかalert()で
表示させてみて。

932 :929:2007/02/27(火) 18:57:56 ID:???
>>931
すまん。気付かなかったわ。orz
けど、inputタグでもwindow.onloadでも同じだったので、原因は別にあるみたいだ。
ちなみにsample.htmlは確かにこのhtmlと同じフォルダに入ってる。

933 :Name_Not_Found:2007/02/28(水) 02:31:17 ID:???
画像Aをクリック→画像Bに切り替わる→画像Bをクリック→画像Aに切り替わる→えんどれす

というのをやってみたいんですがどうしたらいいんでしょうか

934 :Name_Not_Found:2007/02/28(水) 05:42:19 ID:???
>>933
「javascript トグルスイッチ」

935 :Name_Not_Found:2007/02/28(水) 08:30:02 ID:???
>>933
<img src="a.png" onclick="this.src=(this.src=='a.png')?'b.png':'a.png'">
とかかな。試してないけど。

936 :Name_Not_Found:2007/02/28(水) 09:48:28 ID:???
js> var a = {next:function () {try {return 'b.png';} finally {this.__proto__ = b;}}};
js> var b = {next:function () {try {return 'a.png';} finally {this.__proto__ = a;}}};
js> var s = {__proto__:a};
js> for (let i = 0; i < 4; i++) print(s.next());
b.png
a.png
b.png
a.png

937 :Name_Not_Found:2007/02/28(水) 10:00:49 ID:???
>>930
iframe のサイズ取得?

 多分互換モードだと動く
 http://d.hatena.ne.jp/onozaty/20060729/p1

 標準モードで動かす方法は知らない。きっとできないんじゃない?
 http://wiki.bit-hive.com/tomizoo/pg/JavaScript%20%A5%A4%A5%F3%A5%E9%A5%A4%A5%F3%A5%D5%A5%EC%A1%BC%A5%E0(iframe)%B4%D8%CF%A2


938 :Name_Not_Found:2007/02/28(水) 14:27:45 ID:???
>>930 >>937 IE6とGeckoで動くようだけどー。
---t1.html---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var d = window.frames.f0.document;
var b = d.documentElement || d.body;
var h = b.scrollHeight;
document.getElementById('f0').height = h + 'px';
}
</script>
</head><body onload="test()">
<iframe id="f0" name="f0" src="t2.html"></iframe>
</body></html>
---t2.html---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p>
<p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p><p>test</p>
</body></html>

939 :Name_Not_Found:2007/02/28(水) 14:45:56 ID:???
>>929
そのライブラリは知らんが
動かないのはローカルで実行してるせいなんじゃないの。
アップロードして試した?

940 :Name_Not_Found:2007/02/28(水) 16:55:44 ID:???
>>938
t2.html が<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">になってるぜ

941 :Name_Not_Found:2007/02/28(水) 16:58:26 ID:???
>>940
あららー。指摘どうも。

312 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)