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

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

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

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

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

4 :Name_Not_Found:2009/12/01(火) 11:59:33 ID:???
【FAQその2】
Q10. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A10. 取得には document.defaultView.getComputedStyle() を使う必要あり。
 IEでは要素オブジェクトのプロパティcurrentStyleを使う。
Q11. 100*1.15の結果が114.999…998となってしまうのですが…
A11. コンピュータの実数計算は全て近似値だと思え。誤差が嫌なら整数で計算。
Q12. 任意のデータをサーバ(別鯖ではない)から取り寄せたいのですが…
A12. IE7/Gecko/Opera/Safariのnew XMLHttpRequest()、IEの
 new ActiveXObject("Msxml2.XMLHTTP.6.0") (または"Msxml2.XMLHTTP.3.0")
 を使えばできます。古いブラウザだと隠しフレームに読むなどのワザが必要。
Q13. setAttribute("class","foo")、setAttribute("onclick","bar()")が動きません…
A13. IEではそれは不可。「obj.className="foo"」「obj.onclick=bar」でどぞ。
 複数の関数を呼びたいときは obj.onclick=function(){foo();bar();};
 という風に無名関数を作りましょう。中に書かれたコードが実行されます。
Q14. タイマーやイベントハンドラに設定するコードにthisを含めたいのですが
 「"...this..."」とか「function(){...this...}」ではうまく行きません。
A14. それらが実行されるときはthisは別のもの(window等)を指してしまってる。
 「function(x){return function(){...x...};}(this)」のようにthisを別の変数に
 束縛しその変数を使って。循環参照によるメモリリーク問題あり(この項記述検討中)
Q15. 文字列の置き換えをするときにコードを使いたい(Perlのs///e)のですが…
A15. string.replace(/.../,function(str,p1,p2,...,offset,s){...})としましょう。
 正規表現にマッチした文字列がreturnで返された文字列に置き換えられます。
 各引数はstrがマッチした部分文字列、p1,p2,...が1番目、2番目、…の()の中身、
 offsetがマッチした位置、sが置き換え前の文字列全体になります。
Q16. input type="file"の値を設定(参照)できないのですが…
A16. セキュリティ制約のため設定は絶対に不可。参照はブラウザにより不可。
Q17. getElementById('ID名')や$('ID名')で要素が取れないのですが…
A17. コード実行時点でHTMLがそこまで読まれてない。onload中でやるとか。

5 :Name_Not_Found:2009/12/01(火) 12:03:42 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:2009/12/01(火) 12:37:46 ID:???
ECMA-262 ed.3
→ ttp://www.ecma-international.org/publications/standards/ECMA-262.HTM
→ ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/ (和訳)
W3C Document Object Model Technical Reports
→ ttp://www.w3.org/DOM/DOMTR
JavaScript 1.5 ガイド / リファレンス (Netscape/Mozilla)
→ ttp://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide (和訳)
→ ttp://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference
→ ttp://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Reference (和訳)
JSON (JavaScript Object Notation)
→ ttp://www.json.org/json-ja.html
→ ttp://jsgt.org/ajax/ref/test/json/test1.htm
E4X (ECMAScript for XML)
→ ttp://www.ecma-international.org/publications/standards/Ecma-357.htm
→ ttp://www.ne.jp/asahi/nanto/moon/specs/ecma-357.html (和訳)
Mozilla Gecko DOM Reference, Netscape devedge
→ ttp://developer.mozilla.org/en/docs/Gecko_DOM_Reference
→ ttp://developer.mozilla.org/ja/docs/Gecko_DOM_Reference (和訳)
→ ttp://devedge-temp.mozilla.org/central/javascript/index_en.html
MSDN Library JScript / DHTML (現在日本語版は古杉)
→ ttp://msdn.microsoft.com/ja-jp/library/z688wt03(VS.80).aspx
→ ttp://msdn.microsoft.com/ja-jp/library/cc409720.aspx

7 :Name_Not_Found:2009/12/01(火) 12:38:36 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
一撃必殺javascript
http://www.openspc2.org/JavaScript/
【関連スレ】
板違い、スレ違いに注意!サーバ側での処理はWebProg板へどぞ!
Webサイト制作初心者用質問スレ Part 215
http://pc11.2ch.net/test/read.cgi/hp/1257361206/l50
CSS初心者スレッド=7th=
http://pc11.2ch.net/test/read.cgi/hp/1251527427/l50
役に立つ書籍は? 4冊目
http://pc11.2ch.net/test/read.cgi/hp/1172823674/l50
1行javascriptプログラミング   
http://pc11.2ch.net/test/read.cgi/hp/1066750037/l50
WSH(・∀・)スレッド! Part 3
http://pc11.2ch.net/test/read.cgi/tech/1208948450/l50

8 :Name_Not_Found:2009/12/01(火) 16:58:55 ID:???
>>2の5の現行Ver.直せっつってんだろ

9 :Name_Not_Found:2009/12/01(火) 17:26:26 ID:???
それが示してるのは現行で「特に古いバージョン」の例じゃないの?
IE5.5-6、N6-7、Opera7-8 ←このバージョン限定なら書き記せって意味かと

10 :Name_Not_Found:2009/12/01(火) 18:00:08 ID:???
だからテンプレ論議のとこで言ってもらわないと。
1000レスぶん全部覚えといて反映しろってのは無理な話なんで。
今ここで当該箇所の差し替え案を書いてもらうのが一番簡単。

11 :Name_Not_Found:2009/12/01(火) 18:00:19 ID:adkCyzKU
>>9
現行バージョンはこれですよ、ってアナウンスじゃまいか?
個人的には、IE6-8、Fx3-3.5、Opera9.5-10だと思うんだけど。

12 :Name_Not_Found:2009/12/01(火) 18:05:57 ID:???
>>9
どう読んだらそうなるんだ

13 :Name_Not_Found:2009/12/01(火) 18:24:41 ID:???
過去ログ調べてきたよ

>>2にこの文言が追加されたのはvol.42からだった
vol.42が立てられたのが2005/10/12だから・・・IE7も出てない
てことで現行Verは書き直すか取り除いた方がよさげ
書き直した場合は新バージョンごとに書き直す必要があるから
個人的には取り除いてもいいと思うな

つうかよくこんな長い間放置されてたなw


14 :Name_Not_Found:2009/12/01(火) 21:03:35 ID:???
取り除く方にさんせーい。

15 :Name_Not_Found:2009/12/02(水) 01:12:10 ID:NqP9X9Hv
じゃあ、これといった反論なかったら、次スレで外すんでいいんじゃね。
みんな忘れないでね。

16 :Name_Not_Found:2009/12/02(水) 14:52:29 ID:???
appendChild()の反対のdeleteChild()みたいなことはできないのでしょうか?

17 :Name_Not_Found:2009/12/02(水) 15:00:01 ID:???
remove

18 :Name_Not_Found:2009/12/03(木) 01:25:31 ID:swkRLxvC
便乗質問です。
removeした要素って、参照がなければ、ほっといていいものですか?
メモリ的な意味で。

それとも、明示的にdeleteしたほうが良いのでしょうか。

19 :Name_Not_Found:2009/12/03(木) 01:52:54 ID:???
参照残ってなきゃ大丈夫だし、deleteしたところでどっかに参照が残ってたら無意味

ていうかdeleteはプロパティを消す演算子であって、オブジェクトまでは消さないぞ?
var obj = { foo : "bar" };
var str = obj.foo;
delete obj.foo;
alert(str);

20 :Name_Not_Found:2009/12/03(木) 03:44:53 ID:jEuQ0WMi
なるほどなるほど。
理解しました、ありがとう。

21 :Name_Not_Found:2009/12/03(木) 10:48:23 ID:???
仕事で使うなら今抑えておいたほうが良い技術ってなんですか?

22 :Name_Not_Found:2009/12/03(木) 10:57:11 ID:???
英語と日本語

23 :Name_Not_Found:2009/12/03(木) 10:57:56 ID:???
巧みな話術。

24 :Name_Not_Found:2009/12/03(木) 11:26:23 ID:???
目を開けたまま寝る。

25 :Name_Not_Found:2009/12/03(木) 12:04:14 ID:???
なんであれ押えるのはいいと思うが抑えてどうする。

26 :Name_Not_Found:2009/12/03(木) 12:07:18 ID:???
navigator.userAgent.indexOfと
navigator.userAgent.match
ってどっちがいいんですか?

27 :Name_Not_Found:2009/12/03(木) 12:14:12 ID:???
不定または複数を対象にしたいときは match
固定または単数を対象にしたいときは indexOf

28 :Name_Not_Found:2009/12/03(木) 17:03:54 ID:???
一方通行だよな

29 :Name_Not_Found:2009/12/03(木) 17:08:11 ID:???
やっぱり固定のindexOfの方が処理は早いの?
最近はexec、testを使ってばかりだけど。

30 :Name_Not_Found:2009/12/03(木) 17:49:13 ID:???
javascriptで文字の正規表現置換で質問です。

http://www.google.co.jp/aaa/bbbというアドレスを
aaa/bbbに置換したい場合、どういう指定をすればよろしいのでしょうか。

str.replace("http://.*/","");

だと出来ませんでした。
どなたかご教授お願いいたします。;


31 :Name_Not_Found:2009/12/03(木) 17:50:19 ID:???
単純に比較すればindexOfのほうが大抵速いだろうけど
体感に差が出るほど何度も使わないとか、何度も使わないように書けることのほうがよっぽど多い

32 :Name_Not_Found:2009/12/03(木) 17:52:16 ID:???
/http:\/\/[^\/]+\/(.+)/ で$1はどうだ。

33 :Name_Not_Found:2009/12/03(木) 17:52:50 ID:???
>>30
location.pathname

34 :Name_Not_Found:2009/12/03(木) 17:53:54 ID:???
>>30
String渡しても正規表現にはならねーよ、横着せずRegExp渡せ
https://developer.mozilla.org/ja/Core_JavaScript_1.5_Reference/Global_Objects/String/replace

str.replace(/http:\/\/.+?\//, "")

35 :Name_Not_Found:2009/12/03(木) 17:57:19 ID:???
"http://.*/" は 文字列

/http:\/\/.+?\// で 正規表現オブジェクト

36 :30:2009/12/03(木) 18:44:42 ID:???
str.replace(/http:\/\/.+?\//, "")
でできました。
Javascriptの正規表現は//でくくるんですね。
皆さん有難うございました。

37 :Name_Not_Found:2009/12/03(木) 19:17:26 ID:KICgrm1j
>>36
正規表現リテラルな。
ダブルクォートで括るとStringになるのが文字列リテラル、みたいなもん。

38 :Name_Not_Found:2009/12/03(木) 23:12:01 ID:???
<script language="JScript" for="hoge" event="Onkage(mage)">
alert(mage)
</script>

を、<script>タグを使わないで利用したいのですが、方法を教えてください。
せめて
<script language="JScript" for="hoge">
function Onkage(mage){
alert(mage)
}
</script>
できねぇかなぁと思ってるのですが、無理のようです。

IE8です

39 :Name_Not_Found:2009/12/03(木) 23:14:48 ID:???
language属性の値とfor属性、event属性なんて始めて見たんだが

40 :Name_Not_Found:2009/12/03(木) 23:18:14 ID:???
<script>タグ禁止の領域でスクリプトを使いたいってこと?
無理じゃねw

41 :38:2009/12/03(木) 23:23:13 ID:???
あーごめんなさい、そうじゃないです。間違えました。
<script language="JScript">
なんとか
</script>
だけで使いたいって事です。

http://hyons.hp.infoseek.co.jp/#TrayErControl これ使ってるんですが
イベントの数だけ
<script language="JScript" for="hoge" event="Onkage(mage)">
が増えるのが嫌だなぁ。全部<script language="JScript">の中に収めれないかなぁ
と思いまして。

42 :Name_Not_Found:2009/12/03(木) 23:38:23 ID:???
>>41
踏んだとたんAviraたんがウイルスを検出したんだが

43 :Name_Not_Found:2009/12/03(木) 23:46:50 ID:???
><

44 :Name_Not_Found:2009/12/04(金) 01:28:58 ID:???
IE8さんこんばんわ

45 :Name_Not_Found:2009/12/04(金) 10:13:06 ID:???
>>41
id="hoge" のノードでイベント Onkage(mage) が実行されたときに
その <script> 内が実行される。
for, event はIE専用で for と id は対。

イベントを <object> 自体に付加したりしてみたら?

46 :Name_Not_Found:2009/12/04(金) 19:23:21 ID:???
おい、DOCTYPE宣言したらなんかおかしくなった。
createElementでtopとleft指定して配置してた要素が全部0、0の位置になってしまった。
なんでこんなことが起こるのですか
よろしくお願いします。
ちなみに宣言は、<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
です

47 :Name_Not_Found:2009/12/04(金) 19:29:55 ID:???
DOCTYPE スイッチ

48 :Name_Not_Found:2009/12/04(金) 19:43:29 ID:???
>>47
なるほど、今はとりあえず宣言なしでやることにしました
ありがとうございました。

49 :48:2009/12/04(金) 20:16:16 ID:???
やはり腑に落ちなかったのでいろいろとやっていると
原因がわかりました。
○.style.widtやら.style.leftやらで、値を数値だけにしてしまっていたのを
pxまでちゃんと書いたらdoctype宣言後も上手く表示できました

50 :Name_Not_Found:2009/12/04(金) 20:37:16 ID:???
JavaScript 関係ないし

51 :Name_Not_Found:2009/12/04(金) 21:30:29 ID:???
>>49
widtって、なんて発音するの?

52 :Name_Not_Found:2009/12/04(金) 23:35:26 ID:???
揚げ足取りは楽しいかい?

53 :Name_Not_Found:2009/12/05(土) 01:16:54 ID:???
揚げ足というか、指摘の仕方の問題だと思うが...
これくらい許容してやれ

54 :Name_Not_Found:2009/12/05(土) 01:56:44 ID:???
というかつーかその両方

55 :Name_Not_Found:2009/12/05(土) 02:57:42 ID:???
マジキチ

56 :Name_Not_Found:2009/12/05(土) 03:27:48 ID:???
JavaScriptは1ヶ月ほどしかやってないのですが、
他言語はいくつかやってきたので結構すんなり入門できました。
しかし自分の書き方だとメモリリークが激しいようで困っています。
とはいえいまさらクセを矯正するのも難しいのですが、
メモリリークを発生させないコツのようなものはないでしょうか?
すでに作成したスクリプトが膨大になっているのでどこをどうしてよいやら・・・

57 :Name_Not_Found:2009/12/05(土) 04:04:56 ID:zAJyq7ds
スコープと参照に起因するものとか。
要素の循環参照なんかはわりと有名な話。

58 :Name_Not_Found:2009/12/05(土) 04:21:14 ID:???
循環参照によるリークはとっくに問題にならないくらいに解消されてないかな?
少し前に手元の IE6 と Detector でいくつかサンプルコード試したけど、ほとんどリークは再現しなかった。

59 :Name_Not_Found:2009/12/05(土) 04:22:00 ID:???
>>57
ありがとうございます。
調べたところ、http://msdn.microsoft.com/ja-jp/library/bb250448%28VS.85%29.aspx
このサイトに辿りつきました。
じっくり読んでリークパターンを分析してみます。

60 :56:2009/12/05(土) 04:27:38 ID:???
>>58
レスありがとうございます。

ところでIEではDripを、FirefoxではLeak Monitorを利用してメモリリークが起きてないか調べてます。
FirefoxでおきなければIE以外の他のブラウザでは起きないと割り切ってこの2種類だけでやってるのですが、
Firefoxでは特に検出されません。
メモリリークがおきるのはIEで閲覧した場合が多いという認識でよろしいですか?

61 :Name_Not_Found:2009/12/05(土) 05:04:34 ID:???
>>60
それは何とも言い様がないと思う。
ブラウザのバージョンにもよるし、今やベンダーの対応も進んでる訳で。
自分で確認する限り、IE6 でリークするコードも IE8 では再現されないし。


できたらリークを再現するコードと IE のバージョンを教えて欲しい。

62 :56:2009/12/05(土) 08:17:30 ID:???
>>61
ちょっと寝てました。すみません。
どのコードが該当するのかはわかりませんが、
再現できるコードがあったのでお願いします。(他の部分も原因があるかもしれませんが)
<script>
function test() {
var obj = document.getElementById("hoge");
var html = "";
if (!obj.innerHTML) {
html += "<h1>Window</h1>";
for (var i in window) {
html += i + "<br>";
}
html += "<h1>Document</h1>";
for (var i in document) {
html += i + "<br>";
}
html += "<h1>Navigator</h1>";
for(var i in navigator) {
html += i + "<br>";
}
}
obj.innerHTML = html;
}
</script>
<button onclick="test()">Click</button>
<div id="hoge"></div>
Clickを押すごとに表示されたり消えたりしますが、そのたびにメモリの消費があがり続けます。ページを変えても消費したままです。
IEのバージョンは7.0です。8.0にしてますが、Dripだとどうも7.0のエンジンを使うみたいで。
http://outofhanwell.com/ieleak/index.php?title=Main_Page#Download
右下のグラフが何度Clickおしても横ばいになったままで、ページを変えたら下がっていくように作れればいいのですが・・・

63 :Name_Not_Found:2009/12/05(土) 08:55:40 ID:???
windowだかdocumentだかをfor-inするとリークするというのを見たことがある気がするが
よく覚えてないし嘘かもしれない

64 :Name_Not_Found:2009/12/05(土) 09:12:16 ID:???
あれはクラッシュコードだった、忘れて
http://www.crashie.com/

65 :Name_Not_Found:2009/12/05(土) 15:09:00 ID:VVbuk+3N
GoogleのAjaxAPIを参考にWEBサービスのスクリプトを書いています。
Googleの検索サービスを利用するクライアント側コードはこんな感じです。

<script src="GoogleAPIのURL"></script>
<script>
GSearch.setOnLoadCallback(OnLoadCallbackFunction); //コールバックをセット
function OnLoadCallbackFunction() {(表示設定などを独自に定義)}
</script>

このとき、GoogleのURLからスクリプトがダウンロードされてからでなければ
コールバックをセットするコードは当然エラーになります。
ですが、エラーになりません。
scriptタグの順序を逆転するとエラーになります(=>GSearchオブジェクトは定義されていない)

この動作がよくわからないのですが、これはscriptタグが現れた順に同期通信で読み込まれていくから、
後のスクリプトがそれ以前が読み込まれる前に実行されることはない、と考えていいのでしょうか?

考えてみると、Googleを例に出すまでも無く
通常に互いに依存した複数ファイルを読み込む場合も
そうしたエラーにはならないなあとも思ってるのですが・・・。

66 :Name_Not_Found:2009/12/05(土) 15:21:05 ID:???
>scriptタグが現れた順に同期通信で読み込まれていく
>後のスクリプトがそれ以前が読み込まれる前に実行されることはない
そう
HTMLで上にあるほうから順にインラインや外部ファイルの区別無く同じスコープで実行される
前後することはないし、HTMLレンダリングも止まる

だからHTML上部で指定した外部サーバのjsのレスポンスが悪いと
そのページ自体の表示も酷く遅くなる

67 :65:2009/12/05(土) 15:30:11 ID:VVbuk+3N
>>66
ありがとうございます!たいへんすっきりしました。

68 :Name_Not_Found:2009/12/05(土) 16:30:33 ID:???
下のスクリプトでは置換ができませんでした。
何が間違ってるんでしょうか?

「.replace(/(hoge)/g, "$1 + something")」は置換できることと
「.replace(/\<span class\=hoge\>(.*?)\<\/span\>/g, "$1 + something")」でも置換できないことの確認はしました。

<head>
<script type="text/javascript">
function addsomething() {
document.body.innerHTML = document.body.innerHTML.replace(/<span class=hoge>(.*?)<\/span>/g, "$1 + something");
}
</script>
</head>
<body onload=addsomething()>
<span class=hoge>hoge</span>
</body>

69 :Name_Not_Found:2009/12/05(土) 16:34:53 ID:???
alert(document.body.innerHTML);
してみりゃわかるんじゃね?

70 :Name_Not_Found:2009/12/05(土) 16:51:49 ID:???
>>69
<span class="hoge"> のように " が自動で追加されていましたので

.replace(/<span class\"=hoge\">(.*?)<\/span>/g, "$1 + something")

に書き換えたのですが、やはり置換してくれませんでした…。

71 :Name_Not_Found:2009/12/05(土) 17:20:21 ID:???
spanとclassの間の半角スペースを\sに変える

72 :Name_Not_Found:2009/12/05(土) 17:23:11 ID:???
これでいけたよ

/<span class="hoge">(.*?)<\/span>/g

73 :Name_Not_Found:2009/12/05(土) 17:34:37 ID:???
>>72
ありがとうございます。うまくうごきました。
\ を とって気づいたのですが、 " の位置がずれてたのが動かない原因でした。
× <span class\"=hoge\">
○ <span class=\"hoge\">

74 :Name_Not_Found:2009/12/05(土) 17:42:38 ID:???
prototype.jsの読み方教えて
ぷろとたいぷてんじぇいえす?


75 :Name_Not_Found:2009/12/05(土) 18:11:15 ID:???
prototype.jsと読みます

76 :Name_Not_Found:2009/12/05(土) 18:23:01 ID:???
CodeReposが404なんだが

77 :Name_Not_Found:2009/12/05(土) 19:36:29 ID:???
var x = {};
var y = {};
x === y; // false

var x = {};
var y = x;
var z = y;
y === z; // true

両方ともtrueになると思ったのですがなぜ上のだけfalseになるのですか


78 :Name_Not_Found:2009/12/05(土) 19:52:34 ID:???
えっ?

79 :Name_Not_Found:2009/12/05(土) 19:58:53 ID:???
JavaScriptのObjectは参照だからな
上のがtrueになると
x.hoge = fuga;
ってしたときにyのhogeにもfugaが代入されることになる
下のは同じ中身(参照)だからtrueになる

80 :Name_Not_Found:2009/12/05(土) 20:03:16 ID:???
あー参照か確かにそういえばそうだった

81 :Name_Not_Found:2009/12/05(土) 20:21:10 ID:???
xとyは違うものを参照しとるからね

82 :Name_Not_Found:2009/12/05(土) 21:15:29 ID:???
Objectは参照だとは知らんかった、勉強になったw
ということは、x.hoge = "";と解放したつもりになっていても、
どこか他のところで参照を続けていたらメモリに残り続けるの?

83 :Name_Not_Found:2009/12/05(土) 21:22:24 ID:???
そういうこと
まあDOMが絡まない循環参照ぐらいなら、参照されていてもちゃんとGCされるけど
意図せずクロージャでローカル変数が残る場合もある


84 :Name_Not_Found:2009/12/05(土) 22:01:06 ID:???
そっか、クロージャで残る可能性もあるか・・・
気を付けよう・・・

85 :Name_Not_Found:2009/12/06(日) 05:00:38 ID:y93sLVcL
>>83
ああああ!
そのせいで金曜の仕事が伸びて、土曜は潰れたようわああん!


ちゃんと設計して、コーディングせにゃいかんね…

86 :Name_Not_Found:2009/12/06(日) 06:46:20 ID:???
> x.hoge = "";と解放したつもり
これは…
delete か、せめて undefined なり null なりにしてくださいよ…

そもそも、ページ遷移すればごっそりコンテキスト変わるんだから、
ほとんどのJavaScriptでは細かい参照とか気にしても意味がない


87 :Name_Not_Found:2009/12/06(日) 07:00:23 ID:???
>>62どなたか分かりませんか?

88 :Name_Not_Found:2009/12/06(日) 07:10:22 ID:???
>>62
WinXPのIE6とIE8で試したけど、再現しないのでさっぱり。

あえて言えば、IEの+=は重いから、配列にpushしたほうが良いよとか

89 :Name_Not_Found:2009/12/06(日) 07:42:13 ID:???
>>88
ありがとうございます。
メモリリークしてるというのは思い違いなんでしょうか?
ずっとClickを押すたびに使用メモリが上がっていきブラウザ閉じるまで解放される様子がないので、
それがメモリリークだと思っていたのですが。
これからは+=をpushに変えてみます。

90 :Name_Not_Found:2009/12/06(日) 09:33:33 ID:9KPD1YNS
http://acapulco.dyndns.org/price_hist/?c=/camera/digital-slr-camera/&i[]=K0000027414&i[]=K0000055862
のようなグラフを表示するにはどうすればよいでしょうか?

91 :Name_Not_Found:2009/12/06(日) 10:07:43 ID:???
いやcanvasだし

92 :Name_Not_Found:2009/12/06(日) 11:31:38 ID:???
>>90
下に書いてあるPower by見た?

93 :Name_Not_Found:2009/12/06(日) 12:07:09 ID:???
もう一度ご覧頂こう

94 :Name_Not_Found:2009/12/06(日) 12:12:32 ID:???
>>90
自分で描画してみたいってことだよね?
CANVASとVML(IE)で描画できるよ


95 :Name_Not_Found:2009/12/06(日) 12:39:37 ID:???
>>89
その現象はまさしくメモリリークだけど、
そのコードでそこまで盛大なメモリリークが起きるとは考えにくいな。
環境依存な気がするので、別の環境や別の方法で調べたりしてみてほしい

96 :Name_Not_Found:2009/12/06(日) 12:44:59 ID:???
変なツールバーを飼ってるんだろう

97 :Name_Not_Found:2009/12/06(日) 23:28:46 ID:???
ダブルクォートを alert で呼べずに困っています。

onclick="alert('\"')"

バックスラッシュではエスケープしてくれませんでした。
どう記述すれば " を表示できますか?

98 :Name_Not_Found:2009/12/06(日) 23:31:38 ID:???
それhtmlの解釈の時点で"alert('\"が属性値だと判断されてるだろ

99 :Name_Not_Found:2009/12/06(日) 23:33:18 ID:???
"
"

100 :Name_Not_Found:2009/12/06(日) 23:36:15 ID:???
&#34;
&quot;

101 :Name_Not_Found:2009/12/06(日) 23:42:49 ID:???
>>98
それで表示されなかったんですね、ありがとうございます。
>>99-100
できました!
ありがとうございます。

102 :Name_Not_Found:2009/12/07(月) 06:23:42 ID:???
これでよくね?

onclick='alert("\"")'

103 :Name_Not_Found:2009/12/07(月) 07:58:52 ID:???
シングルクォートきもい

104 :Name_Not_Found:2009/12/07(月) 10:55:16 ID:???
そんなこと言ってるから、いつまでも一人立ちできないんだよ

105 :Name_Not_Found:2009/12/07(月) 11:28:40 ID:???
setAttribute使えよ

106 :Name_Not_Found:2009/12/07(月) 14:52:56 ID:mn4tsiuL
そこはaddEventListenerだろう。

107 :Name_Not_Found:2009/12/07(月) 16:16:15 ID:???
まさか >>105 氏がそんな間違いをしている訳がないジャマイカ。

108 :Name_Not_Found:2009/12/07(月) 16:19:06 ID:???
誤爆?

109 :Name_Not_Found:2009/12/08(火) 00:14:52 ID:XbuP5wu5
質問です。

<a href="#" onclick="hoge(); return false;"> みたいに書くと、
クリックしてhogeを実行した際にhrefで#に移動するのを抑制できると思うんですけど、
これを、外部jsファイルからaddEventListenerでa要素に登録して、
HTML側にはonclickを書かないようにしたい場合、
上記の「return false」はどんな感じで仕込めばいいんでしょうか。

もしかしたら「hogeの中身次第で変わる」のかもしれないとも思ってるので、
hogeの中身について具体的な情報を出さないと質問にすらなっていないようなら、
申し訳ないんですけどそう指摘してもらえるとうれしいです。

110 :Name_Not_Found:2009/12/08(火) 00:29:58 ID:???
>>109
arguments[0].preventDefault();

IE の attachEvent() を使った場合は return false か

arguments[0].returnValue = false;

要するに分岐。
return false 以外はそこで function を抜けることなく処理が続くから、
書く場所はお好きなところにどうぞ。

111 :Name_Not_Found:2009/12/08(火) 00:38:00 ID:???
>>110
それっぽい箇所に「return false」を書いてはいて、上手くいってなくて質問したんですが、
よくよく見てみたらIE(attachEvent使ってます)はhrefの動作を抑制できていて、
Firefoxなどで「#」に飛んでしまってるみたいでした。

preventDefault()ってのは知らなかったので軽く検索してみたんですが、
こっちがaddEventListener用の「return false」相当の記述ってことになるんでしょうか。

もっとよく調べてみます。レスありがとうございました。

112 :Name_Not_Found:2009/12/08(火) 00:39:12 ID:???
document.getElementById("id名").addEventListener("click",
function{
hoge();
return false;
});

113 :Name_Not_Found:2009/12/08(火) 00:41:44 ID:???
>>112
false を返して onclick イベント発動ですね?分かります。

114 :109:2009/12/08(火) 00:47:50 ID:XbuP5wu5
>>111は自分です、sageてしまいました。

まだよく解ってはいないんですが、preventDefault()をそれっぽい箇所に書いてみたら、
hrefの抑制自体には成功しました。

検索等で調べつつ使い方を理解しようと思います。
レス下さった方本当にありがとうございました。

115 :Name_Not_Found:2009/12/08(火) 02:20:50 ID:???
>>60
>>62のコードはDrip 0.5だとリークしているように見えるが、
Dripを拡張したsIEve 0.0.8だとリークは検出されなかったわ。
userAgentを確認するとどちらもIE7のエンジンだったからIEの違いではないと思う。

ただ、何回も試しているとDripでもメモリ使用量が上がらない場合もあったりした。
Dripってなんか挙動が怪しくね?


116 :Name_Not_Found:2009/12/08(火) 12:00:32 ID:???
ブックマークレットでページのエンコードを任意のものに変更することは出来ますか?

117 :Name_Not_Found:2009/12/08(火) 12:14:57 ID:???
document.charset="Shift_JIS";


試してないけど。

118 :Name_Not_Found:2009/12/08(火) 12:28:56 ID:???
DebugBar 入れろよ

119 :Name_Not_Found:2009/12/08(火) 12:46:54 ID:???
質問です。
jQueryのanimateを使用していて、幅100pxの要素「.hoge」に、

$(".hoge").animate({ width: "200px", }, 1000, "linear");

といった記述で、幅を動かすみたいなことをしているのですが、
この処理を、「1秒後に実行」みたいにするにはどのように書くといいのでしょうか。
検索すると、setTimeoutとか出てくるのですがjQueryとの併用がよくわかりません。

$(".hoge").animate({ width: "100px", }, 1000, "linear");
$(".hoge").animate({ width: "200px", }, 1000, "linear");

こう書けば1秒待てるってのは気づいたんですが、どうも無理矢理な感じがしていて。

120 :Name_Not_Found:2009/12/08(火) 12:57:46 ID:???
setTimeout(function(){
$(".hoge").animate({ width: "200px", }, 1000, "linear");
}, 1000);


こうかな

121 :Name_Not_Found:2009/12/08(火) 13:12:56 ID:???
functionにしなくても、そのまま文字列でsetTimeoutの引数にしちゃダメ?

122 :Name_Not_Found:2009/12/08(火) 13:16:04 ID:???
やったことないけどいけた気もする
ブラウザ次第かもしれんけど
そうしたい理由は?

123 :119:2009/12/08(火) 13:30:48 ID:???
>>120
1秒待機うまくいきました、ありがとうございます。

jQuery.fn.extend({
  test: function() {
    $(this).css("display", "block");
    setTimeout(function(){
       $(this).animate({ width: "200px", }, 1000, "linear");
    }, 1000);
  }
});

いまこんな↑感じになっていて、setTimeoutを入れたことで、
その中の$(this)が参照できなくなっているんですけど(別の関数になったから?)、
こういう場合、setTimeoutの関数の中に、上位の$(this)を渡すにはどうすればいいんでしょう。

なんか連続質問で厚かましいとは思うんですが、調べる糸口もよくわからなくて。

124 :119:2009/12/08(火) 13:37:12 ID:???
自分が>>123で書いた例がすでに滅茶苦茶という可能性もあると思っているので、
そういう場合はそう指摘してもらえるとうれしいです。。。

125 :Name_Not_Found:2009/12/08(火) 13:41:48 ID:???
jQuery.fn.extend({
  test: function() {
    var r = $(this);
    r.css("display", "block");
    setTimeout(function(){
       r.animate({ width: "200px", }, 1000,
"linear");
    }, 1000);
  }
});


これじゃ無理かな

126 :119:2009/12/08(火) 13:49:39 ID:???
>>125
上手くいったぽいです!すごい!

何で変数に入れると上手くいくのかは全然解ってないんですが、こういうのは、
jQueryどうこうではなく、JavaScriptの変数や関数の基本的なルールって認識で合ってますか?
少しずつ覚えていこうとは思っているんですけど、まだ自分には難しくて。

127 :Name_Not_Found:2009/12/08(火) 13:57:14 ID:???
thisは関数の呼び出し時点(定義ではない)で決まる読み取り専用の特殊変数
仮引数やargumentsの仲間だよ
だから適当なローカル変数に入れて値を逃がさない必要がある

128 :Name_Not_Found:2009/12/08(火) 13:58:55 ID:???
>jQueryどうこうではなく、JavaScriptの変数や関数の基本的なルールって認識で合ってますか?

そうなるかな。
できることを少しづつ増やしていけばいいと思うよ。>>6の和訳だけでも読んでおくとかなり役に立つと思う

129 :116:2009/12/08(火) 15:00:41 ID:???
>>117
表示内容が”Shift_JIS”になってしまいます。。

130 :Name_Not_Found:2009/12/08(火) 16:56:35 ID:???
>>126
thisに関してはこの辺とか参考になるかも
http://builder.japan.zdnet.com/sp/javascript-kickstart-2007/story/0,3800083428,20371112,00.htm
あとは"javascript this"で検索すると一杯でてくるよ

131 :119:2009/12/08(火) 19:34:44 ID:???
>>127-128
>>130
アドバイスを参考に少しずつ勉強していこうと思います。
レスくださったみなさん本当にありがとうございました。

132 :Name_Not_Found:2009/12/09(水) 01:38:00 ID:???
>>109 = >>119 なんだろうけど、>>119 以降 ID を出さなかったところに
人間の心理のなんたるかが見えた気がする今日この頃。

133 :Name_Not_Found:2009/12/09(水) 01:46:03 ID:bOem3URS
>>132
onclickの話してる人がjQueryの話するかなぁ?どこで同じ人だと思ったんだ?
とか考えてたら1行目のところか。

134 :Name_Not_Found:2009/12/09(水) 01:49:46 ID:???
いや、文面に共通点が随所にあるじゃん。

135 :Name_Not_Found:2009/12/09(水) 06:17:28 ID:HS+yAV6R
お願いします

フォームにテキストボックスを設置し文字を入力させサーバーに送信する
ページを作りたいのですが簡単でしょうか?
IMEがONの場合は変換前の文字列と変換後の文字列を送信します

136 :Name_Not_Found:2009/12/09(水) 08:14:13 ID:2c2K4YOG
>>135
前半は簡単。
htmlでフォームを書くだけ。
後半は、keyupを見張って、押されたキーの内容を
hiddenに入れて一緒に送ればいいんじゃないかな。

137 :Name_Not_Found:2009/12/09(水) 10:27:27 ID:vvkqag/U
ttp://www.ecmascript.org/download.php
ここで配布してるEdition 4のプログラムって何に使うものでしょうか?

138 :Name_Not_Found:2009/12/09(水) 10:55:43 ID:MqP+NGg0
質問です。
var n = document.getElementById('place');
parent = n.parentNode;
としたところ、この2行目で「実装されていない」エラーになってしま
います。なぜでしょうか。いけない書き方ですか?

139 :Name_Not_Found:2009/12/09(水) 10:57:36 ID:???
そりゃES4を動かすに決まってんだろ

140 :138:2009/12/09(水) 10:58:15 ID:MqP+NGg0
ごめんなさい。投稿した直後試したら自己解決しました。
スレ汚しすいません。

141 :Name_Not_Found:2009/12/09(水) 22:43:59 ID:???
「とほほ」によると、正規表現でindex はマッチした
開始位置とあるんですけど、これ違いますよね。

142 :Name_Not_Found:2009/12/10(木) 00:38:06 ID:???
ハア?

143 :Name_Not_Found:2009/12/10(木) 00:53:21 ID:???
ここエスパースレじゃないよ

144 :Name_Not_Found:2009/12/10(木) 01:00:55 ID:???
>>141
もちろん、次回マッチを開始する位置、つまり終了位置が正しい


>>142-143
ここド素人が恥を晒すスレじゃないよ

145 :141:2009/12/10(木) 01:06:25 ID:???
ありがとうございます。安心しました。やっぱ「とほほ」って
問題あるんですね。ここの常連の方はとっくに見抜いてますけど。

146 :Name_Not_Found:2009/12/10(木) 01:42:30 ID:???
>>145
常連の人でも>>142-143のように見抜けていない人もいるから気を付けよう

147 :Name_Not_Found:2009/12/10(木) 02:59:45 ID:???
とほほが間違っているかどうかはどうでも良いが、>>141 が RegExp.index のことを言っているなら、
これは現在マッチした文字列の開始位置(0ベース)だろ。
次回マッチの開始位置は RegExp.lastIndex 。

まぁ質問者が何のことを言ってるかは良く分からんが。

148 :Name_Not_Found:2009/12/10(木) 03:59:25 ID:???
>>144-146 君たち間違っとるよ?

149 :Name_Not_Found:2009/12/10(木) 06:30:54 ID:???
RegExp.index って何なんだよ。IE の独自拡張か?
https://developer.mozilla.org/ja/Core_JavaScript_1.5_Reference/Global_Objects/RegExp#RegExp_instances
正規表現の index といえばこれしかないと思え

150 :Name_Not_Found:2009/12/10(木) 07:17:38 ID:???
http://www.tohoho-web.com/js/regexp.htm#index
ここのことならあってるんじゃね。試してみたけどそうなったし。


151 :Name_Not_Found:2009/12/10(木) 08:13:53 ID:???
>>149
お前はスレの流れを読んでレスしろよ。

152 :Name_Not_Found:2009/12/10(木) 08:17:49 ID:???
RegExpのプロパティを使おうとすること自体間違い。
実質グローバル変数なんでスレッドセーフじゃないし。
(今の)ブラウザに本当のスレッドはないとかいう
突っ込みは遠慮したい。

153 :Name_Not_Found:2009/12/10(木) 08:51:37 ID:???
 ,.――――-、
 ヽ / ̄ ̄ ̄`ヽ、
  | |  (・)。(・)|
  | |@_,.--、_,>
  ヽヽ___ノ  とほほを貶めようと思ったら逆に恥をかいたでござる
                             の巻

154 :Name_Not_Found:2009/12/10(木) 09:38:41 ID:???
>>149
RegExp プロパティのいくつかは(Perl ライクな)長い名前と短い名前の両方を持っていることに注意してください。
【訳注: それらは 1.5 以前のバージョンでの実装であり、非推奨の機能です。】
RegExp プロパティのいくつかは(Perl ライクな)長い名前と短い名前の両方を持っていることに注意してください。
【訳注: それらは 1.5 以前のバージョンでの実装であり、非推奨の機能です。】
RegExp プロパティのいくつかは(Perl ライクな)長い名前と短い名前の両方を持っていることに注意してください。
【訳注: それらは 1.5 以前のバージョンでの実装であり、非推奨の機能です。】
RegExp プロパティのいくつかは(Perl ライクな)長い名前と短い名前の両方を持っていることに注意してください。
【訳注: それらは 1.5 以前のバージョンでの実装であり、非推奨の機能です。】
RegExp プロパティのいくつかは(Perl ライクな)長い名前と短い名前の両方を持っていることに注意してください。
【訳注: それらは 1.5 以前のバージョンでの実装であり、非推奨の機能です。】


155 :Name_Not_Found:2009/12/10(木) 09:54:56 ID:???
>>151
>>149 == >>144 だけどなにか問題ある?
読解力ついたらまたおいで

>>154
>>151

156 :Name_Not_Found:2009/12/10(木) 10:07:30 ID:???
>>155
> 正規表現の index といえばこれしかないと思え


これは誰に言ってんだよ。
まさか >>147 に対してではあるまいし。

自然言語の文脈読めないと、プログラミングにも影響してんじゃない?w

157 :Name_Not_Found:2009/12/10(木) 10:13:24 ID:???
 ,.――――-、
 ヽ / ̄ ̄ ̄`ヽ、
  | |  (・)。(・)|
  | |@_,.--、_,>
  ヽヽ___ノ  大見得切った手前引っ込みがつかなくなったでござる
                             の巻

158 :Name_Not_Found:2009/12/10(木) 10:25:58 ID:Gliyyqmw
ECMA-262 5th editionって今月出るんですか?

159 :Name_Not_Found:2009/12/10(木) 10:36:42 ID:???
>>158
昨日出たよ。
http://www.ecma-international.org/publications/standards/Ecma-262.htm


160 :Name_Not_Found:2009/12/10(木) 10:39:29 ID:???
だれかECMA-262 5th editionを日本語訳してくれる神降臨しないかwktk

161 :Name_Not_Found:2009/12/10(木) 10:46:54 ID:???
誰か翻訳してるでしょ。
昨日出たのなら、しばらく待たないと。

162 :Name_Not_Found:2009/12/10(木) 10:49:06 ID:???
アフィ厨でないことを祈る

163 :Name_Not_Found:2009/12/10(木) 12:43:54 ID:???
なんでアフィをそこまで嫌うんだよ

164 :Name_Not_Found:2009/12/10(木) 12:47:12 ID:???
>>159
出たのは12/9じゃないぞ? ニュースリリースぐらい見なよ
http://www.ecma-international.org/news/index.html

実際に出たのは12/3だ

165 :Name_Not_Found:2009/12/10(木) 12:50:03 ID:???
4は出ないの?

166 :Name_Not_Found:2009/12/10(木) 12:55:03 ID:???
4の事は公式サイトに書いてありますよ

167 :165:2009/12/10(木) 12:59:17 ID:???
>>166
失礼しますた。ちょっと勉強不足でした。お詫びの印ににわか勉強で
仕入れた(重)情報を。大きな変更点はプロパティディスクリプタと
JSONのサポートのようです。このスレも益々繁盛しますね。祝JS!

168 :Name_Not_Found:2009/12/10(木) 13:10:48 ID:???
んなもんPDF見りゃわかる

169 :Name_Not_Found:2009/12/10(木) 14:40:07 ID:VPyCcNX1
ajaxライブラリはlocalhostでは機能しないのでしょうか?
何回試しても動作せず、ajaxが使われたオンラインページで関連ファイルを保存してlocalhostで試すと機能しないのです・・

170 :Name_Not_Found:2009/12/10(木) 15:00:05 ID:???
localhost上でWebサーバを立てていれば(さらに必要なプログラム
がそのサーバに揃っていれば)機能する。
file: URLで開いたら機能するわけがない。
Ajax→「サーバ側*プログラム*と非同期に*やりとり*する」こと。
通信する相手がいないのに動くわけがない。

171 :Name_Not_Found:2009/12/10(木) 15:12:35 ID:vXYTbGcP
ここで公開されてるajaxを使ってます
ttp://zendold.lojcomm.com.br/fvalidator/exampleA.asp

動きません。
もしどこかおかしいところがございましたらご指摘お願いします

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>サンプル</title>
<script type="text/javascript" src="mootools.js"></script>
<script type="text/javascript" src="fValidator.js"></script>
<script type="text/javascript">
window.addEvent("domready", function() {
var exValidatorA = new fValidator("exA");
});
</script>
</head>
<body>
<form id="exA" method="post" action="#">
<input id="exA_Id" class="fValidate['required']" name="string" type="text">
<input id="exA_submit" type="submit" value="テストする">
</form>
</body>
</html>

172 :Name_Not_Found:2009/12/10(木) 15:25:58 ID:???
ajaxで別のページの文字列を取得する時、〜.responseText.match(/<始まりのタグ>(.+)<\/終わりのタグ>/);
を使っているのですが、
〜.responseText.match(/<始まりのタグ1>(.+)<\/終わりのタグ1>/);
〜.responseText.match(/<始まりのタグ2>(.+)<\/終わりのタグ2>/);
とした場合、と〜.responseText.match(/<始まりのタグ>(.+)<\/終わりのタグ>.*?<始まりのタグ2>(.+)<\/終わりのタグ2>/);
とする場合どちらが早い・鯖に負荷がかからないのでしょうか?
〜の部分の取得は一回だけで、こちらでマッチをチェックしているだけなので負荷は変わらないと考えたのですがあっているでしょうか?
また、その場合どちらのほうが早いのでしょうか?

173 :Name_Not_Found:2009/12/10(木) 15:47:26 ID:???
>>172
鯖の負荷は変わらない。こちらのマシンの負荷もこんなものでは
全然変わらない。だから好きな方でよいと思うよ。

174 :Name_Not_Found:2009/12/10(木) 15:56:33 ID:???
>>173
ありがとう。
見やすさを重視してわけることにするよ。

175 :Name_Not_Found:2009/12/10(木) 16:15:16 ID:???
>>172
君が書いたコードだと前者と後者で結果が変わるのでは?

176 :Name_Not_Found:2009/12/10(木) 16:16:13 ID:???
/<始まりのタグ>(.+)<\/終わりのタグ>.*?<始まりのタグ2>(.+)<\/終わりのタグ2>/);

の部分は↓の間違いではないのかね
/<始まりのタグ>(.+)<\/終わりのタグ>|<始まりのタグ2>(.+)<\/終わりのタグ2>/);

177 :Name_Not_Found:2009/12/10(木) 19:00:28 ID:???
>>175-176
タグで囲まれた部分のみ取得する(かつ取得先は順番も決まっている)ので[1]と[2]で取れると思ったのですが、
認識ミスしてるでしょうか?

178 :Name_Not_Found:2009/12/10(木) 19:30:56 ID:zL18s6hr
if (navigator.userAgent.indexOf("win") == -1 && navigator.userAgent.indexOf("MSIE 7") == -1) {
(スクリプト本文)
}

とすれば、WindowsのIE7に、このスクリプトが適用されない、ということでいいでしょうか。
(== -1 の-1の意味がわからない、なぜ-1?)

IE8にも適用させたくないのですが、その場合は、
if (navigator.userAgent.indexOf("win") == -1 && navigator.userAgent.indexOf("MSIE 7") == -1 || navigator.userAgent.indexOf("MSIE 8") == -1 {
(スクリプト本文)


でよいのでしょうか?

179 :Name_Not_Found:2009/12/10(木) 19:32:47 ID:???
win7にie7は入ってたのか

180 :Name_Not_Found:2009/12/10(木) 20:05:11 ID:???
>>178
まずindexOf()がどういうものなのか調べろ
それすら怠っているようじゃだめだろ

後者の質問はそのままではだめだ
&&は||より先に処理されるから
だから||のほうを()でくくってやればいい
あと、閉じかっこが一つ足りない

181 :178:2009/12/10(木) 20:57:00 ID:zL18s6hr
>>180
indexOfで検索して、理解できました(検索しても出ないなあと思ってましたが検索語が悪かったようです)
ありがとうございました。

後者ですが、
if (navigator.userAgent.indexOf("win") == -1 && (navigator.userAgent.indexOf("MSIE 7") == -1 || navigator.userAgent.indexOf("MSIE 8") == -1)) {
(スクリプト本文)


これで合ってますでしょうか?

182 :Name_Not_Found:2009/12/10(木) 20:59:14 ID:???
UAはあてにならんから、if(/*@cc_on!@*/false)ieonly; のほうがええよ

183 :Name_Not_Found:2009/12/10(木) 21:09:43 ID:???
まだ理解できてないやん

184 :178:2009/12/10(木) 21:40:01 ID:zL18s6hr
>>182
よくわからないのですが、IE6以前のIEにのみ適用させたいスクリプトなんですが、
現状、IE8に適用されてしまって表示がおかしくなるので除外したいんです
IE7は、>>178に書いたような記述で除外できてるようで、表示がおかしくならないです

>>183
申し訳ありません
差し支えなければ、どの辺が理解できてないのか教えていただけませんでしょうか…

185 :Name_Not_Found:2009/12/10(木) 21:56:57 ID:???
IE6以前と7以降のJavaScript実装の差を利用するほうが確実かな
if(typeof(document.attachEvent) == "object"){
  alert("IEです");
  if(typeof(XMLHttpRequest()) == "object"){
    alert("IE7以降");
  }else{
    alert("IE6以前");
  }
}else{
  alert("IEではない");
}

186 :Name_Not_Found:2009/12/10(木) 22:00:58 ID:???
catchしてやらないと駄目だったか

if(typeof(document.attachEvent) == "object"){
  alert("IE");
  try{
    new XMLHttpRequest();
    alert("IE7以降");
  }catch(e){
    alert("IE6以前");
  }
}else{
  alert("IE以外");
}

187 :Name_Not_Found:2009/12/10(木) 22:09:04 ID:???
標準モードできちんと表示されるサイトを作った方がいい
|| UA はあてにならんので別の手段を講じた方がいい
|| 論理演算が間違っとる

188 :Name_Not_Found:2009/12/10(木) 22:18:15 ID:GhWwt9KO
ASP上でscriptタグでのjQueryの読み込みができないので、
JSを記述できる部分で、コード内で読み込もうとしています。

var script = document.createElement("script");
var host = (("https:" == document.location.protocol) ? "https://" : "http://");
script.src = host + "ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js";
script.type = "text/javascript";
document.getElementsByTagName("head")[0].appendChild(script);

$(function(){
 // jQueryのコード
})

Firefoxだけうまくいき、IEやSafaiでは動作しません。
jQueryを読み込んでいるタイミングが問題なのは分かるのですが・・・。

189 :Name_Not_Found:2009/12/10(木) 22:51:30 ID:???
要素を追加しただけでは動かない

190 :Name_Not_Found:2009/12/11(金) 00:21:20 ID:QZ2Bgvk6
jquery1.3.2 を勉強しておりますが、
--------
<div id="cover"><p><a href="#" class="hoveract" >test</a></p></div>
--------
に対して下記のことをしています。

--------
$(function(){
$("a").each(function(){
$(".hoveract").hover( function(){
alert("hello");
}) });});
--------または
$(function(){
$(".hoveract").hover( function(){
alert("hello");
});});
--------または
$(function(){
$("#cover a").hover( function(){
alert("hello");
});});

(続く)

191 :190:2009/12/11(金) 00:22:53 ID:QZ2Bgvk6
(続き)

しかし、以下のように append() したものの場合だと上記の操作が反応しませんが、何故なのでしょうか?

<div id="cover"></div>

var add = '<p>';
add+= '<a href="#" class="hoveract" >test</a></p>';
add+= '</p>';
$("#cover").append(add);

htmlの生成自体はできております。よろしくお願いします。

192 :Name_Not_Found:2009/12/11(金) 00:33:14 ID:???
</p>が一つ余計じゃないか?

193 :Name_Not_Found:2009/12/11(金) 00:54:16 ID:???
タイミング

194 :Name_Not_Found:2009/12/11(金) 00:54:57 ID:???
当たり前だけどDOM構築後に追加しないと動かないよ

195 :190:2009/12/11(金) 03:44:58 ID:QZ2Bgvk6
>>194
>DOM構築後に追加

>>190 にて、下記のように

$(function(){

});

としていますが、これとは違うことを指していらっしゃいますか? >構築後

196 :Name_Not_Found:2009/12/11(金) 04:07:00 ID:???
jQuery 使ったことないから間違ってたら悪いけど
live メソッドで設定すればいいんじゃないの

197 :Name_Not_Found:2009/12/11(金) 08:49:06 ID:???
>>195
appendとイベントリスナ設置はどっちが先なの
ソース順じゃなくて実行順で

198 :190:2009/12/11(金) 12:51:17 ID:QZ2Bgvk6
>>197
>ソース順じゃなくて実行順で

申し訳ありません。実行順を制御する方法がわからずにおります。


199 :Name_Not_Found:2009/12/11(金) 12:56:47 ID:???
りんご
みかん
ばなな

↑の3行の文字列がfood.txtに保存してあります
または、↓の用に1つの文字列ごとにファイルを別けてあります
りんご・・・ringo.txt
みかん・・・mikan.txt
ばなな・・・banana.txt



Ajaxでみかんボタンを押したとき、food.txtを読み込んで2行目のみかんを表示するのと
みかんボタンをおしたときにmikan.txtを読み込んでみかんと表示するときの事で質問です

Ajaxでファイルを読み込むとサーバに負担がかかりますか?
また、前者と後者ではどっちがいいですか?ちなみに上ではデータは3つですが、300とか10000ある場合もあります

200 :Name_Not_Found:2009/12/11(金) 13:00:45 ID:???
ajaxだろうがなかろうがアクセスはアクセスだ
普通にURL叩いてHTMLや画像を表示するのと同じ

201 :Name_Not_Found:2009/12/11(金) 13:10:25 ID:???
Ajaxライブラリを使えるようになりたいのですが
いきなりprototypeやjqueryで覚えるより、もっと小さいライブラリから覚えたほうがいいでしょうか?

202 :Name_Not_Found:2009/12/11(金) 13:14:00 ID:???
覚えるなら最初からやったほうがいい
小さいライブラリといってもたいして変わらないから

203 :Name_Not_Found:2009/12/11(金) 13:18:53 ID:???
現在のブラウザはJavascript1.5で書けば問題ないでしょうか?
Javascript1.6などの上位版はFirefox以外では使わないほうがいいですか?

204 :Name_Not_Found:2009/12/11(金) 13:21:30 ID:Ij2G7Db5
>>201
ajaxって名前だけ独り歩きしている感があるけど、
それ自体はなんてことないので、いっぺん手作りしたほうがいい。

どちらかというと面倒なのは、取得したレスの処理とか、
ポストするデータの生成とかだけど、それらは本質的にajaxとは関係無いし。

205 :Name_Not_Found:2009/12/11(金) 18:07:52 ID:???
>>198
$(function() {
//append

//イベントリスナ設置
});

こうなってる?

こういう前後を考えるのが面倒だから、
documentに仕掛けてイベント発生元で区別というのも有りかと

206 :Name_Not_Found:2009/12/11(金) 19:33:36 ID:???
テキストをコピー→右クリック→貼り付け
という操作を短縮して、
右クリックと同時にテキストボックスに貼り付け完了させたいのですが、
clipboarddataだとセキュリティ的に使う気が引けるし
ほぼieのみだそうで、いろいろと他の方法をさぐってみたのですがわかりませんでした。
何か他によい方法はないでしょうか。よろしくお願いします。

207 :Name_Not_Found:2009/12/11(金) 19:40:27 ID:???
JavaScriptでは無理。
どうしてもやりたいならJavaで。

208 :Name_Not_Found:2009/12/11(金) 19:46:59 ID:???
テキストエリアに同ページの選択範囲を流し込むのならできそうだけど
IEは選択範囲の取得ができないんだっけ?

209 :Name_Not_Found:2009/12/11(金) 19:50:32 ID:???
function syori(){
document.FORM.AAA.click();
setTimeout("syori()",inter.value);
}
無限ループにしたいのですが、
1回動作してあとは静かになってしまいます。
どうすれば治りますか。お願いします。

210 :Name_Not_Found:2009/12/11(金) 20:06:20 ID:???
まあそうだろうね

211 :Name_Not_Found:2009/12/11(金) 20:08:26 ID:???
すいません。自分で探ります。
汚して申し訳ありません。

212 :Name_Not_Found:2009/12/11(金) 21:11:29 ID:eKIc1QYM
>>209
おしい。

213 :Name_Not_Found:2009/12/11(金) 22:57:47 ID:???
arguments.calleeでいいんじゃないか?

214 :Name_Not_Found:2009/12/11(金) 23:20:00 ID:???
>>212
え?どこを指摘してんの?

215 :Name_Not_Found:2009/12/11(金) 23:52:04 ID:???
ある通販サイトのソースを見てるんですけど

<a class="selected" href="#">カタログ表示</a>

↑のようなタグがありました。
「href="#"」の意味が分からないです。
普通#の後にはname=""で指定した名前が来ますよね?
どういう仕組みなのでしょう?

ちなみにカタログ表示というリンクをクリックすると商品がカタログ表示されます。

216 :Name_Not_Found:2009/12/12(土) 00:02:08 ID:???
この世の中、全てのものに意味があると思ったら大間違い。
寧ろ意味のあるものなんて、ほんの一握り。

このレス?このレスの意味なんて、君の瞳に映ることだけ。

馬鹿馬鹿しい世の中。

217 :Name_Not_Found:2009/12/12(土) 00:04:08 ID:???
>>215
何が聞きたいの?

218 :Name_Not_Found:2009/12/12(土) 00:10:15 ID:???
href="#" だとトップに飛ぶっしょ

飛ぶ前に
onclick で捕まえてなんかの処理して飛ぶのはキャンセル
ってやってるんでしょ

219 :Name_Not_Found:2009/12/12(土) 00:12:55 ID:???
はい!一句できました!


飛ぶ前に
onclick で
捕まえて
なんかの処理して
飛ぶのはキャンセル

220 :Name_Not_Found:2009/12/12(土) 00:22:17 ID:???
>>215
HTMLの仕様上、href属性の値は空にしてはいけない。空にするとアンカー
だとみなされなくなる。
「カタログ表示」は実際はonclickでスクリプトを動かすのでアンカーで
はないんだけど、ユーザにクリック可能なものだと認識して欲しい。な
ので、アンカーとして表示されるための苦肉の策で href="#" なんて書
いている。

UI的にアレだし、CSSで何とでもできるので、今は要らないテクニック。



221 :Name_Not_Found:2009/12/12(土) 00:37:33 ID:???
IE6 だと :hover が a タグにしか効かないから、仕方なく使う場合もある。


用無しなもんかし(#`ε´#)

222 :Name_Not_Found:2009/12/12(土) 00:50:16 ID:???
ダミーリンクで、href="#" と href="." とでは何か違う?
それとも気分の問題?

223 :Name_Not_Found:2009/12/12(土) 00:57:34 ID:???
挙動の違いは明らか。


オススメは href="8(*^^*)8"

224 :Name_Not_Found:2009/12/12(土) 00:59:17 ID:???
Firefoxとかだと href="" は自分自身を指す

225 :Name_Not_Found:2009/12/12(土) 01:08:11 ID:???
RFC 1808だな。

226 :Name_Not_Found:2009/12/12(土) 01:11:40 ID:pOnS4WdC
一応htmlもやる身としていうと。

リンクとしての機能をサポート、拡張するようなスクリプトなら、
本来のリンク先を書いておくべき。

スクリプトなしでは成立しないボタンなら、a要素は使うべきではないし、
そのボタン自体もスクリプトで生成するのがいいです。

アクセシビリティ的な意味で。

227 :Name_Not_Found:2009/12/12(土) 01:16:09 ID:???
どうしたんだ?急にw

228 :Name_Not_Found:2009/12/12(土) 01:21:00 ID:???
充電ちゃんの仕業

229 :Name_Not_Found:2009/12/12(土) 03:01:01 ID:???
語尾に「w」を1つつける馬鹿が常駐してるみたい

230 :Name_Not_Found:2009/12/12(土) 03:12:16 ID:???
>>218-220
とても分かりやすい説明ありがとうございます!
勉強になります!


231 :Name_Not_Found:2009/12/12(土) 04:46:25 ID:???
>>229
くやしいのうw

232 :Name_Not_Found:2009/12/12(土) 07:01:53 ID:???
var option = createElement("option");
option.value = "Windows";
option.text = "Windows";
select.appendChild(option);

とすると、Firefoxでは、Windowsという選択が表示されますが、IEでは表示されません。
IEでも表示されるようにするにはどうすればいいのでしょうか?

233 :Name_Not_Found:2009/12/12(土) 07:09:17 ID:???
appendChild してから option.text = "Windows";

234 :Name_Not_Found:2009/12/12(土) 07:13:48 ID:???
>>233
d

235 :Name_Not_Found:2009/12/12(土) 15:03:28 ID:Jy9bu4ST
JavaScript初心者です。
2次元テーブルの書き方を教えてください!!

こんな感じで習ったんですが表示されません。
間違ってるとことかあれば教えてください。
お願いします!!!!!!!!!!!!!!

↓↓↓↓↓↓↓↓↓


236 :Name_Not_Found:2009/12/12(土) 15:04:24 ID:Jy9bu4ST
<html>
<head>
<font>
<script language="JavaScript">
var tblData = new Array(3);
for(var i = 0,i <=2,i++){
tblData[i] = new Array(5);
}


237 :Name_Not_Found:2009/12/12(土) 15:07:17 ID:Jy9bu4ST
tblData[0][0] = "aaa";
tblData[0][1] = "bbb";
tblData[0][2] = "ccc";
tblData[0][3] = "ddd";
tblData[0][4] = "eee";
tblData[1][0] = "fff";
tblData[1][1] = "ggg";
tblData[1][2] = "hhh";
tblData[1][3] = "iii";
tblData[1][4] = "jjj";
tblData[2][0] = "kkk";
tblData[2][1] = "lll";
tblData[2][2] = "mmm";
tblData[2][3] = "nnn";
tblData[2][4] = "ooo";
for(var i = 0; i <= 2; i++){
for(var j = 0; i <= 4; i++){
document.write(tblData[j][i] + "<br />");
}
}
</script>
</head>
<body bgcolor = "00ffff">
</body>
</html>


238 :Name_Not_Found:2009/12/12(土) 15:20:59 ID:???
意味がわからないです

239 :Name_Not_Found:2009/12/12(土) 15:22:04 ID:???
<font>が斬新

240 :Name_Not_Found:2009/12/12(土) 15:40:44 ID:???
このくらいの質問だったら >>144 みたいな奴が答えればいいんじゃねw

241 :Name_Not_Found:2009/12/12(土) 15:50:35 ID:???
>>235-237
あまりにダメ過ぎてどうしたものやら
とりあえず、スクリプト使わないでHTMLで書いてみ

242 :Name_Not_Found:2009/12/12(土) 15:52:51 ID:???
>>236
とりあえずHTMLのおべんきょうしようか・・

243 :Name_Not_Found:2009/12/12(土) 15:57:20 ID:???
久し振りにlanguage見た 

244 :Name_Not_Found:2009/12/12(土) 16:07:07 ID:Jy9bu4ST
すいません。
本当に超初心者なんです。

aaa bbb ccc ddd eee
fff ggg hhh iii jjj
kkk lll mmm nnn ooo

↑という風に表示させたいです。




245 :Name_Not_Found:2009/12/12(土) 16:23:42 ID:???
<table>
<tr>
<td>aaa</td><td>bbb</td><td>ccc</td><td>ddd</td><td>eee</td>
</tr>
<tr>
<td>fff</td><td>ggg</td><td>hhh</td><td>iii</td><td>jjj</td>
</tr>
<tr>
<td>kkk</td><td>lll</td><td>mmm</td><td>nnn</td><td>ooo</td>
</tr>
</table>

246 :Name_Not_Found:2009/12/12(土) 16:24:15 ID:Jy9bu4ST
申し訳ありません。
自己解決しました。

ご迷惑おかけしてすいませんでした。

247 :Name_Not_Found:2009/12/12(土) 16:24:28 ID:???
>>244
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<title></title>
<script type="text/javascript">
window.onload = (function(){
  var list = [
    ["aaa","bbb","ccc","ddd","eee"],
    ["fff","ggg","hhh","iii","jjj"],
    ["kkk","lll","mmm","nnn","ooo"]
  ];
  var node = document.createElement("p");
  for(var i = 0; i < list.length;i++){
    for(var j = 0; j < list[i].length;j++){
      node.appendChild(document.createTextNode(list[i][j] + " "));
    }
    node.appendChild(document.createElement("br"));
  }
  document.getElementsByTagName("body")[0].appendChild(node);
});
</script>
</head>
<body>
</body>
</html>

これでいい?かなり適当だけど
使うときは全角スペースをタブに直して

248 :Name_Not_Found:2009/12/12(土) 16:25:21 ID:???
>>244
同じ手順で再現してみたよ
var tblData = new Array(3);
for(var i = 0; i < 3; i++){
tblData[i] = new Array(5);
}
tblData[0][0] = "aaa";
tblData[0][1] = "bbb";
tblData[0][2] = "ccc";
tblData[0][3] = "ddd";
tblData[0][4] = "eee";
tblData[1][0] = "fff";
tblData[1][1] = "ggg";
tblData[1][2] = "hhh";
tblData[1][3] = "iii";
tblData[1][4] = "jjj";
tblData[2][0] = "kkk";
tblData[2][1] = "lll";
tblData[2][2] = "mmm";
tblData[2][3] = "nnn";
tblData[2][4] = "ooo";
for(var i = 0; i < 3; i++){
for(var j = 0; j < 5; j++){
document.write(tblData[i][j] + " ");
}
document.write("<br />");
}

配列のlengthプロパティは習ってないの?後、HTMLについても
簡単に勉強してみたほうがいいかも。

249 :Name_Not_Found:2009/12/12(土) 16:25:47 ID:???
自己解決というより逃げただけだろうなw
まぁがんばれ
最初は誰でもそんなもんだ
ただ他の人もいってるがJavaScriptの前にHTMLのお勉強はしような

250 :Name_Not_Found:2009/12/12(土) 16:26:10 ID:???
>>247
先生驚いちゃうよ笑

251 :Name_Not_Found:2009/12/12(土) 17:05:28 ID:???
>>247
よくねーよ
XHTMLならscript要素内は#PCDATAだ

252 :Name_Not_Found:2009/12/12(土) 17:58:33 ID:???
text/htmlだからいいんじゃないの

253 :Name_Not_Found:2009/12/12(土) 19:20:48 ID:???
>>207
java調べてみました
スレ違いになってしまいますが一応、
システム以外のクリップボード操作ならできるみたいですね。
本当は、まったく別のページからコピーしたテキストも半自動(右クリック時)ペーストできたらなぁと
思っていたのですが、やはりセキュリティ面から無理みたいでした。
ついでにASも調べてみましたがコピーのみのようでした。
ありがとうございました。

254 :Name_Not_Found:2009/12/12(土) 22:48:29 ID:???
トップレベルでの変数宣言でvarの有り無しの違いってあるんでしょうか?
var x = 12;
y = 12;


255 :Name_Not_Found:2009/12/12(土) 22:54:24 ID:Jy9bu4ST
>>244です
お答えしてくださった方ありがとうございます。
友達に聞いたのも同じような答えでした。

皆さんに言われた通りもう一度HTMLも復習しようとおもいます。
本当にありがとうございました。

256 :Name_Not_Found:2009/12/12(土) 22:55:20 ID:???
delete window.y;

257 :Name_Not_Found:2009/12/12(土) 22:56:15 ID:???
(T^T)

258 :Name_Not_Found:2009/12/13(日) 00:03:40 ID:???
IE6,7,8でJavaScriptが動くか確認したいのだが、
MultipleIE と IETesterのどっちがオススメ?

259 :Name_Not_Found:2009/12/13(日) 00:13:17 ID:???
IECollector

260 :Name_Not_Found:2009/12/13(日) 00:17:18 ID:???
VirtualBox

261 :Name_Not_Found:2009/12/13(日) 01:28:51 ID:???
IETesterは内部のIEが落ちても復元してくれるから便利

262 :258:2009/12/13(日) 02:39:01 ID:???
IE6でのメモリリークの調査にも使えるか試していたんですが、
ttp://www.ne.jp/asahi/nanto/moon/2005/12/04/ie-memory-leak.html を開いて
10000個の要素を作成→イベントハンドら追加→他のページに遷移
と操作したら、MultipleIEのIE6だとPrivate Bytesが減らないのでリークを確認できたんですが、
IETesterのIE6だとPrivate Bytesが減ってしまいます。

IETesterだとメモリリークの確認には使えないってこと?

263 :Name_Not_Found:2009/12/13(日) 02:42:55 ID:???
うん

264 :Name_Not_Found:2009/12/13(日) 03:23:32 ID:???
words[i].resultが文字列でその文字列リンクをクリックするとテキストフォームの値がその文字列に変更される
ということをしたいのですが↓のコードだとエラーになってしまいます。
どこをどう直せばいいのかもう分からないのでどなたか教えて頂きたいです。

temp += '<a href="javascript:void(0)" onclick="$('txtWord').value=words[i].result;">';
temp += words[i].result + "</a>";



265 :Name_Not_Found:2009/12/13(日) 03:37:32 ID:???
$('txtWord')は何なの?

266 :Name_Not_Found:2009/12/13(日) 03:49:26 ID:???
>>265
txtWordはテキストフォームのIDで、$('txtWord')は要素です。
$('txtWord').valueがテキストフォームに記入されている文字列のプロパティなので
これで値が書き換わると思ったのですが・・・

267 :Name_Not_Found:2009/12/13(日) 04:05:19 ID:???
>>264,266
どんなエラーになるのか書きましょう。

onclick="alert($('txtWord'))" にして何が表示されるか確認してみる
とか。



268 :Name_Not_Found:2009/12/13(日) 04:24:46 ID:???
まずシングルクォートの中にシングルクォート書いてるの直そうぜ。

269 :Name_Not_Found:2009/12/13(日) 04:36:06 ID:???
これがもしjQueryつかってるのなら$('txtWord')は$('#txtWord')じゃないの?

270 :Name_Not_Found:2009/12/13(日) 08:46:57 ID:???
temp += '<a href="javascript:void(0)" onclick="$('txtWord').value="'+words[i].result;+'">';
temp += words[i].result + "</a>";
こういうことじゃないの?

271 :Name_Not_Found:2009/12/13(日) 08:51:26 ID:???
temp += '<a href="javascript:void(0)" onclick="$(\'txtWord\').value="'+words[i].result;+'">';
temp += words[i].result + "</a>";
訂正

272 :Name_Not_Found:2009/12/13(日) 08:54:03 ID:???
temp += '<a href="javascript:void(0)" onclick="$(\'txtWord\').value="'+words[i].result+'">';
temp += words[i].result + "</a>";
ごめん。さらに訂正


273 :Name_Not_Found:2009/12/13(日) 11:52:17 ID:c3HjeEh8
ttp://www.openspc2.org/JavaScript/Ajax/ref/SimpleJS/ver0.02/ref/$ajaxload/index.html
ここのサンプルをもとにlocalhostで試してみたのですがファイルを読み込めません
simple.jsとsimple.txtはhtmlファイルと同じディレクトリに入れてるのでパスは間違えてません
どなたかご指摘お願いします


<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Sample</title>
<script type="text/javascript" src="simple.js"></script>
<script type="text/javascript">
function aLoad(){
$ajaxload("box", "simple.txt", "読み込み中...", "highlight", false);
}
</script>
</head>
<body>
<form><input value="読み込み" onclick="aLoad()" type="button"></form>
<div id="box">Simple JS Sample Text !!</div>
</body>
</html>

274 :Name_Not_Found:2009/12/13(日) 12:38:40 ID:???
>>267-272
レスありがとうございます。
返信遅くなりすみません。

この単純ミスが原因だったのかと思い
>>271さんのご指摘通りに直してみたんですが
今度は違うエラーが出てしまいました。

firefoxのエラーコンソールでは↓のように表示されてますが意味が分からないです。
「SONYウォークマン」はwords[i].resultの値です。

エラー:missing; before statement
ソースファイル:〜自分のファイルの場所〜

$(\'txtWord\').value=SONYウォークマン;

        ↑



ちなみにjqueryではなくprototype.jsを使ってます。

275 :Name_Not_Found:2009/12/13(日) 12:54:12 ID:???
>>274
訂正します。
>>272さんのご指摘どおりに直しました。



276 :Name_Not_Found:2009/12/13(日) 12:57:44 ID:???
>>267
ちなみに
alert($('txtWord').value)
ではフォームに記入されてる値が出力されます。

277 :Name_Not_Found:2009/12/13(日) 13:01:34 ID:???
>>274
ちなみにtemp には正常に文字列が代入されています。
おかしいのはonclick〜の部分の様です。

278 :Name_Not_Found:2009/12/13(日) 13:08:20 ID:???
>>264
マジレスしてやるとそんなん見せられてもエスパー回答しかできない


279 :Name_Not_Found:2009/12/13(日) 13:09:24 ID:???
>>272
しかもエスケープするところが違うしめちゃくちゃだな

280 :Name_Not_Found:2009/12/13(日) 13:24:24 ID:???
>>278
そうですよね・・・orz

281 :Name_Not_Found:2009/12/13(日) 13:25:09 ID:???
>>279
どう違うのか教えていただけませんか?

282 :Name_Not_Found:2009/12/13(日) 13:34:52 ID:???
>>279 じゃないけど、エラーに表示されている通り、引用符が足りてない。

' ' は HTML を括る引用符。
" " は HTML 内で onclick で呼ばれるコードを括る引用符。
コード内で words[i].result を括る引用符が足りてない。

283 :Name_Not_Found:2009/12/13(日) 14:05:46 ID:???
>>282
アドバイスありがとうございます。
なるほどと思い、引用符を付け直し、↓のように直したのですが
今度はsyntax errorが出てしまいました。

temp += '<a href="javascript:void(0)" onclick="$(\'txtWord\').value="'+words[i].result+'";">';

エスケープ箇所が間違っているのでしょうか?

284 :Name_Not_Found:2009/12/13(日) 14:18:38 ID:???
>>283
実際にtempに追加される文字列を考えてみよう
<a href="javascript:void(0)" onclick="$('txtWord').value="xxxxxx";">

285 :Name_Not_Found:2009/12/13(日) 14:30:25 ID:???
俺の今年の一字は「膣」だった。


ところで藤谷美和子はどこいった?

286 :Name_Not_Found:2009/12/13(日) 14:38:28 ID:???
>>284
あ〜そうか!
onclick="$('txtWord').value="xxxxxx";">を
                   ↓
onclick="$('txtWord').value='xxxxxx';">

にすれば良かったんですね!

助かりました。
こんなアホに付き合っていただいてありがとうございました。


287 :Name_Not_Found:2009/12/13(日) 15:17:16 ID:xzv4FW2J
ウェブページに読み込んだXMLに含まれるCDATAセクションの内容を取得するには
どのようにすればいいのでしょうか。

<greeting><![CDATA[こんにちは]]></greeting>

greetingの位置から子を参照すると(FFでは)[object CDATASection]となります。
その子がテキストノードかと思いきや、これはnullです。

288 :273:2009/12/13(日) 15:19:35 ID:???
どなたかぼくの存在もたまには思い出してください

289 :287:2009/12/13(日) 15:36:40 ID:xzv4FW2J
すいません。気がつくのが遅かった・・・orz
greetingNode.firstChild.nodeValue

290 :Name_Not_Found:2009/12/13(日) 16:49:20 ID:zrbibAnT
var hoge;
はundefinedですが
var huga = "";

var piyo = [];
みたいに型は示されているけど値が入っていないようなものを
まとめて表現する呼び名とかありますか

中身が入っているかどうかを判断したいのですが
if(huga != "")
とか
if(huga.length > 0)
とか
if(piyo != [])
とか
if(piyo.length > 0)
とか
こんな感じに判断するのかなと思ったのですが
[,] や ["",""] も "" や [] と同じように中身が入っていないものとして扱いたくて
lengthだとこれらは1や2になってしまって
こういうのをまとめて表現する方法を教えてください

291 :Name_Not_Found:2009/12/13(日) 17:14:20 ID:???
test = ["","",""];

if((function(obj){
  if(obj){
    if(typeof(obj) == "object" && typeof(obj.length) == "number"){
      for(var i = 0 ; obj.length > i ; i++){
        if(obj[i]){
          return true;
        }
      }
      return false;
    }else{
      return true;
    }
  }else{
    return false;
  }
})(test) == true){
  alert("値は空ではない");
  alert(test);
}else{
  alert("値は空");
  alert(test);
}

こんなのでいいかな

292 :290:2009/12/13(日) 17:19:35 ID:???
おおう・・・!そんな複雑になってしまうんですか
もっと単純なものだと思って軽い気持ちで聞いてしまいました
作ってくれてどうもありがとうございますm(_ _)m

293 :Name_Not_Found:2009/12/13(日) 17:32:28 ID:???
>>291
あんた247か...

294 :Name_Not_Found:2009/12/13(日) 17:47:23 ID:???
同一人物だと何か問題ですか?

295 :Name_Not_Found:2009/12/13(日) 17:52:08 ID:???
ごめん、なんでもないよ

296 :Name_Not_Found:2009/12/13(日) 17:58:34 ID:???
>>273
localhostにウェブサーバが動いている? それともローカルファイル(file:///)?

たとえばFirefoxの場合file:///に対してのXMLHTTPRequesはステータス
が常に0だそうだ。そのライブラリがステータスをHTTP前提でステータス
をチェックしていると動かなそう。


297 :273:2009/12/13(日) 18:02:34 ID:???
>>296先生、ありがとうございます
openspc2で動いているsimple.js(バージョン0.02)を使ったら動きました
ただ本家で配布されてるバージョン0.1だとダメでした

ちなみに$ajaxload以外のは0.1でも0.02(新しく追加されたやつは除く)でも動きます
これは0.1にバグがあるのでしょうか?

298 :Name_Not_Found:2009/12/13(日) 20:15:19 ID:???
>>290-291
function hasValue(arr) {
  if (!(arr instanceof Array)) return false;
  for (var i = 0; i < arr.length; i++) {
    if (arr[i] != null && arr[i] !== '') return true;
  }
  return false;
}

alert(hasValue(42));
alert(hasValue({}));
alert(hasValue([]));
alert(hasValue([,]));
alert(hasValue([undefined]));
alert(hasValue([null]));
alert(hasValue(['']));
alert('----');
alert(hasValue([0]));
alert(hasValue([NaN]));
alert(hasValue([false]));

299 :Name_Not_Found:2009/12/13(日) 20:18:31 ID:???
ごめん、スルーして

300 :Name_Not_Found:2009/12/13(日) 21:59:08 ID:???
一つの関数を複数回実行して処理内容を毎回変更したいのですが
関数が初めて実行されたか否かを判断する方法がわかりません。
グローバル変数を使わず、全て関数内で処理させたいのですが、どうしたらよいでしょうか。

301 :Name_Not_Found:2009/12/13(日) 22:18:57 ID:???
>>300
何かしら前回の値を保持したい、と考えると
クロージャにするのがいちばんシンプルじゃないかな?
呼ばれた回数をカウントしておくとか、フラグを持っておくとか。

302 :Name_Not_Found:2009/12/13(日) 23:24:37 ID:???
不正な値の書き換えを懸念しているのでなければ、function にプロパティを持たせても良いけど。

303 :Name_Not_Found:2009/12/14(月) 00:01:40 ID:???
JavaScriptで継承って出来る?

304 :Name_Not_Found:2009/12/14(月) 00:03:36 ID:???
ヒポポタマスチェーン

305 :Name_Not_Found:2009/12/14(月) 00:04:18 ID:???
>>303
できるよ。
プロトタイプベースのオブジェクト指向言語だから、Javaとかのクラスベースのオブジェクト指向言語に
慣れているととっつきにくいかもしれないけど。

306 :Name_Not_Found:2009/12/14(月) 00:53:43 ID:???
Javaスクリプトって別に<head>に書かなくても良いんだよね
あと<script></script>を何個も作って関数ごとに別なところに置いてもいいの?

307 :Name_Not_Found:2009/12/14(月) 00:57:32 ID:???
>>306
叱って欲しいの?

308 :Name_Not_Found:2009/12/14(月) 01:02:55 ID:???
まず試せ。

309 :Name_Not_Found:2009/12/14(月) 01:53:00 ID:???
headに入れたほうがいい例
bodyに入れたほうがいい例

おしえて

310 :Name_Not_Found:2009/12/14(月) 02:00:55 ID:???
analに入れたほうがいい例

だけ知ってる。
そこにスリルを感じた場合

311 :309:2009/12/14(月) 02:08:35 ID:???
>>310
ありがとうございました

312 :Name_Not_Found:2009/12/14(月) 02:36:29 ID:???
質問です。

リンク集のURLのページが生存しているかを確認したいと思ってるんですが、
Webアプリでそういうのは無いでしょうか。
定期的に指定したURLにアクセスしてくれて
問題があったらRSSやメールで通知してくれるサービスとか
(ローカルで動くアプリならありました。
 ttp://www.vector.co.jp/soft/dl/winnt/net/se464736.html)

なにかご存知でしたら教えてください。お願いします。

313 :Name_Not_Found:2009/12/14(月) 03:05:33 ID:???
phpのurlencodeみたいに
javascriptで半角スペースを%20ではなく+にエンコードする方法ってありませんか?

314 :Name_Not_Found:2009/12/14(月) 03:08:26 ID:???
そもそも板違い。

315 :313:2009/12/14(月) 03:14:28 ID:???
>>314
え?俺がですか?

316 :314:2009/12/14(月) 03:22:15 ID:???
>>315
え?

317 :Name_Not_Found:2009/12/14(月) 03:35:36 ID:qF8QU7/+
>>313
encodeURIも同componentもそうならないと思う。
これをベースに、スペースを置換する機能を追加した関数
作ればいいんじゃないかな。

318 :Name_Not_Found:2009/12/14(月) 06:58:06 ID:???
>>307-308


試したら動いたんだけどさ、それが正しいことなのか
(ブラウザが親切で動かしてくれて)
たまたま動いてるのか知りたくてさ それで聞いた


319 :Name_Not_Found:2009/12/14(月) 07:37:23 ID:???
ブラウザで動く=仕様

320 :Name_Not_Found:2009/12/14(月) 08:14:48 ID:???
ブラウザAで動きBで動かない=仕様
ブラウザAで動きBで動かなくCで動く=仕様
ブラウザAで動きBで動かなくCで動きDで動かない=仕様
以下無限に続く。
なおA、B、C、D等は同じブラウザのバージョン違いも含む。
結局、そういう「ブラウザが仕様」は破綻している。
だからECMAとかW3Cの標準を見るのが吉。

321 :Name_Not_Found:2009/12/14(月) 09:18:23 ID:???
>>318
最初にHTML4.01のDTDを見てみるといい

headに入れる
→文書本体(body)の構造からスクリプトを分離できる→スッキリ

bodyに入れる
→document.writeがいい例だが、書き出す場所に置かないといけない
→文末に置いて、イベントハンドラ云々を使わずにDOM木構築を待って実行する

パッと思いついたのはこんなもん

322 :Name_Not_Found:2009/12/14(月) 09:50:57 ID:qF8QU7/+
文末に置くとロードの高速化(体感)に役立つ説。

323 :Name_Not_Found:2009/12/14(月) 10:18:08 ID:???
外部スクリプトの読み込み中はレンダリングが止まるんだよ
ロードの高速化とか、わけわからないデマをとばすなボケが

324 :Name_Not_Found:2009/12/14(月) 10:42:41 ID:???
ある属性をしたらレンダリングを止めない方法もあるんだよバカ

325 :Name_Not_Found:2009/12/14(月) 10:49:39 ID:???
deferとasyncに対応してるブラウザって何があるの

326 :Name_Not_Found:2009/12/14(月) 10:52:33 ID:???
ggrks

327 :Name_Not_Found:2009/12/14(月) 11:24:22 ID:???
http://www.ibm.com/developerworks/jp/web/library/wa-aj-perform/index.html

328 :Name_Not_Found:2009/12/14(月) 12:06:41 ID:???
こっちも。
http://developer.yahoo.com/performance/rules.html
リクエスト数は最小限に、
外部スタイルシートはレンダリングを早めるためページ先頭で、
外部スクリプトはレンダリングを妨げないようページ末尾で、
・・・だってさ。

何にせよhead内で外部スクリプトを5個も6個も読み込ませるサイトは反省しろ
よく真っ白になるはてなとかはてなとか

329 :Name_Not_Found:2009/12/14(月) 16:11:48 ID:???
>>317
>スペースを置換する機能を追加した関数

ありがとうやってみるよ!

330 :Name_Not_Found:2009/12/14(月) 16:41:22 ID:ehy/XvYv
すみません、質問があります。

下記のようにtextarea編集中に
リアルタイムに何らかの処理を実行させる場合についてです。

<html>
<head>
<script>
function hage(obj) {
text = obj.value;
/* ここに何らかの処理 */
obj.value = text;
}
</script>
</head>
<body>
<textarea id="mage" cols="50" rows="10" onkeyup="hage(this);"></textarea>
</body>
</html>

上記を実行してみると分かりますが、IEだけ挙動不審です。
編集内容が次々と消え、ふりだしに戻ります。

FirefoxやChromeその他は大丈夫なのですが、IEだけそうなります。
編集中リアルタイムに処理するシンプルな方法で、何か良い対策はないでしょうか?

331 :Name_Not_Found:2009/12/14(月) 18:51:11 ID:ehy/XvYv
もう挫折しました。

<html><head><script>
function hage(obj) {
var docRange = document.selection.createRange();
var textRange = document.body.createTextRange();
textRange.moveToElementText(obj);
var range = textRange.duplicate();
range.setEndPoint('EndToStart', docRange);
var start = range.text.length;
var range = textRange.duplicate();
range.setEndPoint('EndToEnd', docRange);
var end = range.text.length;
text = obj.value;
/* ここに何らかの処理 */
obj.blur();
obj.value = text;
range.move('character', end);
range.select();
obj.focus();
}
</script></head><body>
<textarea id="mage" cols="50" rows="10" onkeyup="hage(this);">ABC
あああ

ままま</textarea></body></html>


今ここ

332 :Name_Not_Found:2009/12/14(月) 18:52:13 ID:???
何をしたいのか書いてなく、ただ編集中リアルタイムに処理する〜だけじゃエスパー解凍しかならない件

333 :Name_Not_Found:2009/12/14(月) 19:12:02 ID:WaknWW+d
表示領域の右下にいつも張り付いて小さく時刻を表示
させたいのですが、参考になるページが有ったら
教えてください。宜しくお願いします。


334 :Name_Not_Found:2009/12/14(月) 19:12:47 ID:???
アダルトサイトによくあるあれか
あんな迷惑なもの作るとかしねよ

335 :Name_Not_Found:2009/12/14(月) 19:29:57 ID:???
MMOのパーティ待機用チャットで
あったら便利だというだけなのですが・・・

336 :Name_Not_Found:2009/12/14(月) 19:37:26 ID:???
じゃあそのアダルトサイトが参考になるページだな

337 :Name_Not_Found:2009/12/14(月) 20:22:18 ID:F5hi1O/p
>>333
> 右下にいつも張り付いて

これはCSSの分野。

> 小さく時刻を表示

こっちは、時刻を見る→表示を書き換える、を連続的に繰り返す。

338 :Name_Not_Found:2009/12/14(月) 20:30:24 ID:???
俺のPCはHTMLページに頼らなくても右下に時刻表示されてるよ

339 :Name_Not_Found:2009/12/14(月) 20:39:06 ID:???
つ[F11]

340 :Name_Not_Found:2009/12/14(月) 22:01:42 ID:???
「ブラウザから他のアプリケーションにフォーカスが移ったら」
という条件はjavascriptで書けますか?

341 :Name_Not_Found:2009/12/14(月) 22:54:15 ID:???
できねえよ

342 :Name_Not_Found:2009/12/14(月) 23:54:29 ID:???
>>333
> 右下にいつも張り付いて
要するにposition:fixedをエミュレートしたいってことでしょ?
IE6だけはJavaScriptでやらなきゃ無理

343 :Name_Not_Found:2009/12/14(月) 23:55:03 ID:???
>>340
一応、windowオブジェクトにフォーカス関連のイベントをセットすればいいんだが
ブラウザによって動作に違いがあるかも

window.onblur = function() { document.body.style.backgroundColor = "#ccc"; }
window.onfocus = function() { document.body.style.backgroundColor = "#fff"; }

344 :343:2009/12/15(火) 00:06:19 ID:???
微妙に間違えた。条件か。
でもやっぱイベントを捕捉して状態を判断するってことにはなるかな

345 :Name_Not_Found:2009/12/15(火) 00:59:46 ID:???
質問があります

if (typeof hoge == "object") { function fuga() {} } alert(typeof fuga)
以上のコードをFirefoxで実行するとundefinedが返ってくるのですが、
SafariやOpera、Chromeなどではfunctionと返ってきます。

これはなぜなのでしょうか?
また、SafariやOpera、Chromeなどでもundefinedと返すようにするには
どのように書けばいいのでしょうか。よろしくお願いします。

346 :Name_Not_Found:2009/12/15(火) 01:09:08 ID:???
hogeがObjectなんだろ

347 :Name_Not_Found:2009/12/15(火) 01:23:19 ID:???
>>345
if 文の中の関数定義(宣言)はブラウザによって解釈が異なる。
Firefox の場合、if の条件が true の場合に初めて fuga が関数として評価されるのに対して、
他のブラウザは、if 文の中の関数定義も、他の関数定義と同じく、コンテキストの初めに評価される。

各ブラウザ共通の動作にしたければ

fuga = function() { };

の形にすr

348 :Name_Not_Found:2009/12/15(火) 01:44:47 ID:???
>>345
その記述が標準仕様に準拠していないせい
ECMA-262の文法だとfunction文は最上位かfunctionブロックの中にしか書けない
>>347の言うようにfunction式を使うなら標準に従う

349 :345:2009/12/15(火) 01:47:50 ID:???
わかりやすい解説を素早くしていただきありがとうございました。
これで問題なく書けそうです。

350 :Name_Not_Found:2009/12/15(火) 02:02:35 ID:kTeF1F7u
すみません、

if( "test.html".indexOf("test") >0 ) { alert("yes"); };

に対して、

var str = "test.html";

if( str.indexOf("test") >0 ) { alert("yes"); };

とすると yes が返ってこないのは何故なのでしょう?
どのように修正すればよろしいでしょうか。



351 :Name_Not_Found:2009/12/15(火) 02:14:11 ID:???
0文字目でヒットしてるからだろ

352 :Name_Not_Found:2009/12/15(火) 02:15:27 ID:???
比較のところを>=にする
今のままじゃ0>0で比較してfalseが返るからifは動かない
indexOfは一文字目からマッチしたら0を返すよ

353 :350:2009/12/15(火) 02:31:19 ID:kTeF1F7u
どうもありがとうございました(ぺこり)。次に以下のようにしてみましたらうまくないようでして
アドバイスいただけますとうれしいです。

http://www.ex.co.jp/test.html

if( location.pathname != "/" ) {
var str = location.href.split('/');
var str = str.slice( str.length-1, str.length-0 );
alert(str);
if( str.indexOf("test") >=0 ) { alert("yes!!!"); };
};


354 :Name_Not_Found:2009/12/15(火) 03:02:35 ID:???
まず必要なメソッドの使い方を自分で調べろ。

355 :350:2009/12/15(火) 03:17:29 ID:kTeF1F7u
alert(str);

は "test.html" となりました。それで、 str = "test.html" と思いました。
しかし

if( str.indexOf("test") >=0 ) { alert("yes!!!"); };

という部分では反応がなく、 >>350 のように

if( "test.html".indexOf("test") >=0 ) { alert("yes!!!"); };

とstr の文字を直接の文字で参照すると反応があるのですが、何故だかわかりません。
宜しくお願いします。

356 :Name_Not_Found:2009/12/15(火) 05:43:58 ID:???
sliceで何が返されるのかを理解してないから。
もう一度調べてみなさい。

357 :Name_Not_Found:2009/12/15(火) 10:46:04 ID:???
sample.htmlから、ajaxの非同期通信で20ファイル分のテキストファイル(3KB程度)を読み込むのって負担がかかりますか?

358 :Name_Not_Found:2009/12/15(火) 11:06:19 ID:???
処理をするのだから負担は当然かかる
何でそんな仕様なの

359 :Name_Not_Found:2009/12/15(火) 11:44:14 ID:G2U1nYlL
>>358
昔から言われてるけど、何を持って負担とするか。
5PVしかないページで「ajaxはサーバに負担がかかる」とか意味ないし。

360 :Name_Not_Found:2009/12/15(火) 13:07:50 ID:???
>>359
それは>>358じゃなくて>>357に言うことじゃないの

361 :Name_Not_Found:2009/12/15(火) 13:47:21 ID:???
データ量以前に20もhttpコネクションを張るのは軽くない

362 :Name_Not_Found:2009/12/15(火) 14:48:56 ID:???
>>335
こういうのかい
ttp://makead.p1.bindsite.jp/

363 :Name_Not_Found:2009/12/15(火) 15:45:22 ID:???
文字列の中から 《,.<<「、などの記号を一括で取り除く方法はありませんか?


364 :Name_Not_Found:2009/12/15(火) 16:13:22 ID:???
str = str.replace(/[《<<「]/g, "");

記号の定義をしないまま漠然と取り除くのは無理

365 :Name_Not_Found:2009/12/15(火) 16:37:25 ID:???
おい>>335出て濃いよまだか?

366 :Name_Not_Found:2009/12/15(火) 17:41:00 ID:???
>>364
ありがとうございます。

やっぱり取り除きたい文字を指定する意外にはないのですね。
それでは括弧系、句読点、ピリオド、コロンなど思いつく限り指定したいと思います。

367 :Name_Not_Found:2009/12/15(火) 18:56:55 ID:???
>>335
ゲーム内でいいだろ。

368 :Name_Not_Found:2009/12/15(火) 19:35:28 ID:xqcFlQz3
AjaX・DOM用のライブラリで
DOMを/で子要素参照したり@でフィルタ使ったりといったことが
できるものがあったのですが
名前を失念してしまいました
どなたかご存じないでしょうか


369 :Name_Not_Found:2009/12/15(火) 20:00:42 ID:???
xpath

370 :Name_Not_Found:2009/12/15(火) 20:15:21 ID:xqcFlQz3
>>369
ありがとうございます
まさにこれです

371 :Name_Not_Found:2009/12/16(水) 18:47:58 ID:???
var i = 100;
setTimeout((function(x){alert(x);})(i), 1000);
i = 123;
setTimeout((function(x){alert(x);})(i), 1000);

IE8で実行すると123と一回だけ表示されます。
Chromeで実行すると100と123が順次表示されます。
これはなぜなのでしょうか?
クロージャの実験のつもりだったのですが・・・

372 :371:2009/12/16(水) 19:01:52 ID:+R8bBkPl
他のブラウザでもやってみました
Opera 10, Chrome 4 → 順次100と123と表示される。
IE8,Firefox 3.5 → 100だけ表示されます。

373 :Name_Not_Found:2009/12/16(水) 19:04:57 ID:???
その前に setTimeout効いてないでしょそれ

374 :371:2009/12/16(水) 19:07:04 ID:+R8bBkPl
あ、そうか・・・・
やりたかったのは、setTimeoutを実行した時点の
i の値をもって数秒後にそれを表示したい、ということなんですが。

375 :Name_Not_Found:2009/12/16(水) 19:27:09 ID:???
(function (){
  var x = i;
  setTimeout(function(){alert(x);},1000);
})();

376 :Name_Not_Found:2009/12/16(水) 19:28:40 ID:Yg0sIWXE
age

377 :Name_Not_Found:2009/12/16(水) 19:48:09 ID:???
var i = 100;
(function(i){
setTimeout(function(){alert(i);}, 1000);
})(i);

i = 123;
(function(i){
setTimeout(function(){alert(i);}, 2000);
})(i);

378 :Name_Not_Found:2009/12/16(水) 21:38:22 ID:???
http://hammerspace.squares.net/DS/wiki.cgi?page=%BE%F0%CA%F3%2F%A5%D6%A5%C3%A5%AF%A5%DE%A1%BC%A5%AF%A5%EC%A5%C3%A5%C8#p13
のサービスにログインするブックマークレット

例 Bloglines
javascript:document.write(
'<form name=f action=http://www.bloglines.com/login?Lang=japanese method=post>
<INPUT name=email value=メールアドレス>
<INPUT name=password type=password value=パスワード>
</form>'
);window.f.submit();

なんですが、IEではうまく動くのですが、Firefox3.5では動作が止まってしまいます。
IEでは何かを補完してくれているのだと思いますが
Firefoxで動作させるにはどのようにすればよいのでしょうか?

379 :Name_Not_Found:2009/12/16(水) 21:51:50 ID:???
認証系のブックマークレットで document.write() は
なんか新鮮だな

380 :Name_Not_Found:2009/12/16(水) 21:57:19 ID:???
>>378
ちょっとずつ変えて比較しながらテストしてったら
どこでおかしいとか何が足りないすぐに見つかると思うんだが。
丸投げにしたってそんなちょっとのもんを漠然と投げる意味がわからん。

381 :378:2009/12/16(水) 23:13:01 ID:???
>>380
すみません、そのとおりもう一度洗い直したら解決しました
document.write()単独で止まるのでそっちばかり疑ってましたが
うまくいかない真の原因はwindow.f.submit()の方でした
正しくはwindow.document.f.submit()ですね
Firefoxで動かすには厳密さが足りなかったようです
初歩的な質問失礼しました

382 :Name_Not_Found:2009/12/17(木) 00:04:06 ID:???
var objTest = new Object();
objTest.test1 = 'aaa';

この時にtest1という名前を文字列でよいので取得したいのですが
やり方がわかりません。
どのようにすれば良いでしょうか?

383 :Name_Not_Found:2009/12/17(木) 00:12:35 ID:gXlJm+Gq
>>382
for in でまわすとか?

384 :Name_Not_Found:2009/12/17(木) 00:14:28 ID:???
>>382
文字列"aaa"が格納されているプロパティの名前を取得したいってこと?
for(var i in objTest){
if(objTest[i] == "aaa")
;//i == test1
}

385 :382:2009/12/17(木) 00:15:32 ID:???
自己解決しました

var objTest = new Object();
objTest.test1 = 'aaa';

for(i in objTest){
  alert("name:" + i + ",value:"+ objTest[i]);
}

一応解決内容を・・・;;

386 :Name_Not_Found:2009/12/17(木) 01:05:00 ID:???
システムハンガリアンをしばらく使っていた後、それを止めたとき、
今まで書いてきたコードを書き直したくなって苦労した俺ガイル。

387 :Name_Not_Found:2009/12/17(木) 01:14:29 ID:???
型が厳密でない JavaScript にはもともとあまりマッチしないよな

388 :Name_Not_Found:2009/12/17(木) 04:21:02 ID:VwxpGjz0
指定したURLのhtmlを取得して、
documentのように、getElementByIdなどで操作したいのですが、可能でしょうか?

389 :Name_Not_Found:2009/12/17(木) 05:04:26 ID:gXlJm+Gq
>>388
同ドメインなら。

390 :Name_Not_Found:2009/12/17(木) 06:57:22 ID:???
windowsのサービスの開始をjsファイルで行う方法を教えて下さい。
batにあるnetstart serviceと同じことをしたいです。

またアプリを非表示で起動するということはjavascriptで可能でしょうか。

391 :Name_Not_Found:2009/12/17(木) 07:42:51 ID:???
>>390
できるけど、ここは web 制作板。
非表示起動についてはアプリケーション次第(IE とか EXCEL とか)。

392 :Name_Not_Found:2009/12/17(木) 07:56:55 ID:???
>>391
ありがとうございます。プログラム版に逝って来ます

393 :Name_Not_Found:2009/12/17(木) 07:58:29 ID:???
(;´∀`)…うわぁ…
どこで聞いたらいいんだ

1 名前:テンプレ(1/3)[sage] 投稿日:2009/11/21(土) 17:58:46
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    ttp://pc11.2ch.net/hp/
Webプログラミング ttp://pc11.2ch.net/php/
をご利用下さい。

394 :Name_Not_Found:2009/12/17(木) 08:04:30 ID:???
ひとつ聞くが何でJavaスレなんだ?

いや、やっぱいいわ

395 :Name_Not_Found:2009/12/17(木) 08:13:24 ID:???
>>394
js=java scriptって思ってるのが多分間違ってるんだね。
聞く場所すら間違ってるんだろう うんごめん。

396 :Name_Not_Found:2009/12/17(木) 08:24:19 ID:???
JScriptでググれ

397 :Name_Not_Found:2009/12/17(木) 09:30:39 ID:???
IEではsetTimeoutを発行しまくると
途中で発行できなくなるのでしょうか?
http://slashdot.jp/~Livingdead/journal/496001

398 :Name_Not_Found:2009/12/17(木) 10:06:15 ID:???
>>397
こっちだとIE8で29999まで表示されたけどなあ
XPSP3

399 :Name_Not_Found:2009/12/17(木) 14:33:20 ID:???
質問です。/[a-z]/g.test("ans=no");はどうしてtrueになるので
しょうか。「=」は条件外なのでfalseではないのですか?

400 :Name_Not_Found:2009/12/17(木) 14:52:07 ID:???
それだけだとg有無は関係しない

401 :Name_Not_Found:2009/12/17(木) 14:58:41 ID:???
正規表現は一部にもマッチする
全体にマッチさせたいときは^と$を使う
くやしい使い方は正規表現でググってね

402 :Name_Not_Found:2009/12/17(木) 15:45:09 ID:???
var x=/[a-z]/g, y;
while((y = x.exec("ans=no")) alert(y);

でどんな風にマッチしてるか見ろ

403 :Name_Not_Found:2009/12/17(木) 16:59:56 ID:???
くやしい使い方… なかなか斬新な表現だね。

404 :Name_Not_Found:2009/12/17(木) 17:01:40 ID:???
揚げ足取りは楽しいかい?

405 :Name_Not_Found:2009/12/17(木) 17:06:46 ID:???
>>399
gつきでtestは色々面倒だからやめれ
http://d.hatena.ne.jp/uupaa/20090702/1246531769

406 :Name_Not_Found:2009/12/17(木) 18:11:34 ID:???
>>399
ans=no に a-z が含まれてるから

じゃない?

407 :Name_Not_Found:2009/12/17(木) 18:45:48 ID:???
>>405
g フラグ付きの test() がどうとかは関係ない。
g フラグの指定された同一の RegExp オブジェクトに対して
String オブジェクトの replace() メソッドを続けて実行しているのが原因。

String のメソッドは lastIndex プロパティを使用しないけれども、
このときに RegExp オブジェクトの lastIndex を 0 に再設定するかしないかで挙動が分かれているだけ。

要するに g フラグを指定した同一の RegExp オブジェクトに対して、RegExp のメソッドを使用した後、
String オブジェクトのメソッドに引数として渡すと挙動が変わるということ。

408 :Name_Not_Found:2009/12/17(木) 19:43:25 ID:???
test()だけなら gフラグいらないような

409 :Name_Not_Found:2009/12/17(木) 23:07:29 ID:???
>>397
カーネル時間使いまくりの強力なブラクラだなwww
最初30000でやったら泣きたくなって、IE殺すのにも一苦労したわ。

オレのPCのスペックじゃ10000ぐらいが限界だった。
それ以上は怖くて増やせない。


410 :Name_Not_Found:2009/12/17(木) 23:35:22 ID:???
>>407
ECMAScript5でこのへんの仕様かわるんだっけか
正規表現リテラルが状態を持たないようになるとか

411 :Name_Not_Found:2009/12/18(金) 03:48:58 ID:???
>>397
10000未満で死ぬWin7+IE8の環境だったが、古典的な
タイマー呼びすぎ対策の「clearTimeout+setTimeout」を
セットで使えば、安定して30000まで全部出るようになった。

IE8の開発者ツールのデバッガ使うと100%死ぬし、その死ぬ
PCでも仮想環境のIE6から開くと重いけど30000まで全部出るし、
個体ごとの環境で色々挙動が違って不思議だ。

412 :411:2009/12/18(金) 08:12:18 ID:???
setTimeoutには発行数に上限があるかどうか確認したいのに、
clearTimeoutで毎回解除してしまったら意味がなかった orz

描画の更新間隔を負荷が低い1秒おき程度にしても1万足らずで
止まるPCもあれば、何の役にも立たない構文エラーを吐きつつも
30000まで完走するPCもあったり、やはりIEは挙動が不安定だ。
Safari4は後半でペースががた落ちするけど完走するタイプだった。

複数のPCで試したけどIEの傾向として、タイマーで処理が詰まる
古い環境の方は最後まで完走し、順調にタイマー処理が進むくらい
リソースに余裕がある環境だと10000足らずで止まる感じだった。

IE6が最初「応答なし」で詰まりまくっても、結局最後まで表示し
終えるのは、ループ内などで描画を詰まらせると途中の描画を
手抜きして最後だけ描画する仕様だからかもしれない。でも、
負荷の低そうなステータスバーに中身を表示する方法でも
最初のうちは応答なしで固まって、タイマー間隔がゆるむ頃から
普通に処理が進んで完走してたから不思議だ。

413 :Name_Not_Found:2009/12/18(金) 09:49:06 ID:xP+AwPJ5
もともとはsetTimeoutで行われているであろうキューイングを
使って、XmlHttpRequestを使い回ししようかなと思った。
XmlHttpRequestって使い回したらKeepAlive有効になるかもと期待して。
AjaxのフレームワークにXmlHttpRequestの使い回しとか
勝手にやってくれる物があったらそれ使った方が楽なんだけど、
見つけられない。

414 :Name_Not_Found:2009/12/18(金) 10:00:47 ID:???
普通に使い回せるだろ

415 :Name_Not_Found:2009/12/19(土) 00:04:51 ID:???
チェックボックスにチェックをいれるとフォームを書き換えるということをしたいのですが、どのようにすれば良いのでしょうか。



416 :Name_Not_Found:2009/12/19(土) 00:28:14 ID:???
onClickイベントで何とかなる・・・ようですね。
すいませんでした。

417 :Name_Not_Found:2009/12/19(土) 06:30:08 ID:???
>>399
Javaなら、予測通りの動作をする。
しかし、名前を似せる位なら、正規表現の動作も
JavaとJavaScriptで同じにしてくれてもいいのにね。

418 :Name_Not_Found:2009/12/19(土) 08:44:51 ID:???
>>399 がgフラグの意味を誤解していると思われ。
gフラグはマッチを制御するためのものでなく、置き換えを
行う時にそれを1回でやめずに繰り返せるようにするためのもの。
echo 'abc=true' | sed 's/[a-z]/x/g' ===> xxx=xxxx
echo 'abc=true' | sed 's/[a-z]/x/' ===> xbc=true
で、Javaで >>399 が期待するように動作するというのはよく分からん。
Patternと文字列からMatcherを作って反復して呼ぶと隣接していない
マッチ区間を見つけることができるとかいう意味?そんな面倒なコード
書くなら何だってできそうだが…

419 :Name_Not_Found:2009/12/19(土) 13:38:25 ID:???
/e/という正規表現が文字列全体に渡り繰り返し隙間なくあてはまる
かどうかを調べるには/^(e)+$/という正規表現のマッチを見れば
よいわけで。

420 :Name_Not_Found:2009/12/19(土) 13:51:53 ID:???
>>418
> 置き換えを行う時にそれを1回でやめずに繰り返せるようにするため
置換、つまりreplaceだけで使えるわけじゃないぞ

String.prototype.matchでも使うし、RegExp.prototype.execも解釈を変える
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/15-5_String_Objects.html#section-15.5.4.10
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/15-10_RegExp_Objects.html#section-15.10.6.2

>>399
Javaの該当メソッドとJavaScriptのRegExp.prototype.testのアルゴリズムは一致してるのか?
一致していなければ、単にJava側の仕様ってだけの話
結果が違っていて当然

> JavaとJavaScriptで同じにしてくれてもいいのにね。
まったく同意できん
似てるのは名前だけだと小一時間(ry

421 :Name_Not_Found:2009/12/19(土) 14:02:08 ID:???
>>419
え?

422 :Name_Not_Found:2009/12/19(土) 14:45:03 ID:???
正規表現は Perl 由来だし。

423 :Name_Not_Found:2009/12/19(土) 15:22:20 ID:???
もうLiveScriptに名前戻そう

424 :Name_Not_Found:2009/12/19(土) 15:29:41 ID:???
ECMAScriptでいいじゃん。

425 :Name_Not_Found:2009/12/19(土) 15:30:53 ID:???
ACMEScript

426 :Name_Not_Found:2009/12/19(土) 15:35:54 ID:???
>>422
え?

427 :Name_Not_Found:2009/12/19(土) 15:41:13 ID:???
>>422
ん?

428 :Name_Not_Found:2009/12/19(土) 15:43:26 ID:???
YMCAScript

429 :Name_Not_Found:2009/12/19(土) 15:47:37 ID:???
>>426-427
え?
JavaScript の正規表現は Perl がモデルじゃないの?

430 :Name_Not_Found:2009/12/19(土) 15:49:16 ID:???
そうだよ

431 :Name_Not_Found:2009/12/19(土) 17:07:09 ID:???
なにそれこわい

432 :Name_Not_Found:2009/12/19(土) 17:41:38 ID:???
正規表現は昔からあったけど、Perlで大幅拡張された、と。

433 :Name_Not_Found:2009/12/19(土) 18:53:32 ID:???
で、その拡張された正規表現(の一部)を利用しているので、

×正規表現は Perl 由来
○javascriptの正規表現は perl の正規表現を利用

由来は物事の始まりって意味だしな

434 :Name_Not_Found:2009/12/19(土) 19:08:16 ID:???
javascriptの正規表現は perl 互換

が正しいんじゃなかろうか

435 :Name_Not_Found:2009/12/19(土) 19:25:10 ID:???
モデル -> 原型 -> original from -> 由来


どうでもいいけど、間違ってないと思う。

436 :Name_Not_Found:2009/12/19(土) 19:37:17 ID:???
どうでもいいけどそろそろ終わりにしないか?

437 :Name_Not_Found:2009/12/19(土) 19:38:07 ID:???
>>436
え?

438 :Name_Not_Found:2009/12/19(土) 20:09:48 ID:???
×どうでもいいけどそろそろ終わりにしないか?
○どうでもいいからそろそろ終わりにしないか?

439 :Name_Not_Found:2009/12/19(土) 20:14:34 ID:???
終了

440 :Name_Not_Found:2009/12/19(土) 20:17:36 ID:???
カップラーメンができたので再開

441 :Name_Not_Found:2009/12/19(土) 23:01:43 ID:???
var obj = document.getElementById("result");
switch(val){
case 0:
obj.setAttribute("type","hidden");
break;
case 1:
obj.setAttribute("value","hoge");
break;
}

case 0で終われば動くけどcase 1まで記述すると動きません。
なぜでしょうか?
caseの中身に問わず、caseを2つ以上記述すると動かなくなります。

442 :Name_Not_Found:2009/12/19(土) 23:10:23 ID:???
case 0 でマッチして break してんじゃないの?
だいたい動かないスクリプトを貼ってもらっても困る

443 :Name_Not_Found:2009/12/19(土) 23:13:25 ID:???
訂正

×動かない
×動作検証のしようがない

やりたいことをまず書いた方がいい
きっと switch じゃないだろう

444 :Name_Not_Found:2009/12/19(土) 23:15:28 ID:???
>>441
動かない最小限の例を作って貼る。嫌ならあきらめる。
なお、>>441 みたいな断片ではだめで、そっくり動かして
見られること。

445 :Name_Not_Found:2009/12/19(土) 23:28:07 ID:???
>>441
valの中身を見ろ

446 :441:2009/12/19(土) 23:28:22 ID:???
要はアップローダを作ってるんです。

○これだと動作します。
var val = Number(document.getElementById("ht").value);
var str;
switch(val){
case 0:
obj.setAttribute("type","hidden");
break;
case 1:
str = "ファイルサイズオーバー";
break;
}

×これだと動作しません。(case 1の中身を消しただけ)
var val = Number(document.getElementById("ht").value);
var str;
switch(val){
case 0:
obj.setAttribute("type","hidden");
break;
case 1:

break;
}


447 :441:2009/12/19(土) 23:31:58 ID:???
失礼、○と×の例が逆でした。
前者で動かず、後者で動きます。

448 :Name_Not_Found:2009/12/19(土) 23:39:28 ID:???
動かないって、何がよ。

449 :Name_Not_Found:2009/12/19(土) 23:41:59 ID:???
>>448
そもそも関数が呼び出されないです。
同ファイルに他関数が3つありますが、それもダメになってしまいます。


450 :Name_Not_Found:2009/12/19(土) 23:45:52 ID:???
とにかく示したコードだけでは問題は特定できないから。

451 :Name_Not_Found:2009/12/19(土) 23:57:51 ID:???
>>446
自分はこんな説明で問題が理解出来るの?

452 :Name_Not_Found:2009/12/20(日) 00:06:43 ID:???
>>446
javascript getElementById IE

でググるんだ

453 :Name_Not_Found:2009/12/20(日) 00:19:15 ID:???
>>452
どうもそれでぐぐったとこのが原因のようです。
ありがとうございました

454 :Name_Not_Found:2009/12/20(日) 00:55:38 ID:???
雑魚は何匹集まっても雑魚のようだな

455 :Name_Not_Found:2009/12/20(日) 02:13:59 ID:???
>>454
まず服を着ろよ。

456 :Name_Not_Found:2009/12/20(日) 03:00:15 ID:???
>>454
そして次に服を脱ぐんだ

457 :Name_Not_Found:2009/12/20(日) 03:17:38 ID:???
服を脱いだら、次は皮を脱ぐんだ。

458 :Name_Not_Found:2009/12/20(日) 04:10:46 ID:???
皮を脱いだら、服を着ろよ。

459 :Name_Not_Found:2009/12/20(日) 12:57:07 ID:???
>>452
getElementByIdってものすごく打ちづらいね。だからぐぐるときは、
getelementbyidでもおなじ。

>>446
javascript getElementById IE

でググるんだ

460 :Name_Not_Found:2009/12/20(日) 14:20:04 ID:???
>getelementbyidでもおなじ。
それはたまたま
違う語で比べてみ
http://www.google.com/search?hl=ja&q=Sex
http://www.google.com/search?hl=ja&q=sex

461 :Name_Not_Found:2009/12/20(日) 15:27:37 ID:???
>>460
おっ、それはおもろい、と思ってやってみた。けど、何もほとんど
かわんね。
Sex の検索結果 約 609,000,000 件中 1 - 10 件目 (0.09 秒)
sex の検索結果 約 610,000,000 件中 1 - 10 件目 (0.11 秒)
と、多少ヒット数がちがうが、1面はまったく同じ。

462 :Name_Not_Found:2009/12/20(日) 15:40:39 ID:???
>>460
どんな語でもリロードするたび微妙に変化するのは知ってるよな?
大文字小文字は検索結果には影響しない

唯一 AA だけは大文字で検索すると・・・

463 :Name_Not_Found:2009/12/20(日) 18:19:27 ID:???
javascriptでhtmlリンクを作成してリンクをクリックすると
for文のiの値を引数としてitemDisp関数へ渡したいのですが
↓のコードだとforループが終わった後の値、すなわち引数としてcounterには10が代入されてしまいます・・・

counter=0;
for(i=1;i<11;i++){
counter++;
ptemp += '<a href="javascript:void;" onclick="itemDisp(counter);">';
ptemp += [i] + "</a>";
}


リンク1,2,3・・・それぞれをクリックしたときに、引数であるcounterに1,2,3・・・が引数として渡せるようにしたいです。
forループ中のcounterの値を引数で渡す為にはにはどうすれば良いのかお知恵をお貸し頂きたいです。

464 :Name_Not_Found:2009/12/20(日) 18:31:15 ID:???
M-1 が始まったから一言だけ。

クロージャじゃね?質問良く読んでないけど。

465 :Name_Not_Found:2009/12/20(日) 18:35:12 ID:???
CM 中に読んだら違ったか。

onclick="itemDisp(" + counter + ")"

466 :Name_Not_Found:2009/12/20(日) 18:58:02 ID:???
M1のせいで俺の大好きな大改造劇的ビフォアーアフターがないじゃないか!

467 :Name_Not_Found:2009/12/20(日) 19:09:05 ID:???
>>465
レスありがとうございます。
教えて頂いたとおりにデバックしてみると
何故か文法エラーが出てしまいます・・・

468 :Name_Not_Found:2009/12/20(日) 19:18:27 ID:???
そのままコピペしたならそりゃエラー出るわな
クォーテーションに注意して書き換えなさい

469 :Name_Not_Found:2009/12/20(日) 19:23:40 ID:???
'<a href="javascript:void(0);" onclick=\"\'itemDisp(\' + counter + \');\'\">';

'<a href="javascript:void(0);" onclick=\'itemDisp(\' + counter + \');\'>';

数パターントライしてみたのですが↑のどこが駄目なんでしょうか・・・
まぬけな質問で申し訳ないです。

470 :Name_Not_Found:2009/12/20(日) 19:29:03 ID:???
ptemp += '<a href="javascript:void;" onclick="itemDisp(' + counter + ');">';
こうかな
試してないけど

471 :Name_Not_Found:2009/12/20(日) 20:10:26 ID:???
>>470氏は>>464氏ですか?

できました!!感謝です!
M1グランプリのお邪魔をしてしまいすみませんでした

472 :Name_Not_Found:2009/12/20(日) 22:10:56 ID:???
createElementやappendでちまちま構築するより、innerHTMLでしたほうが簡単に手早くできるのですが
邪道ですか?

473 :Name_Not_Found:2009/12/20(日) 22:16:53 ID:???
要素が多いときは innerHTML 使ってる
その方が見通しがいいかなと

474 :Name_Not_Found:2009/12/20(日) 22:32:14 ID:???
テンプレ読まずに書き込むのは邪道

475 :Name_Not_Found:2009/12/20(日) 23:32:18 ID:jAF9+P85
attachEvent でイベントハンドラを複数設定しているのですが、
今設定されているイベントハンドラを列挙することはできますか?

476 :Name_Not_Found:2009/12/21(月) 00:42:17 ID:???
クロージャってなに?

477 :Name_Not_Found:2009/12/21(月) 00:45:48 ID:Oum1a1Cq
関数オブジェクトを生成した時点で、その関数の
スコープ外の変数を参照しているようなやつ。

478 :Name_Not_Found:2009/12/21(月) 00:56:38 ID:???
(functoin(){
...
})()
みたいなのが理解できない

479 :Name_Not_Found:2009/12/21(月) 01:06:24 ID:???
>>478
何それ俺も分からん

480 :Name_Not_Found:2009/12/21(月) 01:09:35 ID:Oum1a1Cq
functoin(){
...
}
の部分で関数オブジェクトを生成して
それをその場で呼び出しているということです。

481 :Name_Not_Found:2009/12/21(月) 01:12:24 ID:???
スコープの生成
それをせずにトップレベルでvar宣言してもグローバルになるんだよ、場合によっては既存部分を破壊する

482 :Name_Not_Found:2009/12/21(月) 01:14:27 ID:???
言ってる事はわかる気がするけどわからん

483 :Name_Not_Found:2009/12/21(月) 01:42:28 ID:???
理解する気がないなら質問すんなよ

484 :Name_Not_Found:2009/12/21(月) 01:44:38 ID:???
>>475
attach するときにどっかに格納しておいた方が良いよ。
そうすれば detach も楽にできるし、リークの心配も減る。

485 :Name_Not_Found:2009/12/21(月) 15:55:29 ID:???
>>482
var hoge = "hoge";
//(function(){
var hoge = "fuga";
//})();
alert(hoge);

コメントを外してやってみろ

486 :Name_Not_Found:2009/12/21(月) 16:06:29 ID:???
if (a > b) alert(a);
このとき
(a > b) は式。

(a > b) ? alert(a) : alert(b);
このとき
(a > b) は式。

(function(){})()
同様に
(function(){}) は式。

487 :Name_Not_Found:2009/12/21(月) 16:13:02 ID:???
>>475
できないと思う

488 :sage:2009/12/21(月) 20:58:53 ID:uKzC6Teq
たまにwindow.onloadに登録しているイベントが動いてくれません。
どうしてもwindow.onloadの時点で動かしたいのですが、
原因や、解決方法はありますか?
ちなみにbodyのonloadイベントは動いてくれているようです

489 :Name_Not_Found:2009/12/21(月) 21:13:13 ID:???
bodyタグのonloadで設定したものがwindow.onloadを上書きしている

490 :Name_Not_Found:2009/12/22(火) 00:43:35 ID:???
IE は何で

window.window !== window;

なんだよ。糞が!

491 :Name_Not_Found:2009/12/22(火) 01:17:33 ID:???
逆にIEを見直したわ

492 :Name_Not_Found:2009/12/22(火) 01:18:37 ID:???
window.alert === alertだから
window.window === window ってこと?

493 :Name_Not_Found:2009/12/22(火) 01:21:18 ID:???
循環参照にならないとおかしいということか

494 :Name_Not_Found:2009/12/22(火) 01:21:22 ID:???
>>492
え?

495 :Name_Not_Found:2009/12/22(火) 01:22:26 ID:???
>>493
え?

496 :Name_Not_Found:2009/12/22(火) 01:32:10 ID:???
Firefoxだと
windowのwindowプロパティとtopプロパティはwindowを指してる

497 :Name_Not_Found:2009/12/22(火) 02:56:30 ID:???
document.self.content.frames.parent.window === window; // true

なるほどねw

498 :Name_Not_Found:2009/12/22(火) 13:50:53 ID:???
window.window == window;

のくせに、型変換なしだと false とか、実装ミスとしか思えんわ。ボゲェ!

499 :Name_Not_Found:2009/12/22(火) 14:30:32 ID:???
javascript で1万回ほど同じCSSを同じ要素に適用して
その処理時間を見るテストを各ブラウザでやったんだけど
Firefox が IE に負けちまった・・・。
つかテストの途中でメモリーが足りないと
処理を中止しちゃったんだが。

自分のFirefox ってなんか壊れてるんかな。
それともgeckoがこういう通常はあり得ない処理が苦手なだけ?
まあ700MBしかメモリがない自分のパソがしょぼすぎるのかもしれんがw

500 :Name_Not_Found:2009/12/22(火) 15:08:15 ID:???
バージョンは

501 :Name_Not_Found:2009/12/22(火) 15:20:23 ID:???
>>499
アドオン全解除でやってみれ

502 :Name_Not_Found:2009/12/22(火) 17:09:19 ID:???
変なアドオン入れてるんだろ

503 :Name_Not_Found:2009/12/22(火) 17:51:50 ID:???
FirefoxがIEより遅いのはよくあることだろ
http://journal.mycom.co.jp/news/2009/08/11/020/index.html

巷で速いと言われてるChromeだってベンチ変えたらボロボロなんてこともある
http://tomato.myftp.org/blog/readone.php?id=89

504 :Name_Not_Found:2009/12/22(火) 21:49:42 ID:???
とりあえずIE6は氏ね

505 :Name_Not_Found:2009/12/22(火) 22:11:37 ID:XHge3Osz
2点あります。JavaScriptでのコードエスケープなんですが、
よく知りもしないで難しいことば使ってすみません。
つまり<!-- で始まるなんちゃらに対応するためとかで入れま
すよね(従来の書き方です)。あれは、書く必要本当にある
んですか?

あと、もう一点は、
// --></script>
みたいに終わってるのをよく見るんですが、これってことに
よったら、</script>の終了タグまでエスケープしてしまって
エラーにならないのでしょうか。昨日から考えてて夜も眠れ
ません。

506 :Name_Not_Found:2009/12/22(火) 22:36:42 ID:???
htmlでコメントとして読まれるのは、<!--で始まって、-->で終わる部分すべて。
続きは↓

507 :Name_Not_Found:2009/12/22(火) 22:39:41 ID:???
え?

508 :Name_Not_Found:2009/12/22(火) 23:03:44 ID:???
//もコメントとして扱われているよな。

509 :Name_Not_Found:2009/12/22(火) 23:04:02 ID:???
>>505
現実的には書く必要なし。

後、ドキュメント(タグ)は HTML パーサが解析する。
なので、JavaScript インタプリタが処理するのは、<script> タグの中身だけ。
// --></script> と書いても、終了タグの部分を解析するのは HTML パーサなので、無視されることはない。
寧ろ、JavaScript コード内に </script> という文字列を含むと、
HTML パーサはそこまでがスクリプトと解釈して、意図しない結果になる。
<script> タグ内の初めの 「<!--」は JavaScript コードとしては不正だけれども、
特別に JavaScript インタプリタによって無視される。

510 :Name_Not_Found:2009/12/22(火) 23:12:22 ID:???
コメントって <! の後の -- から -- までだよねー

511 :505ID:XHge3Osz:2009/12/23(水) 00:02:01 ID:???
みなさん、ありがとうございます。>>509さん、SPサンクスです。
そういうことなんですか。「<!--」は特別処理してるなんて!
今夜はうまく寝付けそうです。みなさん、どうもでした。

512 :Name_Not_Found:2009/12/23(水) 14:03:23 ID:???
>>505
普通は外部ファイルに別けて書きます

513 :Name_Not_Found:2009/12/23(水) 17:31:05 ID:???
>>500
Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.1.5)
Gecko/20091102
Firefox/3.5.5 (.NET CLR 3.5.30729)
です。
javascript のバージョンの調べ方はわかりません

>>501
>>502
なに入れてるか調べてみたら
Firebug
IE Tab
It's all Test
だった(他は停止中)。IE Tab がなんかあやしい・・・。

とりあえずもっかいやってみます。

>>503
勉強になりました。ありがとうございます。

514 :Name_Not_Found:2009/12/23(水) 19:17:08 ID:???
Firebugじゃないのか

515 :Name_Not_Found:2009/12/23(水) 19:21:26 ID:???
Firebugって地味に不安定だよな。俺だけじゃないよな?

516 :Name_Not_Found:2009/12/23(水) 20:33:22 ID:???
あれは不安定すぎる

517 :Name_Not_Found:2009/12/23(水) 20:58:23 ID:???
FirebugはFirefoxが遅くなる拡張の代表格
その上JITも切られてたりして
http://d.hatena.ne.jp/Rockridge/20091219/1261210437

518 :Name_Not_Found:2009/12/23(水) 21:32:39 ID:???
みなさんは何にスクリプト書いてるんですか?
自分はスクリプトを書くのにいつもメモ帳を使っているのですが
コメントアウトしても色は変らないし、関数ごとに折りたためないしで
大変な骨折り損している気分です。
上で言った障害が解決するようなお勧めのフリーエディタをどうか教えてくださいお願いします。
なければいいですorz


519 :Name_Not_Found:2009/12/23(水) 21:50:31 ID:+9xk+jMl
メモ帳はシンプルで好きですよ。ごちゃごちゃした親切は不要。

520 :Name_Not_Found:2009/12/23(水) 22:11:58 ID:???
emeditor使ってる。コメントアウトで色変わるけど関数ごとには折りたためないや。
使えてないだけかもしれんがw


521 :Name_Not_Found:2009/12/23(水) 22:36:20 ID:???
>>519
あまりにもシンプル過ぎませんか?ww
>>520
参考にさせて頂きます!

522 :Name_Not_Found:2009/12/23(水) 23:21:22 ID:???
>>518
金があるなら秀丸

523 :Name_Not_Found:2009/12/23(水) 23:55:01 ID:???
おっさんだからvim

524 :Name_Not_Found:2009/12/23(水) 23:55:01 ID:???
メモ帳って何か色々バグがあるらしいけど大丈夫なん?

525 :Name_Not_Found:2009/12/24(木) 00:09:08 ID:???
郵便番号を入力すると該当の住所がいくつか出て
選択するとテキストボックスに選んだ住所が入力されるというのが
ユーザー登録などのページがありますが、
あればJavaScriptでできますか?

526 :Name_Not_Found:2009/12/24(木) 00:32:47 ID:???
>>525
できるけど普通はAjaxでやるね
何にせよ郵便番号から住所を割り出す過程をはっきりさせんといかんよ

527 :sage:2009/12/24(木) 00:42:30 ID:VXBHJhOU
java scriptを使ったおこづかい帳、というので
promptやらtableやら使って買ったものや値段を入力するんだが
もし同じ商品名を入力したらあらたに追加しないで
その箇所の値段を更新するように
プログラムを書き換えなければならん
どうすればいいのやら…
初心者なもんで乱文スマソ

528 :Name_Not_Found:2009/12/24(木) 00:59:44 ID:???
冬休みの宿題キター

529 :Name_Not_Found:2009/12/24(木) 01:04:20 ID:???
さあ、おまいらの出番だぞw

530 :Name_Not_Found:2009/12/24(木) 01:06:26 ID:???
乱文になる≠JS初心者。

531 :Name_Not_Found:2009/12/24(木) 01:13:11 ID:???
プログラムを書き換えなければならん ≠ JS初心者。

532 :Name_Not_Found:2009/12/24(木) 02:20:47 ID:???
露骨に宿題ワロタ

533 :Name_Not_Found:2009/12/24(木) 02:35:51 ID:???
>>527
入力されたらその内容をチェックするようにする
チェックした内容と、これまでに入力した商品名を照らし合わせて、イコールならその商品の値段を引っ張ってきて更新する
そのためには商品名と値段を関連付けておくとかしたほうがいい

よくわからんがこんな感じか
書き換えるもとがどんなものかわからんと具体的なアドバイスはしづらいな
でも少しは自分でやらないと上達しないぞ

534 :Name_Not_Found:2009/12/24(木) 02:40:32 ID:???
宿題を 2ch に丸投げしてる時点でやる気ないから問題なし。

535 :Name_Not_Found:2009/12/24(木) 09:30:33 ID:???
何にせよ元のソースを出さずに丸投げするのはよくない
過去の例見ても皮肉ってeval使ったりして無理やりやるとかの回答が出てくるw

536 :Name_Not_Found:2009/12/24(木) 12:07:20 ID:???
>>527
都内の某専門学校の2次元目の授業の宿題乙

537 :Name_Not_Found:2009/12/24(木) 20:11:57 ID:???
すいません、Twitterにログインするブックマークレットを見つけたのですが
それはあらかじめTwitterのページを表示した上で実行する必要がありました。
「Twitterのページを開いた上でログインする」ようにする方法はありますか

538 :Name_Not_Found:2009/12/24(木) 20:26:36 ID:???
ページ変移まではできる、変移した後の操作はできたらヤバい

539 :Name_Not_Found:2009/12/24(木) 20:30:19 ID:???
ブックマークレットを実行したときにドメインを見てログインページでなければ移動しログインページならIDPW入力
としたらいい

540 :Name_Not_Found:2009/12/24(木) 20:38:14 ID:???
お前に指導するまえに言っておきたいことがある
かなり厳しい話もするが、俺の本音を聞いておけ
俺より先に投げてはいけない
俺より後に曲げてもいけない
バグはうまくとっぱらえ、いつもきれいに書け
できる範囲で構わないから
忘れてくれるな、デバッグもできない男に
このスレを守ることなどできないことを
お前にはお前にしかできないこともあるから
それ以外は口出しせず、黙って俺についてこい

お前の技術と俺の技術、どちらも同じだ大切にしろ
小技、大技、賢くこなせ
たやすいはずだ愛すればいい
人の陰口は言うな聞くな
それからつまらぬ嫉妬はするな
その方法はある
たぶんあると思う
あるんじゃないかな
ま、ちょっと覚悟はしておけ

スクリプトはみんなで育てるもので
誰かが苦労して
つくろうものではないはず
お前はこのスレへ、恥を忍んでくるのだから
帰る場所などないと思え
これからこのスレがお前の家


541 :Name_Not_Found:2009/12/24(木) 23:38:59 ID:???
答えを知ってて問いかけた
どうして私を捨てるのと うんこは小さく呟いた

うんこは最後に口づける 意地悪に身をからませて
肛門の『さよなら』と動いた唇に 『ありがとう』と微笑んだ

うんこは水面へ捨てられた 飛沫も届かぬその場所へ

うんこは崩れて沈みゆく
うんこの流した涙すら 深い底へと消えてゆく

遠く見上げた肛門に 叶わぬ願いを押し殺し
これでいいのと微笑んだ

肛門は最後の別れの口づけをためらいがちに拭いさり
その香りも温もりも忘れる様にと言い聞かす

白い紙にうんこの残した紅の跡 それは水面に投げられた
朽ち果てたうんこを覆い隠す様に

そんな悲しい結末を ちんこは静かに見つめてた
ふぐりの影から人知れず うなだれながら見守った

こんな別れを見るたびに ちんこは涙を流すのだ

やがて扉が閉ざされて 無情にうんこを連れさった

濁流にその身は脆くも崩れさり
うんこは別れを呟いた 届かないと知りながら
肛門は振り返らずに立ち去った 二度と会えぬと知りながら

うんこは闇へと消え去った 光の届かぬ世界へと

542 :Name_Not_Found:2009/12/25(金) 09:28:49 ID:???
フォームのsubmit後にactionで指定しているページとは違うページに飛ぶことってできますか?

現在のソース:
(フォーム側)
<form name="form" action="xxxx.php" method="post">
<input ・・・
<input ・・・
<input type="button" name="start" value="開始" onClick="Start()">
</form>
(Javascript側)
function Start(){
document.form.submit();
location.replace("yyyy.php");
}

↑今はこんな感じで書いてて、IE7、IE8、Firefox3.5ではちゃんと動作した(location.replaceのyyyy.phpに飛んだ)んですけど、
IE6とOpera10.10ではフォームのactionで指定しているxxxx.phpが表示されてしまいます。
IE6・Operaでも動くようにしたいのです。お願いします。

543 :Name_Not_Found:2009/12/25(金) 09:51:23 ID:???
>>542
普通はsubmit後のレスポンスでリダイレクトさせる
どうしてもサブミット先を弄れないなら、XMLHttpRequestでPOSTするとか…

544 :Name_Not_Found:2009/12/25(金) 09:54:10 ID:???
>>542
そのやり方はちょっとどうかと思うので、
form要素のaction属性を書き換える → submit() で如何

以下蛇足
・input要素はbuttonじゃなくてsubmitにして、
 イベントハンドラの設置はonsubmitでいいんじゃない?
 JavaScriptが無効でもとりあえずsubmitできる
・form要素に名前を付けるならname属性じゃなくてid属性で
 form要素のonsubmit → this渡しなら名前も不要

545 :Name_Not_Found:2009/12/25(金) 10:24:19 ID:???
>>543
ありがとうございます。
submit先のxxxx.phpの最後にheader("Location: yyyy.php")を入れたら
Opera・IE6でもちゃんと動きました。
xxxx.phpではデータベースの更新を行っているのですが、
アドバイス頂いた「普通はsubmit後のレスポンスでリダイレクトさせる」というのは
こういうことなんでしょうか?

>>544
ありがとうございます。
一応目的は達成できたのですが、蛇足も含めて参考にさせていただきます。
htmlもjavascriptもphpも初心者なんで、どうすればスマートなコードになるのか
常に迷いながら書いてますw

546 :Name_Not_Found:2009/12/25(金) 11:35:49 ID:???
> submit先のxxxx.phpの最後にheader("Location: yyyy.php")を入れたら
> Opera・IE6でもちゃんと動きました。

547 :Name_Not_Found:2009/12/25(金) 12:05:54 ID:???
>>546
だ,だめなんですか?w
そういうことじゃないのか…

548 :Name_Not_Found:2009/12/25(金) 13:25:16 ID:???
まぁそれならJavaScript要らないもの
これだから語尾にwを付ける奴は

549 :543:2009/12/25(金) 13:27:50 ID:???
>>547
大体あってる
間違っちゃないと思うよ
(別のところで変なことしてそうな雰囲気があるけど、スレチだし)

550 :Name_Not_Found:2009/12/25(金) 13:45:44 ID:???
>>548
何か悔しい過去があるんですか?w

551 :Name_Not_Found:2009/12/25(金) 18:04:45 ID:???
開発ツールで、とりあえずこれ使とけってのありますか?
昔ちょっと触ったときは、Eclipse + Firefox(FireBug, WebDevelopper)でやってました。
IE8のデバッガもよさげ?

552 :Name_Not_Found:2009/12/25(金) 18:32:48 ID:???
特にない
軽いエディタとIE以外のブラウザとそのデバッガ
あえていうならクリップボード履歴ソフトだけど
これは別にプログラマでなくても常識だな

553 :Name_Not_Found:2009/12/25(金) 18:54:56 ID:???
コピペプログラミングw

554 :Name_Not_Found:2009/12/25(金) 19:48:21 ID:???
>>552
なんでIEは省いちゃうの?

555 :Name_Not_Found:2009/12/25(金) 20:16:33 ID:???
IEへの対応は一通り終わってから個別にやっていく

556 :Name_Not_Found:2009/12/25(金) 20:45:39 ID:CXLI+I4j
>>555
じゃあやっぱIEいるじゃんw
IE個別対応は概ね同意です。

エディタはホント好みの問題だから、いろいろ試すべきだと思う。
個人的には検索・置換機能がしかっりしてて使い易いのが好き。

557 :Name_Not_Found:2009/12/25(金) 20:52:58 ID:???
>>556
白じゃないものが黒だとは限らない

558 :Name_Not_Found:2009/12/26(土) 01:15:54 ID:???
ヘンペルのカラス

559 :Name_Not_Found:2009/12/26(土) 01:56:22 ID:u6tNRPLb
http://jqueryfordesigners.com/jquery-infinite-carousel/

http://jqueryfordesigners.com/demo/infinite-carousel.html

これをseesaaブログで使いたくて色々と試したんですができませんでした。
どうすれば使えるようになるのか教えてください。
宜しくお願いします。


560 :551:2009/12/26(土) 02:40:44 ID:???
回答ありがとうございます。

561 :Name_Not_Found:2009/12/26(土) 17:55:25 ID:???
質問です。
for(i=0;i<100;i++)
{
var n = i ;
}
としたときには、nは百回分新しくオブジェクトが作られるの
ですか?だとしたら宣言しちゃまずいですよね。でもしないと、
外部から操作されますよね。

562 :Name_Not_Found:2009/12/26(土) 18:07:45 ID:???
変数はオブジェクトじゃない
varはどこに書いてもfunctionの先頭と同じ

563 :Name_Not_Found:2009/12/26(土) 18:53:05 ID:???
{}  // Object
/ / // Object
[]  // Object
1  // Number
'a'  // String

OK?


564 :Name_Not_Found:2009/12/26(土) 22:56:14 ID:???
プログラムの受け取り側で階層をもった配列で受け取りたくて、
<input type='text' name='conf[prm1]' id='conf[prm1]' value='' />
formのnameがこんな風になってる場合、

jqueryでこの要素があってコイツにアクセスしたい場合

おk console.log($('input[name="conf[prm1]"]'));
おk console.log($('input[id="conf[prm1]"]'));
ダメ console.log($('#conf[prm1]'));

こんな感じになるんだけど、三番目の方法はどう書いてもダメなんだろうか?
"conf[prm1]"を変数に入れておいても$('#'+hoge)ってしてもダメだし。

565 :Name_Not_Found:2009/12/26(土) 23:23:17 ID:???
そもそも、それIDとして許容されてる書式?

566 :Name_Not_Found:2009/12/26(土) 23:34:38 ID:???
$('#conf\\[prm1\\]')

567 :Name_Not_Found:2009/12/27(日) 01:04:01 ID:???
Bbs = getValue(item[i],'NumOfBbs

');

↑のコードが原因でエラーが発生するので
firefox のエラーコンソールで確認してみると
↓のような警告がされていました。

"unterminated string literal"

エラーコンソールから実行されているスクリプトを見ると
何故か↓のように(勝手に1部が改行されて)記載されていました

Bbs = getValue(item[i],'NumOfBbs

');

そりゃエラー出るわなと思ったのですが元のスクリプトは上記のように
正しく書いてありますし・・・
意味が分かりません。こういうことってあるものですか?

568 :Name_Not_Found:2009/12/27(日) 01:29:35 ID:???
どちらも改行してあるように見えるが

569 :Name_Not_Found:2009/12/27(日) 01:46:14 ID:???
>>567
本当だ!書き込みしたら勝手に改行された・・・どういうからくりなんでしょうか?
Bbs = getValue(item[i],'NumOfBbs

');

↓みたいに改行されないようにしたいです・・・
itemPriceValue = getValue(item[i], 'LowestPrice');

570 :Name_Not_Found:2009/12/27(日) 01:54:49 ID:???
>>565
うーん、どうなんだろう?
でも[]で添え字を使うと鯖サイドではちゃんと受け取れてる。

>>566
なるほど!エスケープするのか。
バックスラッシュひとつは試したけど二つ使うのか!
恥ずかしながら思いつかなかった。

571 :Name_Not_Found:2009/12/27(日) 02:06:24 ID:???
>>569
そういうときはバイナリエディタ

572 :Name_Not_Found:2009/12/27(日) 02:06:49 ID:???
>>569
メモ帳で書いてる?ひょっとして。

573 :Name_Not_Found:2009/12/27(日) 02:17:26 ID:???
>>572
はい、メモ帳で書いてます
メモ帳に原因があるのでしょうか?

574 :Name_Not_Found:2009/12/27(日) 02:22:34 ID:???
>>571
バイナリエディタでどうすればいいのか分かりませんorz
そもそもバイナリエディタ?っていったい・・・ぐぐってみてもイマイチ・・・

575 :Name_Not_Found:2009/12/27(日) 02:37:43 ID:???
>>573
通常、Windows での改行コードは CRLF(2バイト) 。
それが何かの理由で LF が "勝手に改行される" ところに単体で存在してるんでしょ。

メモ帳だと LF 単体は改行されて表示されないから気付きにくい。
他の多機能なテキストエディタ使った方が良いよ。

576 :Name_Not_Found:2009/12/27(日) 02:46:44 ID:???
>>575
ヒントありがとうございます!
ここに書き込みしただけで改行されるのはおかしいと思い
秀丸にコピペしたら案の定勝手に改行されていたので修正して再保存したら
解決しました!

メモ帳は不便だということが分かってきました

577 :Name_Not_Found:2009/12/27(日) 10:06:15 ID:YJ5/WjSF
windowsのメモ帳もmacのテキストエディットも、
ビューア+αな感じだねえ。

578 :Name_Not_Found:2009/12/27(日) 10:40:41 ID:???
以前はエディタを使っていましたが今はWindowsおメモ帳を使っています。
ウイルス攻撃されてリカバリしたのがきっかけですが(エディタも吹っ飛
んだ)、エディタ使っていた頃はオートコンプリートが効きすぎてプログ
ラムコードを自分で全部書けなくなっていました(自分で書いたと思い込
んでいた)。プログラマにとっては危険なことだと思います。
今はメモ帳で全部手打ちしています。上級者にとっては余計なところがな
いのがすばらしい。おかげで記述能力も向上したように感じています。

579 :Name_Not_Found:2009/12/27(日) 10:51:54 ID:???
オートコンプリートを切るなり、他のエディタを選ぶなりするべきだろう。

その文章を見る限り、貴方にはプログラミング能力以外のことを
向上させる必要がありそうだよ。

580 :Name_Not_Found:2009/12/27(日) 11:13:42 ID:???
正規表現検索(置換)
「常に手前表示」
ファイル内容比較
「元に戻す」操作回数制限なし


メモ帳に全部ありません><

581 :Name_Not_Found:2009/12/27(日) 11:18:06 ID:???
   ∩___∩          
   | ノ\     ヽ        |
  /   ●゛  ●|       |
  | ∪    ( _●_)     ..  \
 彡、      ヽ_3  ≡≡    \ .   ∩”
/     ∩ノ ⊃...ノ             \_ノ彡←>>578
(  \ / _ノ..|  |   
.\ .“  .  _|  |  フーーッ
  \ /_.__./       フーーッ

582 :Name_Not_Found:2009/12/27(日) 11:22:12 ID:???
極稀に「覚えるため」や「マスターしたいから」等で
糞なメモ帳を使う奴は本当に居るが、

まて
それはメモ用だ。エディタじゃない。

583 :Name_Not_Found:2009/12/27(日) 11:53:03 ID:???
>>579
>その文章を見る限り、貴方にはプログラミング能力以外のことを
向上させる必要がありそうだよ。

朝からワロタww

584 :Name_Not_Found:2009/12/27(日) 14:21:50 ID:???
Linuxのテキストエディタ(Gedit)はかなり優れもの、かなりの言語を開発環境レベルとまではいかないが適切にハイライトしてくれる

585 :Name_Not_Found:2009/12/27(日) 14:31:26 ID:???
leafpadしか使ったことねーや

586 :Name_Not_Found:2009/12/27(日) 14:37:07 ID:???
>>584
ttp://projects.gnome.org/gedit/images/gedit1.png

タブの閉じるボタンがちょっと欠けてるだろ?
*nix系のアプリって、どれもGUI部分がいい加減過ぎるんだよ

587 :Name_Not_Found:2009/12/27(日) 15:01:31 ID:???
LinuxのGUIに不満があるならx.orgに文句を言ってくれ

588 :Name_Not_Found:2009/12/27(日) 15:26:22 ID:???
はぁ?

589 :Name_Not_Found:2009/12/27(日) 15:39:34 ID:???
prototypeを用いて、マウスの位置(mouseover時)を変数に代入したいのですが、
Event.observeを使わずに、各要素のonmouseover="〜”に関数を指定する場合、
pointerX(event); の引数に必要なevent型をどうやって取得すれば良いのか分かりません。
どなたか教えてください。お願いします。

590 :Name_Not_Found:2009/12/27(日) 17:04:16 ID:???
function XY(e) {
var mouseX = Event.pointerX(e);
var mouseY = Event.pointerY(e);
alert("X: " + mouseX + " Y: " + mouseY);
}

onmouseover="XY(event);"

591 :Name_Not_Found:2009/12/27(日) 17:24:40 ID:???
>>590
ありがとうございます。eventでできたのですね。
これで取得した位置はスクロールの分も含まれているのですが、
staticでのマウス位置取得はptorotypeを使わずに、ブラウザ事に処理を分けて書いた方が楽なのでしょうか?

592 :Name_Not_Found:2009/12/27(日) 20:34:37 ID:???
for文のカウンタ変数を関数に使う上手い方法をお教え下さい

593 :Name_Not_Found:2009/12/27(日) 21:36:48 ID:???
var i, arr = [];
for (i = 0; i < 3; i++) {
arr.push(new Function("var i = " + i + "; alert(i);"));
}
for (i = 0; i < 3; i++) {
arr[i]();
}


こーかなー。

594 :Name_Not_Found:2009/12/27(日) 21:43:58 ID:???
質問の意図がよくわからんが

function f() {
 function worker() { alert(i); }
 for(var i=0; i<5; i++) { worker(); }
}
f();

595 :Name_Not_Found:2009/12/27(日) 21:50:26 ID:???
>>594
それなら引数に渡した方が良いんじゃ?
多分クロージャに代わる方法を求めてるに違いない。


var i, arr = [];
for (i = 0; i < 3; i++) {
arr.push("(function() { var i = " + i + "; alert(i); })()");
}
for (i = 0; i < 3; i++) {
eval(arr[i]);
}

596 :Name_Not_Found:2009/12/27(日) 23:06:05 ID:???
>>593
レスありがとうございました。これで何とかなりそうです。

597 :Name_Not_Found:2009/12/28(月) 01:43:22 ID:???
var o = {a : 1, b : this.a};
console.log(o.b);

var o = {a : 1, b : (function() { return this.a })()};
console.log(o.b);

IE8
undefined
undefined

Firefox
undefined
0

Opera
1
1

Safari
undefined
undefined

Chrome
1
1

thisからオブジェクト自体の他の値はいつから取得できるんでしょうか。
あとFirefoxの0はどこからやってきたのでしょうか。


598 :Name_Not_Found:2009/12/28(月) 01:55:45 ID:AvBu7vOu
>>597
ブラウザの実装に寄ると思うけど、式が終わったあとにthisオブジェクトが設定されると思った方がいいんじゃないの?
プロパティの順番によってthisが見えたり見えなかったら困るでしょ。

少なくともFirefoxのそのthisはwindowを指してると思う。

599 :Name_Not_Found:2009/12/28(月) 08:48:57 ID:tkdf0yuq
インラインフレームのスクロールバーのノブの位置なんですが、
右寄りにするにはどうしたらいいのでしょうか・・・・
ご教示くださいm(_ _)m

600 :Name_Not_Found:2009/12/28(月) 08:55:51 ID:???
何を言っているのか

601 :Name_Not_Found:2009/12/28(月) 09:01:20 ID:tkdf0yuq
水平スクロールバーの表示されるインラインフレームがあります。
デフォルトだとノブの位置が左寄せになっています。
これを右に寄せにしたいということです。

602 :Name_Not_Found:2009/12/28(月) 10:03:02 ID:???
よくわからないが、あらかじめ右にスクロールした状態で表示したいということでよろしいか?

603 :Name_Not_Found:2009/12/28(月) 11:25:17 ID:???
以下のhogeを取得するのにどういう風に記述します?
span.innerHTMLですか?

<span id="foo">hoge</span>

<script>
var span = document.getElementById("foo");
var content = span.??? // span.innerHTML
</script>

604 :Name_Not_Found:2009/12/28(月) 11:36:33 ID:???
alert(content);で取得できているか試せばいいじゃない。

605 :Name_Not_Found:2009/12/28(月) 11:42:01 ID:???
>>603
span.firstChild.nodeValue
とか

606 :Name_Not_Found:2009/12/28(月) 12:48:52 ID:???
>>604-605
ありがとうございます。
きちんとしてDOMで取得する方法を知りたかった次第です。
>>605で取得できました。

607 :Name_Not_Found:2009/12/28(月) 14:18:06 ID:???
>>601
理由は?

普通はそうじゃないから、わざわざ使いづらくするなら考え物
縦書きの文書作るとかだろうか

608 :Name_Not_Found:2009/12/28(月) 18:26:15 ID:???
>>607
文書ではなく画像なのですが、
右から見せたいのです。

609 :Name_Not_Found:2009/12/28(月) 18:27:47 ID:???
>>602
はい、そうです。

610 :Name_Not_Found:2009/12/28(月) 18:44:22 ID:???
逆に考えるんだ。
画像を左に持ってくればいいだけのことだ。

611 :Name_Not_Found:2009/12/28(月) 18:45:45 ID:???
むしろ画像反転でよくね

612 :Name_Not_Found:2009/12/28(月) 18:57:33 ID:???
縦書きの文を含む画像なので・・・

613 :Name_Not_Found:2009/12/28(月) 18:58:58 ID:???
つ手打ち

614 :Name_Not_Found:2009/12/28(月) 19:03:59 ID:???
http://wisdom.sakura.ne.jp/system/java/awt/Gjava26.html

これ右側からになっていますよね。

615 :Name_Not_Found:2009/12/28(月) 19:06:09 ID:???
画像を左に overflow:hidden ではみ出しておいて
クリックで画像をずらす

で良いと思うわ。

616 :Name_Not_Found:2009/12/28(月) 19:07:44 ID:???
JavaScriptはJavaとは別物

617 :Name_Not_Found:2009/12/28(月) 19:11:27 ID:???
ということはJavaならできるということですか?

618 :Name_Not_Found:2009/12/28(月) 19:17:09 ID:???
いや、JavaScriptでもできるけどさ。
scrollTo
http://www.openspc2.org/JavaScript/ref/window/scrollTo.htm

ブラウザのスクロールバーでスクロールさせると
ワンクリックでのスクロール量が不定。

619 :Name_Not_Found:2009/12/28(月) 19:18:17 ID:???
あ、これですね。
ありがとうございます!

620 :Name_Not_Found:2009/12/28(月) 19:24:20 ID:Gbc9Lhc8
>>614
スクロールバーをスライダーとして使うっていうUIはありなのかな。
昔から思いつきがちだけど。

621 :Name_Not_Found:2009/12/28(月) 19:34:20 ID:???
相変わらず回答者気取りのバカが多くてかなわんな

622 :Name_Not_Found:2009/12/28(月) 19:45:56 ID:???
え?ネタだろwww

623 :Name_Not_Found:2009/12/28(月) 20:39:44 ID:???
(function(){
  var x = {};
})

(function(){
  this.x = {};
})
て何か違いが有ったりする?

624 :Name_Not_Found:2009/12/28(月) 20:57:00 ID:???
空のリスト要素の中にスクリプトを使ってa要素(リンク)をいれたいのだけれど、
入れる方法が分かりません。誰か教えていただけると助かります。

625 :Name_Not_Found:2009/12/28(月) 21:37:42 ID:???
>>623
そのthisはグローバルオブジェクトだろ


>>624
var li = document.createElement('li');
var a = document.createElement('a');
a.href = 'http://example.com/';
a.appendChild(document.createTextNode('example.com'))
li.appendChild(a);

626 :Name_Not_Found:2009/12/28(月) 21:57:51 ID:???
>>625
回答、ありがとうございます。

627 :626:2009/12/29(火) 00:07:48 ID:???
できなかったのでさらに聞きます。
私がやりたいのは以下のスクリプトの中のfor文に何かを入れて
3つのリスト要素にそれぞれのa要素を入れたかったのですがappendChildではできませんでした。
何がおかしかったのでしょうか?
やりかたを教えていただけると助かります。

<ul id=”list”>
<li></li><li></li><li></li>
</ul>

<script type=”text/javascript”>
window.onload = makeList;
site_names = [“書籍”,”ショッピング”,”検索”];
site_urls = [“http://www.amazon.co.jp/”,” http://www.rakuten.co.jp/”,” http://www.google. co.jp/”];

function makeList()
{
var ul = document.getElementById(“list”);
var lis = ul.getElementsByTagName(“LI”);
for(var i = 0; i < lis.length; i++)
{**************}
}
</script>


628 :Name_Not_Found:2009/12/29(火) 01:18:53 ID:???

半角で

629 :Name_Not_Found:2009/12/29(火) 04:47:04 ID:???
>>603-606
テキストノードの値を取るのって.dataと.nodeValueとどっちのがいいんだろ?
好みの問題か?


630 :Name_Not_Found:2009/12/29(火) 09:16:27 ID:???
document.activeElement.className
といった感じでアクティブエレメントのclass=""の中身が
取りたいのですが不可能でしょうか?

631 :599:2009/12/29(火) 15:46:29 ID:???
うまくいきません。
↓をどうしたらよいのでしょうか。

<html>
<head>
<title>
タイトル
</title>
<style type="text/css">
<!--
#center{
background-color:fffff0;
height:614px;
width:960px;
position:absolute;
top:50%;
left:50%;
margin-top:-307px;
margin-left:-480px;
}
-->
</style>
</head>
<body bgcolor="#000000">
<iframe id="center" src="xxx.jpg" frameborder="0">
</iframe>
</body>
</html>


632 :Name_Not_Found:2009/12/29(火) 15:56:47 ID:aa9cwAYG
>>631
そのコードのどこにjavascriptって書いてあるんだよ
スレ違いですよ

633 :599:2009/12/29(火) 16:26:33 ID:???
いえ・・・
だからどうjavascriptを書き込んだらいいのかなと・・・

634 :Name_Not_Found:2009/12/29(火) 17:56:33 ID:???
好きにしたらいいよ

635 :Name_Not_Found:2009/12/29(火) 17:56:58 ID:???
スクロールバーをドラッグして右に動かせばいいよ

636 :599:2009/12/29(火) 18:06:22 ID:???
ノブの最初のポジションを右に寄せたいのです。

637 :Name_Not_Found:2009/12/29(火) 18:44:43 ID:???
画像入れるだけだったらiframeよりdivかなんかに入れてoverflow: autoでスライダー出した方がいいと思う
scriptはがんばれ

638 :599:2009/12/29(火) 21:59:18 ID:???
うーん・・・

639 :Name_Not_Found:2009/12/29(火) 22:11:35 ID:???
>>638
ほんとめんどくせーな

<html>
<head>
<title>Untitled</title>
<style type="text/css">div { margin: 0 auto; width: 960px; height: 614px; overflow: auto; }</style>
<script type="text/javascript">
window.onload = function() {
var el = document.getElementsByTagName("div")[0];
el.scrollLeft = el.getElementsByTagName("img")[0].offsetWidth;
}
</script>
</head>
<body><div><img src="example.jpg"></div></body>
</html>

640 :Name_Not_Found:2009/12/29(火) 22:51:58 ID:???
innertHTML に += 〜とすると、そこにあった画像が再取得されているような気がするのですけど、
appendchildやcreateの方が優れている?理由はこの点でしょうか?

641 :599:2009/12/29(火) 23:03:22 ID:???
>>639
すごい!
ありがとうございます。
JavaScriptでなくてすみません。
最後に一つだけ・・・

ブロックをmiddleに持ってくるにはどうしたらよいのでしょうか・・・

642 :Name_Not_Found:2009/12/30(水) 01:01:39 ID:???
tetori ashitori taihendana omaera

643 :Name_Not_Found:2009/12/30(水) 01:44:52 ID:???
>>640
innerHTMLを+=するとせっかく構築したDOMをテキストに直してまたDOMを構築し直さなきゃならないから
画像があろうが無かろうがappendChildよりも大体の場合は時間がかかる

>>641
ブロックが何を指しているのか分からないけどdivを指しているのなら
marginをautoにすればいい


644 :Name_Not_Found:2009/12/30(水) 01:46:15 ID:???
よく見たら>>639も横のmarginはautoかじゃあブロックって何だ?

645 :599:2009/12/30(水) 02:26:49 ID:???
divです。すみません。
横軸では中央に来てるんですが、縦軸では中央に来ていないんです。

646 :Name_Not_Found:2009/12/30(水) 03:12:40 ID:???
>>645
ま た お ま え か

<html>
<head>
<title>Untitled</title>
<style type="text/css">div { margin: 0 auto; width: 960px; height: 614px; overflow: auto; }</style>
<script type="text/javascript">
var el, setPos = function() {
var doc = document,
width = window.innerWidth || doc.documentElement && doc.documentElement.clientWidth || doc.body.clientWidth,
height = window.innerHeight || doc.documentElement && doc.documentElement.clientHeight || doc.body.clientHeight;
el = doc.getElementsByTagName("div")[0];
el.style.position = "absolute";
el.style.top = (height - el.offsetHeight) / 2 + "px";
el.style.left = (width - el.offsetWidth) / 2 + "px";
}
window.onload = function() { setPos(); el.scrollLeft = el.getElementsByTagName("img")[0].offsetWidth; }
window.onresize = setPos;
</script>
</head>
<body><div><img src="example.jpg"></div></body>
</html>

647 :Name_Not_Found:2009/12/30(水) 07:36:29 ID:???
調べ方を教えなよ

648 :Name_Not_Found:2009/12/30(水) 15:57:25 ID:???
tableでvertical-align設定するのが一番簡単だろうな
tableレイアウトが嫌いなら「css 上下中央揃え」当たりでググれ。

649 :599:2009/12/30(水) 16:49:54 ID:???
>>646
御恩は一生忘れません。

650 :Name_Not_Found:2009/12/30(水) 18:40:04 ID:???
>>649
名乗る程のモンじゃねえから礼はいいってことよ

651 :Name_Not_Found:2009/12/30(水) 19:48:11 ID:???
innerWidthが0のとき
DOM1なら必ず存在するdocumentElementをチェック
そして互換モード時は0になり、この場合は標準モード時でも0であろう
documentElement.clientWidthを見て
フォールバックとしてDOM0でも存在が怪しいbody.clientWidthを見て終了

いやはや

652 :Name_Not_Found:2009/12/30(水) 21:05:35 ID:???
質問じゃないな。

653 :Name_Not_Found:2009/12/31(木) 02:09:07 ID:???
http://developer.apple.com/jp/documentation/ScriptingAutomation/Conceptual/JSCodingGuide/OOJavaScript/chapter_4_section_3.html#//apple_ref/doc/uid/TP40006088-CH4-SW1

ここのページにnewとdeleteはセットで使う必要があるみたいなことが書いてあるんだけど
少なくともsafariではこれに倣って必ずやらないといけないのかな
それともただ単にいらないものは几帳面に消しておくということなのか

654 :Name_Not_Found:2009/12/31(木) 02:39:59 ID:???
>>653
どっちでもいい
プロパティ名を残した方が JIT コンパイラによる最適化が働く場合もある。気がする

655 :Name_Not_Found:2009/12/31(木) 12:21:57 ID:???
計算についての質問なのですが、
足し算で、2つのフォームから数字を入力してjavascriptで自動計算して足し算するとして、
1+1のように入力すればいいのですが、1+001 などと0を付けて書かれた場合にうまく計算されなくなってしまいます。
こういうものはどのようにして対処すればいいのでしょうか。

656 :Name_Not_Found:2009/12/31(木) 12:34:49 ID:???
今やって見たら001は大丈夫そうだったので訂正
0101+1のような場合です、番号のように書かれてしまった場合にズレるのをどう直したらいいでしょうか

657 :Name_Not_Found:2009/12/31(木) 14:58:22 ID:KnfjwU1v
>>656
まず、そのような期待する数値以外の入力をどう処理したいのか決めないと。

658 :Name_Not_Found:2009/12/31(木) 16:25:36 ID:???
8進数→10進数

659 :Name_Not_Found:2009/12/31(木) 19:25:47 ID:???
んーと・・・
最初の0を取り除いて、「計算させたい」です
10進法になってないところを10進法にしたいです
0101+1なら101+1の102にしたいです
0010などと入力されても10として計算できるようにしたいです

うまい対処の仕方を知りたいのです
「最初に0を入力させない」や「数字を選択方式にする」以外の方法がいいです
0は自由に入力されてしまうとして、ベストだと思う解決法を教えてください

660 :Name_Not_Found:2009/12/31(木) 19:31:36 ID:???
>>659
正規表現で先頭の0を探して、replaceで削除

661 :Name_Not_Found:2009/12/31(木) 19:37:53 ID:???
>>659
parseInt("0101", 10)で101になる

662 :660:2009/12/31(木) 19:44:34 ID:???
すまん、そっちのほうがよさそう

663 :Name_Not_Found:2009/12/31(木) 20:35:28 ID:???
>>661
Number("0101") -> 101

664 :Name_Not_Found:2009/12/31(木) 22:49:00 ID:???
脳内インタープリターがそうはならないと言っている

665 :Name_Not_Found:2010/01/01(金) 21:54:59 ID:???
>>> 034
28
>>> Number(034)
28
>>> Number("034")
34


666 :Name_Not_Found:2010/01/02(土) 10:17:17 ID:???
正規表現と置換で済ますのはカスだろ

667 :Name_Not_Found:2010/01/02(土) 15:51:25 ID:???
これをもっとスマートに短く書くにはどうすればいいですか?

var URL = window.location.pathname.match(/(.*?)\//g);
URL = thisURL[thisURL.length-1];

668 :Name_Not_Found:2010/01/02(土) 15:54:19 ID:???
途中で送信してしまいました。
これをもっとスマートに短く書くにはどうすればいいですか?

var URL = window.location.pathname.match(/(.*?)\//g);
URL = thisURL[thisURL.length-1];

var file = window.location.pathname.match(/([^\/]+?)$/);

str = URL + file;
alert(str);

669 :Name_Not_Found:2010/01/02(土) 15:55:44 ID:???
たびたびすみません

URL = URL[URL.length-1];

です...

670 :Name_Not_Found:2010/01/02(土) 16:16:35 ID:???
ht〜aa/bb/cc/dd
→cc/ddってこと?
var u = window.location.pathname.match(/[^\/]+/g);
str = u[u.length-1] +'/' +u[u.length]

というか、window.location.pathname.match(/([^\/]+\/[^\/]+)$/);
使い方がわからんが。


671 :Name_Not_Found:2010/01/02(土) 16:17:33 ID:???
"aaa/bbb/ccc/ddd".match(/[^\/]+\/[^\/]+$/)[0]

672 :Name_Not_Found:2010/01/02(土) 17:17:49 ID:???
alert(window.location.pathname.split('/').slice(-2).join('/'));

とりあえず>>671でいいんじゃね?

673 :Name_Not_Found:2010/01/02(土) 20:55:07 ID:???
みなさまどうもありがとうございました。勉強になりました。

674 :Name_Not_Found:2010/01/02(土) 21:08:54 ID:???
>>667
parseInt(eval(thisURL=@,[[0],[1]]),false);

675 :Name_Not_Found:2010/01/03(日) 20:22:19 ID:???
"aaa/bbb/ccc/ddd".match(/[^\/]+\/[^\/]+$/)[0]

これって、ddd 取り出すときは
"aaa/bbb/ccc/ddd".match(/[^\/]+$/)[0]

ですよね?
/ccc/
を取り出すにはどうすればいいの?


676 :Name_Not_Found:2010/01/03(日) 20:31:13 ID:???
"aaa/bbb/ccc/ddd".match(/(\/[^\/]+\/)[^\/]+$/)[1]

[ 正規表現 match ] ・  [ 配列 javascript ]
でそれぞれググるよろし。

677 :Name_Not_Found:2010/01/03(日) 20:51:38 ID:???
どーもです!
実は[1]にしたらundeだったんで質問しますた
もっかいやりまーす

678 :Name_Not_Found:2010/01/03(日) 21:08:33 ID:???
まずぐぐれよw

679 :Name_Not_Found:2010/01/03(日) 21:23:09 ID:???
スルー笑

680 :Name_Not_Found:2010/01/04(月) 22:45:16 ID:aj/XS+wl
JavaScriptの勉強がしたいのですが、どの本がおすすめですか?
C言語は知っています。作りたい具体的なプログラムはありません。


681 :Name_Not_Found:2010/01/04(月) 22:58:10 ID:???
読んだ中では head first javascript
ttp://www.amazon.co.jp/dp/4873113733

ただ ``作りたい具体的なプログラムはありません。'' ってのがjs学ぼうって奴にしては珍しいな


682 :Name_Not_Found:2010/01/05(火) 13:33:41 ID:???
宣伝きめえ

683 :Name_Not_Found:2010/01/05(火) 22:37:05 ID:???
document.TxtArea.myText.value += "("+day[cnt2]+")"+hour+":"+min+"\n";

上記の最後の改行部分 \n" を消して改行しないようにしたいのですが \n"を消すと動作しなくなりました。
上記は計算したものを表示するテキストエリアに表示させる部分なのですが、なぜかこの後に記述した
ここに表示された文字をコピーさせるボタンも動作しなくなります。

何がしたいかと言うとこのままだと表示に改行が入り、コピーした場合1行しか貼り付け出来ない所に
貼り付けると3行あっても1行しか貼り付けられないのを回避したい為、表示の時点で改行を消し1行にしたいのです。
よろしくお願いしまっす。


684 :Name_Not_Found:2010/01/05(火) 22:45:40 ID:???
>>683
消すなら +"\n"

次に質問することがあったらもうちょっとレベルあげてからきてくれ

685 :Name_Not_Found:2010/01/05(火) 22:49:42 ID:???
文字列と変数についてもう一度ググッてくれば良いんじゃない。
\n"を消すとその後も動かなくなるのはそこでルール違反しているから。

686 :Name_Not_Found:2010/01/06(水) 00:13:17 ID:???
>>684-685
出来ました!本当にありがとうございます。
レベルが低いのはすみません、昨日始めたばかりで調べてもさっぱりでした。
精進しまっす!

687 :Name_Not_Found:2010/01/06(水) 02:32:01 ID:1m8if9ga
#test{width:100px}
..
document.write("<div id='test'>"+variable+"</div>");

variableが長く100pxを超えてしまうような場合に
100pxに収まるように後半の文字を"..."に置換(もしくは表示しない)したいのですが
どのように解決したら良いでしょう?

688 :Name_Not_Found:2010/01/06(水) 02:50:11 ID:???
overflowをhiddenでいいんでないの?
CSSだけど

689 :Name_Not_Found:2010/01/06(水) 09:30:31 ID:???
CSSの独自プロパティtext-overflowを標準化したいってことじゃないかな

690 :Name_Not_Found:2010/01/06(水) 16:35:49 ID:???
日本語でおk

691 :Name_Not_Found:2010/01/06(水) 22:15:52 ID:???
createElementでdiv作って100px超えないようにvariableを調整したあとに
width:100px;は最後に設定するとかっていうのはどうだろうか


692 :Name_Not_Found:2010/01/06(水) 22:44:24 ID:???
jsで埋め込むと何故かtezt-overflowが効かないな。<nobr>で囲ったような表示になる。
<span style="margin:0 0 0 10px; text-overflow:ellipsis; white-space:nowrap; overflow:hidden; width:100px;">〜〜</span>

693 :Name_Not_Found:2010/01/06(水) 23:33:58 ID:???
>>692
tezt-overflow

694 :Name_Not_Found:2010/01/06(水) 23:40:23 ID:???
>>693
あ、typow
JSに使った部分は2行目のコピペだから問題ないはず。
んで、動かないのは埋め込んだサイトが原因っぽいかも?

695 :687:2010/01/06(水) 23:52:56 ID:1m8if9ga
cssで解決すべき問題だったんですね。
すれ違いの質問に有り難うございます、やってみます。

696 :Name_Not_Found:2010/01/07(木) 00:40:13 ID:???
もう用なしっぽいけど、書いちゃったし。。。

var AnyWidth = (function () {
 var getWidth = function (txt) { //txt幅を返す(プライベート関数)
  var n = 0, body = document.body;
  if (body) {
   var d = document.createElement("div"), t = document.createTextNode(txt);
   d.appendChild(t); d.style.visibility = 'hidden';
   d.style.position = 'absolute'; d.style.whiteSpace = 'nowrap';
   body.appendChild(d); n = d.clientWidth; body.removeChild(d);
  }
  return n;
 }
 return {
  getStr: function (txt, w) { //w幅に収まるtxtを返すメソッド
   var str = "";
   if (!getWidth(txt) || getWidth(txt) < w) { str = txt; }
   else {
    for (var i = txt.length; i >= 0; i--) {
     var s = txt.substring(0, i) + "...";
     if (getWidth(s) <= w) { str = s; break; }
    }
   }
   return str;
  },
  createElm: function (tag, txt, w) { //w幅に収まるtxtを持つw幅のtag要素を生成して返すメソッド
   var d = document.createElement(tag), t = document.createTextNode(AnyWidth.getStr(txt, w));
   d.appendChild(t); d.style.width = w + "px";
   return d;
  }
 }
})();

697 :Name_Not_Found:2010/01/07(木) 00:40:59 ID:???
>>696続き

<body>
<script type="text/javascript">
var variable = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
document.write("<div id='test'>" + AnyWidth.getStr(variable, 100) + "</div>");

//createElmメソッド使用例
var testElm = document.getElementById("test");
var elm = AnyWidth.createElm("div", variable, 200);
testElm.parentNode.appendChild(elm);
alert("test " + testElm.clientWidth + "px / hoge " + elm.clientWidth + "px");
</script>
</body>

body要素認識後でないと使えない。
エラは吐かないけど、渡した文字列をそのまま返す。
大量の文字列は適当に削って渡さないとかなり重い:-(

698 :Name_Not_Found:2010/01/07(木) 01:22:18 ID:???
>>695
CSSでは解決できない問題だから↑の人が書いてくれたのを使いなさい

699 :Name_Not_Found:2010/01/07(木) 01:58:40 ID:???
"..."に置換はともかく
表示しないだけならCSSで解決できる問題だろw

700 :Name_Not_Found:2010/01/07(木) 02:09:56 ID:???
"..." に置換 が一番面白いとこなのに

701 :Name_Not_Found:2010/01/07(木) 02:44:53 ID:???
>>699
あいかわらず茶々しか言えねぇ糞コロガシ

702 :Name_Not_Found:2010/01/07(木) 05:16:43 ID:???
全部込みでCSSで可能
IE7以下はしらん

703 :Name_Not_Found:2010/01/07(木) 05:59:14 ID:???
>>701
699は至極全うな回答だと思うが?

704 :Name_Not_Found:2010/01/07(木) 08:40:31 ID:???
>>702
「...」に置換するとこもCSSでできるの?

705 :Name_Not_Found:2010/01/07(木) 09:05:37 ID:???
...はcssのcontentで生成すればできるけど
もともとの文字列が100pxに収まるかはみ出るかの判断はcssじゃできないから
その振り分けができずにすべてに...を付加してしまうから
cssだけじゃ無理

706 :Name_Not_Found:2010/01/07(木) 10:15:01 ID:???
>>696
「文字列末尾から」を「文字列先頭から」でやってみた。

  getStr: function (txt, w) { //w幅に収まるtxtを返すメソッド
   var str = "", t = getWidth(txt);
   if (t == 0 || t < w) { str = txt; }
   else {
    var arry = txt.split("");
    var max = arry.length;
    for (var i = 0; i < max; i++) {
     str += arry[i];
     if (getWidth(str + "...") >= w) {
      str = str.substring(0, i - 1) + "...";
      break;
     }
    }
   }
   return str;
  }

渡す文字列長に気を遣うこともないし、こっちの方が真っ当かも。
cssで妥協できるならそれに越した事はない:-)

707 :Name_Not_Found:2010/01/07(木) 13:31:47 ID:???
久しぶりに使おうとしてJSLintのサイト行こうと思ったんだけど見当たらないね
何かmultiWidgetってソフトはあるみたいだけど・・・

708 :707:2010/01/07(木) 13:33:56 ID:???
ごめん、見つかった・・・苦笑

709 :Name_Not_Found:2010/01/07(木) 17:11:21 ID:???
>>706
二分探索が使えるんじゃないか?

710 :Name_Not_Found:2010/01/07(木) 17:43:06 ID:???
>>705
あたまかてーなー

711 :Name_Not_Found:2010/01/07(木) 17:45:10 ID:???
要求に忠実なだけだと思うが

省略されてないのに省略されたように見えるのなら
そのほうが問題でしょ

712 :Name_Not_Found:2010/01/07(木) 17:47:50 ID:???
>>711
いや、>>710 はCSSだけで「...」を選択的に付加する方法が
分かっているのかも知れない。それは洩れも聞きたい。さあどうぞ。

713 :Name_Not_Found:2010/01/07(木) 18:01:42 ID:???
次に>>710はtext-overflowと言う

714 :Name_Not_Found:2010/01/07(木) 18:54:46 ID:???
わろーた

715 :Name_Not_Found:2010/01/07(木) 18:56:32 ID:???
>>709
なるほどね〜。てことでさっそくやってみますた。

  getStr: function (txt, w) { //w幅に収まるtxtを返すメソッド
   var str = "";
   if (getWidth(txt) < w) { str = txt; }
   else {
    var arry = txt.split("");
    var max = arry.length;
    var n = max;
    while (getWidth(txt.substring(0, n) + "...") > w) {
     n = Math.floor(n / 2);
     str = txt.substring(0, n);
    }
    for (var i = n < max ? n : 0; i < max; i++) {
     str += arry[i];
     if (getWidth(str + "...") >= w) {
      str = str.substring(0, i - 1) + "...";
      break;
     }
    }
   }
   return str;
  }

渡された文字列を二分して枠内に収まるか調べ、条件を満たせば
forループの基点をその位置に持ってくるようにしてみた。

条件(引数)次第だけど、ハマれば体感できるほど速くなったよ〜ん:-)

716 :Name_Not_Found:2010/01/07(木) 19:08:27 ID:???
はみ出しそうなときだけに…を見せるのはCSSだけでできる
ホントに頭かてーなお前らw

717 :Name_Not_Found:2010/01/07(木) 19:12:55 ID:???
text-overflow:ellipsis;でできると思ったんだけど、ダメなんですか?

718 :Name_Not_Found:2010/01/07(木) 19:26:44 ID:???
>>717
IEだけでいいならおk


719 :Name_Not_Found:2010/01/07(木) 19:30:07 ID:???
safariとoperaなら拡張ありらしい。Fxはしらん
-webkit-text-overflow: ellipsis;
-o-text-overflow: ellipsis;

720 :Name_Not_Found:2010/01/07(木) 19:44:10 ID:C2sg9WMh
>>716
見せるだけでデータは全て保持してるから見せるだけではバカチョンレベル
頭わりーな

721 :Name_Not_Found:2010/01/07(木) 20:00:14 ID:???
見せるだけでもいいじゃんw
ユーザーはソースからページを読むんじゃないんだろうw

722 :Name_Not_Found:2010/01/07(木) 20:15:41 ID:???
仕様書にも無い上にIEでしか機能しないし
素直にスクリプトでやれよ

723 :Name_Not_Found:2010/01/07(木) 20:37:27 ID:pbNwZRzz
>>716
ぜひ!

724 :Name_Not_Found:2010/01/07(木) 21:31:33 ID:???
解ったぞ。こういうことか
でもこんな馬鹿なことはやめてもらいたいけど

div.text-overflow{
width:100px;
position:relative;
overflow:hidden;
}

div.text-overflow div{
width:100px;
position:absolute;
top:-1em;
left:85px;
background:#ffffff;
}

<div class="text-overflow">
testtesttesttesttest
<div>testtesttesttesttest&shy;…</div>
</div>

725 :Name_Not_Found:2010/01/07(木) 21:39:58 ID:???
この発想はなかった。

しかし、ここJSすれだろw

726 :Name_Not_Found:2010/01/07(木) 21:50:10 ID:???
>>715
>>724
発表会じゃねーんだよ

727 :Name_Not_Found:2010/01/08(金) 03:07:41 ID:???
>>726
まぁそう言わずにバグでも探して楽しんでよ。

>>715には致命的なバグあり。レアなケースだけどwhileを抜けられない:-(
それと、- 1してる箇所はいらんね。

728 :Name_Not_Found:2010/01/08(金) 19:44:19 ID:???
質問です。

document.getElementById("hoge").style.height = 400;

が、IE8では動くんですが、firefoxでは動いてくれません。
firefoxではどのように書けばいいんでしょうか?

ちなみにoperaの場合は
window["hoge"].style.height = 400;
で動きましたがfirefoxではやはり×でした

729 :Name_Not_Found:2010/01/08(金) 19:48:38 ID:???
単位

730 :Name_Not_Found:2010/01/08(金) 21:09:40 ID:???
\'

731 :Name_Not_Found:2010/01/08(金) 23:04:25 ID:???
>>728
CSSの勉強をしろ。CSSでは長さには単位が必須。IEで
数字だけで動くほうがむしろCSSに合致していない。
400mmなのか400pxなのか400exなのか分からんじゃんねえ。

732 :Name_Not_Found:2010/01/09(土) 00:24:26 ID:???
じゃん

733 :Name_Not_Found:2010/01/09(土) 00:42:22 ID:???
>>728
JSとCSSを別けて考えないと駄目だよ
CSSの値は文字列で指定するのが普通。(単位も添えて)

734 :Name_Not_Found:2010/01/09(土) 10:34:30 ID:???
こんにちは。
select1つに現在、数値の代入をしてテキストエリアへ表示させており、
その代入数値の前にselectのoptionvalueの文字列を連結表示させたいのですが、
方法が分かりません・・。
optionvalueをそのまま表示する方法があるのか、もしくは同じselectにもう1つ代入させて
(再変換のような感じ)それを表示させれるのか・・。
<head>
a = new Array()
a[0] = 10;
a[1] = 11;
function myCalc(){time = a[myForm.select01.selectedIndex];}
......
document.TxArea.value += +
</head>
<body>
<FORM name="myForm">
<SELECT NAME="select2" SIZE=1>
<OPTION VALUE=0>文字列A
<OPTION VALUE=0>文字列B
<OP.............
</SELECT>
<input type="button" value="計算する" onclick="myCalc()"></FORM>
.............
<FORM name="TArea">
<Textarea name="test1">表示前</textarea></FORM>

このTAreaに現在代入されるa=10の(10)と表示される前に文字列をつけて「文字列A10」としたいのですが
よくわかりません助けてください。


735 :Name_Not_Found:2010/01/09(土) 10:42:14 ID:???
>>734
JavaScript以前にHTMLが古すぎると思います。

736 :734:2010/01/09(土) 11:18:01 ID:???
>>735
大分前にHTMLは覚えたままでその後WEB関連とは遠のいていたもので・・。
HTMLはなんとなく分かるので後で自分で新しいものを参考にして書き直して見ますが
selectの方よろしくお願いします。

737 :728:2010/01/09(土) 12:13:13 ID:???
>>729
>>731
>>733
だめですう!・・・できませんorz
以下を全部試しましたがどれもfirefoxで動きませんでした

document.getElementById("hoge").style.height = 400;
document.getElementById("hoge").style.height = 400px;
document.getElementById("hoge").style.height = "400px";

getElementById("hoge").style.height = 400;
getElementById("hoge").style.height = 400px;
getElementById("hoge").style.height = "400px";

window["hoge"].style.height = 400;
window["hoge"].style.height = 400px;
window["hoge"].style.height = "400px";


738 :Name_Not_Found:2010/01/09(土) 12:43:15 ID:???
>>737
CSSとScript分離すれば?

739 :728:2010/01/09(土) 13:05:29 ID:???
>>738
ユーザのクリックに合わせてレイアウト変更する必要があるのです

一応、他のブラウザは下記で行けました
IE:document.getElementById("hoge").style.height = 400;
opera:window["hoge"].style.height = 400;
safari:window["hoge"].style.height = "400px";
chrome:window["hoge"].style.height = "400px";

firefoxだけ動かせませんorz

740 : [―{}@{}@{}-] Name_Not_Found:2010/01/09(土) 13:16:54 ID:???
<div id="hoge" style="background-color: #00cc00;" onclick="func();">
テストてすと
</div>

<script type="text/javascript">
function func(){
 document.getElementById("hoge").style.height = "400px";
}
</script>


こんな感じで適当に試したらIEとfirefoxとChrome全部動いたけど

741 :Name_Not_Found:2010/01/09(土) 13:36:24 ID:???
>>715
二分探索の課題だったら赤点
結局 最悪計算がO(n)じゃん

742 :Name_Not_Found:2010/01/09(土) 13:43:17 ID:???
>>739
普通にidやclassを付加すればいいと思うが
400の部分は、ユーザが入力した数字に合わせて変化させるってこと?

743 :Name_Not_Found:2010/01/09(土) 14:45:43 ID:???
>>739
>>740ができてるんだから他の部分に問題があるのかもよ

744 :Name_Not_Found:2010/01/09(土) 17:02:22 ID:???
>>734
> <OPTION VALUE=0>文字列A
> <OPTION VALUE=0>文字列B

この「文字列A」「文字列B」とかのことなら
myForm.select2.options[myForm.select2.selectedIndex].text
で取得出来るけど。そういうことじゃなくて?

select01 なのか select2 なのか
(本当に<SELECT>が2つあるのか、単なる誤記なのか)
よう分からんからその辺はそちらで適当に直しといてね。
(他にも document.TxArea.value とかアヤシげなのがあるけど)

745 :Name_Not_Found:2010/01/09(土) 17:08:51 ID:???
>>739
もしかして、formの中でidとnameをごちゃ混ぜにしてない?

実際のhtml部分を提示するのが解決への近道だと思う。

746 :Name_Not_Found:2010/01/09(土) 20:22:42 ID:bxo0Ouvv
Ajaxって結局はCGIが扱えない人の窮余の一策ってことですか?

747 :Name_Not_Found:2010/01/09(土) 20:28:58 ID:???
そう思う人にはそうなんだと思う

748 :Name_Not_Found:2010/01/09(土) 20:33:45 ID:???
えーと、サーバの負担がですねぇ…

749 :Name_Not_Found:2010/01/09(土) 20:39:44 ID:???
Ajax連呼する奴は馬鹿だとは思う

750 :Name_Not_Found:2010/01/09(土) 20:46:42 ID:???
Ajax覚えたてだとAjaxが楽しくてしょうがないんだよw
事実俺も現在進行中だしw

751 :Name_Not_Found:2010/01/09(土) 20:53:30 ID:???
Googleマップぐらいなら有難みも感じるけど
普通のフォーム遷移で十分なところに無理やり仕込まれたりするのはちょっと

752 :Name_Not_Found:2010/01/09(土) 21:30:59 ID:???
>Ajaxって結局はCGIが扱えない人の窮余の一策ってことですか?
↑どういう意味かいまいちわからない馬鹿な俺にだれか説明してくれ

753 :Name_Not_Found:2010/01/09(土) 21:36:00 ID:???
たぶん本人が一番わかってないからスルーでいいと思います

754 :Name_Not_Found:2010/01/09(土) 21:39:47 ID:oU9dRz4j
>>752
Ajaxって(いまいちよくわからないので)結局はCGIが扱えない人の窮余の一策ってこと(にしたいんですけど、いい)ですか?

755 :Name_Not_Found:2010/01/09(土) 21:51:51 ID:???
>>744 ありがとうございます!

>> <OPTION VALUE=0>文字列A
>> <OPTION VALUE=0>文字列B
>
>この「文字列A」「文字列B」とかのことなら
>myForm.select2.options[myForm.select2.selectedIndex].text
>で取得出来るけど。そういうことじゃなくて?

おっしゃる通りなのですがこれをテキストエリアへ表示させられません・・。
色々書いたり調べてみたりしましたが、どうしてもNaNと出てしまいます。
下記の/////した行がうまくいきません。

a = new Array()
a[0] = 10;
a[1] = 11;
function myCalc(){time = a[myForm.select2.selectedIndex];}
〜他の計算部分〜

変数1 = 文字列代入 //////////////////////////////

document.TxArea.value += +変数1+他の計算部分;//////
</head>
<body>
<FORM name="myForm">
<SELECT NAME="select2" SIZE=1>
<OPTION VALUE=0>文字列A
<OPTION VALUE=0>文字列B
<OP.............
</SELECT>
<input type="button" value="計算する" onclick="myCalc()">
<FORM name="TArea"><Textarea>計算結果</textarea></FORM>

756 :Name_Not_Found:2010/01/09(土) 23:01:34 ID:???
>>741
赤点上等!(笑)
てか二分してる箇所が雑なのは説明したつもりなんだけど。
単純線形(>>706)よりマシってだけ。

また怒られそうだけど、経験値稼ぎにやっちまった。
>>715と比べてだけど、安定して速い。元ネタは>>696ね。

  getStr: function (txt, w) {
   var str = "";
   if (getWidth(txt) <= w) { return txt; }
   else {
    var n = txt.length, p = n, i = 0, s = "";
    while (n > 0) {
     p = (p > 1) ? Math.ceil(n / 2) : --n;
     if (getWidth(txt.substring(0, i + p) + "...") <= w) {
      s = txt.substring(i, i + p);
      str += s;
      i = str.length;
      n -= s.length;
      continue;
     }
     n = p;
    }
   }
   return str + "...";
  }

どうだろ?及第点取れそうかな:-(

757 :Name_Not_Found:2010/01/10(日) 00:03:41 ID:???
>>756
741じゃないけど、getWidthだけ

毎回、測定用の要素を生成して破棄して...これじゃ駄目
再利用できるものは積極的に再利用しないと

var getWidth = (function(){
   var elm, textNode;
   return function(txt){
      if(!elm){
         elm = document.createElement("span");
         textNode = document.createTextNode(txt);
         elm.appendChild(textNode);
         document.body.appendChild(elm);
      }
      textNode.nodeValue = txt;
      return elm.offsetWidth;
   }
})();

758 :Name_Not_Found:2010/01/10(日) 00:14:11 ID:???
インデントはせめて&nbsp;にしようぜ
専ブラ上でコピーしたら半角SP変換はされないけど

759 :Name_Not_Found:2010/01/10(日) 00:16:14 ID:???
>>758
悪かった、もうこない

760 :Name_Not_Found:2010/01/10(日) 00:17:57 ID:???
なにそれ淋しい

761 :Name_Not_Found:2010/01/10(日) 00:21:19 ID:???
いらん部分で遅くするのが大好きだなお前ら

762 :Name_Not_Found:2010/01/10(日) 00:56:26 ID:???
>>758-760
ワロタ

763 :Name_Not_Found:2010/01/10(日) 00:56:33 ID:???
>>757
おぉ!
レベルが上がった。賢さが2ふえた:-)

インデントなんてどーにでもなるよ。
thanks

764 :Name_Not_Found:2010/01/10(日) 01:33:59 ID:???
>>763
はいよ がんばってなー

765 :Name_Not_Found:2010/01/10(日) 03:36:25 ID:OtCIZDb9
下のようにソースでどちらのsubmitを押しても2つの値(message,color)を任意のプログラムに渡したいのですがどうすればいいでしょうか?


<table>
<tr>
<td>
<form action="hogehoge.cgi">
<textarea name="message"></textarea>
<input type="submit" value="送信">
</form>
</td>
<td>
<form action="hogehoge.cgi">
<input type="checkbox" name="color" value="red">...
<input type="submit" value="送信">
</form>
</td>
</tr>

766 :Name_Not_Found:2010/01/10(日) 03:47:50 ID:tgkKc/nn
>>765
どこにJavaScriptが関係してくるのかkwsk

767 :Name_Not_Found:2010/01/10(日) 03:57:19 ID:OtCIZDb9
>>766
レスありがとうございます
Javascriptを使用して実装できないかと思っております。
上のsubmitを押した場合、name=colorの値を取得する(逆に下のsubmitを押した場合name=messageの値を)
というような形になるかと思います

ご教示お願いいたします

768 :Name_Not_Found:2010/01/10(日) 04:05:12 ID:???
やべ。言ってる意味が理解できんぞ
<form>を2つにしないで1つにすればいいって話じゃないのか?

769 :Name_Not_Found:2010/01/10(日) 04:12:29 ID:OtCIZDb9
>>788
レスありがとうございます。
長文になるため端折っていますが、レイアウトの関係でFORMが入れ子になる予定です。
なので1つはできません。

変なレイアウトにするなということですが。。
下が参考になりそうなので今読んでいるところです
ttp://dobon.net/vb/dotnet/form/accessanotherformdata.html

770 :Name_Not_Found:2010/01/10(日) 04:15:36 ID:OtCIZDb9
>>769のURLですが、
全然関係なかったです。。

すみません

771 :Name_Not_Found:2010/01/10(日) 04:18:04 ID:JDSSILA4
ちみはどぼんのかんりにんかね?

772 :Name_Not_Found:2010/01/10(日) 04:26:52 ID:???
>>769
form の入れ子は文法違反。
どうしても form を分けるなら JavaScript が必要だけど、
JavaScript を切っているとうまく動作せんよ?

773 :Name_Not_Found:2010/01/10(日) 04:27:33 ID:OtCIZDb9
>>771
すみません。タイトルだけで全く関係なかったですね。。。
リンク張ってしまいごめんなさい

こちらを参考になりそうなので自分でやってみます。
ttp://oshiete1.goo.ne.jp/qa545699.html

774 :Name_Not_Found:2010/01/10(日) 04:31:42 ID:OtCIZDb9
>>772
レスありがとうございます。
入れ子にはしません。なのでJavascriptでの実装を探しています。
Javascriptをきっている場合は動作しないのは問題ありません。

775 :Name_Not_Found:2010/01/10(日) 04:33:59 ID:???
入れ子にしないで同じcgiにpostするなら<form>ひとつにすればいいじゃん

776 :Name_Not_Found:2010/01/10(日) 04:37:49 ID:???
なんか数年前みたいな質問が増えてないか

777 :Name_Not_Found:2010/01/10(日) 04:42:28 ID:???
お前さんが成長しただけでしょう
そりゃあいつだって初心者は湧くさー

778 :Name_Not_Found:2010/01/10(日) 05:08:21 ID:???
数年前の質問までいちいち覚えてられっかよ

779 :Name_Not_Found:2010/01/10(日) 05:56:07 ID:???
そういや過去ログとかまともに見たこと無いなと思って
過去スレ全集見にいったんだが随分前から止まってるな
まだこのうpろだ機能してるかい?

780 :Name_Not_Found:2010/01/10(日) 10:47:09 ID:???
洩れも過去スレ全集のアップデートきぼん。

781 :Name_Not_Found:2010/01/10(日) 11:43:58 ID:???
過去スレ見ろとか煽るだけの暇人(笑)もvol1から75までもちろん全部見てるんだろうな?

782 :Name_Not_Found:2010/01/10(日) 11:51:22 ID:???
>>781
煽りたいんだろうけど見てなくてもキーワード検索くらいできるだろ

783 :Name_Not_Found:2010/01/10(日) 11:53:24 ID:???
見ろって話じゃないのかよwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

784 :Name_Not_Found:2010/01/10(日) 12:18:07 ID:???
こいつ可哀想すぎるだろ・・・

785 :Name_Not_Found:2010/01/10(日) 12:24:26 ID:???
テキストフォームに入力した値をアラートで表示するっていう簡単なプログラムを
オブジェクト指向型に直したときの書き方がまったく検討付かない

786 :Name_Not_Found:2010/01/10(日) 12:52:40 ID:???
>>785
何をオブジェクトで表現するつもりなんだ?
そんな必要ないように思えるが。


787 :Name_Not_Found:2010/01/10(日) 13:28:04 ID:???
>785
「検討付かない」検討するよりも見当付けたほうが解決しやすいかも。

788 :Name_Not_Found:2010/01/10(日) 14:30:58 ID:???
過去スレアップしてみようと思ったが
PC買い換えたからvol.63からしか残ってなかった
誰かvol.62ないかね

789 :Name_Not_Found:2010/01/10(日) 15:05:30 ID:???
>>788 dat
http://mimizun.com/log/2ch/hp/pc11.2ch.net/hp/kako/1198/11984/1198422525.dat

790 :Name_Not_Found:2010/01/10(日) 16:33:18 ID:???
>>789
ありがとう、早速2番目に62〜74までアップロードしてきた

1番目のはアップ成功してもなぜか反映されない
反映に時間がかかるだけかもしれないので様子見

3番目のはだいぶ前からおかしいので放置

791 :Name_Not_Found:2010/01/10(日) 17:00:04 ID:???
回答するときに過去スレ見ろ言うやつは
過去スレを全部見てから答えるべき

792 :Name_Not_Found:2010/01/10(日) 17:42:27 ID:???
すいません、質問があります。
ページ内にボタンがいくつかあり、そのうちのどれか1つをクリックした際に
ボタンに対応するファイルを開く処理を考えています。(ただしファイルはパソコン内にあるファイル)
そこで
<html><head>
<script>
function A1(w1) {window.open(w1)}
</script><head>
<body>
<form>
<input type="button" name="1" value="1へ" onClick="A1('※※')">
<input type="button" name="2" value="2へ" onClick="A2('※※')">
</form>
</body></html>
と書いてみました。そして※※に「自分のパソコン内にあるファイルのパス」を入れたかったのですが
参考書にはネット上のページを開くときの書き方しか載っていませんでした。
なので、どなたかファイルのパスの指定方法を教えていただけませんでしょうか?

793 :Name_Not_Found:2010/01/10(日) 17:50:41 ID:???
過去ログ見ろw

794 :Name_Not_Found:2010/01/10(日) 18:03:33 ID:???
>>792
file://c:/test.html

795 :Name_Not_Found:2010/01/10(日) 18:09:24 ID:???
>>756
O(log n)になってるっぽいです。
二分探索は、O(log n)になるものなんで、
勘違いしてないかなーって思った次第でした。

素直に実装したらこんな感じかと
バグあったらごめんなさい。

getStr2:function(txt, w){
if (getWidth(txt) <= w) { return txt; }
var lhs=0,rhs=txt.length,mid;
while(1){
if(mid === (mid = (Math.floor((lhs+rhs)/2)))) break;
result = getWidth(txt.substring(0, mid) + "...") - w;

if(result < 0) lhs = mid;
else if(result > 0) rhs = mid;
else break;
}
return txt.substring(0, mid)+"...";
}

796 :Name_Not_Found:2010/01/10(日) 22:46:38 ID:???
>>792
file:///の後にファイルまでのパス。
file://でもいいがfile:///の方がより確実。

797 :Name_Not_Found:2010/01/10(日) 22:53:55 ID:???
テキストエリアに出力する際は見た目を綺麗に見せるために改行させて表示して、
ボタンでテキストエリアからコピーする際には一行としてコピーさせる方法とかあるもんですか?

例:テキストエリア
AAAAAAA
BBB
CCCCC

例:コピー
AAAAAAABBBCCCCC

ABCの文字数がバラバラなのでテキストエリアのwidth指定では無理なのでjavascriptでコピーする
段階で改行が削除とか出来るものなのかどうかちょっと調べてもわからなかったのでお願いします。

798 :Name_Not_Found:2010/01/10(日) 23:06:34 ID:???
file://<host>/<path>

799 :Name_Not_Found:2010/01/10(日) 23:12:59 ID:???
>>795
改めて眺めると、不細工な実装に我ながら泣けてくる。。。
その時は頭ぱんぱんで一杯一杯だったけど、ツッコミたくもなるか。

  getStr: function (txt, w) {
   if (getWidth(txt) <= w) { return txt; }
   var clear = 0, search = txt.length, middle;
   while (1) {
    if ((middle = Math.ceil(search / 2)) == search) break;
    if (getWidth(txt.substring(0, clear + middle) + "...") <= w) {
     clear += middle;
     search -= middle;
     continue;
    }
    search = middle;
   }
   return txt.substring(0, clear) + "...";
  }

参考にして書き直した。
思ってもみない展開になったけど、すげぇ面白かったよ:-)

800 :Name_Not_Found:2010/01/11(月) 03:50:17 ID:???
意味不明な現象に悩まされています。誰か助けてください。

product[147].Urlには確実に↓のURLが代入されています。(alertで確認)

"http://www.711net.jp/product/n/a01b00/p/9531414"

product[147].Url.match(/711/i)

なのに実行すると"product[147].Url.match is not a function"というエラーが出ます。

しかし、"http://www.711net.jp/product/n/a01b00/p/9531414".match(/711/i)とすると
正常に動作します。
訳分からんです・・・orz

801 :Name_Not_Found:2010/01/11(月) 03:53:47 ID:???
>>800
それだけじゃわからん
Firebugで
console.log(product[147].Url);
console.log(product[147].Url.match);
だとそれぞれ何が出んの?

802 :Name_Not_Found:2010/01/11(月) 04:15:04 ID:???
>>801
こんな時間にレスありがとうございます。
数時間格闘した結果、何気なくtypeofで見たデータ型がobjectでした・・・
完全にstringだと思い込んでいた自分が間抜けでした・・・

大変お騒がせしました・・・

ところでfirebugの使い方がイマイチ理解できていません。
console.logとはどうすればいいんですか?
いつもはバグが出たらF12で開いて、"not defined"みたいなのを確認→ステップイン
見たいな感じで使用しています。

もっと便利な凄い機能があるんだろうけど使いこなせていないので
ひたすらalertでデバッグしている次第です。

803 :Name_Not_Found:2010/01/11(月) 04:26:44 ID:???
わざわざalert使わなくてもステップ実行するなら
その時に変数の値見られないか

804 :Name_Not_Found:2010/01/11(月) 05:47:07 ID:???
>>803
見られなくて・・・
firebugの使い方サイト見てきます!

805 :Name_Not_Found:2010/01/11(月) 08:04:06 ID:???
typeof window.location //object
typeof window.location.href //文字列

806 :Name_Not_Found:2010/01/11(月) 11:43:06 ID:???
<div id = 'aaa'>
<div id = 'a_1'></div>
<div id = 'a_2'></div>
</div>

<div id = 'bbb'>
<div id = 'b_1'></div>
<div id = 'b_2'></div>
<div id = 'b_3'></div>
</div>

最新のprototypeを使用しています。
id='aaa'の下にあるdiv全てにclass = 'a'を、id='bbb'の下にあるdiv全てにclass = 'b'をつけたいです。
このさきaaaやbbbの下にdivを加えてもいいように組みたいのですが、どうすればいいのでしょうか。

807 :Name_Not_Found:2010/01/11(月) 11:55:33 ID:???
A,B,C,D,Eという3つの列を持つテーブルがあって、
順番を任意に指定できるプログラムってどうやって作ればよいですか?

808 :Name_Not_Found:2010/01/11(月) 11:56:32 ID:???
>>807
訂正です。
5つの列をもつテーブルです。


809 :Name_Not_Found:2010/01/11(月) 12:00:22 ID:???
>>807
よく分からないんだが、3つの列を持つテーブルが
A、B、C、D、Eと5個あるのね?それで「何の」順番を
どのように指定するって? テーブルの順番を取り替えるのなら
DOMツリーを取り出して削除し新しい順番で入れ直すとか。

810 :Name_Not_Found:2010/01/11(月) 12:34:28 ID:???
ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var cols = [0,1,2,3,4];
function mv(c) {
var k = cols[c], t = document.getElementById('t0');
for(var i = 0; i < cols.length; ++i) if(cols[i] > k) --cols[i];
cols[c] = cols.length - 1;
for(var i = 0; i < t.rows.length; ++i) {
var r = t.rows[i], e = r.cells[k]; r.removeChild(e); r.appendChild(e);
}
}
</script>
</head><body>
<h1>test...</h1>
<p>列の先頭セルをクリックするとその列が左端に移動</p>
<table id="t0" border="2" summary="test"><tbody>
<tr><th onclick="mv(0)">A</th><th onclick="mv(1)">B</th>
<th onclick="mv(2)">C</th><th onclick="mv(3)">D</th>
<th onclick="mv(4)">E</th></tr>
<tr><td>A1</td><td>B1</td><td>C1</td><td>D1</td><td>E1</td></tr>
<tr><td>A2</td><td>B2</td><td>C2</td><td>D2</td><td>E2</td></tr>
<tr><td>A3</td><td>B3</td><td>C3</td><td>D3</td><td>E3</td></tr>
<tr><td>A4</td><td>B4</td><td>C4</td><td>D4</td><td>E4</td></tr>
<tr><td>A5</td><td>B5</td><td>C5</td><td>D5</td><td>E5</td></tr>
</tbody></table></body></html>

811 :Name_Not_Found:2010/01/11(月) 15:31:12 ID:???
>>810

求めていたものです。
本当に、ありがとうございます。


812 :Name_Not_Found:2010/01/11(月) 18:40:26 ID:???
スクリプト中でajax requestをしまくっているのですが
最近apatchが下記のメッセージとともにすぐに停止してしまいます。

"Apatch HTTP serverは動作を停止しました。

問題が発生したためプログラムが正しく動作しなくなりました。"

apatchの限界でこれはどうしようもないでしょうか?

813 :Name_Not_Found:2010/01/11(月) 19:01:59 ID:???
Apatch のスレ行ったら?

814 :Name_Not_Found:2010/01/11(月) 19:08:54 ID:???
>>813
検索しても見つからないんですが、あるんですか?

815 :Name_Not_Found:2010/01/11(月) 19:12:54 ID:???
スレ違いどころか板違い

816 :Name_Not_Found:2010/01/11(月) 19:24:51 ID:???
>>814
つ Apache

817 :Name_Not_Found:2010/01/11(月) 21:03:22 ID:???
>>816
スペルが間違ってたんですねww
どうもっす

818 :Name_Not_Found:2010/01/12(火) 18:43:36 ID:A3EIGBwC
「予期しないメソッドの呼び出し、またはプロパティアクセスです」
というエラーです。どういうことが考えられますか?

819 :Name_Not_Found:2010/01/12(火) 18:47:39 ID:???
>>818>>2を読んでないことが考えられる

820 :Name_Not_Found:2010/01/12(火) 18:57:10 ID:???
マジレスするとPCが予期できなかったことが原因。事前にそっと暗示しておくとよい

821 :Name_Not_Found:2010/01/13(水) 00:02:41 ID:???
>>181
持ってないもの要求されたらそら困るわな

822 :Name_Not_Found:2010/01/13(水) 01:38:19 ID:???
>>819-821
ワロタw


823 :Name_Not_Found:2010/01/14(木) 21:15:00 ID:???
もしかしてIE6,IE7ってgetElementByIdで平仮名とカタカナの区別し無いですか?

<html>
<head>
<SCRIPT TYPE="text/javascript">
function OnLoad(){
alert('1:'+document.getElementById('あああ').name);
alert('2:'+document.getElementById('アアア').name);
}
</SCRIPT>
</head>
<body onload="javascript:OnLoad();">
<div id="あああ" name="hiragana">
</div>
<div id="アアア" name="katakana">
</div>
</body>
</html>

のソースで2回ともhiraganaが表示されてしまうのですが・・・。
IE8や他ブラウザではちゃんと区別しているみたいですが、IE6,IE7でこれに対処するとしたらどんな方法があるでしょうか。

824 : [―{}@{}@{}-] Name_Not_Found:2010/01/14(木) 21:19:58 ID:???
idに平仮名カタカナを使わない

そもそも使わなければならない理由は何なのか

825 :Name_Not_Found:2010/01/14(木) 21:21:27 ID:???
idに平仮名わろたwwww
確かにわかりやすくなるかもしれないけどダメだろw

826 :Name_Not_Found:2010/01/14(木) 21:34:59 ID:???
>>824,825

ディレクトリツリーを表示するJavascriptで日本語ディレクトリやファイル
に対応する必要があったので、そのままパスをIDにぶちこめば楽だなぁ
と考えたのです。
URIエンコードで対応することにします。

827 :Name_Not_Found:2010/01/14(木) 22:41:09 ID:???
idにひらがな等を使えるのはXHTMLのみ
ついでにIEはいまだXHTML未対応

828 :827:2010/01/14(木) 22:42:44 ID:???
×使えるのはXHTMLのみ
○HTMLでは使えない

829 :Name_Not_Found:2010/01/14(木) 23:16:57 ID:???
スタイルシートを使った、プルダウンメニューを動かすために『IE7.js』を読みこませたいと思っています。
ですが、
Microsoft InternetExplorer6で表示させると白紙の状態(真っ白な状態)です。
Microsoft InternetExplorer7だと表示されます
また、FFでも表示可能です
『IE7.js』はもちろん読める場所に置いてあります。
<html lang="ja">も
<link rel=stylesheet href="tuki.css" type="text/css" media="all">
<!--[if lt IE 7]>
<script src="IE7.js" type="text/javascript"></script>
<![endif]-->
も記述されているのですが…
ちなみにjavaを切ると表示されますが、当然プルダウンは動かなくなってしまいます…
何か上手く動く方法が合ったら教えて頂けないでしょうか。
また、検索ワードでもかまいません。よろしくお願いします!
(java ie6 白紙、など色々見てみたのですが…)

830 :Name_Not_Found:2010/01/15(金) 00:23:34 ID:???
IE7.jsを使わない

831 :Name_Not_Found:2010/01/15(金) 01:11:22 ID:???
javaのスレで聞く

832 :Name_Not_Found:2010/01/15(金) 02:42:40 ID:???
良く見たらJavaの話か

833 :Name_Not_Found:2010/01/15(金) 08:11:57 ID:???
マジレスするとそもそもIE7の機能を前提に作られたプログラム
なんでしょ。名前からして。それをIE6で動かしたければ中身を自分で改造
するしかないじゃん。ここは自分でプログラム書く人のスレ
なんだから、まずは自分で改造を始めなよ。

834 :Name_Not_Found:2010/01/15(金) 11:20:48 ID:???
マジレスする前にググったらどうだ?

http://code.google.com/p/ie7-js/
>IE7.js
>Upgrade MSIE5-6 to be compatible with MSIE7.

835 :Name_Not_Found:2010/01/15(金) 17:10:29 ID:???
Lightboxを設置したのですが、キャプションなしとありの2つを用意して
キャプションありのほうを先にクリックして、後からキャプションなしをクリックすると
なしのほうにもキャプションが表示されてしまいます。
公式サイトのSINGLE IMAGESの1枚目もソースを見るとキャプションなしなのですが、
同様の現象が起きてます。これを回避する方法ってないんでしょうか?
ttp://www.lokeshdhakar.com/projects/lightbox2/

836 :Name_Not_Found:2010/01/15(金) 17:22:14 ID:???
>rel="lightbox"
んな糞スクリプト使うなよ

837 :Name_Not_Found:2010/01/15(金) 21:48:57 ID:???
質問です。

CSSレンダリングのテストのためにjavascriptで10万回ほど
同じCSSを適用させその時間を測るテストサイトを作り
各ブラウザでテストを行いました。
IE Firefox Opera はおそらく10万回CSSを適用したとおもうのですが、
Webkit 系のブラウザは23ミリ秒など異様に速い速度で処理を行っていました。

で質問なんですけど Webkit 系のブラウザはもしかして
javascript における同じ繰り返し処理を途中で抜ける
機能などが付いているのでしょうか。ご存知でしたら詳細を教えてください。お願いします。

838 :Name_Not_Found:2010/01/16(土) 01:29:18 ID:???
>>837
どういうテストなのかわからないので想像するしかないけど、
CSSの値に変化がなかったら何もしないのでは。

JavaScriptのレベルで何か特殊なことをしてるとすると、Chromeと
Safariで挙動が違うんじゃないかな。



839 :Name_Not_Found:2010/01/16(土) 10:05:17 ID:???
<html><head><script>
function test(){
〜中略〜
var a = xxxxxxxx;
if(a.match(/文字列/i)){
test2();
}
〜中略〜
}
</script></head>

上記のように、文字列がマッチしたら次のfunctionが動くようにしていたのですが、HTMLのtextフォームから文字列を好きに指定することは可能でしょうか?
一応、下記の書き方で試したのですが動かず…。

<html><head><script>
function test(){
〜中略〜
var a = xxxxxxxx;
var b = document.sss.www.value;
if(a.match(/b/i)){
test2();
}
〜中略〜
}
</script></head>
<body><form name="sss"><input type="text" id="www"></form></body>
</html>

840 :Name_Not_Found:2010/01/16(土) 11:59:04 ID:???
>>839
<input type="text" name="www">
これで試してみて

841 :Name_Not_Found:2010/01/16(土) 12:06:23 ID:???
new RegExp()を使う

842 :Name_Not_Found:2010/01/16(土) 12:30:21 ID:???
indexof使ってみても良いんじゃね。動作は変わらないけど。

843 :Name_Not_Found:2010/01/16(土) 14:49:07 ID:???
>>842
それじゃゼッタイ動かないw
よって、動作は変わる。

844 :Name_Not_Found:2010/01/16(土) 14:49:46 ID:???
indexOf!=-1

845 :Name_Not_Found:2010/01/16(土) 15:33:23 ID:???
 
>>840-844
遅くなりました。

>>841で教えていただいたRegExp()を調べて
試したところ無事に動きました。

みなさんありがとうございました。

846 :Name_Not_Found:2010/01/16(土) 19:00:13 ID:???
初めてプログラミングにJavaScriptでも大丈夫ですか?

847 :Name_Not_Found:2010/01/16(土) 19:01:14 ID:???
の が抜けました><

848 :Name_Not_Found:2010/01/16(土) 19:13:02 ID:???
>>846
始めてみてから自分で判断するのがいいと思うよ^^
プログラミングに向いてる人と向いてない人がいるからね^^;

849 :Name_Not_Found:2010/01/16(土) 20:32:46 ID:???
大丈夫かどうか聞く前にやってみりゃいいのに・・・

850 :Name_Not_Found:2010/01/16(土) 22:38:47 ID:2ovWGe8P
曜日が変になるのですがどうしたらよいのでしょうか?よろしくお願いします。
<body><div id="disp_01"></div>
<script language="JavaScript"><!--
function filc(s,n){s=String(s);while(s.length<n)s='0'+s;return s;}
url='http://d.hatena.ne.jp/xxxxx/20';
str = '';
for(i=-33;i<=3;i++){
dt = new Date( (i * 1000 * 60 * 60 * 24) + (new Date()).getTime() );

Dstr=[filc(dt.getFullYear()-2000,2),'',filc(dt.getMonth()+1,2),'',filc(dt.getDate(),2)].join('');
day = '(' + '日月火水木金土'.charAt(parseInt(dt.getDate())%7) + ')';
if(i==0){
DstrOut='[<a href="' + url + '' + Dstr + '" style=" color: Red; font-weight: bold;" target="">' + Dstr + day + '</a>]';
}else{
DstrOut='[<a href="' + url + '' + Dstr + '" style=" color: blue;" target="">' + Dstr + day + '</a>]';
}
str += DstrOut+(Math.abs(i)%7==6?'<br>\n':'');
}
document.getElementById('disp_01').innerHTML = str;
//--></script>


851 :Name_Not_Found:2010/01/16(土) 22:44:22 ID:???
日月〜の部分ずらせばいいんじゃないの?ズレが一定でないってのなら
つ「ツェラーの公式」

852 :Name_Not_Found:2010/01/16(土) 22:55:49 ID:???
お早いレスありがとうございます。
水曜日からいきなり月曜に飛んだりします。
ツェラーの公式(;゚д゚)?!さっぱり分かりません。



853 :Name_Not_Found:2010/01/16(土) 23:13:36 ID:???
初めてプログラミングにJavaScriptでも大丈夫ですかの?

854 :Name_Not_Found:2010/01/16(土) 23:24:00 ID:???
>>850
> day = '(' + '日月火水木金土'.charAt(parseInt(dt.getDate())%7) + ')';

dt.getDate() じゃなくて dt.getDay()

855 :Name_Not_Found:2010/01/16(土) 23:25:19 ID:???
初めてですがプロでも大丈夫ですか?

856 :Name_Not_Found:2010/01/16(土) 23:29:53 ID:???
雑談スレじゃねーんだよ消えろカス。あとネタ糞つまんねーから。

857 :Name_Not_Found:2010/01/16(土) 23:35:52 ID:???
初めてがプロって人はたくさんいるので安心したまえ

858 :Name_Not_Found:2010/01/16(土) 23:58:44 ID:???
>>854
ありがとうございました。(^_^;)

859 :Name_Not_Found:2010/01/17(日) 05:45:16 ID:wP4wc28j
すみません、どなたかお教えください。

・JavaScript内で宣言されている関数 hoge( a ); がある。
・aに渡されるのは、特定CGIへのフルパス(文字列)
・特定CGIは、渡されたパラメータを元に管理フォルダ内を検索し、ファイル名へのフルパスを返す
・関数hogeは、あるAPIを呼び出すための関数

という条件で、渡された a の中にある「特定CGIへのフルパス」を
APIを呼び出すまでに実行し、その結果を取得する方法を探しています。

APIに渡すのが a の文字列ではなく、CGI実行結果という意味です。

よろしくお願いします

860 :Name_Not_Found:2010/01/17(日) 08:26:31 ID:???
>>859
まとめるとJavaScriptでcgiにリクエスト->レスポンス取得の方法がわからんてこと?
であれば、つXMLHttpRequest。

861 :Name_Not_Found:2010/01/17(日) 08:44:30 ID:???
>>850
Dateオブジェクトには曜日番号を取り出すメソッドgetDay()が
ある。それを知らないで四苦八苦するのは滑稽だね。

862 :Name_Not_Found:2010/01/17(日) 11:24:42 ID:???
>>848-849
レスありがとうございました
やってみます

863 :Name_Not_Found:2010/01/17(日) 18:49:29 ID:???
859です。

>>860
・・になるのかな?とりあえずそれで調べてみます、ありがとうございます。

864 :Name_Not_Found:2010/01/18(月) 02:50:15 ID:???
>>838
遅くなってすいません

そうなんでしょうかね。
IEやFxは40秒ぐらい懸命に処理してたのにw

ありがとうございました。

865 :Name_Not_Found:2010/01/18(月) 11:11:41 ID:HEgJfDbi
thickboxについて質問です。
初めてthickboxの設定をしてるんですが、上手くいきません。
画像を開こうとしてクリックすると対象の画像が親ページの左下に、
左半分が画面外に飛び出た状態で表示されます。
画面が黒くなることもありません。
何が原因なんでしょうか?

doctype宣言は以下の通りで、もちろんjquery.jsの後にthickbox.jsを読み込んでます
(当たり前のことを普通にやってるだけのつもりなんですが…)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />

すみませんが対処法などご意見貰えると嬉しいです。宜しくお願いします

866 :Name_Not_Found:2010/01/18(月) 11:43:31 ID:vck87Mat
>>865
そんなん書かれても…
ここで聞いた方が早いんじゃないかね。
http://codylindley.com/thickboxforum/

867 :Name_Not_Found:2010/01/18(月) 12:29:44 ID:???
自慢ですが英語思いっ切りダメです><

868 :Name_Not_Found:2010/01/18(月) 12:41:42 ID:???
>>865
一緒に入ってるcss読み込んでないんじゃねーの?

869 :Name_Not_Found:2010/01/18(月) 12:53:37 ID:i3BMktwJ
JavaScriptの動的読み込みの不具合で質問させてください。
ページにロードするスクリプトの量が多いため、初期化用のinit.jsをまず読み込んで、
その中のonloadイベントで、順次スクリプトを読み込む方法をとっています。
このとき、履歴からのアクセスやページをリロードするとスクリプトエラーとなる場合があります。
(IEのみ。一旦他のページに移動して、移動先のリンクから戻った場合などは正常です)

本来1.js->2.js->3.jsと順に読み込まれてるはずなのですが、
エラーの内容は、例えば3.jsのエラーで、1で定義している名前空間が未定義である、というようなものです。

現在scriptタグ生成時に、IEのみファイル名にタイムスタンプを付加し
キャッシュ利用を回避するおなじみの方法でエラーを抑え込んでいますが、
読み込み順さえ狂わなければせっかくのキャッシュを利用したいところです。

他に、ページのonunloadイベントで、初期化時に動的に追加したscriptタグを削除するようにして、
次のキャッシュ読み込みでも再度scriptタグ生成->順次読み込みがされるのを期待したのですが、
結果は変わりませんでした。

自分ではプロファイリングをできてないのが原因なんですが、
この辺の挙動にすでに答えをお持ちの方、いらっしゃいますか?

870 :Name_Not_Found:2010/01/18(月) 13:03:28 ID:???
>>869
描画をブロックしないようにっていうのはわかるんだけど、init.js以外を分割する必要ってある?
あとそのinit.jsやonload使わずに単純に</body>直前に埋め込むんじゃダメ?

871 :Name_Not_Found:2010/01/18(月) 13:15:40 ID:???
開発中なら好きにすりゃいい
本番は全部結合して圧縮しろ

872 :Name_Not_Found:2010/01/18(月) 13:28:36 ID:vck87Mat
>>869
外してたらすまそ。
init.jsで、JSの読み込み完了をどのように判別しているかわからないけど。

以前IEでloadイベントが変だな、と思ってreadystatechangeで代用していた時のこと。
IEでファイル読み込みするとき、一度キャッシュしちゃうとreadyStateが
complete(loadedかも)のまま変わらない。

なので、順次読み込み≒readystatechangeイベントで次々、とやっていると
はまるかも知れない(つか自分はハマった)。

873 :Name_Not_Found:2010/01/18(月) 13:37:19 ID:???
わかるけど情報が足りないからなんとも言えねぇ

874 :869:2010/01/18(月) 14:21:09 ID:i3BMktwJ
>>870-873
ありがとうございます。勉強も兼ねてやってみていました。

一連の読み込みとチェックは、タイマーのコールバック関数の中で、
数ファイルずつを"ひとまとまり"の処理として読み込ませ(scriptタグの生成)、
名前空間の定義の確認や、一定のファイルが読み込まれた時点での機能などをセット(イベントなど)しながら、
例外処理で反復していました。

質問時点ではこの例外処理が働かなかったため、init.jsのコードの一部が無視されて
勝手な読み込み順になってしまっているのではと考えて、進めてたんですが、
投稿後、依存関係でエラーになりがちな個所の処理を分けて、チェックを加えることで、
キャッシュ利用でも止まってしまうようなエラーはなくなったようです。
(>>869で書いたように、IEのキャッシュ利用でも読み込みの順番が狂ってしまうわけではないと思われる)

けど皆さんの話をうかがうと、やはり無駄が多いコードのような気もしてきました^^;
参考に効率化を図りたいと思いますm(_ _)m

PS >>872のreadystatechangeの挙動はたいへん参考になりました。
同じアプリには別のキャッシュの問題もあって、まさにそれかもしれないです。
ありがとうございました!

875 :Name_Not_Found:2010/01/18(月) 14:51:48 ID:tMfcARKL
以下の例で、a,bはxxx()を経由しても1,10とそのまま表示されるのですが、
nowの方はyyyを経由すると-9時間されてしまいます。(y: z:の表示値で比較)

Cで言うところのポインタ渡しみたいになっちゃってるのですが、
now(インスタンス?)が変化しないような渡し方をするにはどうしたらいいんでしょうか?

a = 1;
b = 10
xxx(a,b);
document.writeln("x:" + a + " " + b + "<br>");

now = new Date;
document.writeln("y:" + now + "<br>");
yyy(now,-9);
document.writeln("z:" + now + "<br>");

function xxx(x,y) {
x = x+1; y = y+1;
}
function yyy( time, timezone) {
time.setTime(time.getTime() + ( timezone * 3600000));
}

876 :Name_Not_Found:2010/01/18(月) 15:01:41 ID:???
>>875
typeofの結果がobjectなものはそういうもん
なにかしらの方法でコピーを作ればいい
new Date(time.valueOf())

877 :Name_Not_Found:2010/01/18(月) 15:05:18 ID:???
>>876
ありがとー!!!
yyyを↓に書き換えたら出来ました〜

function yyy( hoge, timezone) {
var time = new Date(hoge.valueOf())

878 :Name_Not_Found:2010/01/18(月) 15:09:11 ID:???
あ、ちょっと意味が違いますね
now = new Date;
copy = new Date(now.valueOf())
こうしておいて、copyをyyyに渡すんですね

実は copy = now ってやってcopyを渡そうとしたのですがうまくいきませんでした。
valueofってのを使うんですね d

879 :Name_Not_Found:2010/01/18(月) 15:24:22 ID:???
>>877-878
前者は破壊しないことを関数が保障される代わりに無駄が出ることもあって一長一短
呼び出し側が制御する後者のほうが俺の好みだけど、どちらがよいかは場合による

valueOf()はDateオブジェクトにたまたま使えただけで
なんでもvalueOf()の値からオブジェクトを復元できるようにはなっていない
例えばArrayオブジェクトやObjectオブジェクトはforループで一つずつコピーをする方法を使う
だから「なにかしらの方法で」というわけ

880 :Name_Not_Found:2010/01/18(月) 15:50:29 ID:???
後者の場合、何回も呼び出す場合は、そのたびにvalueofでコピーしておかないといけないですね
慣れないうちはうっかり忘れそうですね。どっちにするかはよく考えてやることにします。

>だから「なにかしらの方法で」というわけ
あ〜なるほど。わかりました。
コピー方法のバリエーション覚えるまで四苦八苦しそうです・・・
どうもでした〜

881 :Name_Not_Found:2010/01/18(月) 16:29:03 ID:???
>>875-878
この場合は yyy() で新しく作ったDateを返すのが自然だと思う。

var copy = yyy(now, -9);

function yyy(hoge, timezone) {
var shiftedDate = new Date(hoge.valueOf());
...
return shiftedDate;
}


882 :Name_Not_Found:2010/01/18(月) 16:46:15 ID:???
例題なんだから自然だと思う理由まで書かないと役に立たないだろ

883 :Name_Not_Found:2010/01/18(月) 17:26:02 ID:???
dです
大体予想はつくと思いますがw世界時計を作っていました(御陰様で大体完成しました
yyyは、中で年月日時分秒をわり出して、戻り値は
return( year + "/" + mon + "/" + day + " " + hour + ":" + min + ":" + sec); となってます。

now = new Date(); // Local Time
now.setTime(now.getTime() + now.getTimezoneOffset()*60000); // convert to GMT
から
tz9 = yyy(now,9);
tz3 = yyy(now,3);
てな具合に各国の時間を出そうと思ったのですが、nowが変化していってしまうので、アレレという感じでした。
毎回コピーしないといけないので、yyyの先頭でvalueofすることにして、先に書いたように年月日を返す、
という感じでやりました。:D

884 :Name_Not_Found:2010/01/18(月) 20:12:32 ID:???
getElementsByTagNameぽい事やりたいんだけど
処理が戻ってこなくなっちゃうんだよね・・・

getName = function(objParam, strName){
var AryReturn = new Array();

getChilds = function(objParam, strName, AryReturn){
for (i = 0; i < objParam.childNodes.length; i++) {
if (strName == objParam.childNodes[i].nodeName) {
AryReturn[AryReturn.length] = objParam.childNodes[i];
}else{
getChilds(objParam.childNodes[i], strName, AryReturn);
}
}
}
getChilds(objParam, strName, AryReturn);
return AryReturn;
}

単純に指定したTableタグ以下のTRだけ取ってきたりしたいだけなんだけどなぁ・・・
こういうのって一般的にどうやるの?


885 :Name_Not_Found:2010/01/18(月) 20:21:44 ID:???
iがグローバル

886 :Name_Not_Found:2010/01/18(月) 20:21:50 ID:???
document.getElementsByTagName("table")[0].getElementsByTagName("tr")

887 :Name_Not_Found:2010/01/18(月) 21:08:23 ID:o7DxGUi6
getElementByIdを1ファイルの中でよく使うので
id("#test")でidのtestを取得できるようなことって出来ませんか?

888 :Name_Not_Found:2010/01/18(月) 21:12:26 ID:vck87Mat
>>887
var id = document.getElementById;
もしくは
function id(str){ return document.getElementById(str); }

でいいんか?

889 :Name_Not_Found:2010/01/18(月) 21:13:36 ID:???
var nodes = document.evaluate( '//table[@id="foo"]/tr' , document, null, 6, null);

var nodes = document.querySelectorAll('table#foo > tr');

とか?

890 :Name_Not_Found:2010/01/18(月) 21:24:04 ID:???
prototypeとか。$('test')

891 :Name_Not_Found:2010/01/18(月) 21:24:27 ID:vck87Mat
>>889
便乗質問なんだけど、IDで探すときって、
table#fooと#fooだと、やっぱコスト違ってくるんですかね。

892 :Name_Not_Found:2010/01/18(月) 22:13:01 ID:???
DOMの話だけど、後者の方が軽いってどこかに載ってた

893 :Name_Not_Found:2010/01/18(月) 22:18:57 ID:vck87Mat
>>892
例えば間違いHTMLで
<p id="foo"/>
<a id="foo"/>

というのがあって、querySelector("a#foo");ってしたときに
ちゃんとa要素が返ってくるなら、要素名でも篩にかけてるってことだから、
後者のほうが軽いんだろうと予想は付くんですが。

暇なときに、沢山やってメモリでも見はってみます。

894 :Name_Not_Found:2010/01/18(月) 22:22:32 ID:???
セレクタの意味が全然違うだろ

889もどうせHTML前提なんだからid()使え
descendant-or-selfで全ノードの集合を作って
全ノードの全子要素からたった一つのtableを絞り込むって
何考えてんだ

895 :Name_Not_Found:2010/01/18(月) 23:36:28 ID:???
MDCには良質のドキュメントが満載だぞ?
https://developer.mozilla.org/ja/Writing_Efficient_CSS

896 :864:2010/01/19(火) 01:16:54 ID:???
以前質問した 864 です。
あの時はありがとうございました。

質問は javascript の繰り返し処理が Webkit 系だけ
異様に速いのでもしかすると途中でループ文を抜ける処理を
おこなっているのではというものでしたが、

本日試しにループ回数を10倍してみたところ、
ちゃんと経過時間も約10倍になったので
どうも1回ずつ処理を行っているようです。

ループの内容は固定のCSSを繰り返し適用させてるだけなので
そこが他のブラウザと比べて段違いに速いのかもしれませんが。


以上。長文失礼いたしました。

897 :Name_Not_Found:2010/01/19(火) 08:36:24 ID:???
2つの異なるCSS値を交互に適用させて計ってみてはどうかな。

898 :Name_Not_Found:2010/01/19(火) 09:35:15 ID:???
>>888
a("a")
a("b")
見たいに何度も実行していく場合、定義した関数だと遅くならない?

899 :Name_Not_Found:2010/01/19(火) 11:35:02 ID:???
オーバーヘッドがないわけではないけど、差の出る状況が異常じゃないか?
どんだけgetElementById呼べば気が済むんだよ

900 :Name_Not_Found:2010/01/19(火) 11:53:12 ID:???
定義した関数とは?

901 :Name_Not_Found:2010/01/19(火) 13:28:42 ID:???
for (i=0; i<10000; i++) {
nameID = "testID"+i;
document.write(id(nameID));
document.write("<br>\n");
}

function id(str) {
result = getElementById(str);
return result;
}

902 :Name_Not_Found:2010/01/19(火) 16:14:19 ID:???
>>901
それを貼った意図がよくわからん
この流れで無言で貼るならベンチマーク用のコードだろう

903 :Name_Not_Found:2010/01/19(火) 16:31:46 ID:???
ベンチとは関係ないが、XPathのid()は空白区切りでIDを列挙できる
ノードセットを渡せば各ノードを文字列化した結果に上記を適用する

例えば
<tr>
<td headers="a6 a7 a2">..</td>
<td headers="a6 a7 a4">..</td>
</tr>
ならid(TR/TD/@headers)で[a2, a4, a6, a7]を得られる

わざわざid()を定義するならこれくらいの工夫はあっていい

904 :Name_Not_Found:2010/01/19(火) 17:29:08 ID:???
googleの検索画面にあるリンク先から、
各ページの最終更新時間を取得して検索画面に表示させることをしたいんですけど
javascriptで可能ですか?

905 :Name_Not_Found:2010/01/19(火) 17:30:00 ID:???
javascriptだけだと無理

906 :Name_Not_Found:2010/01/19(火) 18:45:07 ID:???
更新時間ってページに書いてあるもんだっけ?
自分だけでいいのか、アドオンみたいにするのかしらないけど、
やったとしても、1ページごとにサイトの数だけ通信するから迷惑だな。

907 :Name_Not_Found:2010/01/19(火) 21:27:56 ID:???
要するに、プロパティとメソッドをもつユーザ定義関数はユーザ定義クラス
って呼んでいいのでしょうか?@
仮に
function TestClass(){
this.p1 = 'test1';
}
みたいなのはプロパティしかありませんが、これもクラスって呼べるのでしょうか?A
よろしくおねがいします

908 :Name_Not_Found:2010/01/19(火) 21:30:06 ID:???
JSにクラスなんてくだらないものはない

内部的に似たようなものはあるが一ユーザが気にするものでもない

909 :Name_Not_Found:2010/01/19(火) 21:57:06 ID:???
化けるから丸数字使うなよハゲ

910 :Name_Not_Found:2010/01/19(火) 22:08:04 ID:vIdhn0Wd
連番のフィールドの未入力チェックをしたいのですが
どうやったらいいでしょうか?
var f = "field";
for(i=1;i>=10;i++){
if(document.f+i.value == ""){
alert(i+"番目のフィールドが未入力です")
}
}
みたいな感じでやりたいのですが

911 :Name_Not_Found:2010/01/19(火) 22:32:19 ID:???
>>909
今やJISの文字だぞ。

912 :Name_Not_Found:2010/01/19(火) 22:57:05 ID:???
JISの文字だとなんなんだ?

913 :Name_Not_Found:2010/01/19(火) 22:57:37 ID:???
>>910
>>3
Q8

914 :Name_Not_Found:2010/01/19(火) 23:43:32 ID:???
formのnameからinputのnameのvalue参照するのと
inputにidつけてvalue参照するのとどっちがいいの。

915 :Name_Not_Found:2010/01/19(火) 23:47:40 ID:???
form要素にname属性なんて付けん

916 :Name_Not_Found:2010/01/19(火) 23:48:55 ID:vIdhn0Wd
>>913
ありがとうございました



917 :Name_Not_Found:2010/01/20(水) 00:56:50 ID:???
inputにname書かなかったらどうやって送信すんだよ

918 :Name_Not_Found:2010/01/20(水) 01:59:34 ID:???
formはid、inputはnameでFA

919 :Name_Not_Found:2010/01/20(水) 02:44:04 ID:???
jquery.autosaveを使いたいのですが、セーブ時にエラーが出てしまい動きません・・。headタグ中で
jquery.js、jquery.cokies.js、jquery.autosave.jsの順に読み込ませたはずなのですが。
IE8の開発者コンソールを見ると、「オブジェクトでサポートされていないプロパティまたはメソッドです。jquery.autosave.js 行 113 文字4」
と出ます。jqueryは1.3.2、jquery.cookies.jsはGoogleCodeからとって来た2.2.0です。

↓エラー出たjquery.autosave.jsの部分
function saveCookie (i, j, content)
{
$.cookie('autosave_'+u+i+'_'+j, content, { expires: $.fn.autosave.options.cookieExpiryLength });
}

920 :Name_Not_Found:2010/01/20(水) 05:19:26 ID:???
javascriptの"または"にあたる論理和って"||"ですよね?
何故か"|"でうまく動いちゃってるみたいなんですけどどうなってるんですか?

921 :Name_Not_Found:2010/01/20(水) 06:13:29 ID:???
|| 論理和
| 各ビットの論理和

922 :Name_Not_Found:2010/01/20(水) 06:32:56 ID:???
>>921
レスありがとう
う〜、ビット演算難しい


923 :Name_Not_Found:2010/01/20(水) 07:19:45 ID:???
分かった!
論理演算はtrue false
ビット演算は1 0
ってことですね

今までif文で上手くいってたのは1はtrueに0はfalseになってたからなんですね!

924 :Name_Not_Found:2010/01/20(水) 09:01:42 ID:???
もう900超えているね。テンプレ論議あれば今どうぞ。

925 :Name_Not_Found:2010/01/20(水) 09:53:09 ID:???
とりあえず>>8-15

926 :Name_Not_Found:2010/01/20(水) 11:42:49 ID:???
>>1
[必読]過去スレ全集 http://wing2.jp/~mirrorhenkan/2ch/javascript/
  (ずべて同一)  http://www2.atpages.jp/mirror/2ch/javascript/
          http://usamimi.info/~mirrorhenkan/2ch/javascript/

これ2番目以外にログをアップロードできなくなってる。
なので2番目を1番上にして、それ以外は閲覧のみの文言を追加してほしいな。

[必読]過去スレ全集 http://www2.atpages.jp/mirror/2ch/javascript/
(閲覧のみ) http://wing2.jp/~mirrorhenkan/2ch/javascript/
(閲覧のみ) http://usamimi.info/~mirrorhenkan/2ch/javascript/

こんな感じで。

927 :Name_Not_Found:2010/01/20(水) 11:49:04 ID:???
Hoge.prototype = {
  hoge1:function(){〜〜},
  hoge2:function(){〜〜},
  hoge3:function(){〜〜},
  ・・・
  hoge100:function(){〜〜}
}

みたいにhogeメソッドをオブジェクトでまとめたプロパティとして
Hogeクラス加えるのと、
Hoge.prototype.hoge1
Hoge.prototype.hoge2
みたいに分けてプロトタイプするのと、どちらにしようかというか
どう違ってくるのかがわかりません。
アドバイスいただけないでしょうかよろしくお願いします。

928 :Name_Not_Found:2010/01/20(水) 12:57:09 ID:???
>FAQ・注意・過去ログ・仕様書・関連資料・関連スレ>>1-10
↑のアンカー先と
>>7の関連スレを現行スレに修正しておくれ

ついでに>>6のこれも
→ ttp://msdn.microsoft.com/ja-jp/library/z688wt03(VS.80).aspx
   ↓
→ ttp://msdn.microsoft.com/ja-jp/library/z688wt03%28VS.80%29.aspx

929 :Name_Not_Found:2010/01/20(水) 13:28:40 ID:???
>>927
厳密には後者のほうがよい状況があるけど、基本的には同じ
プロトタイプチェーンに利用される以外はprototypeもただのプロパティにすぎず、そこにある値もただのObjectオブジェクト
だからそのオブジェクトをリテラルで定義しようとプロパティアクセスで定義しようと変わらない

厳密にというのは、Hogeを作った時点での初期値としてこのように定義されている為
Hoge.prototype = { constructor: Hoge };
prototypeの値をごっそり差し替える前者の方法では(new Hoge()).constructorにアクセスできなくなるし
hoge1等と同時にconstructorを定義してやればもちろん動く
もっともconstructorは正しい値にならないことが多く信用されることはほとんどないから、あまり気にしなくてもいい
一般的な継承の方法として言われているこれだって類似の問題が起きるのに気にされることはほとんどない
Huga.prototype = new Hoge();

930 :Name_Not_Found:2010/01/20(水) 14:05:49 ID:???
Object.createを実装してみろ
this.constructorに無関心ではいられなくなるぞ

931 :Name_Not_Found:2010/01/20(水) 14:10:58 ID:???
違いがわからないときは気にすることはないと言いたかったんだけど書き方が悪かった
気にする時はかなり気にする、だから省かずに説明をした

932 :Name_Not_Found:2010/01/20(水) 14:27:33 ID:???
簡単に言えば「既にprototypeの何かを使っている時に
差し替えてしまったら使っていたものが使えなくなるからまずいよ」
ということだよね。

933 :Name_Not_Found:2010/01/20(水) 15:05:46 ID:???
どういう意味でまずいかによる

単純に>>927の上は上書き、下は追記
既存のプロトタイプを上書きしてまずい場合もあれば
既存のプロトタイプに追記してまずい場合もある

あと、ひょっとして誤解している奴がいるかもしれないが
プロトタイプチェーンはnewした時点で決定されるから
後からコンストラクタのprototypeを差し替えても
プロトタイプチェーンが変更されることはない
この意味では、prototypeを上書きしてもまずいことはない
// プロトタイプチェーンを変更できるのは__proto__のみ

静的クラスに慣れた奴にはにとんでもないことのように見えるかもしれないが
prototypeなんてのは必要に応じていくらでも付け替えていい
むしろnewする前に好きなオブジェクトをprototypeに突っ込め
念のため、newした後はprototypeを戻しておけ
// だからisPrototypeOfなんてものがある

934 :Name_Not_Found:2010/01/20(水) 15:46:22 ID:???
>>933
> 既存のプロトタイプに追記してまずい場合もある
追記してまずい場合ってどういう場合なの?

>>927は単純に
自分でHogeクラスを作って、その場で初めてprototypeも定義するなら前者でもいいけど、
違うファイルとかでprototypeを定義してる可能性があるようなら後者にしとけ
でいいと思う。

A = { a: 'b' }
はオブジェクトを代入している式だって理解してるなら初めの定義以外で前者使う機会はそうないんじゃないかね

935 :Name_Not_Found:2010/01/20(水) 15:51:06 ID:???
>>933
>むしろnewする前に好きなオブジェクトをprototypeに突っ込め
>念のため、newした後はprototypeを戻しておけ

誤解していた一人だけど、さすがにそれは腑に落ちない
好きなオブジェクトをプロトタイプに突っ込んだ他のfunctionからnewすればいいんじゃないのか?
どういう場面を想定しているのかがさっぱりわからない

936 :Name_Not_Found:2010/01/20(水) 16:10:34 ID:???
>>934
やっぱりprototypeを静的なものとしか考えてない気がする
>>929がprototypeはオブジェクトと同じと言ってるのは正しい
何故prototypeを特別扱いしたがる?

普通のオブジェクトと同じと考えれば
勝手にプロパティを追加されて困る場合なんていくらでもあるだろ
だから委譲を使ってプロパティの持ち主を限定するんだろ

入門者への書き方指南なら特に言うことはないが

>>935
instanceofの結果はどうなる?

937 :Name_Not_Found:2010/01/20(水) 16:17:32 ID:???
>>936
>instanceofの結果はどうなる?
いや、この問いはまずかった、撤回する
prototypeを変更した時点でinstanceofに影響でるからな

実際のやり方に関しては>>935に同意する
ただ、そのままではやはりinstanceofに影響が出ると言いたかった
そこでconstructorがどうのこうのとなるわけだが

938 :Name_Not_Found:2010/01/20(水) 16:45:31 ID:???
>>936
>>934はprototypeを特別視してなくて普通のオブジェクトと同じだって話でしょ?
前者は代入で後者は追加だから、前者使う機会ってオブジェクト生成の時くらいだよねって話で。

jQueryやPrototype.jsのようなライブラリ作るなら別として、
Object以外のオブジェクトはプロパティを自由に追加しても問題にならなくない?
ユーザが自分らで作ったオブジェクトならなおさら問題にならないような。

って、書きながら>>927がどういう意図で書いてるかわかんないからどっちも問題になるのかと理解した

939 :Name_Not_Found:2010/01/20(水) 17:07:25 ID:x1WiAqug
confirmの選択肢の表示を『OK/キャンセル』ではなく、
『Yes/No』にしたいです。
どこの設定を変えれば出来ますか?

940 :Name_Not_Found:2010/01/20(水) 17:29:08 ID:???
言葉にするのが難しいけど、
再帰なんかで親から子に文脈を引き継ぐ、でも子の方で新しい項目があれば上書きするってときは
親の文脈をプロトタイプにして新規文脈を生成すれば、
親の文脈を損なわず、子から親文脈(かつ祖先文脈)を参照でき、子自身の情報も得られる。

そんなときは自分の文脈情報でもプロパティ追加に慎重になる。
自分をプロトタイプにする子や孫の文脈に影響するかもしれないから。
うーん、具体的でなくて申し訳ないが。

ただ、プロトタイプに便利メソッドをぺたぺた貼り付けただけのものを、
オブジェクト指向とかモダンとか言ってる人がいるのは滑稽だとは思う。

941 :Name_Not_Found:2010/01/20(水) 18:19:27 ID:???
>>939
変更できたら悪いことに使う人が出るでしょ
だからできません

942 :Name_Not_Found:2010/01/21(木) 08:45:16 ID:JYxlNe4f
リンク押下した際に新規ウィンドウで開いてしまうんですが
これを必ず同ウィンドウで開くにはどうしたらいいですか?
因みに元ウィンドウはフレームありで表示させたいウィンドウはフレームなしです

943 :Name_Not_Found:2010/01/21(木) 09:14:37 ID:???
それはJavaScriptというよりHTMLの問題なのでは。
既存の他人が用意したページなら、そもそも手が出ないし。

944 :Name_Not_Found:2010/01/21(木) 10:16:43 ID:fvk6mKE2
>>941
なんで悪い事に使う人が出るんですか?
表示名が違うだけだと思うのですが…


945 :Name_Not_Found:2010/01/21(木) 10:34:46 ID:???
>>944
OKとキャンセル逆にしてたら困るでしょ

946 :Name_Not_Found:2010/01/21(木) 10:54:09 ID:???
>>943
自分だけでいいならオミトロンというものも・・

947 :Name_Not_Found:2010/01/21(木) 12:46:46 ID:JYxlNe4f
>>943
他人のページじゃないです
フレームを0にすればいいのかな?
新規ウィンドウでなく必ず親内で遷移させる方法がイマイチよくわからない…

あと、フレームを含んだウィンドウを閉じるボタンはどうしたらいいですか?
self.close()ではダメでした

948 :Name_Not_Found:2010/01/21(木) 12:53:37 ID:???
target=childsName
他は理解不能わかりやすく説明してくれ

949 :Name_Not_Found:2010/01/21(木) 13:02:12 ID:JYxlNe4f
閉じる方法はparent.close()で解決しました

>>948
親ウィンドウにはフレームを含んでいます
親ウィンドウから子ウィンドウを新規ウィンドウとして出さずに
親ウィンドウ内(フレームなし)で開きたいんです

950 :Name_Not_Found:2010/01/21(木) 15:26:09 ID:???
>>949
だからJavaSriptの問題じゃないでしょ。HTMLの勉強すれば。
HTMLが分からんのならスレ違いだからよそで質問してね。

951 :Name_Not_Found:2010/01/21(木) 15:32:25 ID:???
次スレは975超えたら。
テンプレの変更は(1)ブラウザの版とかの記述は削除、(2)過去スレ
全集の書けない奴は読み込みのみと明記。

952 :Name_Not_Found:2010/01/21(木) 22:17:49 ID:???
テンプレ議論一覧
>>8-15>>924-926>>928>>951

953 :Name_Not_Found:2010/01/21(木) 22:23:29 ID:???
サーバと通信をおこなう際、ActiveXObjectでは何か後処理が必要でしょうか?
XMLを受け取って表示->次のリクエスト(ボタンクリック)に進むと止まってしまいます(readyStateは0)
0を受け取った後なら次の通信をおこなえるのですが、実行のたび4->0->4->0->と繰り返しているようです。(最終的なreadyStateの値)
グローバルなActiveXObjectオブジェクトを保持しておいて、使いまわすようなコードにしているため、
次の通信の前に何らかの再初期化が必要なのかなと思ってるんですが、
req.readyState = 0;
のようなコードはエラーになりますよね・・・。
同じコードのXMLHttpObjectでは問題ありません。対処方法ありましたらお願いしますm(_ _)m

954 :953:2010/01/21(木) 22:36:11 ID:???
openの前にabortを呼ぶことで初期化できました。
abortは処理の中断みたいなイメージだったので気づかなかった・・・orz

955 :Name_Not_Found:2010/01/21(木) 23:38:28 ID:???
ありません

956 :Name_Not_Found:2010/01/22(金) 04:17:12 ID:???
なにが?

957 :Name_Not_Found:2010/01/22(金) 09:15:58 ID:???
対処方法

958 :Name_Not_Found:2010/01/22(金) 11:03:59 ID:???
えーw

959 :Name_Not_Found:2010/01/22(金) 11:09:20 ID:???
指定時間毎に画像が変わるスクリプトなんだけど
<body onload=

を使わずに変える方法がサンプルでもいいから何処かに転がってないか?
blogで使いたいんだ。

960 :Name_Not_Found:2010/01/22(金) 11:49:16 ID:???
addEventListener

それにしても糞迷惑なスクリプトだな

961 :Name_Not_Found:2010/01/22(金) 12:20:36 ID:???
>>959
指定時間になったら表示中の画像がとり変わるの?
それとも表示する時点で選んであとはそのまま?

962 :Name_Not_Found:2010/01/22(金) 12:21:10 ID:???
ファイル名が erogazou00.jpg - erogazou99.jpg とする。

<img src="erogazou00.jpg" id="image">

function setAnotherNumber(origin) {
var number = Math.floor(Math.random() * 100);
if (number < 10)
number = "0" + number;
return (number != origin) ? number : setAntherNumber(origin);
}

function setRandomImage() {
var img = document.getElementByID("image");
var fileNumber = img.src.slice(8,10);
img.src = "erogazou" + setAnotherNumber(fileNumber) + ".jpg";
}

function changeImage() {
setInterval(setRandomImage, 4000);
}

if (window.addEventListener) {
window.addEventListener("load", changeImage, false);
} else {
window.attachEvent("onload", changeImage);
}

脳内でエロ画像のスライドはじまった

963 :Name_Not_Found:2010/01/22(金) 12:22:01 ID:???
×return (number != origin) ? number : setAntherNumber(origin);
○return (number != origin) ? number : setAnotherNumber(origin);

964 :Name_Not_Found:2010/01/22(金) 13:17:03 ID:???
blogサービス?ってスクリプト自由にかけたりするの?

965 :Name_Not_Found:2010/01/22(金) 13:50:44 ID:???
サービスによるだろjk

966 :Name_Not_Found:2010/01/22(金) 15:12:48 ID:ztQMbVoX
メソッドの引数に、フォームのname、およびそのフォーム内のinputタグのnameを指定する方法ってありますか?

具体的には、引数で「指定のフォーム」「指定のinputタグ」「入れたい値」を指定し、その個所にvalueを入れるメソッドを作りたいです。

function changeValue(targetForm , targetInput , value) {
document.targetForm.targetInput.value = value;
}

として、呼び出すところでもうまく動かないようです。

967 :Name_Not_Found:2010/01/22(金) 15:31:14 ID:???
とりあえずヒントだけ
a.bはa["b"]と書き換えることができる

968 :Name_Not_Found:2010/01/22(金) 15:36:30 ID:???
document.forms[targetForm].elements[targetInput].value

渡しているのがid・name属性の文字列であることが前提

form要素(×タグ)はid属性で
input要素(×タグ)は(値を送信するなら)name属性で

969 :Name_Not_Found:2010/01/22(金) 16:21:45 ID:???
>>966
テンプレ >>3 のQ8/A8は読んだのかね。

970 :Name_Not_Found:2010/01/22(金) 17:02:51 ID:jUSpBXsr
http://www.delay.pl/
こういうサイトをjavascriptのアニメーションを使って実現する事は難しいですか?

971 :Name_Not_Found:2010/01/22(金) 17:13:07 ID:???
できなくも無いとは思うけど、Gmail以上のことやるから一人だとかなり掛かるんじゃないか?年単位で。

972 :Name_Not_Found:2010/01/22(金) 17:15:48 ID:jUSpBXsr
>>971
なるほど、確かに時間はかかりそうです。
描画速度などはFlashと比べてどうでしょうか?
スクリプト言語では逐次的に一つずつ処理を進めていくわけですが、Flashの場合はフレーム単位でほぼ同列に処理を進めていくことができます
例えば、Flash上でのムービークリップ複数個を同時に動かす処理をjavascriptで作り出そうと思ったらどのようにすればいいのか
という事も気になります。

973 :Name_Not_Found:2010/01/22(金) 17:31:53 ID:gR9LffYo
>>972
>Flashの場合はフレーム単位でほぼ同列に処理を進めていく

へー。フレームが変わるとイニシャライズされるのかと思ってた。

並列処理はアレだが、setInervalを拡張して、複数のsetIntervalを書いても
ひとつのsetIntervalとして処理する、みたいなことは結構前に見た。

重さは条件によるところが多いので試してみればいいんじゃね?
あと、こういうアニメーションをJSでやるメリットって、
HTMLであること≒アクセシビリティだと思うから、やる価値あるならみんなやってると思う。

974 :Name_Not_Found:2010/01/22(金) 17:42:38 ID:???
>>972
少し古い話になるけど、JSとASは同じ仕様書に準してるんだよ。
今はずいぶん拡張されてきたけど、それでもJS知ってるなら、
ASへの入門も容易いと思うよ。

975 :Name_Not_Found:2010/01/22(金) 17:52:22 ID:???
文章見る限りflashを扱っていてるけど、JSでできたらしたいなって感じだからASの方が得意なんじゃね。
flashで作った方が楽なんじゃね。

個人的な感想だけどJS→ASの順だとASには型があってちょっと戸惑ったな。JSは数字とか文字列適当でも大丈夫だったからなぁ

976 :Name_Not_Found:2010/01/22(金) 18:04:53 ID:???
jQuery ライブラリのサンプルを幾らか見てみれば良いが

イメージバーのスライドは可能。
画像の画面外左から右へ現れる動きも可能。

クリックしたときと、下のバーでオンマウス中に出る細かいエフェクトは厳しい。
レイアウト全体もろとも画面外に移動させたり元に戻したりするのも厳しい。

977 :Name_Not_Found:2010/01/22(金) 18:52:29 ID:gR9LffYo
以前、JS掛けるならASもいけるだろ、と突然代打で書かされたことがあって。
当時ASのことが良くわかってなかったから、
いつも通りfunctionでクラスっぽいもの作ってnewして…ってやったら、普通に動いた。
が、後日、本来のAS担当者から質問の嵐ですた。

978 :Name_Not_Found:2010/01/22(金) 19:01:04 ID:???
>>977
AS1なんてまんまJSだからな

979 :Name_Not_Found:2010/01/22(金) 19:54:03 ID:jUSpBXsr
>>971
なるほど、確かに時間はかかりそうです。
描画速度などはFlashと比べてどうでしょうか?
スクリプト言語では逐次的に一つずつ処理を進めていくわけですが、Flashの場合はフレーム単位でほぼ同列に処理を進めていくことができます
例えば、Flash上でのムービークリップ複数個を同時に動かす処理をjavascriptで作り出そうと思ったらどのようにすればいいのか
という事も気になります。

980 :Name_Not_Found:2010/01/22(金) 20:19:44 ID:???
以下の修正で次スレ立ておk?

「(現行Ver.:IE5.5-6、N6-7、Opera7-8)」削除

関連スレのリンク先修正

[必読]過去スレ全集 http://wing2.jp/~mirrorhenkan/2ch/javascript/
  (ずべて同一)  http://www2.atpages.jp/mirror/2ch/javascript/
          http://usamimi.info/~mirrorhenkan/2ch/javascript/
              ↓
[必読]過去スレ全集 http://www2.atpages.jp/mirror/2ch/javascript/
      (閲覧のみ) http://usamimi.info/~mirrorhenkan/2ch/javascript/
      (閲覧のみ) http://wing2.jp/~mirrorhenkan/2ch/javascript/

981 :Name_Not_Found:2010/01/22(金) 20:33:35 ID:gR9LffYo
>>980
一応リンクチェックしてきた。

developer.mozilla.orgが応答無いんだけど、鯖落ち中なだけかな?
あと、制作初心者スレとWSHスレはdat落。最新は

Webサイト制作初心者用質問スレ part216
http://pc11.2ch.net/test/read.cgi/hp/1262851395/

WSHは次スレ建ってない模様。

982 :980:2010/01/22(金) 20:35:54 ID:???
>>981
developer.mozilla.org問題なし

あとWSHスレは立ってる
WSH(・∀・)スレッド! Part 4
http://pc12.2ch.net/test/read.cgi/tech/1243095768/

983 :Name_Not_Found:2010/01/22(金) 20:37:02 ID:gR9LffYo
>>982
ごめん。俺の回線がおかしかったのかも、脳の。
すまそすまそ。

984 :Name_Not_Found:2010/01/22(金) 20:38:29 ID:???
http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide

https://developer.mozilla.org/Ja/JavaScript
のがいいんじゃね

985 :Name_Not_Found:2010/01/22(金) 20:40:19 ID:???
確かに

986 :Name_Not_Found:2010/01/22(金) 21:40:08 ID:???
スレ立て人ですが、例によって規制が… 立てて頂けると嬉しい。

987 :980:2010/01/22(金) 21:41:09 ID:???
>>984の修正も加えて立ててみる

988 :980:2010/01/22(金) 21:52:38 ID:???
立てました

+ JavaScript の質問用スレッド vol.76 +
http://pc11.2ch.net/test/read.cgi/hp/1264164226/

989 :Name_Not_Found:2010/01/22(金) 22:31:54 ID:???
O2

990 :Name_Not_Found:2010/01/23(土) 12:17:21 ID:???
Googleの検索結果の「次ページ」のリンクを押さなくても
ブラウザを下にスクロールしてくと自動で次のページの検索結果が追加されて表示される
みたいな機能をJavaScriptで実現するライブラリってある?
名前がわからないから検索もしようがないんだが

991 :Name_Not_Found:2010/01/23(土) 12:22:25 ID:???
>>990
よそのページの状態を取得できちゃマズい。

992 :Name_Not_Found:2010/01/23(土) 12:26:18 ID:???
そういうのは Firefox 上で Greasemonkey & AutoPagerize とかで
やるといいのではあるまいか。

993 :990:2010/01/23(土) 12:44:55 ID:???
>>991-992
さんくす
一応自分のサイトに「前ページ」「次ページ」のリンクがあるから
そこで使いたいんだが

994 :Name_Not_Found:2010/01/23(土) 12:50:22 ID:???
はじめから全件表示したほうがよくね

995 :Name_Not_Found:2010/01/23(土) 13:13:45 ID:???
>>990ではないが
単純に1ページをでかくするとbotにも人にもおいしくない

996 :Name_Not_Found:2010/01/23(土) 13:22:18 ID:???
次スレ (スレ立て感謝)
http://pc11.2ch.net/test/read.cgi/hp/1264164226/

997 :Name_Not_Found:2010/01/23(土) 16:53:17 ID:???
あー腹へった

998 :Name_Not_Found:2010/01/23(土) 17:10:59 ID:???
うめ

999 :Name_Not_Found:2010/01/23(土) 17:11:23 ID:???
999

1000 :Name_Not_Found:2010/01/23(土) 17:12:04 ID:???
このスレは1000の風になりました

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

261 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)