1 名前:Name_Not_Found mailto:sage [2009/02/21(土) 21:56:02 ID:???] まず >>2-10 読め! 続いて過去スレ全集を検索! ━━━本スレに書く事を許される者は以下の通り━━━━━ 一、JavaScriptはJavaとは別物であると知っている者 一、自ら学んでJavaScriptコードを書く意思を持つ者 一、ユーザに迷惑となるスクリプトを書かない者 一、質問を分かる日本語できちんと説明できる者 一、トラブルを再現する最小限のサンプルを貼れる者 一、テンプレ+FAQ>>2-10 /過去ログ/関連資料を読める者 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 自力で書く気がない人は他のスレへ(テンプレ末尾参照)。 前スレ pc11.2ch.net/test/read.cgi/hp/1230611894/l50 [必読]過去スレ全集 wing2.jp/~mirrorhenkan/2ch/javascript/ (ずべて同一) www2.atpages.jp/mirror/2ch/javascript/ usamimi.info/~mirrorhenkan/2ch/javascript/ [必読]ガイド developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide (GuideをReferenceに→Netscape版言語仕様。多くの実装が準拠:ECMA-262.ed3) FAQ・注意・過去ログ・仕様書・関連資料・関連スレ>>1-10
2 名前:Name_Not_Found mailto:sage [2009/02/21(土) 22:01:13 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 mailto:sage [2009/02/21(土) 22:01:37 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 mailto:sage [2009/02/21(土) 22:02:01 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 mailto:sage [2009/02/21(土) 22:02:22 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 mailto:sage [2009/02/21(土) 22:02:43 ID:???] ECMA-262 ed.3 → www.ecma-international.org/publications/standards/ECMA-262.HTM → www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/ (和訳) W3C Document Object Model Technical Reports → www.w3.org/DOM/DOMTR JavaScript 1.5 ガイド / リファレンス (Netscape/Mozilla) → developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide (和訳) → developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference → developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Reference (和訳) E4X (ECMAScript for XML) → www.ecma-international.org/publications/standards/Ecma-357.htm → www.ne.jp/asahi/nanto/moon/specs/ecma-357.html (和訳) Mozilla Gecko DOM Reference, Netscape devedge → developer.mozilla.org/en/docs/Gecko_DOM_Reference → developer.mozilla.org/ja/docs/Gecko_DOM_Reference (和訳) → devedge-temp.mozilla.org/central/javascript/index_en.html MSDN Library JScript / DHTML (現在日本語版は古杉) → www.microsoft.com/japan/msdn/library/ja/script56/html/js56jsoriJScript.asp → msdn2.microsoft.com/en-us/library/ms533050.aspx
7 名前:Name_Not_Found mailto:sage [2009/02/21(土) 22:03:03 ID:???] 【チュートリアルサイト・サンプルサイト】 規格が読めないならまずはチュートリアル。サンプルサイトも沢山ある。 (とほほは間違いが多いためこのスレでは批判的意見が多い) (以下は精選すべきとの議論あるが進んでいないので玉石混淆) MetaGraphic Cell → www2u.biglobe.ne.jp/~oz-07ams/prog/ どら猫本舗のリファレンスカウンター → www.doraneko.org/ はぎさんちのページ Mozilla's DOM Sample Project → cgi.din.or.jp/~hagi3/JavaScript/JSTips/Mozilla/mds.cgi オブジェクトなJSの基礎講座 → chaichan.web.infoseek.co.jp/src/2ndthema.htm 【関連スレ】 板違い、スレ違いに注意!サーバ側での処理はWebProg板へどぞ! Webサイト制作初心者用質問スレ Part 206 → pc11.2ch.net/test/read.cgi/hp/1233121174/l50 CSS /* CSS・スタイルシート質問スレ 上級者用【71th】 */ → pc11.2ch.net/test/read.cgi/hp/1205680031/l50 CSS/DHTMLバグ辞典スレッド 【第5版】 → pc8.2ch.net/test/read.cgi/hp/1144494359/l50 役に立つ書籍は? 4冊目 → pc11.2ch.net/test/read.cgi/hp/1172823674/l50 1行javascriptプログラミング → pc11.2ch.net/test/read.cgi/hp/1066750037/l50 WSH(・∀・)スレッド! Part 3 → pc11.2ch.net/test/read.cgi/tech/1208948450/l50
8 名前:Name_Not_Found mailto:sage [2009/02/22(日) 10:26:22 ID:???] 乙
9 名前:Name_Not_Found mailto:sage [2009/02/22(日) 14:31:14 ID:???] 新スレ乙です。 早々に質問申し訳ないんですが youtube等の動画をオーバーレイで表示させる VideoBoxというものがありますが これをzoomeというサイトに投稿した動画に対応させる方法はありますか? zoome→ttp://www.zoome.jp/ すみませんが、よろしくお願いします。
10 名前:Name_Not_Found mailto:sage [2009/02/22(日) 14:58:13 ID:???] すいません、この事象は何か原因が考えられるでしょうか? WindowsXP SP3 IE7の環境で コンピュータの管理者アカウント(最初に作成したユーザ)で接続すると正しく表示されますが その他のユーザでアクセスするとjavascriptのエラーになり画面表示がおかしくなります (管理者権限でも一般アカウントでも・・・) ttp://cinema.zaq.ne.jp/ 同じPC内のアカウントで表示が正しくできる・できないって何か考えられる事はありますか?
11 名前:Name_Not_Found mailto:sage [2009/02/22(日) 15:19:50 ID:???] javascriptって付いただけで、この板に来るとはね・・・ PC初心者板に行けよ
12 名前:Name_Not_Found mailto:sage [2009/02/22(日) 15:20:22 ID:???] ぼ〜にゃんきゅーぐお でぐぐってもオミトロンのスレがヒットしない件。
13 名前:Name_Not_Found mailto:sage [2009/02/22(日) 17:14:07 ID:???] そりゃアカウントが違えば、各設定も違うだろうしな
14 名前:前スレ988 mailto:sage [2009/02/22(日) 18:09:02 ID:???] レスありがとうございました! 教えていただいたものは全てうまく抜き出せました こちらの質問の仕方が悪く、曖昧になってしまいすいませんでした "楽しいかもね、そうかもね、そうじゃないかもね、そんなこともないかもね" で、先頭の "楽" と、 "かもね" 以外は不特定の文字で "楽"から始まり最初の"かもね"までを抜き出したいという意味でした これだと一番理にかなっているもののはどれになるのでしょうか? 楽([^ね]*)ね 楽.*?ね 楽([^楽ね]*)ね 楽([^楽]*?)ね
15 名前:ぼ〜にゃんきゅーぐお mailto:sage [2009/02/22(日) 18:15:53 ID:???] >>14 ^(楽.*?かもね) >>12 Proxスレの住民確定だな。
16 名前:Name_Not_Found mailto:sage [2009/02/22(日) 18:20:17 ID:???] 欲しい答えは 楽.*?かもね でしょう。
17 名前:ぼ〜にゃんきゅーぐお mailto:sage [2009/02/22(日) 18:27:06 ID:???] 検索対象文字列の先頭が "楽" と決まってるなら ^ は付けるべきだぞ。
18 名前:Name_Not_Found mailto:age [2009/02/22(日) 19:17:10 ID:???] 突然で申し訳ございません。 document.getElementById() ってどういうことをするメソッドなのでしょうか。 よければ、教えてください。
19 名前:Name_Not_Found mailto:sage [2009/02/22(日) 19:21:33 ID:???] >>18 www.google.com/search?q=document%2EgetElementById%28%29
20 名前:Name_Not_Found mailto:sage [2009/02/22(日) 20:12:55 ID:???] >>18 ( ゚д゚ )
21 名前:Name_Not_Found mailto:sage [2009/02/22(日) 20:21:27 ID:???] 楽しいかもねって例の歌かと思った俺…
22 名前:Name_Not_Found mailto:sage [2009/02/22(日) 21:09:23 ID:???] document(ドキュメント内の).get(取得する)Element(要素を)ById(idによって) ドキュメント内の要素をidによって取得するメソッドだね
23 名前:14 mailto:sage [2009/02/22(日) 21:18:05 ID:???] ありがとうございました 正規表現 欲張り でもググってみました 楽.*? でよかったみたいです 楽が先頭に来るので>>15 さんので完璧でした
24 名前:Name_Not_Found [2009/02/22(日) 21:19:29 ID:DLp6CqON] >>22 >>18 なるほど、解りました!!凄く解りやすいです! わざわざ、お時間をとらせてしまい、申し訳ございません。ありがとうございました!
25 名前:Name_Not_Found [2009/02/23(月) 13:15:23 ID:5LRlcOYp] ブログの記事を書く時にプレビューしたいんです。 <script type="text/javascript"> function writeText(str) { text = str; text = text.replace(/\n/g,"<br>"); text = text.replace(/\s/g," "); document.getElementById('p').innerHTML = text ; } </script> <textarea name="html" rows="30" cols="60" onkeyup="writeText(this.value)"></textarea> <p id="p"> </p> どうしてもfontタグで色づけしたいんです。 プレビューに反映されないんです。 どうしたらいいんでしようか?
26 名前:Name_Not_Found mailto:sage [2009/02/23(月) 13:21:55 ID:???] >>25 alert(text);してみれば?
27 名前:Name_Not_Found [2009/02/23(月) 13:46:12 ID:5LRlcOYp] >>26 どういう意味? とりあえずテキストエリアタグに記入した文字が表示される際 <font color="red">Test</font>を記入しても変化がないんです。>< <h1>とか<hr>とかは大丈夫なんですが・・・
28 名前:Name_Not_Found mailto:sage [2009/02/23(月) 13:49:37 ID:???] this.valueでは拾えないだろ <textarea>はそのタグの間の文字列なんだから
29 名前:Name_Not_Found mailto:sage [2009/02/23(月) 13:50:15 ID:???] >>26 はマークアップが崩れてる可能性のチェック とりあえずFx3でdiv要素に対してのこれは動いた div.innerHTML = '<font color="red">text</font>' ブラウザが悪いかp要素の制限か知らないけど一挙一動を確認してみれ
30 名前:Name_Not_Found [2009/02/23(月) 14:03:48 ID:5LRlcOYp] >>28 値は拾えています。 ためしに<input type="text"でやったのですがそれでもだめでした。 <script type="text/javascript"> function writeText(str) { text = str; text = text.replace(/\n/g,"<br>"); text = text.replace(/\s/g," "); document.getElementById('p').innerHTML = text ; } </script> <textarea name="html" onkeyup="writeText(this.value)"></textarea> <div id="p"></div> やはり<font color="red">test</font>は赤くなかった・・・
31 名前:Name_Not_Found [2009/02/23(月) 14:08:14 ID:5LRlcOYp] firefoxでもだめでした。 こんなことに徹夜して悲しいです。見捨てないでください。
32 名前:Name_Not_Found mailto:sage [2009/02/23(月) 14:12:44 ID:???] Fx3に>>30 の変更一切なしで赤くなるんだけど・・・
33 名前:Name_Not_Found mailto:sage [2009/02/23(月) 14:13:50 ID:???] 素人ですが直感で、 writeText(this.innerHTML) もちろん試してない・・・
34 名前:Name_Not_Found [2009/02/23(月) 14:14:10 ID:5LRlcOYp] バージョン2.0.0.11です。自分
35 名前:Name_Not_Found mailto:sage [2009/02/23(月) 14:17:23 ID:???] >>34 あほか、3にしろw mozilla.jp/firefox/all-older >Firefox 2 向けのセキュリティ更新の提供は、2008 年 12 月中旬をもって終了させていただきます。
36 名前:Name_Not_Found [2009/02/23(月) 14:23:43 ID:5LRlcOYp] 3.0.6にして見ましたがだめです。 今まで、デスクトップに貼り付けてあった30のソースコードをhtdocsに入れてみ 試したら まぁ〜〜〜〜〜〜っかwwwwwwwwwwwwwwwww ホンとすみませんでした・・・
37 名前:Name_Not_Found mailto:sage [2009/02/23(月) 15:38:54 ID:???] うるせえあと200回謝れ
38 名前:Name_Not_Found mailto:sage [2009/02/23(月) 17:46:36 ID:???] このスレになんかワロタw
39 名前:Name_Not_Found mailto:sage [2009/02/23(月) 22:47:05 ID:???] alert((parseInt('FFFFFFFFFFFFF', 16).toString(16))); alert((parseInt('FFFFFFFFFFFFFF', 16).toString(16))); なんか7バイト(F14個)以上だと繰り上がっちゃうみたいなんだけど どういう制限に引っかかってるのか分かる人いませんか? MAX_VALUEよりずっと少ない値だと思うんだけど・・・・・・
40 名前:Name_Not_Found mailto:sage [2009/02/23(月) 23:16:26 ID:???] ごめんなさい できたら>>9 にも知恵をお借り出来ないでしょうか?
41 名前:Name_Not_Found mailto:sage [2009/02/23(月) 23:48:58 ID:???] >>39 alert(72057594037927939); わからん >>9 最終的に object か embed を表示するだろうから そこを変えればいいんじゃないの?
42 名前:Name_Not_Found mailto:sage [2009/02/23(月) 23:54:29 ID:???] >>39 なんか書いてあったわよ。2^53までの整数はOKって。 www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/8_Types.html#section-8.5 alert(0x20000000000000.toString(16)) // 0x20000000000000 alert(0x20000000000001.toString(16)) // 0x20000000000000
43 名前:Name_Not_Found mailto:sage [2009/02/24(火) 07:37:48 ID:???] switchに値を渡して関数を実行させたいんですけど 下記のコードでは動きません switch(foo){ case 'bar': function(){ 処理; } break; } ↑のような動作を実現したい場合はどのように書けばよろしいのでしょうか。
44 名前:43 mailto:sage [2009/02/24(火) 07:52:02 ID:???] 自己解決しました。 case 'bar': ( function(){ 処理; })(); break; のように書くことで実行できました。
45 名前:Name_Not_Found mailto:sage [2009/02/24(火) 08:32:06 ID:???] その発想はなk(ry 俺はまだまだ未熟なのか・・・。
46 名前:Name_Not_Found mailto:sage [2009/02/24(火) 08:40:29 ID:???] 前スレの最後のほうで同じネタがあったばかりだ。 ブックマークレットの function(){}() ね。
47 名前:43 mailto:sage [2009/02/24(火) 08:56:47 ID:???] 名前空間も汚染しないとかなんとかで これがオススメされてたんで使いました。 というか他の方法が分かりません!
48 名前:Name_Not_Found mailto:sage [2009/02/24(火) 09:24:25 ID:???] 書き方なんてどうとでも書けるよね? 何が分からないのか分からないw function test1(){ 〜; } function test2(){ 〜; } switch(foo){ case 'bar': test1(); break; case 'yah': test2(); break; }
49 名前:Name_Not_Found mailto:sage [2009/02/24(火) 09:56:16 ID:???] >>48 あんたが知ってる事を>>43 が知ってるとは限らんわな。 てかその書き方をしたくないって事位察することも出来ないの? まあ俺が察することをあんたが間違いなく察するという保証も無いけどな。
50 名前:Name_Not_Found mailto:sage [2009/02/24(火) 09:56:29 ID:???] >>46 違う違う。方法なんぞは知ってる。発想の方。 switchは「場合分け」。つまり分岐させることが本題なのに、 構文上、前段のbreakと次のcaseがカッコで視覚的に区別されてがない。 要するに、個別の分岐が他の構文と比較して、見ただけでは分かりにくい。 switchを使った上でプログラムを見やすくするなら、 処理を最小にして、構文の輪郭をはっきりさせなきゃいけない。 switchにカッコを突っ込むぐらいなら、処理切り出して関数化すか、 ifで書き換える。 だから、そもそもswitch内に合法的にカッコ突っ込んで 複雑な処理させようって発想が俺になかったわけ。 で、>44見て、もちろんこれをそのまま使おうとは思わんけど、 なんとなく、この発想は他のどこかで使えるんじゃないか?的な イメージもあったから、>45になったわけ。
51 名前:46 mailto:sage [2009/02/24(火) 10:09:48 ID:???] ごめん、何が言いたいのかさっぱりorz まあ解決したようでなによりです。
52 名前:Name_Not_Found mailto:sage [2009/02/24(火) 13:42:39 ID:???] >>43 の書き方はObjectリテラルの文法。それをlabelの延長である case文に適用しようとしてるからおかしくなる。(ごっちゃになってる) labelは目印に過ぎなくて、取っ払っても分岐処理以外は 正しく動作する手続きにしないといけない。 つーか改行入れろよ、入れないからごっちゃになるんだよw case 'foo': (function(){})(); break; >>50 >>47 が言ってるようにスコープの問題。 分岐処理が長ったらしいなら>>48 みたいにするべきだけど それは(function(){})()で包むのとはまた別の話、ていうか包む必要がない。 もっともスコープが気になる状況というのは十中八九、switchの外側が 複雑すぎるから、ラップするまえにそっちのfunction切り分けを 考えるべきだろうけどね。 ただどちらにせよ、使い捨て関数に対してグローバルを汚すfunction文は 名前空間を気にしているこの状況ではあり得ない。やるならfunction演算子。 function func(){} // NG var func = function(){}; // OK
53 名前:Name_Not_Found mailto:sage [2009/02/24(火) 15:55:38 ID:???] 便乗的に質問。 >>44 のfunctionを囲っている()を外すと動かなくなるのは何故??
54 名前:Name_Not_Found mailto:sage [2009/02/24(火) 16:03:59 ID:???] >>53 文法的におかしいから。 ()の意味が不明瞭だからか、function演算子に優先順位が定義されてないせい。
55 名前:Name_Not_Found mailto:sage [2009/02/24(火) 16:12:01 ID:???] じゃあ俺も便乗しよう >ただどちらにせよ、使い捨て関数に対してグローバルを汚すfunction文は >名前空間を気にしているこの状況ではあり得ない。 時々このスレで言われてるけどこれがよくわからない function文による匿名関数を乱発すると何故困るのかできれば教えていただきたい
56 名前:Name_Not_Found mailto:sage [2009/02/24(火) 16:15:29 ID:???] >>55 ダメと言ってるのはこれ。どう見ても無名じゃない。 function func(){}
57 名前:53 mailto:sage [2009/02/24(火) 16:19:27 ID:???] >>54 なるほど、どうもありがとう。 匿名関数を書き換えて名前ありの関数にしてみたら () 無しでも動きました〜!
58 名前:Name_Not_Found mailto:sage [2009/02/24(火) 16:24:28 ID:???] もうちょっと書こうか。 function func1(){} // function「文」はグローバル func2 = function (){}; // func2がグローバルだから実質的にfunc1と同様 function f(){ var func3 = function foo(){}; // 変数func3はf()関数内ローカル // 関数そのものに名前は付いてるけどfunction「演算子」ではfooは定義されない // このfooはtoStringでのデバッグプリントや再帰呼び出しに用いられる function func4(){} // エラーは出ないけど関数内でのfunction文は本来不可能 } スコープの重要性については今更な話だから自分で勉強して。
59 名前:Name_Not_Found mailto:sage [2009/02/24(火) 16:27:34 ID:???] >>52 >分岐処理が長ったらしいなら>>48 みたいにするべきだけど それはあんまし良くないっしょ? ということまで込みで、 >50を書いたつもりだったんだけど。 「そこそこ長くなるなら、ifで書き換えてしまった方が見通しはいい」 ↑これが俺の大前提。 switch(foo){ case 'bar': 処理; break; case 'bar2': 処理2: break; } で、処理に対してスコープを作るなら if (foo == 'bar'){ 処理; } else if (foo == 'bar2'){ 処理2; } でいいじゃん、と。 その上で、処理の中でどうしても変数の切り離し等必要なら、 その必要な部分だけを切り出して関数化する。 んで、その関数の大きさで、名前付けて別関数にするか、 その場で (function)(); で済ませるかを考える。 function func()... と var func = function()... の違い? もっと遥か手前の段階の話として、大きな一連の処理の中で ベタベタベタベタと処理に何の関係もない変数が"見えて"いる状態を キモチ悪いと思う人なら、そんな違いを問題にしている場合じゃないって 分かるはずなんだけどな。
60 名前:Name_Not_Found mailto:sage [2009/02/24(火) 16:31:02 ID:???] >>56 あー 勘違いしてた どうもどうも
61 名前:Name_Not_Found mailto:sage [2009/02/24(火) 16:33:13 ID:???] >>59 >if (foo == 'bar'){ 処理; } それjavascriptじゃスコープ生まれないはず。 あとfunctionの話はもはや別件。
62 名前:Name_Not_Found mailto:sage [2009/02/24(火) 16:36:29 ID:???] もしかして>>59 の言う「スコープ」って視覚的な意味? switchに長ったらしく書くなっていうのは激しく同意。
63 名前:Name_Not_Found mailto:sage [2009/02/24(火) 16:42:51 ID:???] >>59 分かりにくく相手に伝わりにくい言葉使いが多すぎる。 javascriptの知識レベルはすごいけど回答者には向いてないかも。
64 名前:Name_Not_Found mailto:sage [2009/02/24(火) 17:09:11 ID:???] javascriptの知識レベルがすごくてかつ分かりやすい説明をする回答者あんまりいないし 別にいいんじゃないの 間違いを教えるような糞回答者以外にケチつけるのはどうかなあと思うYO!
65 名前:Name_Not_Found mailto:sage [2009/02/24(火) 17:14:53 ID:???] ケチというわけじゃないんだよね、気に障ったらごめん。
66 名前:Name_Not_Found [2009/02/24(火) 17:22:10 ID:nN6amLLI] iframeの表示領域は、あらかじめwidthとheight属性で規定しておく必要がありますが、 表示内容が想定より大きくなったり、小さくなったりすると、表示が崩れてしまいます。 javascriptを使って他のページをフレームに合わせて表示するにはどうしたらいいのでしょうか? 例えば、こんな感じにしたいのです。 ↓ www.w-index.com/main1.htm
67 名前:Name_Not_Found mailto:sage [2009/02/24(火) 17:30:57 ID:???] >>66 >iframeの表示領域は、あらかじめwidthとheight属性で規定しておく必要がありますが、 >表示内容が想定より大きくなったり、小さくなったりすると、表示が崩れてしまいます。 ・指定する必要はない ・崩れない
68 名前:Name_Not_Found [2009/02/24(火) 17:56:56 ID:HZbI/oOG] >>66 過去にやったことがある。 フレームの中に表示されるページを同ドメインにして、 内容物の大きさを測って、iframeのwidthとheightを変更すればいい。 内容物の大きさを測るのって、結構面倒。 bodyの大きさを測ればいいってモノでもなくて、 全体をdivやtableで括って、無理矢理計測したりした。
69 名前:Name_Not_Found mailto:sage [2009/02/24(火) 19:33:54 ID:???] IFRAME内の表示内容の大きさが事前に分からないってことは 他ドメインから引っ張ってくるのか? ローカルに置いて個人的に利用するとかなら問題ないだろうけど、 そこの w-index.com とやらみたいに公開すると 面倒なことになるかもしれないので念の為。 つ トータルニュース事件
70 名前:Name_Not_Found mailto:sage [2009/02/24(火) 21:23:41 ID:???] 前のエロサイトを同時に開きたいですとか言うアホな質問者じゃないのかw
71 名前:Name_Not_Found mailto:sage [2009/02/24(火) 21:27:04 ID:???] function func() { ... } JavaScript実行開始前に一旦評価される。 よって定義時前にfuncを呼び出しても問題ない。 var func = function() {...}; 代入時まで匿名関数が評価されない。 よって代入前にfuncを呼び出すとエラーになる。
72 名前:Name_Not_Found mailto:sage [2009/02/24(火) 22:12:56 ID:???] >>66 は、CSSでoverflow: scrollにしてやればいいんじゃないかと思わなくもない。 試してないから実際これでいいかは知らない。
73 名前:39 mailto:sage [2009/02/24(火) 22:22:00 ID:???] >>42 あー符号なし整数が無いからそうなる感じなのかな。なるほど。ありがとう 型の無いスクリプト言語なんだから、今時8バイトぐらいやってくれりゃいいのに・・・・・・
74 名前:Name_Not_Found mailto:sage [2009/02/25(水) 02:39:38 ID:???] 断りもなく言語使用変えてもらっても困るが
75 名前:Name_Not_Found mailto:sage [2009/02/25(水) 07:53:37 ID:???] >>73 整数も8バイト、実数も8バイトだったらどの型かを区別する 情報はさらに別に持つことになってしまうでしょ。
76 名前:Name_Not_Found mailto:sage [2009/02/25(水) 18:53:22 ID:???] 一度リムーブしたノートのクローンを取って復活させることって できますか。
77 名前:Name_Not_Found [2009/02/25(水) 19:48:48 ID:MjYzYKx5] >>76 ノードな。できるよ。 removeChildしても、ツリーから外れるだけでノードは生きてる。 クローンにしなくても、できる。
78 名前:76 mailto:sage [2009/02/25(水) 19:51:50 ID:???] >>77 そうなんですね。やってみます。ありがとうございます。
79 名前:Name_Not_Found mailto:sage [2009/02/25(水) 22:27:03 ID:???] 外部ファイル (aaa.js) function showhide(id){ if(document.getElementById){ if(document.getElementById(id).style.display == "none") document.getElementById(id).style.display = "block"; else document.getElementById(id).style.display = "none"; } } htmlファイル <a href="???">ここをクリック</a> <div id="???"> <table border="0"> <tr> <td>教えて</td><td>下さい</td> </tr> </table> </div> 「ここをクリック」をクリックすると、 テーブルが表示・非表示されるようにしたいのですが 色々と検索してみたのですがわかりませんでした。 どうすれば外部ファイルを実行し、テーブルを表示・非表示にする事ができますか?
80 名前:Name_Not_Found mailto:sage [2009/02/25(水) 22:40:47 ID:???] >>75 いや、持てばいいじゃん。そんなの
81 名前:Name_Not_Found mailto:sage [2009/02/25(水) 22:50:16 ID:???] <script type="text/javascript" src="aaa.js"></script> <a href="#" onclick="showhide('div0'); return false">ここをクリック</a> <div id="div0"> <table border="0"> <tr> <td>教えて</td><td>下さい</td> </tr> </table> </div>
82 名前:Name_Not_Found [2009/02/25(水) 23:52:39 ID:bYG/ZxZk] document.cookie= "item[0]['name']=りんご"; document.cookie= "item[0]['money']=100"; PHPで$_COOKIE['item'][0]['name']で「りんご」という文字列を取り、 $_COOKIE['item'][0]['money']で「100」という文字列を取りたいのですが、 上記のjavascriptでクッキーを発行することはできますでしょうか? 試してみたのですがクッキーが書き込まれなかったので別の問題なのでしょうか?
83 名前:79 mailto:sage [2009/02/26(木) 00:42:49 ID:???] >>81 ありがとうございました
84 名前:Name_Not_Found mailto:sage [2009/02/26(木) 00:51:20 ID:???] >>82 document.cookie の仕様を調べてください PHP からは配列に見えるかもしれないけど 実際には平文だから
85 名前:Name_Not_Found mailto:sage [2009/02/26(木) 01:44:28 ID:???] >>84 知ったかすんなよ。 jacascriptがクッキーをセットする前にPHPで値を取ろうとしてるんでしょ。
86 名前:Name_Not_Found mailto:sage [2009/02/26(木) 02:02:23 ID:???] これはひどい
87 名前:Name_Not_Found mailto:sage [2009/02/26(木) 02:29:12 ID:???] これは格別
88 名前:Name_Not_Found mailto:sage [2009/02/26(木) 09:11:05 ID:???] >>85 どういう意味?
89 名前:82 [2009/02/26(木) 10:53:29 ID:Yz7Asy9K] 返信遅くなって申し訳ありません document.cookieは平文なんですね、勉強になります $_COOKIE['item'][0]['money']のような形式でPHPで配列として値を取りたいのですが PHPでは本家公式サイトで教示された>>82 のようなNAMEで実現できるのですがjavascriptでクッキーを発行するとできないという認識でよろしいでしょうか? どなたか分かる方いらっしゃいましたらご教示お願いいたします
90 名前:Name_Not_Found mailto:sage [2009/02/26(木) 11:03:11 ID:???] >>89 > PHPでは本家公式サイトで教示された>>82 のようなNAMEで実現できるのですがjavascriptでクッキーを発行するとできないという認識でよろしいでしょうか? なら、PHP でどういう Cookie が発行されているか、ヘッダ見てみなよ。
91 名前:Name_Not_Found mailto:sage [2009/02/26(木) 11:11:44 ID:???] 質問からそれた回答でフイタ
92 名前:Name_Not_Found mailto:sage [2009/02/26(木) 11:31:02 ID:???] >>90 PHPが生成したクッキーを、JavaScript側で「alert(document.cookie);」 を実行して確認してみなよ。それと同様の形にしなければPHP側で同じ ようには扱えないということは言われなくても分かるよね?
93 名前:Name_Not_Found mailto:sage [2009/02/26(木) 11:37:32 ID:???] >>92 なんで回答者にコメントしてるの?
94 名前:Name_Not_Found mailto:sage [2009/02/26(木) 11:40:57 ID:???] クッキー名で配列を記述することにより、クッキーの配列を設定することも可能です。 これにより配列要素と同数のクッキーを設定されますが、 クッキーがスクリプトに受信された際に、 値はクッキー名を有する配列に置きかえられます。 <?php // クッキーを設定します setcookie("cookie[three]", "cookiethree"); setcookie("cookie[two]", "cookietwo"); setcookie("cookie[one]", "cookieone"); // ページを再読み込みした後に、表示します if (isset($_COOKIE['cookie'])) { foreach ($_COOKIE['cookie'] as $name => $value) { echo "$name : $value <br />\n"; } } ?> 上の例の出力は以下となります。 three : cookiethree two : cookietwo one : cookieone
95 名前:Name_Not_Found mailto:sage [2009/02/26(木) 11:43:39 ID:???] >>94 いや、だから、PHP で勝手に処理されている内容を確認するために ヘッダを確認するか、alert しろって言われてるんだろ。
96 名前:Name_Not_Found mailto:sage [2009/02/26(木) 11:48:19 ID:???] >>94 めんどくせー奴だな。 Set-Cookie: cookie[three]=cookiethree Set-Cookie: cookie[two]=cookietwo Set-Cookie: cookie[one]=cookieone だったぞ。あとは好き勝手にしろ。
97 名前:Name_Not_Found mailto:sage [2009/02/26(木) 11:59:56 ID:???] PHPでクッキー発行するのもjsで発行するのも同じ だから回答してる人の大半は間違い
98 名前:Name_Not_Found mailto:sage [2009/02/26(木) 12:01:02 ID:???] >>95 PHPでクッキーを発行したから$_COOKIEで取れるようになると勘違いしてる人発見
99 名前:Name_Not_Found mailto:sage [2009/02/26(木) 12:12:35 ID:???] >>97 俺は間違ってないな。発行するのは同じなのは当然分かってる。 元質問者が > PHPで配列として値を取りたい というところで躓いているから、書いているだけだ。 >>98 全然勘違いしてない。勝手にってのは > foreach ($_COOKIE['cookie'] as $name => $value) { で配列として勝手にパースされる部分のことを言っている。
100 名前:Name_Not_Found mailto:sage [2009/02/26(木) 12:55:11 ID:???] 今日も元気なゴミ回答者共晒しあげ >>85 ,90,92-96,98-99 > 上記のjavascriptでクッキーを発行することはできますでしょうか? > javascriptでクッキーを発行する
101 名前:Name_Not_Found mailto:sage [2009/02/26(木) 13:10:22 ID:???] 質問者はPHPで配列の形で値を取りたいと聞いてるけど クッキーに配列を登録したいとは書いてないね
102 名前:Name_Not_Found mailto:sage [2009/02/26(木) 13:12:31 ID:???] 俺は無理に答えられない質問は答えないけどここのヘボ回答者は(笑)
103 名前:Name_Not_Found mailto:sage [2009/02/26(木) 14:08:21 ID:???] 他の言語の仕様をそのまま持ち込む質問者には関わらないという家訓に従って正解だったな
104 名前:Name_Not_Found mailto:sage [2009/02/26(木) 14:16:41 ID:???] >>103 >>97
105 名前:Name_Not_Found mailto:sage [2009/02/27(金) 00:05:08 ID:???] >>58 > // エラーは出ないけど関数内でのfunction文は本来不可能 これホント?ソースある?
106 名前:Name_Not_Found mailto:sage [2009/02/27(金) 00:10:10 ID:???] ウソだろ 関数の中に関数を定義すれば、スコープチェーンにCallオブジェクトが追加される
107 名前:Name_Not_Found mailto:sage [2009/02/27(金) 00:12:16 ID:???] 試せばわかるだろ
108 名前:Name_Not_Found mailto:sage [2009/02/27(金) 00:44:27 ID:???] >>106 function expression の使用は一般的だけど、よく考えてみると function declaration はあまり見かけないので不安になったり。 でも MDC に nested function について「できる」とはっきり書いてありました。 ttps://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Functions_and_function_scope
109 名前:Name_Not_Found mailto:sage [2009/02/27(金) 01:29:18 ID:???] たとえば100個の要素を全て10と言う値を入れて初期化したい場合はどのように書けばいいですか? for文を使うしかないんでしょうか?
110 名前:Name_Not_Found mailto:sage [2009/02/27(金) 07:35:44 ID:???] そりゃ配列の話かね
111 名前:Name_Not_Found mailto:sage [2009/02/27(金) 10:23:49 ID:???] >>109 php.js使ってphpにある関数つかうかfor
112 名前:Name_Not_Found [2009/02/27(金) 13:15:58 ID:ycKZyQDf] DBを備えた個人HPを作成したいのですが、 Javaスクリプトはどのような場面に使用するのでしょうか。 また、無償で入手できるのでしょうか。 よろしくお願いします。
113 名前:Name_Not_Found mailto:sage [2009/02/27(金) 13:30:16 ID:???] alert("てst"); ほら、無料でやるよ
114 名前:Name_Not_Found [2009/02/27(金) 15:00:38 ID:LL+dqAy1] jquery についての質問です。 画面内に複数のボタンがあり、ボタンが押されたときに 同じ処理をしたいときって、jquery で短縮して書くことってできませんかね? 関数化して呼び出せばいいんだけど、それ以外の方法があったら知りたいです。 --------------------------------------------------- $('#button1').click(function(){ alert('hello!'); }); $('#button2').click(function(){ alert('hello!'); }); ↓こんな感じに書くことが出来ないのか?↓ $('#button1' or '#button2').click(function(){ alert('hello!'); });
115 名前:Name_Not_Found mailto:sage [2009/02/27(金) 15:12:15 ID:???] >>112 >Javaスクリプト donbiki
116 名前:Name_Not_Found mailto:sage [2009/02/27(金) 15:40:30 ID:???] >>114 $('#button1,'#button2').click(function(){ alert('hello!'); });
117 名前:Name_Not_Found mailto:sage [2009/02/27(金) 15:45:19 ID:???] >>112 鯖で全部処理したくなくてUI側で処理したい場合使え
118 名前:Name_Not_Found mailto:sage [2009/02/27(金) 16:21:41 ID:???] >>114 $('#button1, #button2').live('click',function(){ alert('hello!'); });
119 名前:Name_Not_Found mailto:??? [2009/02/27(金) 17:47:55 ID:???] <table border="5"> <tr><td> <table border="2"> <tr> <td rowspan="3">A</td> <td>BBBBBBBBBB</td> </tr> <tr> <td>CCCCCCCCC</td> </tr> </table> </td></tr> </table> ---------------------------- ■上記のようなテーブルソースで、Aに画像、B・Cにテキストを表示 ■このタグの中にJavaScriptをいれ、A・B・Cをランダムで表示させる そして、何に悩んでいるのかというと 「A・B・Cが全て紐付けいていないといけない」のです 画像名 テキスト1 テキスト2 ---------------------------- 1gif → あいう えお ---------------------------- 2.gif → かきく けこ ---------------------------- 3.gif → さしす せそ ---------------------------- 1.Aに「1.gif」が表示されるときは、Bにあいう、Cにえお のテキストを表示 2.Aに「2.gif」が表示されるときは、Bにかきく、Cにけこ のテキストを表示 3.Aに「3.gif」が表示されるときは、Bにさしす、Cにせそ のテキストを表示 このような時のJavaScriptはどのように表したらよいのでしょうか?
120 名前:Name_Not_Found mailto:sage [2009/02/27(金) 18:02:55 ID:???] 別に1.gifが表示されるときは、Bにあいう、Cにえおのテキストを表示すればいいんでないの? 画像ファイル名が数値なんだからランダム関数か何かで1、2、3のどれかを生成して それによって場合分けすれば? 画像の表示にはimgタグをぶち込めばいい
121 名前:Name_Not_Found mailto:sage [2009/02/27(金) 18:07:47 ID:???] 3つともバラバラの方が宿題としては難しいんじゃないかなw
122 名前:Name_Not_Found mailto:sage [2009/02/27(金) 18:13:29 ID:???] つうかまたtable無茶苦茶だなw
123 名前:Name_Not_Found mailto:sage [2009/02/27(金) 18:20:18 ID:???] table二重でボーダー太ぇw
124 名前:119 mailto:??? [2009/02/27(金) 18:54:07 ID:???] えっとすみません、わかりにくすぎました。 改めて…この記述ってありですか? <table> <tr> <td> <SCRIPT TYPE="text/javascript"> var msg = new Array(); // ▼テキスト1 ここから msg[0] = 'あいう'; msg[1] = 'かきく'; msg[2] = 'さしす'; // ▲テキスト1 ここまで </SCRIPT> </td> <td> <SCRIPT TYPE="text/javascript"> var msg = new Array(); // ▼テキスト2 ここから msg[0] = 'えお'; msg[1] = 'けこ'; msg[2] = 'せそ'; // ▲テキスト2 ここまで </SCRIPT> </td> </tr> </table>
125 名前:Name_Not_Found mailto:sage [2009/02/27(金) 19:07:13 ID:???] 合ってますかって言うか、何で実行してみないの? 間違ってないから実行できると思うけど、何も起きないよそれじゃ テキスト1とテキスト2に同じmsgて言う配列使っちゃってるから テキスト1の内容がテキスト2の内容で上書きされちゃってるし
126 名前:Name_Not_Found mailto:sage [2009/02/27(金) 22:12:31 ID:???] コロメス?誰?
127 名前:Name_Not_Found mailto:sage [2009/02/27(金) 22:13:02 ID:???] 誤爆しました失礼
128 名前:Name_Not_Found mailto:sage [2009/02/28(土) 00:02:03 ID:???] >>124 a=['a1','a2','a3'];b=['b1','b2','b3'];c=['c1','c2','c3'];r=Math.floor(Math.random()*3);document.write(a[r]+b[r]+c[r]);
129 名前:Name_Not_Found mailto:sage [2009/02/28(土) 00:24:03 ID:???] a = [ { name: '1.gif', txt1: 'あいう', txt2: 'えお' }, { name: '2.gif', txt1: 'かきく', txt2: 'けこ' }, { name: '3.gif', txt1: 'さしす', txt2: 'せそ' } ]; with(a[Math.random() * a.length | 0]) alert([name, txt1, txt2].join('\n'));
130 名前:Name_Not_Found mailto:sage [2009/02/28(土) 02:35:25 ID:???] r.tabelog.com/ このページのJavaScriptの使い方ってどうよ
131 名前:Name_Not_Found mailto:sage [2009/02/28(土) 03:53:53 ID:???] document.formname.elements[-1] というような存在しない要素を指定したときには何が返ってくるの? 「存在するとき」がほしかったから document.formname.elements[x] != undefined としてみたけど、IEだと動いたけどFirefoxだとだめだったの。 どうしたらよろしいの?
132 名前:Name_Not_Found mailto:sage [2009/02/28(土) 04:19:29 ID:???] 存在しないときは undefined が返る 判定はあってるけど Firefox だと配列で負の値を指定すると uncaught exception になるみたいエラーコンソールに出てるよ。
133 名前:Name_Not_Found mailto:sage [2009/02/28(土) 08:05:15 ID:???] >>130 どうよと言われても、作成者の目的が達成できてるなら、何がどうだろうと別にかまわんだろ? 俺は中身見てないけどな(笑) --- 好意評価系 --- もし、「ここのJavaScriptって結構いいんじゃね?」系の話がしたいのならば、黙って帰れ。 このスレはそんなトコじゃねーから。 --- 否定評価系 --- もし、大したこともない動作に云々...、と言いたいって話なら、 それはユーザーインターフェースの設計とか採用する技術の問題であって、JavaScriptとは全く関係ない。 プログラムが構文的に正しいかとか、ソースが見やすいだとかいう面の話ならば、 それは目的とする動作の仕組みとは関係なくて、プログラムのメンテナンスやライフサイクル方面の話だから、 作者が対象とするもの(=作者の目的)に対して十分ならどうでもいいこと。 わかりやすく言えば「『動かねーぞ』とクレームが来たら即時対応する」なら、 初期ユーザーとメンテ担当者が迷惑するだけで、目的そのものは果たせる。大抵は。 目的に対して不十分なまま運用してるんじゃないかって話であれば、 そりゃ作者の腕の問題であってプログラムの問題じゃない。 そもそも、どこまでを目的としてるか分からんしな。
134 名前:Name_Not_Found mailto:sage [2009/02/28(土) 18:31:31 ID:???] はい、次の方ー
135 名前:Name_Not_Found [2009/03/01(日) 00:19:20 ID:Pr/7k9di] javascriptを開発し発案者または開発者を知りたいのですが ご存知の方いらっしゃいませんか?
136 名前:Name_Not_Found mailto:sage [2009/03/01(日) 00:25:42 ID:???] ぐぐれ
137 名前:Name_Not_Found mailto:sage [2009/03/01(日) 00:25:49 ID:???] 俺だ
138 名前:Name_Not_Found mailto:sage [2009/03/01(日) 01:08:58 ID:???] en.wikipedia.org/wiki/Brendan_Eich
139 名前:Name_Not_Found [2009/03/01(日) 01:18:30 ID:6cXtTeyN] 【現状】 gifで作ったボタンが3つ縦に並んでいる。 このボタンをクリックするとツリー構造で表示される。 一番上のgifファイルをクリックすると、きちんとツリーが表示されるが、 二番目以降のボタンを押しても機能しない。 この原因がよくわからない。 【依頼内容】 @上記の原因を教えてほしい。 A改善案を教えてほしい。 Bできたらサンプルコードがほしい。 【作成環境】 Windoes Vista Home Basic 【備考】 たぶんよくわからんと思うので、下記のうpろだから、 ZIPを落として確認してもらえるとうれしいです。 【うpろだ】 www.dotup.org/uploda/www.dotup.org1737.zip.html <DLパス> 1234
140 名前:Name_Not_Found mailto:sage [2009/03/01(日) 01:22:53 ID:???] >>139 対価は?
141 名前:Name_Not_Found [2009/03/01(日) 01:36:58 ID:6cXtTeyN] >>140 対価ですか…? 正直あげられるものはエロ画像くらいしかないのですが…
142 名前:Name_Not_Found mailto:sage [2009/03/01(日) 01:44:49 ID:???] 色々論外だ罠。 id の重複、document.all が使えるのは IE と Opera のみ、タグの打ち方、など問題は諸々。 動作しないのは id の重複っぽいけど。 とにかく JavaScript だけじゃなく、HTML と CSS の基礎を身につけるべき。
143 名前:Name_Not_Found mailto:sage [2009/03/01(日) 07:36:14 ID:???] すみません、ネットで調べてもわからなかったので質問です。 (そもそも引っかからなかったorz) 今prototype.jsを勉強しているのですが、 !!(window.attachEvent && !!window.opera) に使われている !! って、そんな機能の演算子なんでしょうか? prototype.jsをコールしなくても機能しましたです。 他の用法: result = result && !!iterator(value, index); など。
144 名前:Name_Not_Found mailto:sage [2009/03/01(日) 07:59:51 ID:???] 他の書き方をすると長くなるからどうしても長くなっちゃうから単純に2回行ってるだけだと、 一回だと false になるからもう一回やって true にするって感じ。
145 名前:Name_Not_Found mailto:sage [2009/03/01(日) 08:00:13 ID:???] 変な日本語にorz
146 名前:Name_Not_Found mailto:sage [2009/03/01(日) 08:03:49 ID:???] >>145 そんな事ないですよw >>144 なるほど、、、否定の否定をしてるだけで、特に意味はないって事ですかw ありがとうございました!!
147 名前:Name_Not_Found mailto:sage [2009/03/01(日) 09:01:44 ID:???] 評価結果を boolean として保持したい場合の最小コード、代入しないなら無意味。
148 名前:Name_Not_Found mailto:sage [2009/03/01(日) 09:35:09 ID:???] n = "7" - 0 で数値に型変換しちゃうとかその類だな。
149 名前:Name_Not_Found mailto:sage [2009/03/01(日) 10:33:54 ID:???] !!みたいなこういう細かいテクニックがまとめられてるサイトってない? 知っておくと便利な雑技的なコード記述方法集。
150 名前:Name_Not_Found mailto:sage [2009/03/01(日) 10:51:30 ID:???] >>149 まかせた!!
151 名前:Name_Not_Found mailto:sage [2009/03/01(日) 10:54:40 ID:???] >>149 www.google.co.jp/
152 名前:Name_Not_Found mailto:sage [2009/03/01(日) 10:58:08 ID:???] >>149 現状では、各種Frameworkのソースを読むのが速い模様。
153 名前:Name_Not_Found mailto:sage [2009/03/01(日) 11:03:25 ID:???] >>140 こんな数行で終わる簡単なコードで対価とかバカじゃねえの?
154 名前:Name_Not_Found mailto:sage [2009/03/01(日) 11:23:27 ID:???] flashで作られたサイトの文字列を取得したいのですが、javascriptで可能でしょうか? もしできるなら使用する関数等を教えていただけると嬉しいです。
155 名前:Name_Not_Found mailto:sage [2009/03/01(日) 11:44:42 ID:???] flashコンテンツの製作者側が文字列を取得されることを想定していて そのための準備をしておけば可能
156 名前:Name_Not_Found mailto:sage [2009/03/01(日) 12:05:07 ID:???] >>147 あぁなるほど、、真偽値と明示するためかぁ、、 >>148 そんな小技があったんですか?! 試しにjavascript/ActionScriptで test = "7" - 0; document.write(typeof(test)); / trace(typeof(test)); したら、両方numberでした。 今までずーっと、parseIntしてた。。。orz
157 名前:Name_Not_Found mailto:sage [2009/03/01(日) 12:55:57 ID:???] >>150-151 氏ね >>152 なにそれ?
158 名前:Name_Not_Found mailto:sage [2009/03/01(日) 13:22:25 ID:???] >>153 −−−コンピュータジョーク−−− どんな機械でも直せる、優れたエンジニアがいた。 30年間忠実に会社に勤めた後、彼は無事引退した。 数年後、数億円の機械がどうしても直せないと、会社から知らせを受けた。 いろいろ試したが、彼らにはどうにも直せな いのであった。 彼らは自暴自棄になって、過去に多くの問題を解決した、引退したエンジニアに連絡を取った。 エンジニアは、しぶしぶ腰を上げたのであった。 彼は、巨大な機械を一日かけて調べた。 その日も終わろうかという頃、彼はある部品の上に小さな"x"マークをチョークで書いて、誇らしげに言った。 「これが問題の個所だ」 その部品は交換されて、また機械は完全に動くようになった。 会社は、仕事代として5万ドルを彼から請求された。 会社は、料金の明細を要求した。そのエンジニアは、ごく短い返答をよこした。 ・チョークのマークひとつ $1 ・それをどこに書くか知っていること $49,999 料金は全額支払われ、エンジニアは再び幸せな引退生活に戻った。
159 名前:Name_Not_Found mailto:sage [2009/03/01(日) 15:39:29 ID:???] >>157 きえろクソヤロウ
160 名前:Name_Not_Found mailto:sage [2009/03/01(日) 15:43:33 ID:???] 何かすごい変な初心者がいるな 基礎くらいは身に付けてから質問してくれ
161 名前:Name_Not_Found mailto:sage [2009/03/01(日) 16:16:01 ID:???] 小技というか、JavaScriptのデータ型自動変換は基礎だよな? ・数値を文字列へ変換 → 空文字列を連結する var string_value = number + ""; ・文字列を数値へ変換 → 文字列を数値演算(-や*)で用いる(ただし +演算子は文字列連結で使用されるので不可) var numeric_value = string_value - 0; var numeric_value = string_value * 1; var numeric_value = parseInt("12meters"); // 数値に文字列が続く場合はparseIntなどを使用する。結果は数値の12。 // この方法はCSSの属性値文字列のpixel単位などを取り除くのに便利。 ・オブジェクトや文字列、数値などを論理値へ変換 → 否定演算子を2回使用する(論理値コンテキストで使用する) !!window.attachEvent // オブジェクトは存在すればtrueであり、否定演算子を1回使用すると論理値falseになる。 // よってその論理値falseをもう一度否定演算子でtrueに戻すことで、本来の論理値trueが得られる。 !!"" // 結果はfalse。空文字列は論理値が使用されるコンテキストではfalseに自動変換される。 !!"JavaScript" // 結果はtrue。空でない文字列は論理値が使用されるコンテキストではtrueに自動変換される。 !!0 // 結果はfalse。数値0は論理値が使用されるコンテキストではfalseに自動変換される。 !!404 // 結果はtrue。0(とNaN)以外の数値は論理値が使用されるコンテキストではtrueに自動変換される。
162 名前:Name_Not_Found mailto:sage [2009/03/01(日) 16:34:09 ID:???] 基礎というか、それ知らなきゃ何もできないはずだよなw 言語がデータを内部でどんな形で保持しているか知らなきゃ、 プログラムが組めるはずがない。 型の自動変換がある言語なら、それに加えて、 どんな時に型変換が起きるか知らなきゃいけない。 逆に言えば、どう書いてやれば型変換させる(=型変換を指示する) ことができるか知らなきゃお話にならない。 プログラムってのはコンピュータに対する指示書なんだから。 だから、細かいテクニック集なんてものは存在しないでしょ。 while(1) みたいな定石・テンプレをまとめた本なんかもあるけど、 それも結局、それらを使うようになった段階で 自然に修得しているはずのものだし。 教えてくれなんてのは、本当に緊急にそれが必要で人に頼るしかない人か、 ただの経験不足か、経験はあっても自分で考えたことがない人の どれかだと思うな。
163 名前:Name_Not_Found mailto:sage [2009/03/01(日) 17:51:35 ID:???] 普通!!なんて使うような組み方は他の言語じゃしないと思うが・・・ 静的型付けの場合はできないといったほうが正しいか 普通はそういうのを返すメソッドを別に定義するよな
164 名前:Name_Not_Found mailto:sage [2009/03/01(日) 17:59:09 ID:???] そうかな 型変換なんてキャストで十分じゃないか
165 名前:Name_Not_Found mailto:sage [2009/03/01(日) 17:59:55 ID:???] >>161 ありがとう、とても参考になりました。 型変換以外にも探せばいろいろありそう。 >>0 は使い道多そうだ。
166 名前:Name_Not_Found mailto:sage [2009/03/01(日) 18:05:25 ID:???] undefinedのないJavaScript1.2でif(o)を正しく認識させるのに!!を使った そういう歴史的な話をテクニックと混同するなよ
167 名前:Name_Not_Found mailto:sage [2009/03/01(日) 18:16:29 ID:???] >>165 データ型自動変換のまとめ表も参照しときな ttp://d.hatena.ne.jp/hetappi/20071020/1192857711 書いてないけど、一番左の列が元のデータ型で、残りは実行コンテキストな
168 名前:Name_Not_Found mailto:sage [2009/03/01(日) 19:30:28 ID:???] >>166 うるせーばか >>167 どうもありがとうございました。
169 名前:Name_Not_Found mailto:sage [2009/03/01(日) 19:55:43 ID:???] >>149 =>>157 =>>168 おまえなぁ...
170 名前:Name_Not_Found mailto:sage [2009/03/01(日) 19:58:02 ID:???] ある意味では被害者のゆとり小学生だから許してやれ
171 名前:Name_Not_Found [2009/03/01(日) 22:39:47 ID:R7yDioCd] >>161 >この方法はCSSの属性値文字列のpixel単位などを取り除くのに便利 ずっとこうしてた。目から鱗。 var css = "12px"; element.style.height = parseInt(css.replace("px",""));
172 名前:Name_Not_Found mailto:sage [2009/03/01(日) 22:46:45 ID:???] やれやれ
173 名前:161 mailto:sage [2009/03/02(月) 11:59:15 ID:???] >>171 ちょっと待て 位置指定関係のスタイル属性値を設定するときは、単位取っちゃ駄目だろw オレが書いた >この方法はCSSの属性値文字列のpixel単位などを取り除くのに便利 は以下のような意味 var area = parseInt(e.style.width) * parseInt(e.style.height); // 位置指定関係のスタイル属性値は単位が付いた文字列だが、 // parseIntを使用すると単位を削って、かつ数値にしてくれる。 位置指定関係のスタイル属性値を設定するときは、値は文字列でかつ単位が必須 e.style.height = "12px"; e.style.width = (offset_x + left_margin + left_border) + "px"; // 数値計算をした後に、必ず文字列で単位を付加する。 // 文字列で単位を付加することで、副作用として計算結果を文字列にできる。
174 名前:Name_Not_Found [2009/03/02(月) 14:19:42 ID:QHMsp747] >>173 ああ、そうでした。 var css = "12px"; element.style.height = parseInt(css.replace("px","")) + 10 + "px"; こういう回りくどいことしている、ってことでした。 失礼しました。
175 名前:Name_Not_Found mailto:sage [2009/03/02(月) 14:55:09 ID:???] セレクトメニュー内の一つ項目(A)を選択すると、欄(a)に項目(A)に設定された値が表示される。 これを、項目(A)に異なる値を二つ設定し、それぞれの値を欄(a)・欄(b)に表示することは出来ますか?
176 名前:Name_Not_Found mailto:sage [2009/03/02(月) 16:04:34 ID:???] 欄ってテキストボックスのこと? よく分からんけど、select-multipleで選択した各項目を 別々のテキストボックスに表示したいのかな?
177 名前:Name_Not_Found mailto:sage [2009/03/02(月) 16:21:00 ID:???] >>175 スマートではないが、オレオレ属性に "valueA,valueB" とでもしておいて split(',') すればいいんじゃまいか >>176 そろそろ通報していい?
178 名前:Name_Not_Found mailto:sage [2009/03/02(月) 16:28:46 ID:???] >>177 ありがとう 試してみます
179 名前:Name_Not_Found mailto:sage [2009/03/02(月) 21:30:29 ID:???] ./\ /\ /:::::::ヽ____/::::::::ヽ、 / ::. _ .::::::::::::: _::::ヽ_ / / °ヽ_ヽv /:/ °ヽ::::::ヽ / /.( ̄( ̄__丶 ..( ̄(\ ::::| ぐぐってもわかんないよ〜 . | .:::::::: ) )//tーーー|ヽ) ) .::::: ::| . | .::::...( (..||. | ( ( ::| だれかたすけて〜 . | :::. ) )| |⊂ニヽ .| ! ) ) ::::| | : ( ( | | |:::T::::.| ( ( ::| \: ) )ト--^^^^^┤ ) ) 丿 / ( ( ( .( \ / .、.) ) / \ _ \
180 名前:Name_Not_Found mailto:sage [2009/03/02(月) 21:41:33 ID:???] いつだって最後に頼りにしなくちゃならなくなるのは自分自身なんだぜ
181 名前:Name_Not_Found mailto:sage [2009/03/02(月) 21:46:33 ID:???] 人力検索ボランティアどもさっさとブラウザ立ち上げて調べろよksg
182 名前:Name_Not_Found mailto:sage [2009/03/02(月) 23:05:30 ID:???] _/彡三三三ミァrェ、 /彡彡ニ三三彡ソハヘ\\ /彡二三三三ニ彡f;;;;;;;;;;;;;;;;;}, |//彡三三ニ==! !|ヘ;;;;;;;;;;ヽヽ ,-, .|///´ ̄´゙ `ヽヘ',',ヘヘ;} / | ∨;f ヾ;;ヘ;;;ジュ l | `{リ 、,,,,,_ __,,,,,,、zィ ヾ'゙テリ | | `| rェeミ 、 {゙ィ‐eェァ = ソ |. | | | `~´..:i |:::.` ~ ´` r-' | | ', /::i i::::::、 、 | !´ ̄ ̄ ⌒〉 '、 '´ヽ(_>ィヘ丿 / | 〈⌒r‐‐'''''' ̄ 〉 ヽ `トエエエエイノ . | :::/^i ∨|─ー''''' ̄ | \ .ヾ三シ ノ ,'::::/ ,ハ | \>〈 | ハ /:::ィ゙ /⌒'、 / | ノ ィ^'ヽ┬‐'´ // ヽ | | /^ / |__八 // \| | / / / /: : : | >// ヽ | / / |/: : :/// | | ノ | |: :/// | |
183 名前:Name_Not_Found mailto:sage [2009/03/02(月) 23:22:51 ID:???] 知ってるかい? 何かを為すための力を能力って言うんだぜ。 つまり、自分では為し遂げられない奴のことは無能と呼べばいいわけだね。
184 名前:Name_Not_Found mailto:sage [2009/03/02(月) 23:30:30 ID:???] 人を使える力も能力って言うんだぜ
185 名前:Name_Not_Found mailto:sage [2009/03/03(火) 00:09:07 ID:???] いるよねぇ。そういうことをぶっちゃける奴って。 一番手伝いたくない相手だよ。
186 名前:Name_Not_Found mailto:sage [2009/03/03(火) 05:56:58 ID:???] >184 人脈だって力なのは当たり前。 旨い魚探すのに、自分で見分けるよう勉強するよりは、 魚知ってる人に頼む方が早いし確実。 人脈もないからここで質問してる人がいるわけで。
187 名前:Name_Not_Found mailto:sage [2009/03/03(火) 10:39:31 ID:???] >>185 は一生コキ使われて終えるタイプ
188 名前:Name_Not_Found mailto:sage [2009/03/03(火) 10:45:13 ID:???] >>186 金もなw
189 名前:Name_Not_Found mailto:sage [2009/03/03(火) 12:01:38 ID:???] JavaScriptでimgタグで貼り付けられている画像の元サイズを取得することは出来ないでしょうか? widthとheightは(徐々に大きくして見せたいので)最初は共に1pxを指定しているので、widthとheightを 用いることは出来ないのです。
190 名前:Name_Not_Found mailto:sage [2009/03/03(火) 12:12:53 ID:???] できる
191 名前:Name_Not_Found mailto:sage [2009/03/03(火) 12:13:31 ID:???] ttp://www2.chrog.com/userdata/mo/archives/4
192 名前:Name_Not_Found mailto:sage [2009/03/03(火) 12:21:02 ID:???] >>191 あー、Imageクラスってのがあるんですか。なるほど。 やってみたら、うまく出来ました。ありがとうございます!
193 名前:Name_Not_Found [2009/03/03(火) 13:38:28 ID:6aSMdo5v] jQueryを使っているのですが、Ajaxでサーバーとの通信を行う際、 getJSONだとGETでリクエストしてレスポンスはJSON形式で受け取りますが、 POST送信でレスポンスをJOSN形式で受け取る方法ってありませんか? $.post("url", {data}, function( data ){}, "json") としたのですが、返ってきた値がdataに入らずundefinedになってしまいます。
194 名前:Name_Not_Found mailto:sage [2009/03/03(火) 13:54:46 ID:???] getで取れるものならpostでも取れます
195 名前:Name_Not_Found mailto:sage [2009/03/03(火) 13:59:52 ID:???] $.post("url", {data}, function( data ){}, 'json')で普通にとれますた><。 >>194 とる方法を知りたかったんだがまぁいいや
196 名前:Name_Not_Found mailto:sage [2009/03/03(火) 14:35:58 ID:???] >>195 だからとれるって教えてんじゃん まあいいやじゃねえよ
197 名前:Name_Not_Found mailto:sage [2009/03/03(火) 14:41:23 ID:???] シングルクォートにするだけでいけるとかおかしいだろw 絶対別のとこがおかしかったんだろ
198 名前:Name_Not_Found mailto:sage [2009/03/03(火) 14:42:05 ID:???] howに対してyesで答える・・・
199 名前:Name_Not_Found mailto:sage [2009/03/03(火) 15:12:12 ID:???] >198 いや違うだろ。別にすり替えてるようには見えん。 問い自体が既に回答になっているなら、それ以上は答えようがないのは当たり前。
200 名前:Name_Not_Found [2009/03/03(火) 19:02:45 ID:0lUjosGo] 質問です。 ttp://www.playonline.com/ff11/index.shtml こちらのサイトのソースを見ると、ヘッダに<script src="/ff11/menu/js/include.js"></script>があるのですが 実際のjsファイルはttp://www.playonline.com/ff11/menu/js/include.jsにあります。 ttp://www.playonline.com/ff11/index.shtmlから指定するならば、<script src="/menu/js/include.js"></script>が正しいように思うのですが どうしたらこのように、相対パスを上位ディレクトリから指定することが出来るのでしょうか?
201 名前:Name_Not_Found mailto:sage [2009/03/03(火) 19:12:39 ID:???] >>200 つ 絶対パス
202 名前:Name_Not_Found mailto:sage [2009/03/03(火) 19:19:13 ID:???] ./menu/js/include.js menu/js/include.js 好きな方つかえ
203 名前:Name_Not_Found [2009/03/03(火) 19:45:28 ID:0lUjosGo] 絶対パスだと、ソースも絶対パスで表記されると思います。 この場合はindex.shtmlが/ff11/に存在しているにも関わらず <script src="/ff11/menu/js/include.js"></script>と、最上位ディレクトリを基準に相対パスで指定しているのが疑問なのです。 jsファイルを見ても特に変わったところはありませんでした。 このような指定の仕方をご存知の方おられましたら教えて下さい。
204 名前:Name_Not_Found mailto:sage [2009/03/03(火) 19:47:30 ID:???] 何が疑問なのかまったくわからない。
205 名前:Name_Not_Found mailto:sage [2009/03/03(火) 19:57:16 ID:???] / ・・・・・ルート /menu ・・・・ルートの下にmenuディレクトリ(>>200 のサイトにはルートの下にmenuは置いてない) /ff11 ・・・・・ルートの下にff11ディレクトリ ./ ・・・・現在いるディレクトリ ../ ・・・・一個上のディレクトリ 絶対パスと相対パスをもう少し勉強して雇用な
206 名前:Name_Not_Found mailto:sage [2009/03/03(火) 20:12:15 ID:???] CUIの本でも読んでこいと言いたくなるが(苦笑) httpなんちゃら〜と全部書くのが絶対指定だと勘違いしてるだけだな。 / (スラッシュ) の前にアルファベットを書けば、 それはカレント直下のディレクトリとして認識される。 つまり /ff11/index.shtml で menu/〜 と書けば カレント(/ff11) の直下の menu ディレクトリと見做す。 これが相対指定。 / の前に”何も書かなければ”それはルートディレクトリを 基準にしていると見做す。 つまり /ff11/menu/〜 と書けば、それを指定しているのが /ff11/index.shtml だろうが /finalfantasyxi/index.shtml だろうが /ff11/menu/〜 ディレクトリと見做す。 これが絶対指定。 . (ドット1つ)はカレントディレクトリを指す。 .. (ドット1つ)はカレントの親ディレクトリを指す。 だから、menu/〜 は ./menu/〜 と書いても同じことだし、 この場合なら ../ff11/menu/〜 でも同じ場所を指すことになる。
207 名前:Name_Not_Found [2009/03/03(火) 20:19:21 ID:0lUjosGo] 仰る通り、絶対パス=http://〜、と勘違いしていました。 「/」から書けば、どのディレクトリからでも同じように指定できるのですね。 JavaScriptどころか、HP作成の基本中の基本を知りませんでした。 ありがとうございました。
208 名前:Name_Not_Found mailto:sage [2009/03/03(火) 21:57:25 ID:???] スレチ
209 名前:Name_Not_Found [2009/03/04(水) 00:29:36 ID:3ITUMRdA] Jqueryについての質問です。 最初に取得済みのチェックボックス郡からチェックされてるものだけ抽出する事ってできませんかね? $( chks ,':checked') とか $( chks ,'[@checked]')とかやっても駄目だったんですが、 抽出方法ってありますか?
210 名前:Name_Not_Found mailto:sage [2009/03/04(水) 00:37:38 ID:???] このスレはいつから手取り足取りになったの?レベルが水面下進行中では?
211 名前:Name_Not_Found mailto:sage [2009/03/04(水) 00:46:04 ID:???] 元々一部のまともな解答者以外の、臭くてアホなテンプレ厨が混じるレベルの低いスレだけど、 そろそろjQuery(というかそれぞれのframework専用)スレを立てた方が良い模様。
212 名前:Name_Not_Found mailto:sage [2009/03/04(水) 01:00:06 ID:???] >>211 jQueryやYUI、prototype.jsはマニュアルが充実してるから建てるまでもないような気がする
213 名前:Name_Not_Found mailto:sage [2009/03/04(水) 01:18:29 ID:???] つまり ググれカス だな
214 名前:Name_Not_Found mailto:sage [2009/03/04(水) 01:23:43 ID:???] >>210 水面下進行中ってそういう意味なのか
215 名前:Name_Not_Found mailto:sage [2009/03/04(水) 01:34:02 ID:???] >>212 いやフレームワーク本体にもバージョンアップによる変更点がそれなりにあるし、 特定のフレームワークに依存するPluginに関する質問もそこそこあるようなので、 jQueryとPrototype.js(script.aculo.us)については専用スレがあっても良いと思うけどね。
216 名前:Name_Not_Found mailto:sage [2009/03/04(水) 03:45:17 ID:???] フレームワーク系の質問はウザいので 分かれてくれるんなら分かれてくれたほうが嬉しいけど 現実問題フレームワークの質問スレに回答者が集まらずに 結局質問者がこっちに持ち込むというパターンになるんじゃなかろうか
217 名前:Name_Not_Found mailto:sage [2009/03/04(水) 04:59:19 ID:???] 少なくとも jQuery を分けないのはそろそろ無理があると思う といってもライブラリ毎に専用スレ立ててたら猛烈に過疎る悪寒 とりあえず JavaScript ライブラリ総合スレッドで立てて 必要に応じて分ければいいんじゃないか ライブラリ選びの参考にもなるだろう
218 名前:Name_Not_Found mailto:sage [2009/03/04(水) 09:38:59 ID:???] 空気読まずにすいません。 くだすれで何の反応もないのでこちらで質問いたします。 jQueryでload()で呼び出したいhtmlがshift-jisなんですけど、charsetを指定してやるとか文字化けさせない方法ありますか? 例えばjQuery.ajax()でcharsetを設定しload()と同じ動作をさせるとか
219 名前:Name_Not_Found mailto:sage [2009/03/04(水) 11:20:26 ID:???] >>214 ワロタw
220 名前:Name_Not_Found mailto:age [2009/03/04(水) 20:24:35 ID:???] 関数の引数に、配列で組んだ文字列を渡すには、どうすればよいですか?
221 名前:Name_Not_Found mailto:sage [2009/03/04(水) 20:28:51 ID:???] >>220 どういう引数を渡そうとして、なにやってできなかったとか書けw エスパーするとこんな感じ。 function foo(x) { alert(x); } var ary = ["a", "b", "c"]; foo(ary[1]); // alert("b"); "abc"を渡したいならfoo(ary.join(""));
222 名前:220 mailto:age [2009/03/04(水) 20:59:39 ID:???] >>221 すみません>< function L(x){ return(parseInt(document.getElementById(x).style.left)); } id部分を配列にしており、L関数に渡したいと思っています。 for文の中で[i]を使って関数に引数を渡し、alertで出力は出来ないでしょうか?
223 名前:Name_Not_Found mailto:sage [2009/03/04(水) 21:19:19 ID:???] var id = ["id_1", "id_2"]; for (var i = 0; i < id.length; i++) { alert( L( id[i] ) ); } こういうこと?
224 名前:Name_Not_Found mailto:age [2009/03/04(水) 23:00:19 ID:???] >>223 ありがとうございます><出来ました! 受け取った数値を直接他の関数に渡すことが出来ませんか? function L()の他に、 function B()があった場合 B( L( id[i] ) ); みたいな使い方は可能なんでしょうか?間違ってるのだと思いますが、うまくいきません。 if( L( id[i] = id_2 ) みたいな使い方は無理でしょうか?こっちもうまくいきません。。 くだらない質問に付き合わせて本当に申し訳ないです;
225 名前:Name_Not_Found mailto:sage [2009/03/04(水) 23:14:19 ID:???] 'id_2'
226 名前:Name_Not_Found [2009/03/04(水) 23:21:55 ID:etJvOxZJ] domを操作できると知りました domを操作するとどんなことができるのでしょうか?
227 名前:Name_Not_Found mailto:sage [2009/03/04(水) 23:26:58 ID:???] ==
228 名前:Name_Not_Found mailto:sage [2009/03/04(水) 23:36:17 ID:???] >>224 B( L( id[i] ) ); これBがalertなら上と一緒じゃん。できないんだったら別の原因じゃない? あとifの方は何がやりたいのかよくわからない。 if文の中で関数が使えるかってことなら使えるけど。
229 名前:Name_Not_Found mailto:sage [2009/03/04(水) 23:42:03 ID:???] Cでのgetchar()ってJavaScriptだと何になるの?
230 名前:Name_Not_Found mailto:sage [2009/03/04(水) 23:43:33 ID:???] parseChar
231 名前:Name_Not_Found mailto:sage [2009/03/04(水) 23:48:27 ID:???] >>225 >>227 >>228 ありがとうございました><出来ました! 下手な説明のうえに変な質問ばかりですみませんでした;_;
232 名前:Name_Not_Found mailto:sage [2009/03/05(木) 11:58:15 ID:???] jQueryで2つ以上のIDを指定するような書き方を教えてください <div id="item"> <p id="pitem">aaa</p> </div> $('#item#pitem').html();では取得できませんでした
233 名前:Name_Not_Found [2009/03/05(木) 12:42:11 ID:WfgOZu2S] jQueryで質問なんですが、デバッグツールなどはありますか? jQueryの構文エラーだと、FFなどのコンソールではエラーが表示されず困っています。 すみませんが、ご教授願います。
234 名前:Name_Not_Found mailto:sage [2009/03/05(木) 12:45:57 ID:???] ない
235 名前:Name_Not_Found [2009/03/05(木) 12:59:31 ID:WfgOZu2S] >>234 ないんですか… ありがとうございました
236 名前:Name_Not_Found mailto:sage [2009/03/05(木) 13:05:04 ID:???] >>232 IDはその文書内でユニークなもの 「2つ以上のIDを指定」に意味はない p要素を取得したいなら「pitem」だけ指定
237 名前:Name_Not_Found mailto:sage [2009/03/05(木) 17:00:09 ID:???] >>232 XPathのid()関数 今のjQueryでXPathが使えたか知らんし興味もない
238 名前:Name_Not_Found mailto:sage [2009/03/05(木) 17:19:14 ID:???] 複数要素の取得の意味ならjQueryでも#item,#pitemで逝けるのでは
239 名前:Name_Not_Found mailto:sage [2009/03/05(木) 17:35:00 ID:???] >>226 ジェットストリームアタックができる
240 名前:Name_Not_Found mailto:sage [2009/03/05(木) 20:25:49 ID:???] >>233 firebugでいいじゃん
241 名前:Name_Not_Found [2009/03/05(木) 21:01:59 ID:uDGvvH4C] test.txtというcsvのデータファイルがあります ボタンを押すとtest関数を実行してtest.txtを読み込みたいのですが思うようにいきません どなたかご教示おねがいします <button onClick="test()"></button> function test() { file = file("test.txt"); len= file.length; aler(len); }
242 名前:Name_Not_Found mailto:sage [2009/03/05(木) 21:31:20 ID:???] >>241 >思うようにいきません どう思っているのか書いていないわけだが。
243 名前:Name_Not_Found mailto:sage [2009/03/05(木) 21:37:32 ID:???] file関数はどこにあるんだ?
244 名前:Name_Not_Found mailto:sage [2009/03/05(木) 22:45:58 ID:???] 関数 file を上書きしちゃっているようだがいいのだろうか。 最後は上手く実行されるようアラーに祈っているのか。
245 名前:Name_Not_Found mailto:sage [2009/03/05(木) 22:53:56 ID:???] お前は何を言ってんだ file関数なんて元々ないだろ PHPとかと混同してねーか?
246 名前:Name_Not_Found mailto:sage [2009/03/05(木) 23:05:00 ID:???] どっか別の場所で定義してんだろ でないと論外過ぎる しかし関数testの定義にしても、どこで行ってんだそれ? buttonタグの直下に書いてんの? scriptタグ内じゃないよなそこ
247 名前:Name_Not_Found mailto:sage [2009/03/06(金) 00:28:12 ID:???] お取り込み中すいません。DOM2の邦訳ってないんですか。
248 名前:Name_Not_Found mailto:sage [2009/03/06(金) 00:33:40 ID:???] みんなで虐めてんのか 釣りなのか
249 名前:247 mailto:sage [2009/03/06(金) 00:42:34 ID:???] 失礼します。解決しました。すいません。
250 名前:Name_Not_Found mailto:sage [2009/03/06(金) 01:38:01 ID:???] >>245 file("test.txt")の結果がfileに代入されてるってことじゃない
251 名前:Name_Not_Found mailto:sage [2009/03/06(金) 01:50:26 ID:???] >>250 だから、file()というユーザー定義関数の内容はどこに書いてある? それすら提示せずに回答できるわけねーだろ 相手するの疲れるからお前はもう黙っとけ
252 名前:Name_Not_Found mailto:sage [2009/03/06(金) 01:59:58 ID:???] キチガイだった
253 名前:Name_Not_Found mailto:sage [2009/03/06(金) 02:09:45 ID:???] >>252 次は理由も書かずに人格批判とな ほんと滑稽で笑っちゃうね
254 名前:Name_Not_Found mailto:sage [2009/03/06(金) 02:46:35 ID:???] file関数がどこで定義されていようがそれがどんなコードだろうが関係なく file = file("test.txt");はおかしいだろ いや、2度と関数として呼び出すことはないってのならまだ分かるがね だから *file関数がどこで定義されていようがそれがどんなコードだろうが関係なく* >>244 や>>250 のツッコミは妥当なわけで なにファビョってんだか
255 名前:Name_Not_Found mailto:sage [2009/03/06(金) 02:56:24 ID:???] >>254 ごめんなさい
256 名前:Name_Not_Found mailto:sage [2009/03/06(金) 05:31:00 ID:???] スレがまともに機能すると、 発言出来なくなるのが困るテンプレ厨の自演か。
257 名前:Name_Not_Found mailto:sage [2009/03/06(金) 09:48:36 ID:???] 今回のは特に酷かったな 相手するの疲れるからお前はもう黙っとけ(笑)
258 名前:Name_Not_Found mailto:sage [2009/03/06(金) 11:46:43 ID:???] 絶対PHPのfileがjsで使えると思ってるよwww
259 名前:Name_Not_Found [2009/03/06(金) 14:27:09 ID:1s0qvLQe] document.cookie="item[id][1]=電化製品"; document.cookie="item[id][2]=書籍"; PHPで$_COOKIE[item][id][1]という表記で値が取れるように 上記のように書いてみたのですがクッキーにうまく書き込めません どなたかご指摘お願いします
260 名前:Name_Not_Found mailto:sage [2009/03/06(金) 14:28:41 ID:???] だから釣りだろ >>3 のA2見ろで終わりじゃん ActiveXとかだったらスレ違い
261 名前:Name_Not_Found mailto:sage [2009/03/06(金) 14:30:17 ID:???] >>259 もうその質問答え飽きた ログ読め
262 名前:Name_Not_Found [2009/03/06(金) 14:33:58 ID:1s0qvLQe] javascriptでクッキーの読み書きができないってことでしょうか?
263 名前:Name_Not_Found mailto:sage [2009/03/06(金) 14:34:44 ID:???] >>260 はクッキーとテキストファイルを一緒にしてる素人だからスルーでおk
264 名前:Name_Not_Found mailto:sage [2009/03/06(金) 14:37:44 ID:???] >>260 は>>258 に対するレスだろ
265 名前:Name_Not_Found mailto:sage [2009/03/06(金) 14:41:05 ID:???] このスレに生息する厨房 テンプレ厨・・・自信満々にテンプレへのアンカーを出して回答した気になる自称知的人(笑) 煽り厨・・・・・・自分が答えられないが故に煽ってストレス解消をする困った人
266 名前:Name_Not_Found mailto:sage [2009/03/06(金) 14:56:44 ID:???] >>265 これも追加しとけ 評価厨・・・・・・上記のような厨房が存在するとすぐに評価したがる、スレの趣旨が分かっていない低脳
267 名前:Name_Not_Found mailto:sage [2009/03/06(金) 15:00:38 ID:???] >>266 これも追加しとけ 上げ足厨・・・・叩く材料が見つかるとすぐに現れる社会のゴミ
268 名前:Name_Not_Found mailto:sage [2009/03/06(金) 15:02:47 ID:???] >>259 $_COOKIEでスレ内検索したら、>>82 に同じような質問が出てきたよ
269 名前:Name_Not_Found mailto:sage [2009/03/06(金) 15:11:03 ID:???] "item[" + id + "][1]=電化製品"; じゃねーの?
270 名前:Name_Not_Found mailto:sage [2009/03/06(金) 15:11:12 ID:???] 同じような質問がでても解決してないわけだが
271 名前:Name_Not_Found mailto:sage [2009/03/06(金) 15:37:05 ID:???] JavaScriptでclientWidthを用いて次のようにセンタリングした場合、センターからわずかにずれるようなのです。clientWidthがまずいのでしょうか? var style = document.getElementById('abBox').style; style.left = (document.body.clientWidth - 10) / 2 + 'px'; <div style='margin:0 auto;width:10px;height:50px;background-Color:blue'></div> <div id='abBox' style='position:absolute;width:10px;height:60px;background-Color:red'></div> ↑この2つのdiv領域のX座標が一致しない。
272 名前:Name_Not_Found mailto:sage [2009/03/06(金) 15:53:21 ID:???] ブラウザぐらい書きなさい
273 名前:Name_Not_Found mailto:sage [2009/03/06(金) 16:01:26 ID:???] >>272 すみません。IE7,Chrome,Safariのいずれでもずれることを確認しました。 また、ずれる幅はブラウザに依存しています。 きっと、clientWidthがスクロールバーなどを含む値になっているのか、 styleで指定しているセンタリングが何かborder幅を含んで本当のセンターではないのか 何かそういう理由なのだとは思うのですが。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd "> をheaderで指定しなければ、このズレは生じないです。これを指定するとこのズレが発生します。
274 名前:271 mailto:sage [2009/03/06(金) 16:02:21 ID:???] 再現できるソースを貼り付けておきます。prototype.jsは別途必要です。最新のものを使用しています。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd "> <html> <head> <script type="text/javascript" src="prototype.js"></script> <script> Element.observe(window, 'load', function() { var style = document.getElementById('abBox').style; style.left = (document.body.clientWidth - 10) / 2 + 'px'; } ); </script> </head> <body> <div style='margin:0 auto;width:10px;height:50px;background-Color:blue'></div> <div id='abBox' style='position:absolute;width:10px;height:60px;background-Color:red'></div> </body> </html>
275 名前:Name_Not_Found mailto:sage [2009/03/06(金) 16:06:56 ID:???] document.body.clientWidthはDOCTYPEを宣言しなかった場合のIE4、5、6、7で使用可能。 IE6(7)でDOCTYPEを宣言していた場合はdocument.bodyではなく、document.documentElement要素で定義される。 またIE以外のブラウザではclientWidthは使えない。この場合window.innerWidthを使用する。 まぁそういうことだ。
276 名前:271 mailto:sage [2009/03/06(金) 16:21:31 ID:???] >>275 うわ!!!動きました!!ありがとうございます。 document.body.clientWidth を document.documentElement.clientWidth に変更したところ IE7/Chrome/Safariでうまく動きました。 おっしゃる通り、SafariはinnerWidthを用いるように書いてあるページが あり、そうするのが正しいのだとは思うのですが(→ d.hatena.ne.jp/onozaty/20060802/p1 ) 最新のSafariではdocument.documentElement.clientWidth でうまく取得できるようなので これでいいと思いました。 本当にありがとうございます。
277 名前:Name_Not_Found [2009/03/06(金) 16:28:36 ID:nuD1rsTR] すいません便乗させてください >>276 さんの紹介ページに書いてある方法で 標準モードで全ブラウザに対応するにはどのようなやり方がありますでしょうか?
278 名前:Name_Not_Found mailto:sage [2009/03/06(金) 19:39:35 ID:???] HTMLの質問なんですが <script language="JavaScript"> <!--// function Password() { pw = prompt("#:","") if(pw) { location = pw + ".html" } else { alert("キャンセルしました") } } //--> </script> </Head> <Body> <a href="javascript:Password()"><Img Src="#" Width="90" Height="40"></A><Br> これは画像をクリックするとパスワード入力画面が表示されるスプリクトなんですが これをフレームの右側にボタンを取り付け、パスを入力すると左に表示されるようにしたいんですが このままでは右側をターゲットにしてしまい <a href="javascript:Password()" target="right"><Img Src="#" Width="90" Height="40"> としてもエラーが起こるだけで、うまく使えません。 改良方法お願いします。 プログラム板にも書き込んだのですが、板違いだったのでこっちにきました。
279 名前:278 mailto:sage [2009/03/06(金) 19:59:38 ID:???] 急いでますので教えてください
280 名前:Name_Not_Found mailto:sage [2009/03/06(金) 20:00:47 ID:???] >>278 書き込む直前に>>279 見て「イヤだ」と言いそうになったw 左右逆な気がするけど、表示したいフレーム名がrightなら parent.right.location
281 名前:278 mailto:sage [2009/03/06(金) 20:04:23 ID:???] >>280 動きません。 分かりやすく教えてもらいますか?
282 名前:Name_Not_Found mailto:sage [2009/03/06(金) 20:05:37 ID:???] >>280 一言多いんだよくたばれ
283 名前:Name_Not_Found mailto:sage [2009/03/06(金) 20:09:04 ID:???] >>282 >>280 くらいでそこまで言うってどんだけメンタル弱いんだよ >>278 frame部分のHTMLも合わせて書いてみないとどういう風にエラー出てるのかわからん
284 名前:278 [2009/03/06(金) 20:18:07 ID:Fftqauoe] ID表示するのわすれてました>>279 >>281 は自分ではないです >>280 解決しました。ありがとうございました。
285 名前:Name_Not_Found mailto:sage [2009/03/06(金) 22:55:55 ID:???] なんと性格の悪い279w
286 名前:Name_Not_Found mailto:sage [2009/03/07(土) 02:09:18 ID:???] 馬鹿にされた腹いせに粘着しだしたか
287 名前:Name_Not_Found [2009/03/07(土) 18:52:49 ID:3jKIOL4m] 最新版のjavascriptのバージョンと firefox,ie,opera,safariの各最新ブラウザに対応したjavascriptのバージョンを知りたいのですが 参考になるサイトを教えてください
288 名前:Name_Not_Found mailto:sage [2009/03/07(土) 19:35:02 ID:???] >>287 実装はそれぞれ異なるから、そのバージョンを比較するのは ブラウザ自体のバージョン(Fx3,IE7,Opera10など)を比較するようなもの。 対応する共通規格についてはこの辺見て。 ttp://ja.wikipedia.org/wiki/ECMAScript
289 名前:Name_Not_Found mailto:sage [2009/03/07(土) 20:27:57 ID:???] 「JavaScript言語の」バージョンが問題になることはほとんどない。 1.5で書いておけば普通のブラウザはみな通るから。問題は言語では なくそこから呼び出すDOMなどのAPIの実装がブラウザ/バージョン毎に バラバラだったりふるまいが違ったりすること。
290 名前:Name_Not_Found mailto:sage [2009/03/07(土) 20:30:34 ID:???] 今のところIEが一番新しいんですね
291 名前:Name_Not_Found [2009/03/07(土) 22:06:23 ID:JnKjoq9g] pc11.2ch.net/hp/ このルーチンでエラーが出ている(Firefox3.0.7) function filterByLevel(level) { if (isNaN(level)) level = 0; var dls = document.getElementsByTagName("dl"); for (var i = 0; i < dls.length; i++) if (dls[i].previousSibling && dls[i].previousSibling.tagName.toLowerCase() == "form" && dls[i].previousSibling.length == beRanks.length) for (var j = 0; j < beRanks.length; j++) if (dls[i].previousSibling[j].level == level) { dls[i].previousSibling[j].style.borderStyle = "inset"; dls[i].previousSibling[j].style.fontWeight = "bold"; } else dls[i].previousSibling[j].style.borderStyle = dls[i].previousSibling[j].style.fontWeight = ""; for (var i = 0; i < beLvs.length; i++) if (beLvs[i].lv < level) { beLvs[i].dt.style.backgroundColor = "#CCC"; beLvs[i].dt.nextSibling.style.display = "none"; } else beLvs[i].dt.style.backgroundColor = beLvs[i].dt.nextSibling.style.display = ""; }
292 名前:Name_Not_Found mailto:sage [2009/03/07(土) 22:25:05 ID:???] で?
293 名前:Name_Not_Found mailto:sage [2009/03/08(日) 11:10:10 ID:???] っていう
294 名前:Name_Not_Found [2009/03/08(日) 12:22:00 ID:LiiDgj+W] xhtml1.0 strict標準モードで画面サイズを取得したいのですが IE6,IE7,IE8,Firefox2,Firefox3,Opera9,Opera9.5,safariに全部対応したいのですが 以下のような書き方で大丈夫でしょうか? UAを見て振り分けた方がいいですか? w = document.documentElement.clientWidth; h = document.documentElement.clientHeight; w = document.body.clientWidth; h = document.body.clientHeight; w = window.innerWidth; h = window.innerHeight; alert("W="+w+" H="+h);
295 名前:Name_Not_Found mailto:sage [2009/03/08(日) 13:32:04 ID:???] >>294 何がしたいのかわからない。3〜6行目はw,hに再代入されつづけ、 結局5,6行目の結果しかw,hには残らない。JavaScriptもっと勉強しとくれ。 画面サイズの取得はFAQだと思うけど案外難しい。 www.tagindex.com/kakolog/q4bbs/801/1069.html UA振り分けは上のリンクにも書いてあるが > しかし、分岐するにしても、ユーザエージェントを見てはいけない(だいたい、ユーザエージェントなんて容易に偽装できる) のでお勧めしない。
296 名前:Name_Not_Found mailto:sage [2009/03/08(日) 14:10:59 ID:???] 画面サイズって簡単なようで意外とこれっていう答えがないんだな
297 名前:Name_Not_Found mailto:sage [2009/03/08(日) 15:12:51 ID:???] 日曜の昼間の連中じゃ答えられないから夜まで待ってみるといいよ
298 名前:Name_Not_Found mailto:sage [2009/03/08(日) 16:09:53 ID:???] ただ単に答えだけ書けばいいと思ってるのか
299 名前:Name_Not_Found mailto:sage [2009/03/08(日) 16:33:04 ID:???] 回答者を格付け批評できるほどの頭脳をお持ちの297殿に、 完全無欠で補足不要の最適解を提示して頂ければ、 何ら問題なく全てが丸く納まるのではないかと愚行する次第。 っていう煽りを思いついたから書き捨てとくね。 >294の件は「環境揃えてそれぞれ試してみりゃいいんじゃね?」が一番簡単な解。 IE6,7,8含めた上で、画面サイズを要求するほどに、 きっちり計算したレイアウトを考えるなら、 どうせCSSその他のズレ確認だって必要になる。 だったら、全部確認できる環境用意するしかない。 で、どうせ環境用意するなら、それで確認が一番手っ取り早いでしょ。
300 名前:Name_Not_Found mailto:sage [2009/03/08(日) 16:49:22 ID:???] ここで煽ってる連中は回答者とは言わないから安心しろ
301 名前:Name_Not_Found mailto:sage [2009/03/08(日) 18:12:21 ID:???] >>299 が環境を整えて全部確認して回答したらいいんじゃないの?
302 名前:Name_Not_Found mailto:sage [2009/03/08(日) 20:13:39 ID:???] >>297 =300 回答できないあなたも回答者とは呼ばないから安心してね。 それにしても、日曜の昼間にスレ張り付きとは、ご苦労様デス。 >>301 ( ゚д゚) (゚д゚) ( ゚д゚) (゚Д゚)?
303 名前:Name_Not_Found mailto:sage [2009/03/08(日) 20:23:42 ID:???] >>302 君は知識よりもプライドが高そうだね(笑)
304 名前:Name_Not_Found mailto:sage [2009/03/09(月) 05:57:20 ID:???] >>303 ×プライドが高い ○301よりは常識がある 301には決定的に常識が足りない。
305 名前:Name_Not_Found mailto:sage [2009/03/09(月) 06:31:49 ID:???] >>304 >>303 は>>301 を擁護しているわけじゃないと思うよ
306 名前:Name_Not_Found mailto:sage [2009/03/09(月) 11:26:25 ID:???] プライドが高い人ってのは自分を援護するレス以外は全部敵に見えるようだ
307 名前:Name_Not_Found mailto:sage [2009/03/09(月) 11:33:49 ID:???] >>306 プライドが高い人っていうか、臆病な人だと思う。
308 名前:Name_Not_Found mailto:sage [2009/03/09(月) 11:43:01 ID:???] 301はここまで叩かれると恥ずかしくて出てこれないな
309 名前:Name_Not_Found mailto:sage [2009/03/09(月) 11:54:03 ID:???] まぁ画面サイズとドキュメント表示領域サイズは違うよな
310 名前:Name_Not_Found mailto:sage [2009/03/09(月) 12:07:24 ID:???] 画面サイズならscreen.availWidthとscreen.availHeightでいいじゃん 何か迷う必要があんのか
311 名前:Name_Not_Found mailto:sage [2009/03/09(月) 12:08:26 ID:???] それってブラウザによって数字が異なるじゃん
312 名前:Name_Not_Found [2009/03/11(水) 11:21:08 ID:7vsqsyw0] test.example.com/ というところでHPを作ってるとします 2chのようにpathinfoでページを出力してるのですが、以下のURLにアクセスします test.example.com/tabemono/index.html/red/ このときtest.example.com/tabemono/index.html/red/ でクッキーを発行し このURLでのみクッキーを使用可にしたいのですがこのURL以外でも読み込めてしまいます どなたかご教示お願いいたします document.cookie = "NAME=test; PATH=/tabemono/index.html/red/;";
313 名前:Name_Not_Found mailto:sage [2009/03/11(水) 12:58:56 ID:???] >>312 /tabemono/index.html/red/example/ で読めてしまうっていうなら仕様。
314 名前:Name_Not_Found mailto:sage [2009/03/11(水) 15:54:55 ID:???] なんでルートを
315 名前:Name_Not_Found mailto:sage [2009/03/13(金) 10:35:37 ID:???] あるタグにスタイルシートのクラスを追加したいのですが document.getElementById('hoge').style.className = "hoge"; とやってみ何も変わってくれないのですが 間違っていますでしょうか?
316 名前:Name_Not_Found mailto:sage [2009/03/13(金) 10:40:34 ID:???] >>312 Cookieはドメインごとの発行だからな
317 名前:Name_Not_Found mailto:sage [2009/03/13(金) 11:26:29 ID:???] >>315 それは明らかにまちがってるんだけど、何をしたいのかが読み取れない <hoge> を <hoge class="hoge">にしたいなら document.getElementById('hoge').className = "hoge"; なんだけど、スタイルシートのクラスってなんだ? span.fuga { margin:0 } を span.fuga, span.hoge { margin:0 } にしたいなら無理じゃなかったかな。 直接CSSをファイルを入れるとかしないと。
318 名前:Name_Not_Found mailto:sage [2009/03/13(金) 11:43:13 ID:???] styleイラナイ
319 名前:Name_Not_Found mailto:sage [2009/03/13(金) 11:50:14 ID:???] スタイルシートって詳細度が高ければ上書き出来なかったっけ? 動的にstyle要素でも作成したら
320 名前:Name_Not_Found mailto:sage [2009/03/13(金) 12:47:32 ID:???] ありがとうございました。 document.getElementById('hoge').className = "hoge"; でできました。
321 名前:Name_Not_Found [2009/03/14(土) 10:13:31 ID:fUQztCAY] JavaScriptサンプルプログラムをご利用ください。 www.yukinko-net.jp/JavaGuide/javascript/
322 名前:Name_Not_Found mailto:sage [2009/03/14(土) 15:05:55 ID:???] ↑ロクでもないことすんな(2つの意味で)
323 名前:Name_Not_Found [2009/03/14(土) 15:22:53 ID:gTsSVXwy] テーブルのn行目がクリックされたらn行目の背景色をAに、 次にm行目がクリックされたらn行目の背景色をもとに戻して m行目の背景色をAに… って処理をしたいんですが、 1行目<tr id="line1" onclick="change(1)"> 2行目<tr id="line2" onclick="change(2)"> function change(n){ var line_style = "line_"+n; document.getElementById(line_style).style.backgroundColor ='green'; } という風にして テーブルのn行目がクリックされたらn行目の背景色をAに、 はできたんですか、そこからどうしたらよいのか思いつかないので質問します。 よろしくお願いします。
324 名前:Name_Not_Found mailto:sage [2009/03/14(土) 15:26:08 ID:???] >>323 クリックされた行を保存しておけばいい
325 名前:Name_Not_Found [2009/03/14(土) 16:08:28 ID:gTsSVXwy] >>324 保存はどうしたらいいんでしょうか? 一応、一度全部背景を元に戻してからクリックしたところの背景を変える という方法で希望の事はできたんですが無駄が多い気がして。。 function change(n){ for(i=0;i<10;i++){ var line_style = "line_"+i; document.getElementById(line_style).style.backgroundColor ='black'; } var line_style = "line_"+n; document.getElementById(line_style).style.backgroundColor ='green'; }
326 名前:Name_Not_Found mailto:sage [2009/03/14(土) 16:08:47 ID:???] 処理の書き方についての質問です 例1 a=1;b=2;c=a+b; 例2 a=1,b=2,c=a+b; 例1の書き方はよく見ますが、例2はvar a=1,b=2;ぐらいしか見ず、 通常の変数処理につかってるのはあまりありません(稀にfor文で見るくらい) 例2は一般的ではない?それとも処理に問題がある(遅いとか)
327 名前:Name_Not_Found mailto:sage [2009/03/14(土) 16:31:10 ID:???] >>325 var changed_line; // 「関数実行毎」ではなく「全体で」だから宣言しておく function change(n) { if(changed_line) // 「何か定義されていれば」=「初回時以外」 { unchange(changed_line); } // n行目を元に戻す処理 // n行目に対する処理をここに changed_line = n; // 記憶する } >>326 ぱっと見てなにが違うのかわからなかったw 例1のセミコロンは文の区切りの意味で、改行を省いただけの ただの複数行だからどんな場面でも使える。 だからセミコロンの前後に直接的な関係性はない。 それに対してコンマ演算子は別の意味を持っていて コンマの前後は多少なりとも関係性を持つ。 https://developer.mozilla.org/ja/Core_JavaScript_1.5_Reference/Operators/Special_Operators/Comma_Operator 無理矢理表現するならこういう違い。 (a=1);(b=2);(c=a+b); (a=1,b=2,c=a+b); 違いがわからないうちは、コンマはvarまとめる程度にしておいたほうが無難。
328 名前:Name_Not_Found mailto:sage [2009/03/14(土) 16:31:29 ID:???] >>323 できたとか言って、本当に試したのか? idがline1、line2なのに、何でline_styleはline_1、line_2なん? これ動かんよ フラグ変数でも作れば >>326 一般的とかない。どう書くかはその人の趣味。
329 名前:Name_Not_Found mailto:sage [2009/03/14(土) 16:33:02 ID:???] >>325 rowIndexを持っているTRに連番のIDを振ってる時点で無駄もクソもねーよ どうしてもIDを振りたいんならそれを記憶しとけ 他のスクリプトで背景を上書きされている可能性があるなら全部戻すのもありかもしれん >>326 ただの代入文とカンマ式だろ 式と文の違いを踏まえた上で、使いたきゃ勝手に使え
330 名前:Name_Not_Found mailto:sage [2009/03/14(土) 16:46:45 ID:???] 326です。回答ありがとうございます。違いが理解できました。
331 名前:323 [2009/03/14(土) 17:06:08 ID:gTsSVXwy] グローバル変数とローカル変数の違いが いまいちわかってなかったけどわかりました。 ありがとうございます。 rowIndexなてあるんですね 知らなかったぁ…
332 名前:Name_Not_Found mailto:sage [2009/03/14(土) 17:17:02 ID:???] >>331 rowIndexがあるから、 全てのtrにonclickを設定するのでは無く、 table自体にonclickイベントを設定し、event.targetの最も近い祖先trのrowIndexを取得し、 対象のtrを判断するという方法が、特別な属性を設定する事無く可能。 俗に言うイベントデリゲーションの一種。 そういや最近はアホ外人君やJS終った君を見ないね。
333 名前:Name_Not_Found [2009/03/15(日) 01:12:47 ID:tSPOxcvw] DOMというのはMSDOMとどうちがいますか。 MSDOMコマンドは使えますか。
334 名前:Name_Not_Found [2009/03/15(日) 01:23:29 ID:ZJyI+8vG] ブログの記事を書く時にプレビューしたいんです。 <script type="text/javascript"> function writeText(str) { text = str; text = text.replace(/\n/g,"<br>"); text = text.replace(/\s/g," "); document.getElementById('p').innerHTML = text ; } </script> <textarea name="html" rows="30" cols="60" onkeyup="writeText(this.value)"></textarea> <p id="p"> </p> どうしてもfontタグで色づけしたいんです。 プレビューに反映されないんです。 どうしたらいいんでしようか?
335 名前:Name_Not_Found mailto:sage [2009/03/15(日) 01:23:45 ID:???] 半年DOMってろ
336 名前:Name_Not_Found mailto:sage [2009/03/15(日) 05:16:51 ID:???] MSDOMは黒井さん連製と呼ばれています。
337 名前:Name_Not_Found mailto:sage [2009/03/15(日) 11:29:56 ID:???] document.oncontextmenu使って 右クリック時にオリジナルメニューを開くようにしているんですが、 formだけ適用除外する方法ありますか?
338 名前:Name_Not_Found mailto:sage [2009/03/15(日) 11:36:30 ID:???] >>337 テキトーに言うけどform要素全てのoncontextmenuに function(){return true;}入れてみたら?
339 名前:Name_Not_Found mailto:sage [2009/03/15(日) 12:02:03 ID:???] しねばいいのに
340 名前:Name_Not_Found mailto:sage [2009/03/15(日) 14:01:50 ID:???] 春休みだのう
341 名前:超級武神派斬 ◆z99YUIJCjQ mailto:sage [2009/03/15(日) 16:07:42 ID:???] 大学生の春休み突入 ↓ 厨房がスレに潜伏 ↓ 小中高の春休み ↓ 厨房どもがスレの機能停止
342 名前:Name_Not_Found mailto:sage [2009/03/15(日) 20:45:47 ID:???] >>338 やってみましたが、できないですね。。 試しにalert入れてみて動作をチェックしてみましたが、 alertは動作するけど、やはりdocument.oncontextmenuも発動してしまうようです
343 名前:Name_Not_Found mailto:sage [2009/03/15(日) 20:56:18 ID:???] >>342 あーそういうことか、すまんかった。 document.oncontextmenuに登録した関数側で呼び出し元がform関係なら なにもせずreturn trueで。
344 名前:Name_Not_Found mailto:sage [2009/03/16(月) 00:57:43 ID:???] 別ウィンドウでの操作を元ウィンドウのフォームに反映させるやり方を探しています。 上手く伝わるか不安なのですが、 テキストフォームの横にあるリンクを押すとウィンドウが新しく一つ開き、そのウィンドウの中でいずれかのリンクをクリックすると ウィンドウが閉じると共に元のページのテキストフォームに値が入力されている、というものを作りたいのです 近いものだとオンラインショップで住所を入力するとき外部ウィンドウに表示されたマップから選ぶ、というのが浮かびます 検索しようにもキーワードが分からず……ご教示ください
345 名前:Name_Not_Found mailto:sage [2009/03/16(月) 01:16:16 ID:???] window.openerで親ウィンドウが参照可能 window.closeとかonunloadのタイミングで操作すればOK
346 名前:Name_Not_Found mailto:sage [2009/03/16(月) 01:28:09 ID:???] なるほど!親ウィンドウ、と検索してみればよかったですね……思いつかず。やってみます ありがとうございますー
347 名前:Name_Not_Found mailto:sage [2009/03/16(月) 10:45:24 ID:???] ↑ページのトップにもどる でクリックするとアニメーションしてページのトップにもどるスクリプトで 商用利用なものをさがしています。 どこぞにないもんかの
348 名前:Name_Not_Found mailto:sage [2009/03/16(月) 13:09:40 ID:???] 知ってるがおまえの態度が気に入らない
349 名前:Name_Not_Found mailto:sage [2009/03/16(月) 13:42:19 ID:???] >>348 A型乙
350 名前:Name_Not_Found mailto:sage [2009/03/16(月) 15:29:21 ID:???] 商用利用禁止を明文化してるスクリプトのほうが少ないんでは
351 名前:Name_Not_Found mailto:sage [2009/03/16(月) 16:24:04 ID:???] B型だし
352 名前:Name_Not_Found mailto:sage [2009/03/16(月) 16:51:11 ID:???] 商用利用禁止してる作者はリストにしてさらしちゃえばいいよ
353 名前:Name_Not_Found mailto:sage [2009/03/16(月) 19:18:59 ID:???] 商用がどうのとうるさい奴は帰ってくれよ
354 名前:マウスを回りながら追いかける画像 [2009/03/16(月) 19:46:07 ID:aYPEEGOn] <html> <head> <title>マウスを回りながら追いかける画像</title> <script language="JavaScript"> <!-- t = 0; function move(){ t = t + 0.05; img1.style.pixelLeft = event.x + 50 * Math.cos(t); img1.style.pixelTop = event.y + 50 * Math.sin(t); } //--> </script> </head> <body onMousemove="move()"> <img src="../../sample/img/img2.gif" ID="img1" STYLE="position:absolute;top:0;left:0"> </body> </html> www7a.biglobe.ne.jp/~wwwwww/kantansakusei/js/mouseimgsin.html のページでは正常に動くのですが、自分のホームページにコピペしてアップロードしても、 動かないです。画像は表示されています。なぜ・・・・
355 名前:Name_Not_Found mailto:sage [2009/03/16(月) 19:51:47 ID:???] (・∀・)カエレ!!
356 名前:Name_Not_Found mailto:sage [2009/03/16(月) 20:06:18 ID:???] >>352-353 GPLのコードを内部で使っていたのがバレで、 ソース公開に追い込まれたアホなエロゲメーカーを思い出した。 あまりに規約に無頓着なのも問題。
357 名前:Name_Not_Found mailto:sage [2009/03/16(月) 22:07:28 ID:???] >>354 それのどこがマウスを回りながら追いかける仕組みになってるのかね?
358 名前:Name_Not_Found mailto:sage [2009/03/17(火) 09:46:40 ID:???] javascriptからリンクをクリックしたいんですが、IE7なら下のやり方でOKでしたが Firefox3.0.7だとclick()でエラーになります。 Firefoxでリンクをクリックしたい場合、どのようなメソッドを使えばいいのでしょうか? <html> <head> <script language="JavaScript"> <!-- window.onload = function(){ a = document.getElementsByTagName('a'); a[0].click(); } //--> </script> </head> <body> <a href="www.yahoo.co.jp ">Yahoo!</a> </body> </html>
359 名前:Name_Not_Found mailto:sage [2009/03/17(火) 09:50:59 ID:???] そこjsを使う所じゃないだろ
360 名前:Name_Not_Found mailto:sage [2009/03/17(火) 11:22:50 ID:???] 勝手にクリックとか何考えてるんだと ワンクリック詐欺でも仕込むのか
361 名前:Name_Not_Found mailto:sage [2009/03/17(火) 11:24:40 ID:???] どうせ広告かランキングを強制クリックさせるんだろw
362 名前:Name_Not_Found mailto:sage [2009/03/17(火) 11:59:44 ID:???] <a href="#" onMouseOver="location.href='www.yahoo.co.jp/ '" style="text-decoration: none; color: black"> ここに本文 </a> アフィリエイト会社からBANされるけどな
363 名前:Name_Not_Found mailto:sage [2009/03/17(火) 15:36:16 ID:???] 自分も似たようなことやってるわ 「きょうの猫村さん」に勝手にログインしてくれる User JavaScript だけれども
364 名前:Name_Not_Found [2009/03/17(火) 20:12:26 ID:SQsrZ0QR] aaa/bbb>ccc*ddd/eee>fff*ggg/hhh>iii* ↑のような文字列がある時に、 x[0]=aaa x[1]=ddd x[2]=ggg y[0]=bbb y[1]=eee y[2]=hhh z[0]=ccc z[1]=fff z[2]=iii のように配列に入れたいんですがどうしたらいいですか?
365 名前:Name_Not_Found mailto:sage [2009/03/17(火) 20:19:48 ID:???] >>364 Regexでどうよ。
366 名前:Name_Not_Found mailto:sage [2009/03/17(火) 20:33:31 ID:???] var x = [], y = [], z = []; var str = "aaa/bbb>ccc*ddd/eee>fff*ggg/hhh>iii*"; var ary = str.match(/.+?\/.+?>.+?\*/g); for(var i in ary) { var result = /(.+?)\/(.+?)>(.+?)\*/.exec(ary[i]); if(result) { x.push(result[1]); y.push(result[2]); z.push(result[3]); } } もうちょっと上手い方法ありそうなんだけどなぁ・・・
367 名前:Name_Not_Found mailto:sage [2009/03/17(火) 20:56:38 ID:???] 正確な答えではないがおそらく宿題であること 回答の正確さよりも採点の簡単さに重点が置かれているだろうことを考えると おそらくこれが先生の求めているコードだ! var a,b,c,tmp,mojiretsu = "aaa/bbb>ccc*ddd/eee>fff*ggg/hhh>iii*"; tmp = mojiretsu.split("*"); a = tmp[0].split(/[\/>]/); b = tmp[1].split(/[\/>]/); c = tmp[2].split(/[\/>]/);
368 名前:367 mailto:sage [2009/03/17(火) 21:07:52 ID:???] あーごめん 問題よく読んでなかったわw 入る順番違ってた
369 名前:Name_Not_Found mailto:sage [2009/03/17(火) 21:33:23 ID:???] >>364 何も考えずに書くなら var str = 'aaa/bbb>ccc*ddd/eee>fff*ggg/hhh>iii*'; var x = [], y = [], z = []; var arr_a = str.split(/\*/); for (var i = 0; i < arr_a.length; i++) { var arr_b = arr_a[i].split(/[\/\>]/); x.push(arr_b[0]); y.push(arr_b[1]); z.push(arr_b[2]); } かね。 >>367 あんまし宿題には見えないなぁ。 どっちかっつーと、PerlCGIをかじった程度の人が、 掲示板CGIでよくある記事保存形式を そのまんまJavaScriptでも使いました、という感じに見える。
370 名前:Name_Not_Found mailto:sage [2009/03/17(火) 22:39:04 ID:???] >>369 あー じゃあiiiの後も続く可能性があるのか その事全然考えてなかったな
371 名前:Name_Not_Found mailto:sage [2009/03/17(火) 22:41:10 ID:???] >>364 var foo = 'aaa/bbb>ccc*ddd/eee>fff*ggg/hhh>iii*'; var x=[], y=[], z=[]; foo.replace( /(\w+)\/(\w+)>(\w+)\*/g, function(m0, m1, m2, m3) { x.push(m1); y.push(m2); z.push(m3); }); とか。
372 名前:366 mailto:sage [2009/03/18(水) 00:45:44 ID:???] >>371 それだ!すっきりしたありがとう。 callback利用までは思いついてたのに、マッチ全体ではなく キャプチャ単位で呼ばれるとなぜか勘違いした罠。
373 名前:Name_Not_Found mailto:sage [2009/03/18(水) 03:01:50 ID:???] (function(){ })(); 最初と最後にこんなので囲んでるスクリプトを見ます。 別になくても動作すると思うのですが、 なぜわざわざつけてるんでしょうか?
374 名前:Name_Not_Found mailto:sage [2009/03/18(水) 03:46:03 ID:???] >>373 function f(){ alert(); } var a=f; a(); ←「 () 」 /*-------------*/ var a=function(){ alert(); } a(); ←「 () 」 /*-------------*/ (function(){ alert(); })(); ←「 () 」 過去ログコピペ
375 名前:Name_Not_Found mailto:sage [2009/03/18(水) 04:27:03 ID:???] >>373 スコープを作るため。 functionの中でvar宣言された変数はその外には漏れない。 うっかり変数名がかぶったりしたときのための保険だから 大抵はなくても動くことは動く。 var v = 1; (function(){ var v = 2; alert(v);})(); alert(v);
376 名前:Name_Not_Found mailto:sage [2009/03/18(水) 08:47:17 ID:???] 一定時間ごとにAjaxでデータを取得して、 ページに「追記」していきたいのですが、 どのようにすればよいのでしょうか? prototypeなどを使って「更新」することはできるのですが、 「追記」する方法がわかりません・・・ 基本的な考え方だけでもいいので、よろしくお願いします!
377 名前:Name_Not_Found [2009/03/18(水) 09:31:55 ID:pMQMyHph] ttp://javascript.webcreativepark.net/library/jquery_multiple_file_upload_plugin こういうのを使って、仕事のデータを送ってもらう窓口を 自分のページに設置したいと思ってます。 そこでログインIDとパスワードで制限をつけて、自分が借りてるサーバーに 特定のディレクトリをつくっておいてそこへうpさせたいのですが こういう事をやる場合、皆さん現実的にはどうされてますか?
378 名前:Name_Not_Found mailto:sage [2009/03/18(水) 09:45:18 ID:???] >>377 JavaScriptではファイル選択ダイアログから複数ファイルの選択が出来ないので、 すこぶる使いにくい。Flashでやるのが基本…だが、それは結構骨の折れる作業。
379 名前:Name_Not_Found mailto:sage [2009/03/18(水) 10:11:58 ID:???] >>377 相手が1人なら、圧縮してメールで送りつける。 複数の人に見てもらいたいなら、圧縮してサーバに置いとく。 送受信にしろ、サーバのバックアップ時にしろ、 ファイルは少なく小さくしておけば後々効率がいい。 業務の上でも「3つ送ったつもりで2つしか送ってなかった」のか 「3つ送ったが相手が見落として2つしか確認してなかった」なんてのは論外だから、 そのテのミスを減らす上でも圧縮を義務付けてる。 だから、そもそも「複数のファイルを送る」なんて状況が存在しない。 どうしても、圧縮展開の手間すら惜しいほど急ぎの用件なら、 担当者のPCにローカル共有フォルダ作って、そこで管理することはあるけどね。
380 名前:Name_Not_Found mailto:sage [2009/03/18(水) 10:51:17 ID:???] jQuery1.3.2 + thickbox3.1 でIE6で見ると画像が上のほうに止まってます。 検索した結果、XML宣言とDOCTYPE宣言が原因らしいのですが、それを設定しても変わらないまま止まってます。 <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd "> <html xmlns="www.w3.org/1999/xhtml " lang="ja" xml:lang="ja"> 他に何か原因があるのでしょうか?
381 名前:373 mailto:sage [2009/03/18(水) 10:56:43 ID:???] >>374-375 どうもレスありがとうございます。 詳しい説明ありがとうございました。 勉強になります。
382 名前:Name_Not_Found mailto:sage [2009/03/18(水) 10:57:06 ID:???] >>379 それは返答として的はずれじゃないか? レンタルブログのようなサービスを考えたときに、 特定のフォルダにhtmlファイル等々を個々のユーザーにuploadさせて使わせたいだとか >377のようなニーズはいくらでもあるんじゃないかな。
383 名前:Name_Not_Found mailto:sage [2009/03/18(水) 11:31:16 ID:???] >>376 追記する対象のエレメントを取得しておいて、 追加データをそのエレメントにappendChildするとか、innerHTMLを変更するとか。 >>381 (function(){})(); はクロージャを生成する目的でも良く使われるね。 var foo = (function() { // 引数に関係無い予備処理 return function(arg){console.log('arg:'+arg);} })(); var bar = function( arg ) { // 引数に関係無い予備処理 console.log( 'arg:'+arg ); } barの場合は、"引数に関係無い予備処理"はbarが呼ばれる度に行われるが、 fooの場合は一度だけなので、その部分が重い処理の場合には有効。
384 名前:Name_Not_Found [2009/03/18(水) 11:40:11 ID:8et0jV/q] テキストエリアに入力した文字列をajaxでサーバのPHPで処理したいのですが 低回線向けのサイトのためjqueryやprototypeはファイルサイズが大きくて困ってます 10kbより小さいライブラリでおすすめのライブラリってございませんか? ajaxでサーバに文字を受け渡しができる程度でかまいません。
385 名前:Name_Not_Found mailto:sage [2009/03/18(水) 12:11:49 ID:???] >>384 どんだけ低速なんだよ。
386 名前:Name_Not_Found mailto:sage [2009/03/18(水) 12:25:30 ID:???] >>384 普段どちらかのフレームワークを使っているなら、 Prototype.js(MIT)もjQuery(MIT/GPL)もオープンソースなので、 そこからAjax処理(と関連する関数やObject)だけのファイルを作るのが良さげだけど。
387 名前:Name_Not_Found mailto:sage [2009/03/18(水) 12:53:16 ID:???] サーバ側から gzip で送出できるようにすれば、少しはマシになるでしょ 無論、ライブラリ自体の minified も忘れずに
388 名前:Name_Not_Found mailto:sage [2009/03/18(水) 12:53:30 ID:???] 数行ですむんだし自分で書けばいいのでは?
389 名前:Name_Not_Found mailto:sage [2009/03/18(水) 14:03:45 ID:???] >>382 「仕事のデータ」と明記されてたから>379として書いた。 「複数ファイルのアップロードが有用になるようなサービス」を 誰かに提供したいというなら、それはその通り。 だけど、それを考えるような人なら、一通りの関連分野について ある程度の知識を持ってることが前提。こんなところで質問してない。 もし>377がそういう意図だったなら、>379の代わりに 「それ今すぐ中止してくれ。怖いから」と書いてる。
390 名前:Name_Not_Found [2009/03/18(水) 15:01:13 ID:doJW/mMh] ajaxでどうしてもSJISファイルを読み込みたいのですが、なんとかなりませんか? CGIを介して取得する方法はなしとします。
391 名前:Name_Not_Found mailto:sage [2009/03/18(水) 15:16:51 ID:???] >>390 cgiがイヤなら諦めろ
392 名前:Name_Not_Found mailto:sage [2009/03/18(水) 15:38:47 ID:???] サーバと連携なしでもAJAXと呼ぶのか
393 名前:Name_Not_Found mailto:sage [2009/03/18(水) 15:43:35 ID:???] >>390 じゃあサーブレットで
394 名前:Name_Not_Found [2009/03/18(水) 15:44:45 ID:doJW/mMh] 2ちゃんねるのread.cgiのJSモードのようなものでサーバーに負荷はかけたくないのでお願いします。
395 名前:Name_Not_Found mailto:sage [2009/03/18(水) 15:46:08 ID:???] パラメータをURLエンコードして渡してJavaScript側でデコードすれば?
396 名前:Name_Not_Found mailto:sage [2009/03/18(水) 15:50:40 ID:???] だったらSJISを選んだ時点で失敗だろ 文字コード変換スクリプトは過去ログにある
397 名前:Name_Not_Found [2009/03/18(水) 16:03:27 ID:doJW/mMh] 2ちゃんねるのdatはSJISのようなので可能なはずだと思いますが… 誰か教えて下さい。
398 名前:Name_Not_Found [2009/03/18(水) 16:11:53 ID:doJW/mMh] 勿論送信はecl.js通して成功しています。
399 名前:Name_Not_Found mailto:sage [2009/03/18(水) 16:33:14 ID:???] Content-typeで文字コードを指定してれば読める
400 名前:Name_Not_Found mailto:sage [2009/03/18(水) 16:44:44 ID:???] ブラウザの実装依存(今現在それなりにシェアのあるPCブラウザなら恐らく問題無いか)だけど、 Content-Type: text/html; charset=Shift_JIS のようにサーバーからのレスポンスヘッダを適切に指定すれば読めるが、 サーバー側スクリプトを使わないなら、 Webサーバーの設定やらモジュール(の記述)を弄る必要があると思われ。
401 名前:Name_Not_Found [2009/03/18(水) 16:52:27 ID:doJW/mMh] なるほど。.htaccessでの指定で問題ありませんか? 回答して下さった皆様、本当に有り難う御座います。
402 名前:Name_Not_Found mailto:sage [2009/03/18(水) 16:57:08 ID:???] >>362 どうもです。 ちなみにいろいろと叩かれましたが onloadでのタイミングはテストように作ったものです。 実際は自分のサイトでの実用じゃなくて よく利用している某サイトの使い勝手を良くするために Greasemonkeyでカスタマイズしたいが為のものです。
403 名前:Name_Not_Found [2009/03/18(水) 22:04:11 ID:+f8oDVPR] javascriptとrssを使ってサイトの更新情報が表示される ブログパーツのようなものを作ったのですが、 突然何も表示されなくなってしまいました。 解決方法を教えていただけないでしょうか・・・ <script type="text/javascript" src="app.drk7.jp/xml2json/var=HATENARSS&url=http://bbqsha.com/feed/ " charset = 'UTF-8'></script> <script type="text/javascript" src="bbqsha.com/newlist.js "></script> スレ違いでしたら申し訳ございません。
404 名前:Name_Not_Found mailto:sage [2009/03/18(水) 22:33:58 ID:???] >>403 そういうときは大抵、データに予期しないものがまじってる。 ほらよ。 >"description":{},
405 名前:Name_Not_Found [2009/03/19(木) 00:49:42 ID:A6gQEakX] お返事ありがとうございます。 解決できませんでした。。頭悪くてすみません ↓を参考にして作りました。 q.hatena.ne.jp/1165960016#a650962
406 名前:Name_Not_Found mailto:sage [2009/03/19(木) 02:26:19 ID:???] 処理部分を理解せずに丸写しとかjsスレ的には作ったうちに入んねーよw 一応質問者のレベル考えて回答してるから、そういうことは初めから言ってくれ。 var description = items[i]["description"]; if(typeof(description) != "string") { description = ""; } description = description.replace(" ", ""); この一行足せば動くはず。
407 名前:Name_Not_Found [2009/03/19(木) 09:03:11 ID:A6gQEakX] できました! 本当にありがとうございました!
408 名前:Name_Not_Found mailto:sage [2009/03/19(木) 19:53:11 ID:???] HTMLファイルからa.jsとb.jsの二つのJSファイルを呼び出すとします a.js内のスクリプトから b.js内の変数なり関数なりオブジェクトなりにアクセスするためには それがグローバルで宣言されている必要があるでしょうか? できるだけグローバル汚染は避けたいと思っているのですが アクセスのために何か良い方法はないでしょうか (a.jsとb.jsはライセンスの関係で一つのファイルにすることは出来ません)
409 名前:Name_Not_Found mailto:sage [2009/03/19(木) 20:01:36 ID:???] >>408 >>373 の流れを参照。 jsはたしかファイルはスコープにならなかったはずだから グローバル変数かトップレベルの変数ならどこからでもアクセスできる。 >>375 みたいな形で隠蔽されてると無理。 あとa.js->b.jsの順にロードするなら、a.jsを読み込む時点では b.jsを読んでないから、定義した関数をあとから実行する等で タイミングを遅らせないとb.jsの内容にはアクセスできない。
410 名前:Name_Not_Found mailto:sage [2009/03/19(木) 20:04:48 ID:???] わかりにくい説明になったけど要するに、<script src="a.js">の部分に a.jsの内容を、b.jsの部分にb.jsの内容をそのまんま展開してるのと 変わらないってこと。
411 名前:Name_Not_Found mailto:sage [2009/03/19(木) 20:07:45 ID:???] >>408 「アクセスできる」ということがどういうことか分かってる? アクセスしなきゃならんのなら、当然、対象とするその何かの名前が 見えてなきゃいかんだろうに。 「汚染は避けたい」って、何を以って汚染されていると定義しているのか、 どんな状態が汚染されているということなのか、 自分で考えたことが1度でもあるか? あるならあり得ない質問だぞそれ。 −−− ツッコミはここまでにして。 ライセンスの関係云々でバラさなきゃならん処理なら、 a, b の個々のプログラムは、それぞれが一定の機能を満たした 独立したプログラムだよな? 相互依存してるとは想像しにくい。 a, b が個々に独立してるなら、c を作ってそこから a, b の中身を呼び出せば a は b を知る必要がないし、b は a を知る必要がない。 c は a, b の呼び出し部分のみを最小限記述すればそれで済む。
412 名前:Name_Not_Found mailto:sage [2009/03/19(木) 20:13:46 ID:???] >>408 そんな場合には、 var Foo = {}; Foo.bar = function(){}; Foo.baz = [0,1,2]; など、利用する全ての関数/変数を1つのObjectの下に置いて、 グローバルに影響するのも1つのObjectだけというのが良く使われるね。 a.jsとb.jsに存在する関数/変数も全てFooオブジェクトの下に置くという感じで。 ライセンス云々という話があるので、そんな簡単な話では無いだろうけど。
413 名前:408 mailto:sage [2009/03/19(木) 20:50:57 ID:???] >>409 隠蔽されてるとやっぱり無理ですよね >>411 >アクセスしなきゃならんのなら、当然、対象とするその何かの名前が >見えてなきゃいかんだろうに。 見えてないといけないのはハッシュ値ではないでしょうか >ライセンスの関係云々でバラさなきゃならん処理なら、 >a, b の個々のプログラムは、それぞれが一定の機能を満たした >独立したプログラムだよな? 相互依存してるとは想像しにくい。 GPLのスクリプトを自分で機能拡張した(これがb.js)のですが その拡張部分でメルセンヌ乱数が必要になったのです メルセンヌ乱数はBSDなのでGPLであるb.jsに組み込むわけにもいかず スマートな渡し方がないか探しているところです GPLまじうんこ >>412 ライブラリのソース読むとそういうことを良くやっていますね 裏返せば現実的にはそれしか解決法がないってことなんですかね
414 名前:Name_Not_Found mailto:sage [2009/03/19(木) 21:08:26 ID:???] >>413 BSDライセンスをGPLに持ってくるのは問題ないような。 というかGPLを組み込んだ時点で全体がGPL汚染されるんじゃなかったっけ? それを防ぐためのLGPLだと解釈してたけど。
415 名前:408 mailto:sage [2009/03/19(木) 21:14:31 ID:???] >>414 BSDのコード(メルセンヌ乱数)もGPLのコードに組み込めば(原作者の意志に関わらず)GPL扱いになってしまうから GPL以外のライセンスのコードは組み込めないと解釈していました 解釈が間違っていたのかもしれませんね 調べなおしてみます
416 名前:Name_Not_Found mailto:sage [2009/03/19(木) 21:16:56 ID:???] >>415 いちおうこれ。 ttp://ja.wikipedia.org/wiki/GNU_General_Public_License#GPL.E3.81.AE.E4.B8.A1.E7.AB.8B.E6.80.A7 >(現行の3文節のかたちの)BSDライセンス(略)は、「GPLと両立する」。 >つまり、矛盾なくコードとGPLのプログラムを組み合わせることができる > (新しい組合せ全体には、GPLが適用される)。
417 名前:Name_Not_Found mailto:sage [2009/03/19(木) 21:34:45 ID:???] >>416 ttp://ja.wikipedia.org/wiki/BSD%E3%83%A9%E3%82%A4%E3%82%BB%E3%83%B3%E3%82%B9 >旧BSDライセンスとGPLは混在させることができない。 >これはGPLでは2次的な著作物のライセンスに制限をつけ加えることを禁止しているため、 >告知の要求は制限の追加となり、BSDスタイルのライセンスのソースコードはコピーレフトされたソフトウエアになることができないためである。 を考慮してでは。 が、 ttp://en.wikipedia.org/wiki/BSD_licenses >The advertising clause was removed from the official BSD license text on July 22, 1999 by William Hoskins のように既に宣伝条項が廃止されて10年ほど経つようなので、 現在もアクティブなプロジェクトで特に明記していないなら、 GPLと共存可能な新BSDライセンスとして認識して良さそうだけど。
418 名前:408 mailto:sage [2009/03/19(木) 22:22:25 ID:???] >>416 ,417 なるほどなるほど 四角四面に一つのファイルにまとめたら絶対にダメなものだと思っていました 比較的融通が利くんですね
419 名前:Name_Not_Found mailto:sage [2009/03/20(金) 19:23:33 ID:???] グローバル汚染って単に名前の衝突を気にしているだけならこれでいいんじゃないかなと思った <! a.js --><script> (function(){ var s = new String("foo") ; s2 = s; })(); </script><! a.js おわり --> <! b.js --><script> (function(){ var s3 = s2; delete s2; alert s3;//foo })(); </script><! b.js おわり --> a.jsとb.jsが必ずこの順番で連続して呼び出されることが保証されているのなら a.jsのローカルスコープでオブジェクトsを作り、それをグローバルオブジェクトのs2で参照。 b.jsのローカルスコープ内のオブジェクトs3でs2を参照し、s2をdelete。 これで以後グローバルオブジェクトのs2ではオブジェクトを参照できなくなるし ローカルのs3はsを参照可能。 a.js以前にグローバルオブジェクトとしてs2が用いられていると衝突するので a.jsはグローバルオブジェクトを用いているスクリプトの中では最初に呼び出すようにする 識者の皆さん どうでしょうか 何か見落としている気がしてる
420 名前:Name_Not_Found mailto:sage [2009/03/20(金) 19:44:40 ID:???] >>419 できるできないじゃなくて、やらない。 アクセスされていいなら>>412 みたいな方法で公開する。 隠したい、でも密にアクセスしたいなら同じファイルで済ませる。 同じファイルでやれないなら仕様を見直す(>>413-418 )。 「アクセスされたいけどちょっとは見えにくくしたほうが・・・」 そんなの微妙すぎー ライブラリはなにかしらグローバルに定義するのが普通だから Objectを公開してそこにプロパティとしてくっつければ十分。
421 名前:Name_Not_Found mailto:sage [2009/03/20(金) 20:16:23 ID:???] やるやらないとか聞いてないですし黙ってろサル
422 名前:Name_Not_Found mailto:sage [2009/03/20(金) 23:06:35 ID:???] hoge.com/fuga/fugafuga/fuga.html hoge.com/fuga/script/fuga.js 上記のようなファイル構成で、 fuga.htmlよりfuga.jsをインクルードする場合、 ../script/fuga.js とか /fuga/script/fuga.js で 指定すると思いますが、 /script/fuga.jsのように /fugaの配下からの絶対指定 のようなことは出来ないでしょうか?
423 名前:Name_Not_Found mailto:sage [2009/03/20(金) 23:10:43 ID:???] >>422 貴様は/と./と../が何を意味するのかググってから質問しろ
424 名前:Name_Not_Found mailto:sage [2009/03/21(土) 02:40:31 ID:???] >>422 base タグ使えばできるよ。 <head> <base href="hoge.com/fuga/ "> <script type="text/script" src="script/fuga.js"></script> </head> パスの先頭にスラッシュつけて src="/script/fuga.js" とはできないけどね。
425 名前:Name_Not_Found mailto:sage [2009/03/21(土) 02:43:10 ID:???] × <script type="text/script" src="script/fuga.js"></script> ○ <script type="text/javascript" src="script/fuga.js"></script>
426 名前:Name_Not_Found [2009/03/21(土) 08:11:00 ID:HPjQaWEN] ブログの管理画面によくある文章中に絵文字を挿入する機能を作りたいです。 テキストエリア中のカーソル位置を捕捉するにはどうしたらいいでしょうか? すみませんがアドバイスお願いします
427 名前:Name_Not_Found mailto:sage [2009/03/21(土) 12:25:37 ID:???] JavaScript単体でDBと同じようなものを実現するには SQLは使えませんけどデータの集合として扱うには やはり(連想)配列でがんばるしかないでしょうか?
428 名前:Name_Not_Found mailto:sage [2009/03/21(土) 12:33:54 ID:???] JSON
429 名前:Name_Not_Found mailto:sage [2009/03/21(土) 12:34:32 ID:???] >>426 「javascript キャレット input」でぐぐるといいかも。 >>427 ArrayとHash(JSではObject)でデータを表現するのは データの規模にもよるけど他言語でも常套手段。 他には、Ajaxでサーバに丸投げするとか。
430 名前:427 mailto:sage [2009/03/21(土) 12:54:42 ID:???] >>428-429 レスありがとうございます JSONって聞いたことはあるのですが 概念までは知りませんでした ぱっとみ配列やハッシュと同じようなので 早速勉強してみたいと思います
431 名前:426 [2009/03/21(土) 17:24:46 ID:HPjQaWEN] >>429 マジで感謝します! ありがとうございました!
432 名前:Name_Not_Found mailto:sage [2009/03/21(土) 19:42:04 ID:???] >>424 参考になりました。 ありがとうございました。
433 名前:Name_Not_Found [2009/03/21(土) 20:14:50 ID:48GLx9+k] alistapartで配布されているstyleswitcher.jsは商用利用可能なのでしょうか? サイトを見ても記述がありませんでした。
434 名前:Name_Not_Found mailto:sage [2009/03/21(土) 20:33:15 ID:???] >>433 んなもん直接聞けよw たとえ記述があったからってその解釈を間違えたら、困るのは自分だぞ
435 名前:Name_Not_Found mailto:sage [2009/03/21(土) 20:58:35 ID:???] >>433 ってゆとりの見本だなw
436 名前:Name_Not_Found mailto:sage [2009/03/21(土) 21:13:02 ID:???] >>433 ttp://www.alistapart.com/copyright/ >You may freely copy, paste, and modify any of this code for use on your own web projects large or small, commercial or non-commercial. >You need not ask permission to do so. You need not credit ALA or its authors. 商用非商用関係無く自由に使って良いし、ALAのコピーライト付記も必要無し。 相変わらず煽るだけのテンプレ厨が湧いてるな。
437 名前:433 mailto:sage [2009/03/21(土) 21:16:38 ID:???] >>436 ありがとうございます。 いろんな商用サイト見てみたんですが、styleswitcher.jsというファイル名 は使わない(common.jsとかにしている)にしろ、中身は同じコードだったんです。 ちなみにゆとりではありません、もうすぐ40です。
438 名前:Name_Not_Found mailto:sage [2009/03/21(土) 21:40:43 ID:???] もうすぐ40
439 名前:Name_Not_Found mailto:sage [2009/03/21(土) 21:49:16 ID:???] 40でこれwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
440 名前:Name_Not_Found mailto:sage [2009/03/21(土) 22:27:25 ID:???] 百歩譲って学生時代はクラブかなんかに熱中していたとしても、 社会人としてのこの十数年で何をしてきたのか聞いてみたい。 つか433の回りの人間って大変そうだな…
441 名前:Name_Not_Found mailto:sage [2009/03/21(土) 22:40:40 ID:???] うわぁこいつらマジレスしてるよ…
442 名前:Name_Not_Found mailto:sage [2009/03/22(日) 08:28:49 ID:???] マジレス? いやいや。単にバカにしてるだけですが。
443 名前:Name_Not_Found mailto:sage [2009/03/22(日) 09:16:22 ID:???] ここはひどい板ですね。
444 名前:Name_Not_Found mailto:sage [2009/03/22(日) 10:52:44 ID:???] いいえ、ひどいスレです。 次の質問ドゾー
445 名前:Name_Not_Found mailto:sage [2009/03/22(日) 11:23:53 ID:???] けっ、ダメ人間かよ
446 名前:Name_Not_Found mailto:sage [2009/03/22(日) 12:25:03 ID:???] TOPへ戻るボタンでページの一番上とかページ内アンカーに スムーススクロールするJSでライツフリーのライブラリってありますか?
447 名前:Name_Not_Found mailto:sage [2009/03/22(日) 12:40:32 ID:???] ここはひどい星ですね。
448 名前:Name_Not_Found mailto:sage [2009/03/22(日) 15:59:15 ID:???] いいえ、ひどい惑星です。
449 名前:Name_Not_Found mailto:sage [2009/03/22(日) 20:22:29 ID:???] 質問です。 document.createElement("script")で読み込んだファイルの読み込みが完了したときに処理を行いたいのですがどうすればいいですか?
450 名前:Name_Not_Found mailto:sage [2009/03/22(日) 20:43:42 ID:???] >>449 ttp://blog.37to.net/2008/08/script/ IEはonreadystatechangeを それ以外はonloadでいけるようだぞ もしくはAjaxつかう
451 名前:Name_Not_Found mailto:sage [2009/03/23(月) 00:38:41 ID:???] 他人が書いたソースに分からないところがあったので教えて下さい。 ソース中にあった一行↓ addListener( "mouseover", theA, function(sansyouKey){ return function(){ makeGyakusansyouPopup(sansyouKey) }}(sansyouKey) ); ↑をこう書いたらダメな理由が分かりません! addListener( "mouseover", theA, function(){ makeGyakusansyouPopup(sansyouKey) } ); どうせ return でfunction() を返すんだから省略出来るかと思ったんですが、 何故 function(引数){}() の中にfunction(){} を入れているんでしょうか? よろしくお願いしますm(_ _)m
452 名前:Name_Not_Found mailto:sage [2009/03/23(月) 00:48:22 ID:???] 関数呼出ししないと、スコープが作れないから。 クロージャを勉強しろ。
453 名前:451 mailto:sage [2009/03/23(月) 00:54:35 ID:???] >>452 クロージャですね、逝ってきます。ありがとうございました。
454 名前:Name_Not_Found mailto:sage [2009/03/23(月) 07:01:23 ID:???] createElement で作った CANVAS 要素に描画を行うと ときどきやたらと遅くなるようです。 (CANVAS 対応ブラウザ各種でいずれも確認) なんででしょう。
455 名前:Name_Not_Found mailto:sage [2009/03/23(月) 07:17:25 ID:???] 1お前のコードのせい 2ブラウザのせい 3気のせい
456 名前:Name_Not_Found mailto:sage [2009/03/23(月) 08:53:23 ID:???] >>450 どうもありがとうございました!
457 名前:Name_Not_Found mailto:sage [2009/03/23(月) 10:22:58 ID:???] >>451 に便乗して質問 1番目のコードはイベントリスナを実行する時点でsansyouKeyを固定しちゃうから、 自分より上のスコープは見ないってのはわかるのだけど、それによるメリットってありますか? 例えば、極端な例として、 function A() { var sansyouKey = 0; sansyouKeyを色々いじるコード; function B() { function C() { >>451 のコード } } } みたいになってた場合に、2番目のコードだとsansyouKeyはAで定義されているから、 mouseover実行時に毎回AのsansyouKeyの値を見に行くけど、 1番目のコードはイベントリスナ設定時にsansyouKeyが決定されて、function内に定義するから、 mouseover実行時に自分より上のスコープ自体見に行くことはないですよね。 ただ、親のスコープ自体は持ってるからメモリの使用量は変わらないんですよね? もしsansyouKeyが特に変化しない値だった時に1番目のコードのメリットがあるのか知りたいです。
458 名前:Name_Not_Found mailto:sage [2009/03/23(月) 10:36:49 ID:???] >>457 そういう条件ならメリットはないんじゃないかなぁ。 主にはthisをバインドするためのイディオムだし。 メモリ使用量は気にするほどは変わらないと思う。 ところでBとCを重ねる必要はないよね?
459 名前:Name_Not_Found mailto:sage [2009/03/23(月) 14:02:22 ID:???] >>458 あ。親の親の親のスコープってのを強調する極端な例としてBとCを重ねてみました。 this用か。それならよくやるけど、他にどういう時にメリットがある使い方なんだろうと思って。
460 名前:Name_Not_Found mailto:sage [2009/03/23(月) 14:39:12 ID:???] 単に名前空間への配慮が必要無いってところじゃない
461 名前:Name_Not_Found mailto:sage [2009/03/23(月) 15:18:57 ID:???] >>459 >sansyouKeyが特に変化しない値だった時 変化する前提なら前者にしなければならない。 変化しない前提ならその必要はない。というわけで>>458 。 じゃあもうちょっと実際の状況を考えてみると 「そのどっちでもない」つまり変数を変化させないことが未定とか 意識してない(意識しわすれる)ということがよくある。 具体的に言うと function A() { var sansyouKey = 0; addListener( "mouseover", theA, function(){ makeGyakusansyouPopup(sansyouKey) } ); } 色々いじるコード; } で「色々いじるコード」の部分を長々あれこれいじってるうちに sansyouKeyを書き換えてしまうパターン。 クロージャのありがちな落とし穴として、functionを生成した時点での値が 展開されて束縛される気になること。thisでハマりやすい原因でもあり。 明らかに書き換えようがない狭いスコープの変数ならわざわざ縛らなくてもいいけど A()がもし大きなモノだったらクロージャの存在を忘れてsansyouKeyを書き換えてしまい バグを産む可能性もある。 そういうケースを考えるとうっかり書き換えられても問題がない 前者のコードにしておくほうが安全、というのがメリットじゃないかと思う。
462 名前:451 mailto:sage [2009/03/23(月) 17:55:50 ID:???] みなさんのおかげでだいぶ分かってきました。 フィールド+アクセサメソッド+new のようなものだったんですね。 以下のサイトが分かり易くて助かりました。 ドキュンさんありがとうございました。 [JavaScript] 猿でもわかるクロージャ超入門 まとめ dqn.sakusakutto.jp/2009/01/javascript_5.html
463 名前:Name_Not_Found mailto:sage [2009/03/23(月) 20:23:14 ID:???] 今までCくらいしかやったことないのですが 次JavaScriptをやろうと思い、本を探しています。 演習問題がそこそこついてて、サンプルを交えてくわしいことまで 載ってるようなお勧めの本を教えてください。
464 名前:Name_Not_Found mailto:sage [2009/03/23(月) 20:27:04 ID:???] 先にschemeかhaskelでもやっとけ
465 名前:Name_Not_Found mailto:sage [2009/03/23(月) 21:38:12 ID:???] >>463 サイ本とGoog parts
466 名前:Name_Not_Found mailto:sage [2009/03/23(月) 21:38:54 ID:???] typo... Good Parts
467 名前:Name_Not_Found mailto:sage [2009/03/24(火) 03:09:57 ID:???] クックブックいいよ
468 名前:Name_Not_Found mailto:sage [2009/03/25(水) 00:30:13 ID:???] window.onloadに既に設定されている関数が全て実行された後に もう一つ関数を実行したいのですが、window.onloadの関数が 全て実行し終わったことを知るにはどうしたらいいでしょうか?
469 名前:Name_Not_Found mailto:sage [2009/03/25(水) 00:35:41 ID:???] フラグ立ててタイマーで確認すれば
470 名前:Name_Not_Found mailto:sage [2009/03/25(水) 00:43:21 ID:???] 出来ればフラグ変数などを使わずに実現したいのです。
471 名前:Name_Not_Found mailto:sage [2009/03/25(水) 00:47:47 ID:???] window.onloadから0ミリ秒後に「もう一つの関数」実行すればええんじゃね
472 名前:Name_Not_Found mailto:sage [2009/03/25(水) 00:54:51 ID:???] >>468 var onload_func = []; window.onload = function() { for(var i=0; i < onload_func.length; i++) { onload_func[i].call(); } onload_last_func(); } 配列への登録はそのままpushでも addEventListenerをラップしてonloadだったらぶちこむとかでも。
473 名前:Name_Not_Found mailto:sage [2009/03/25(水) 02:44:20 ID:???] >>468 こんなんどう function addLoadEvent(func) { var prev = window.onload || function() {}; window.onload = function() { prev(); func(); } } addLoadEvent(/*Function obj*/);
474 名前:Name_Not_Found mailto:sage [2009/03/25(水) 06:01:07 ID:???] ビット演算子について質問です。 <script type="text/javascript"> <!-- var str = 0x7fffffff << 1; document.write(str.toString(2)); // --> </script> このコードを実行すると何故か -10 が返ってくるんですが、どういう原理で負の数になるのかが良く分かりません。 javascript上でビット単位で負の数を扱う方法も分からないのでご存じの方がおられましたら是非ともご教示下さいませ。 参考になりそうなリンク : 符号付数値表現 ja.wikipedia.org/wiki/%E7%AC%A6%E5%8F%B7%E4%BB%98%E6%95%B0%E5%80%A4%E8%A1%A8%E7%8F%BE toString(2) で符号を管理しているビットまで確認出来れば苦労はしないんですが 負の数の場合は2進表示でなく10進表示になるんですね。;_;
475 名前:Name_Not_Found mailto:sage [2009/03/25(水) 09:50:06 ID:???] >>474 その-10って10(2)のマイナスだから-2のこと。それはさておき。 JSのビット演算は32bitの算術シフト。 0x7fffffff << 1 == 0xfffffffe ただし0xfffffffeをJSは32bitとして扱わないために 負数のリテラルにはならない点に注意。 32bit制限はあくまでビット演算のとき。 だからビットシフトしてやれば32bitに丸められる。 0xfffffffe << 1 >>1 == -2 >ほとんどの場合、最近のコンピュータでは2の補数表現を使う 正の値に足してぴったりオーバーフローする値が負数。 2 + -2 = 0 0x2 + 0xfffffffe = 0x00000000 そういうわけだから何bitか定まらないとと負数は求められない。 これJSというよりはCPUアーキテクチャに依存した決まり事のはずだから 他の負数表現をするCPUなら結果はたぶん変わる。そんなCPU知らないけどね。
476 名前:Name_Not_Found [2009/03/25(水) 11:34:51 ID:hBqp7dAU] ボタンを押したら3秒後にアラートを出したいのですが phpでいうとsleep(3)みたいな関数もしくはやり方がございましたら教えてください
477 名前:Name_Not_Found mailto:sage [2009/03/25(水) 11:38:28 ID:???] >>476 setTimeoutでおk。sleepのように単純に止めるのは無理。
478 名前:468 mailto:sage [2009/03/25(水) 13:40:32 ID:???] みなさんお答えありがとうございます。 >>471 window.onloadから0ミリ秒後の場合、window.onload後を どうやって知るのかが分からなかったのです。 >>472 その場合 window.onload = function() { func1(); func2(); onload_last_func(); } でもいいような気がします。 last_func前の関数は動的に割り当てるわけではなく、 出来ればlast_funcをwindow.onloadから切り離して、 かつwindow.onloadよりあとに実行したいのです。
479 名前:468 mailto:sage [2009/03/25(水) 13:42:38 ID:???] >>473 それも考えてみましたが、その場合prevがfuncの前に実行されることは 必ず保証されるのでしょうか? それならばその方法で解決だと思います。
480 名前:Name_Not_Found mailto:sage [2009/03/25(水) 13:52:09 ID:???] >>478 >window.onloadから0ミリ秒後の場合、window.onload後を >どうやって知るのかが分からなかったのです。 onload中のどこでもいいからsetTimeout使うといい シングルスレッドだからonloadが終わってからsetTimeoutで設定した 関数が実行される
481 名前:474 mailto:sage [2009/03/25(水) 16:05:45 ID:???] >>475 神 丁寧で分かりやすい解説をありがとうございました。m(_ _)m おかげ様でjsでビット演算をするときの考え方を知ることができました。 CPUによって計算結果が変わる可能性があるという点には注意が必要ですね、気を付けて使うようにします。 ありがとう神様。m(_ _)m
482 名前:Name_Not_Found [2009/03/25(水) 19:50:52 ID:9EJfLopA] domでの質問ですが cssファイル内の要素を得るのに、下記のようにアクセスしますが、 例).cssファイル内の、一番目の要素のtopプロパティの値を得る document.styleSheets.item(0).cssRules.item(0).style.getPropertyValue("top"); htmlのgetElementByIdのようにID名を指定するような感じで、 cssファイル内の各プロパティへアクセスしたいのですが何か方法は無いでしょうか?
483 名前:Name_Not_Found mailto:sage [2009/03/25(水) 20:17:08 ID:???] テンプレになかったっけ?
484 名前:Name_Not_Found [2009/03/25(水) 20:23:41 ID:9EJfLopA] >>483 それは>>1-7 までのレスのことでしょうか? 一通り読んだと思いますが無かったと思います
485 名前:Name_Not_Found mailto:sage [2009/03/25(水) 21:07:13 ID:???] >>474 ちなみに符号なし右シフトは結果がUint32だお alert(((0x7fffffff << 1) >>> 0).toString(2)); // 11111111111111111111111111111110
486 名前:Name_Not_Found mailto:sage [2009/03/25(水) 21:22:07 ID:???] >>484 ID名って何? セレクタの内、ID指定のものだけ取り出すってこと?
487 名前:Name_Not_Found [2009/03/25(水) 21:32:57 ID:9EJfLopA] >>486 はい、そうです。 .cssファイル内のセレクタごとの操作するのに、 CSSルールのインデックス番号指定ではいろいろと不便なので 出来ればIDで操作できればと思ったのですが、無いのでしょうか?
488 名前:474 mailto:sage [2009/03/26(木) 01:11:59 ID:???] >>485 ありがとうございます、暗黙的な型変換が発生する場合があるんですね。 符号付き、符号なしの型なども調べてみようと思います、どうもありがとうございました。m(_ _)m
489 名前:Name_Not_Found mailto:sage [2009/03/26(木) 15:39:42 ID:???] >>487 document.styleSheets[0].cssRules[0].selectorText で セレクタ文字列を取り出して、ID名と一致すれば取り出す関数を自分で定義するとか
490 名前:482 mailto:sage [2009/03/26(木) 19:42:06 ID:???] >>489 なるほど、自分で作ったほうが早そうですね。 ちょっとやってみます。 役立つ情報どうもです!
491 名前:Name_Not_Found mailto:sage [2009/03/26(木) 19:52:28 ID:???] Safari 3 でうまく動かない現象について質問します。 <embed src="foo.swf"> というタグの src 属性を JavaScript で動的に変更しています。 これはFirefoxだとうまく動くのですが、Safari3だと変更がうまく反映されません。 ただし、Safariでもメニューから「開発 → キャッシュを無効にする」を選ぶと、うまく反映されます。 Safariのバグじゃないかとは思うのですが、もし回避策をご存知の方がいたら教えてください。 よろしくお願いします。
492 名前:Name_Not_Found mailto:sage [2009/03/26(木) 19:58:02 ID:???] わからんけど src属性を変更するだけじゃこころもとなくね? objectごと消して新しくappendできないの?
493 名前:482 mailto:sage [2009/03/26(木) 20:16:50 ID:???] >>482 です 外部CSSのセレクタにIDでアクセスして取得する関数を 簡易ですが作ってみたので、貼ります。多用するとちょっと重いかも・・・ ではでは。 function getSelectorById(styleSheet, selectorId) { var cssRule; var selectorNumber; var i; if(styleSheet.cssRules) cssRule = styleSheet.cssRules; else if(styleSheet.rules) cssRule = styleSheet.rules; selectorNumber = cssRule.length; for(i = 0; i != selectorNumber; ++i) { if(cssRule.item(i).selectorText == "#" + selectorId) return cssRule.item(i); } return; }
494 名前:491 mailto:sage [2009/03/26(木) 20:21:31 ID:???] >>492 ありがとうございます。 その方法を試したところ、うまくいったりいかなったりで、挙動が安定しません。 どういうときにうまくいくのか、ちょっとわからないです。困った。
495 名前:Name_Not_Found mailto:sage [2009/03/27(金) 18:37:37 ID:???] こんにちは、お元気ですか naviewというスライドショーのスクリプト ttp://www.naview.com/download/nvsl/ と、 liteboxというイメージボックスのスクリプトを www.doknowevil.net/litebox/ 同じページで使っています。 そうしますと、liteboxのボックスがスライドショーの後ろに隠れるようになってしまいます。 liteboxがスライドショーの上になるようにしたいのですがどうすればいいですか?
496 名前:Name_Not_Found mailto:sage [2009/03/27(金) 18:53:15 ID:???] >>495 確認してないけど、objectとの重なり順が制御できないのは ブラウザ仕様という可能性がある。
497 名前:Name_Not_Found mailto:sage [2009/03/27(金) 19:47:00 ID:???] >>495-496 定石の1つに「objectの上に重ねたいものと同サイズのiframeを重ね、 その上に本来重ねたいものを載せる」というのがあるのでやってみたら どうかな。
498 名前:Name_Not_Found mailto:sage [2009/03/27(金) 21:25:51 ID:???] そんな事をせずとも、z-indexを変更すれば問題無いのでは。
499 名前:Name_Not_Found mailto:sage [2009/03/27(金) 21:49:21 ID:???] それができないから >>497 みたいな技があるわけで
500 名前:Name_Not_Found mailto:sage [2009/03/27(金) 23:16:35 ID:???] wmode="transparent"
501 名前:Name_Not_Found mailto:sage [2009/03/28(土) 01:17:12 ID:???] >>500 だな
502 名前:Name_Not_Found mailto:sage [2009/03/28(土) 12:25:00 ID:???] data.data1 data.data2 data.data3 ... というオブジェクトがあって、forループを使ってdata.data1からdata.dataNまでアクセスしたい時はどのようなコードを書けばいいですか? for(i=1;i<=8;i++){ document.getElementById('text').value = data.('data'+i) } ではだめでした…
503 名前:Name_Not_Found mailto:sage [2009/03/28(土) 12:43:22 ID:???] data['data'+i]
504 名前:502 mailto:sage [2009/03/28(土) 13:13:23 ID:???] >>503 アクセスできました ありがとうございます
505 名前:Name_Not_Found mailto:sage [2009/03/28(土) 13:49:49 ID:???] プログラム板から誘導されました。質問お願いします。 JavaScript内でオブジェクトがHTMLInputElementなのか、HTMLImageElementなのか、HTMLLabelElementなのか を知りたいんですが、やり方が分かりません。 どのHTMLElementなのか(表現おかしいかったらすいません)を知るにはどうすればいいんでしょうか? ブラウザはIE6とIE7で動いてくれればいいです。 function getElementType(myElement){ if (myElement.elementType == "HTMLInputElement"){ return 0; } … } とかできたら嬉しいんですが…
506 名前:Name_Not_Found mailto:sage [2009/03/28(土) 13:53:58 ID:???] nodeNameじゃだめなん?
507 名前:Name_Not_Found mailto:sage [2009/03/28(土) 14:09:34 ID:???] ページA(PageA.html)内に @リンク A<div class=div_class_pageA> を用意し@がクリックされるとAの中にページB(PageB.html)を 表示するにはどうすれば良いでしょうか? inner htmlを書き換える? or iFrameを使用する? どちらの方法が一般的なのでしょうか? これまで私はWEBページを作成する場合に、左に一覧ページ、 右にコンテンツを配置という作りをしていたのですが、最近のWEBページでは 一つのページ内の上部にリンクボタンがあってそれをクリックすると、 画面の下部分にコンテンツが表示されていますのでそれの様な動きをする ページにしたいと思っています。
508 名前:Name_Not_Found mailto:sage [2009/03/28(土) 14:13:36 ID:???] >>506 nodeNameでいけました。ありがとうございます。
509 名前:495 [2009/03/28(土) 14:30:32 ID:FZ97MGV6] >>496-501 皆さんありがとうございます。 皆さんから頂いた御助言をもとに今wmode でなんとかする方向でやってみます。 また質問させていただくかもしれません。どうもありがとうございました。
510 名前:Name_Not_Found mailto:sage [2009/03/28(土) 14:38:19 ID:???] >>507 iframeのほうが素直。innerHTMLのほうはXHRになるだろうし。 >上部にリンクボタンがあってそれをクリックすると、 >画面の下部分にコンテンツが表示 一つのhtmlでdisplay切り替えてるだけだったりしない?
511 名前:Name_Not_Found [2009/03/29(日) 10:49:54 ID:kf/l8G1a] submitボタンの二重送信を防止しようと、以下のスクリプトを書きました。 function submitCheck() { document.getElementById("sbm_name").disabled = true; document.getElementById("form1").submit(); return false; } IE6では送信ボタンがdisabledになって連続で押せないのですが、 Firefoxではそれが利かず、何回でも押せるようになっています。 どのように対処したらいいのでしょうか?
512 名前:Name_Not_Found mailto:sage [2009/03/29(日) 11:29:04 ID:???] "sbm_name" は submit ボタンの name 属性っぽいんだけど、 ちゃんと id を指定してんの?
513 名前:Name_Not_Found mailto:sage [2009/03/29(日) 11:33:27 ID:???] >>510 サンクス。 ちょっと人のサイトのソースを解析してみようと思います。
514 名前:Name_Not_Found [2009/03/29(日) 14:05:24 ID:kf/l8G1a] >>512 はい。こんな感じにしています。 <input id="sbm_name" type="submit" value="送信" onclick="submitCheck();" />
515 名前:Name_Not_Found mailto:sage [2009/03/29(日) 15:14:33 ID:???] >>514 なんで onsubmit にせんの?
516 名前:Name_Not_Found mailto:sage [2009/03/29(日) 17:00:33 ID:???] >>511 たぶん<form onSubmit="return false">にすればおk。 というかsubmitCheck()でreturn false;してるんだから、 >>515 の言うように <form onSubmit="return submitCheck()">が普通
517 名前:Name_Not_Found mailto:sage [2009/03/29(日) 17:12:17 ID:???] submitボタンの二重送信を防止しようと、以下のスクリプトを書きました。
518 名前:Name_Not_Found mailto:sage [2009/03/29(日) 17:21:56 ID:???] function submitCheck() { document.getElementById("sbm_name").value = "もう押すな。"; return false; }
519 名前:Name_Not_Found mailto:sage [2009/03/29(日) 17:34:56 ID:???] <input type="submit" value="2回押すな" />
520 名前:Name_Not_Found mailto:sage [2009/03/29(日) 17:48:40 ID:???] <input type="submit" value="押すなよ絶対押すなよ" />
521 名前:Name_Not_Found mailto:sage [2009/03/29(日) 19:02:59 ID:???] それ押しちゃうから
522 名前:Name_Not_Found mailto:sage [2009/03/29(日) 19:28:12 ID:???] /) ///) /,.=゙''"/ / i f ,.r='"-‐'つ 細けぇこたぁいいんだよ!! / / _,.-‐'~/⌒ ⌒\ / ,i ,二ニ⊃( ●). (●)\ / ノ il゙フ::::::⌒(__人__)⌒::::: \ ,イ「ト、 ,!,!| |r┬-| | / iトヾヽ_/ィ"\ `ー'´ /
523 名前:Name_Not_Found [2009/03/29(日) 20:33:09 ID:eknZFxJ0] <select>をクリックして展開?した後に<select>のstyleを以下のように変更すると、その展開が閉じてしまいます。 ------------ <select onfocus="this.style.backgroundColor='#eff'"> <option>1</option><option>2</option><option>3</option><option>4</option> </select> ------------ IE6やChrome, Firefox, Opera, Safari では展開されたままなので問題ない のですが、IE7とIE8では展開が閉じてしまいます。 (一度開くのですが、styleが適応された時点で閉じてしまいます。) 再度クリックすれば展開されるので問題はないのですが、展開が閉じないよ うにする方法などは有りますでしょうか?
524 名前:Name_Not_Found mailto:sage [2009/03/29(日) 21:12:15 ID:???] select:focus { background-color: #eff; }
525 名前:511 mailto:sage [2009/03/30(月) 10:35:37 ID:???] 遅くなりましたが、onsubmitで送信する方法で 希望通りの仕様になりました。 皆さん、回答ありがとうございました。
526 名前:Name_Not_Found [2009/03/30(月) 15:08:59 ID:IIrO8+Z3] 参考にしたサイトttp://javascript.eweb-design.com/1404_dc.htmlを元に クッキーの読み書きと削除を勉強してます 読み書きはできたのですが、削除ができません どなたかご教示お願いいたします cookie.jsの中身 function set() { document.cookie = "name=test; path=/;"; } function del() { time = new Date(); time.setFullYear(time.getFullYear()-1); document.cookie = "name=; expires="+time.toGMTString(); } alert(document.cookie); html文書の中身 <html> <head> <script type="text/javascript" src="cookie.js"></script> </head> <body> <button onclick="set()">クッキーを発行</button> <button onclick="del()">クッキーを削除</button> </body> </html>
527 名前:Name_Not_Found mailto:sage [2009/03/30(月) 16:28:42 ID:???] >>526 なんで削除のとき「name=」の値が空っぽなの? なんで作成のときだけ「path=/」を指定しているの? どのようにして削除を行うのかの原理が分かってないように見えるなー。
528 名前:Name_Not_Found mailto:sage [2009/03/30(月) 17:54:07 ID:???] で?
529 名前:Name_Not_Found mailto:sage [2009/03/30(月) 18:10:10 ID:???] それはそれとして new Date(0).toUTCString() でいい
530 名前:526 mailto:sage [2009/03/30(月) 22:58:26 ID:???] >>527 一応何度も仕様確認しましたが値は空でも大丈夫です あとpathは削除時には不要みたいですね 以下の書き換えで無事動きましたのでご報告させていただきます function del() { time = new Date(); time.setFullYear(time.getFullYear()-1); gmt=time.toGMTString(); document.cookie = "name=; expires="+gmt+";"; }
531 名前:Name_Not_Found mailto:sage [2009/03/30(月) 23:17:03 ID:???] >>530 time がグローバルになってるし GMT って・・・ 1つ上のレスも読めないの? >>527 巣へ帰れ
532 名前:Name_Not_Found mailto:sage [2009/03/31(火) 00:49:07 ID:???] JavaScriptではRTrim / LTrimはしかトリム関数は使えないのですか?
533 名前:Name_Not_Found mailto:sage [2009/03/31(火) 03:41:22 ID:???] >>530 IEだとpathが合わなくても消えたり(消えなかったり)するね。なんだろこれもーめんどい。ちなみにIE6。 // 127.0.0.1/test/hoge.html にて document.cookie = "name=aaa; path=/"; document.cookie = "name=; expires=Thu, 01 Jan 1970 00:00:00 GMT"; alert(document.cookie); // なぜか消える // 以下のようにすると消えない。 document.cookie = "name=aaa"; document.cookie = "name=; expires=Thu, 01 Jan 1970 00:00:00 GMT"; document.cookie = "name=aaa; path=/"; document.cookie = "name=; expires=Thu, 01 Jan 1970 00:00:00 GMT"; alert(document.cookie); // 消えない
534 名前:Name_Not_Found mailto:sage [2009/03/31(火) 03:49:11 ID:???] >>532 聞いたこと無いですね。半角スペース削除ならString#replace()でいけますよね。 str.replace(/^ +/, ''); // LTrim? str.replace(/ +$/, ''); // RTrim?
535 名前:Name_Not_Found mailto:sage [2009/03/31(火) 05:14:58 ID:???] >>532 現状は各 JavaScript ライブラリが独自に実装してる状態 基本的には >>534 の考え方でおk ただ jQuery や Prototype は半角空白じゃなくて \s 使ってる ECMAScript 3.1 には String.prototype.trim が追加される予定 Firefox 3.5 (Gecko 1.9.1) には trim, trimLeft, trimRight が先行実装される予定
536 名前:Name_Not_Found mailto:sage [2009/03/31(火) 05:16:35 ID:???] 半角スペースだけでなく改行文字等の空白文も消したい場合はこれで出来ます。 d.hatena.ne.jp/shiopu/20071226/1198674029 ただ、RTrim、LTrimのオプションに付いている "g" はいりません。 それと "m" オプションを付けると文中の改行の前後にある空白文字に誤爆してしまうのでご注意下さい。
537 名前:Name_Not_Found mailto:sage [2009/03/31(火) 10:45:00 ID:???] >>533 firefoxもoperaもpath合わせなくても消えたぞ
538 名前:Name_Not_Found mailto:sage [2009/03/31(火) 11:58:11 ID:???] >>533 おかしいのはお前の解釈
539 名前:Name_Not_Found mailto:sage [2009/03/31(火) 12:07:35 ID:???] >>527 の値とpathを合わせないといけない理由を知りたい IE6〜IE8、Firefox1.5〜3.1、Opera9〜9.5、safari最新板、クローム全部チェックしたが問題ないんだよな
540 名前:Name_Not_Found mailto:sage [2009/03/31(火) 14:36:21 ID:???] >>527 は知ったかだからスルーしろよ どうしてスルーできないんだろう
541 名前:Name_Not_Found mailto:sage [2009/03/31(火) 18:42:24 ID:???] >>540 てめーだよw
542 名前:533 [2009/03/31(火) 23:51:30 ID:GmDbtHue] >>537-538 整理してみたけど全然消えないよう(´Д`;)ちょっと誰か助けて; <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><title>test</title><script type="text/javascript"> document.cookie = "name=aaa; path=/"; document.cookie = "name=; expires=Thu, 01 Jan 1970 00:00:00 GMT"; alert(document.cookie); // 消えてる? </script></head><body></body></html> これを、127.0.0.1/test/hoge.html みたいに深い位置に置いて、 Cookieとキャッシュのクリアくらいはしてから実験したんだけどなー。 消える: IE6 消えない: Firefox3.0.7、Opera9.0、Safari3.1
543 名前:Name_Not_Found mailto:sage [2009/04/01(水) 00:21:41 ID:???] 消えるんじゃなくてHDDに保存されないってことだったりして。 expiresの判定がどのタイミングで行われるか、判定前にalertしてるんだとしたら残ってて当たり前。 と素人が書いてみる。
544 名前:Name_Not_Found mailto:sage [2009/04/01(水) 09:51:50 ID:???] <input type="text" id="text1" value="0" onchange="calc();"> <input type="text" id="text2" value="0" onchange="calc();"> 〜〜 すべてのインプット領域に入っている数値を計算する場合 A=getElementById('text1').value + getElementById('text2').value 〜〜〜 ってやるのと onchangeの部分にtext1=this.value;を入れて A=text1+text2 〜〜 ってやらせるのはどちらのほうが速度いいですか?
545 名前:Name_Not_Found mailto:sage [2009/04/01(水) 10:41:30 ID:???] thickboxについての質問です。 下記の手順を行うと、ポップアップされた画像やHTMLが白紙になってしまいます。 ページを読み込み ↓ 読み込む途中にthickboxを動作させる ↓ ページの読み込みが完了 ↓ 一度thickboxを閉じて再度開くと真っ白 予めボタンにdisabledを設定して jQueryの$(document).ready()で、ロード時にdisabledを解除したのですが、 ページが完全に読み込まれていないのにdisabledが解除されるので無意味でした 何か対策はありませんでしょうか?
546 名前:Name_Not_Found mailto:sage [2009/04/01(水) 10:44:05 ID:???] プルダウンメニューはつくれますか? 検索しても中途半端ばっかり。 やっぱり不可能なのか?
547 名前:Name_Not_Found mailto:sage [2009/04/01(水) 10:44:48 ID:???] >>546 selectボックスでってこと? タグでってこと? 作れるよー
548 名前:Name_Not_Found mailto:sage [2009/04/01(水) 10:49:35 ID:???] >>544 普通に考えればエレメントに極力アクセスしない後者の方が速いと思うけど 速度を気にするくらいなんだから自分で試してみればいいのではないかと
549 名前:Name_Not_Found mailto:sage [2009/04/01(水) 17:38:36 ID:???] 548 ありがとう getElementByIdは遅いけどそこまで速度は気にするものじゃない?
550 名前:Name_Not_Found mailto:sage [2009/04/01(水) 17:56:01 ID:???] 何十万何百万と繰り返す所を高速化するから意味があるのであって 一回やれば終わりのgetElementByIdの速度を気にする必要は大抵の場合無い
551 名前:Name_Not_Found mailto:sage [2009/04/01(水) 18:23:20 ID:???] >>549 ぶっちゃけボトルネックになってなければなんだっていい。 速度が問題ならfirebugでちゃんとプロファイル測るんだ。 ttp://d.hatena.ne.jp/amachang/20081126/1227700830 「なんとなく気になる」程度なら速度のことは忘れとけ。
552 名前:Name_Not_Found [2009/04/01(水) 21:25:56 ID:EQlvaqLI] window.onload = function(){ 実行する関数 } として、ページが開いた時に予め実行しておきたい関数を指定しています。 この方法でも良いのですが、別の書き方はないでしょうか?
553 名前:Name_Not_Found mailto:sage [2009/04/01(水) 21:29:23 ID:???] >>552 その書き方で困ることでもあるのか?
554 名前:Name_Not_Found mailto:sage [2009/04/01(水) 21:29:54 ID:???] addEventListenerとattachEventと<body onload="">
555 名前:Name_Not_Found [2009/04/01(水) 21:34:55 ID:uB2Yqvf1] >>552 に便乗 IEで、script要素つくって、適当なsrc属性値を与えて、 readyStateがcompleteになったら、DomContentLoaded == true と同値、 って、なんでそう判断できるんですかね?
556 名前:Name_Not_Found mailto:sage [2009/04/01(水) 21:53:41 ID:???] >>555 これのことならdeferの仕様。 ttp://p2b.jp/1152214827
557 名前:Name_Not_Found mailto:sage [2009/04/01(水) 21:54:59 ID:???] そういや、 function onload(){ } っていう書き方が昔からあるけど。
558 名前:Name_Not_Found mailto:sage [2009/04/01(水) 22:35:14 ID:???] window.onload=function(){}; onload=function(){}; function onload(){};
559 名前:Name_Not_Found mailto:sage [2009/04/01(水) 23:05:20 ID:???] >>552 =>>555 ID変えてごくろうさんな
560 名前:Name_Not_Found mailto:sage [2009/04/02(木) 01:50:41 ID:???] 画面内に複数のチェックボックスがあり、チェックボタンが押された場合に 一つだけチェックボックスにチェックが入っているかどうかを判定したいと 思っています。 どうすれば画面内で定義されたチェックボックス全ての要素に対してアクセスを する事が出来るでしょうか? <INPUT type="checkbox" id="id1" name="Check1">チェックボックス1 <INPUT type="checkbox" id="id2" name="Check2">チェックボックス2 <INPUT type="checkbox" id="id3" name="Check3">チェックボックス3 <INPUT type="checkbox" id="id4" name="Check4">チェックボックス4 <INPUT type="checkbox" id="id5" name="Check5">チェックボックス5 <INPUT type="submit" value="チェックボックスのチェック" onClick="Check()"> 最終的にはチェックの入っているチェックボックスのID(id2 ...etc)を取得し 次画面(Test.php)でID(id2 ...etc)を取得したいと思っています。
561 名前:Name_Not_Found mailto:sage [2009/04/02(木) 02:26:32 ID:???] 普通はラジオボタン使うけどね やるなら全部なめて id なり class なり name なりでふるいにかけるしかないよね
562 名前:Name_Not_Found mailto:sage [2009/04/02(木) 03:32:18 ID:???] >>561 解決しました。ありがとうございました。
563 名前:Name_Not_Found mailto:sage [2009/04/02(木) 03:55:20 ID:???] WinXP SP3を使用しています。 opera 9.64、Google Chrome 1.0.154.48、Firefox 3.07 上記の3つのブラウザでは期待したように、テキストエリアに書き込んだ文字が、セレクトメニューに表示されますが、IE 8では表示されません。 どうやれば、IEでも他のブラウザと同様に動かすことができるでしょうか? <html><head><title>test</title> <script language="JavaScript"> <!-- function test(){ var txt = document.getElementById("myTEXT").value ; // textarea の文字列を取得する var iHTML = "<option value='" + txt + "' >" + txt + "<" + "/option>" ; var sel_seq = document.getElementById("sel_seq") ; sel_seq.innerHTML = iHTML ; // セレクトメニューに書き出す } function test_2(){ //セレクトメニューの値をポップアップ alert(document.getElementById("sel_seq").value) ; } // --> </script> </head> <body> <form><p>表示させたい文字</p> <p> <textarea rows="1" cols="10" id="myTEXT" onChange="test()"></textarea> </p> </form> <!-- textarea に入れたテキストをセレクトメニューのoption に表示 --> <select id="sel_seq"> </select> <!-- select の value をポップアップさせる --> <input type="button" id="test_2" value="test_2" onClick="test_2()" > </body></html>
564 名前:Name_Not_Found mailto:sage [2009/04/02(木) 05:02:59 ID:???] >>563 DOMで var option = document.createElement('OPTION'); option.text=txt; option.value=txt; var sel_seq = document.getElementById("sel_seq") ; sel_seq.options.add(option);
565 名前:Name_Not_Found mailto:sage [2009/04/02(木) 05:05:19 ID:???] innnerHTMLが使えなくなってるのか、めんどくさいなー。 IE8で動かないサイトいっぱいありそう。
566 名前:Name_Not_Found mailto:sage [2009/04/02(木) 05:13:53 ID:???] innnnnerHTMLが使えなくなるってそんなことあるのかいな
567 名前:Name_Not_Found mailto:sage [2009/04/02(木) 06:39:20 ID:???] innnnnnnerHTMLが使えないわけがにい
568 名前:Name_Not_Found mailto:sage [2009/04/02(木) 06:42:18 ID:???] あ、ごめんなさい。 innerHTMLが使えないのはselect要素に対してだけみたいです。 これに対しては "appendChild" も使えませんでした。 初心者に優しくない仕様ですね。
569 名前:Name_Not_Found mailto:sage [2009/04/02(木) 07:05:13 ID:???] >>565 気になったのでテストしてみたが、普通に使える。
570 名前:Name_Not_Found mailto:sage [2009/04/02(木) 07:48:15 ID:???] 関係ないけどgreeeeeeeeenのeって何文字だっけ?
571 名前:Name_Not_Found mailto:sage [2009/04/02(木) 08:21:16 ID:???] selectにもappendChildが使えた。 <script type="text/javascript"> <!-- function func() { var o = document.createElement('option'); o.setAttribute("value", "test1"); var s = document.getElementById("s"); s.appendChild(o); o.text = "test2"; // appendChildより前にこれを実行しても反映されない。 //o.appendChild(document.createTextNode("test3")); // 上の行のかわりにこれでも動いた。 //o.firstChild.nodeValue = "test4"; // 上の行のかわりにこう書いても動かない。 // innerHTMLのかわりにnodeValueを使ってSetすることは出来ないんすか? } // --> </script> <select id="s"></select><br> <input type="button" value="OK" onclick="func()">
572 名前:Name_Not_Found mailto:sage [2009/04/02(木) 08:24:45 ID:???] appendChildってIEとFxで違う事あるよね
573 名前:563 mailto:sage [2009/04/02(木) 09:11:37 ID:???] ありがとうございました。 DOM使います。 ちなみに、IE6でも動かないよな気がします。 >>570 多分4つです
574 名前:Name_Not_Found mailto:sage [2009/04/02(木) 10:23:52 ID:???] 4/2ですよ 1日じゃありませんよ
575 名前:Name_Not_Found mailto:sage [2009/04/02(木) 10:56:08 ID:???] >>563 Q5A5と同じ要領でinnerHTMLにselectも一緒に出力
576 名前:Name_Not_Found mailto:sage [2009/04/02(木) 11:27:07 ID:???] 一問一答形式でそろそろまとめwikiもやらないか?
577 名前:563 mailto:sage [2009/04/02(木) 11:40:22 ID:???] >>575 あ、<div></div>の中に書き出すやつですか。 了解しました。ちょっとあとでやってみます
578 名前:Name_Not_Found [2009/04/02(木) 14:41:53 ID:i3DMp2vD] 親ウィンドウで宣言していたグローバル変数を サブウィンドウで取得できるのでしょうか? 出来る場合は、やり方を教えて下さい
579 名前:Name_Not_Found mailto:sage [2009/04/02(木) 14:57:18 ID:???] >>578 サブウィンドウとは親窓から開いた小窓ということ? その場合、親窓はwindow.openerで参照でき、親窓の グローバル変数xはwindow.opener.xで参照できる(はず)。
580 名前:Name_Not_Found [2009/04/02(木) 15:15:38 ID:i3DMp2vD] >>579 ■親ウィンドウ var id=1; function subwin(url){ window.open(url, "sub", "width=600,height=400"); } として、 ■サブウィンドウ var id = window.opener.id; としてみたのですが、サブウィンドウ上で親ウィンドウのidが取得できません
581 名前:580 mailto:sage [2009/04/02(木) 15:21:30 ID:???] 自己レスです。 ブラウザ(Firefox3)を一旦閉じて再度試したら出来ました。 579さん、ありがとうございました。
582 名前:Name_Not_Found mailto:sage [2009/04/02(木) 15:25:44 ID:???] >>580 こういう感じでできたけどなー。 --- t1.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><title>???</title> <script type="text/javascript"> var x = 'ABCABC'; </script> </head><body> <div><button onclick="window.open('t2.html', 'sub')">TEST</button></div> </body></html> --- t2.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML//EN"> <html><head><title>???</title> </head><body> <pre><script type="text/javascript"> document.writeln(window.opener.x); </script></pre> </body></html> もしかして親窓と子窓が別鯖?それだと絶対無理。テンプレに書いてある。
583 名前:Name_Not_Found mailto:sage [2009/04/02(木) 15:26:47 ID:???] げげ、リロードorz
584 名前:Name_Not_Found mailto:sage [2009/04/02(木) 18:07:35 ID:???] jsに必要なテクニックってたくさんありますが、みなさんはどうやってそれらを管理して使いこなしてるんですか? さすがに全部暗記するのは無理ですよね。
585 名前:Name_Not_Found mailto:sage [2009/04/02(木) 18:12:15 ID:???] 管理してないから 昔のコード見て、俺こんなん書いたっけ? って思うことはよくある。
586 名前:Name_Not_Found mailto:sage [2009/04/02(木) 18:17:04 ID:???] なるほど、実は自分もそんな感じだったんですが、同じことを何度も検索して探しまわるハメになることが たまにありまして、効率が悪いなーと。 テクニックにタグを付けて管理してる人とかはいないのかな?
587 名前:Name_Not_Found mailto:sage [2009/04/02(木) 18:19:37 ID:???] 暗記に頼ろうとするあたりはゆとりと言わざるを得ない。 「なんかそんなのあったなぁ」程度に覚えてさえいれば いくらでも引き出しから引っ張り出せる。 ブクマとかメモツールとかグーグル先生とか書物とか。 もっとも実際の引き出しのように、あったはずなのに 見つからないこともよくある。
588 名前:Name_Not_Found mailto:sage [2009/04/02(木) 18:21:58 ID:???] ゆとりド真ん中ですみません><
589 名前:Name_Not_Found mailto:sage [2009/04/02(木) 18:25:55 ID:???] >>586 そういうのはメモツール使って(なんでもいいけど例えばhowmとか紙copiとか) 自分でまとめてローカルにため込む。 ノイズが少ないし、全文検索に加えてアイボールサーチできるのはでかい。 まとめるのは前にも使ったなーと思うモノだけで十分。 個人もしくはグループでwiki使うのも手ではある。ただ若干埋もれやすい。
590 名前:昨日質問した物ですが mailto:sage [2009/04/02(木) 19:23:24 ID:???] 画面内に複数のチェックボックスがある場合、2つ以上チェックされている場合にはNG メッセージをJavaScriptで表示したいと思っているのですが、 JavaScriptだけでチェックボックスにチェックが入っている数を判定するにはどうすれば 良いでしょうか? ※尚、チェックボックスの数はphp側で数を制御するため変動します。 <test.php> <INPUT type="checkbox" id="id1" name="Check1">チェックボックス1 <INPUT type="checkbox" id="id2" name="Check2">チェックボックス2 <INPUT type="checkbox" id="id3" name="Check3">チェックボックス3 <INPUT type="checkbox" id="id4" name="Check4">チェックボックス4 <INPUT type="checkbox" id="id5" name="Check5">チェックボックス5
591 名前:Name_Not_Found mailto:sage [2009/04/02(木) 19:40:13 ID:???] デジャヴ
592 名前:Name_Not_Found mailto:sage [2009/04/02(木) 19:55:49 ID:???] >>590 あれ、おかしいなってちょっとまてやw >562で解決したって書いてるじゃねーか んで解だけど <div id="check_group"> <INPUT type="checkbox" name="Check1">チェックボックス1 <INPUT type="checkbox" name="Check2">チェックボックス2 <INPUT type="checkbox" name="Check3">チェックボックス3 <INPUT type="checkbox" name="Check4">チェックボックス4 <INPUT type="checkbox" name="Check5">チェックボックス5 </div> var group = document.getElementById('check_group').getElementsByTagName('input'); for (var i = 0; i < group.length; i++) { if (group[i].type != 'checkbox'){ continue; } // ここで group[i].checked を判定 } 試してないけどこんな感じでいけるんじゃないかね。 もちろんdivはformとかfieldsetでもいいぞ。 HTML的にはむしろそうするべきだし。
593 名前:Name_Not_Found mailto:sage [2009/04/02(木) 20:07:17 ID:???] 俺だったらどれか一個でもチェック入れたらflagつけて そのあとにifでflagが立ってたらNG処理するように書くかな そっちの方がコード数少ないし
594 名前:Name_Not_Found mailto:sage [2009/04/02(木) 20:21:35 ID:???] >>593 ヒント:>560=590 チェック2コ限定で説明すると、次はチェック3コの質問がくる。
595 名前:Name_Not_Found mailto:sage [2009/04/02(木) 21:09:17 ID:???] 画面内に複数のチェックボックスがある場合、3つ以上チェックされている場合にはNG メッセージをJavaScriptで表示したいと思っているのですが、 JavaScriptだけでチェックボックスにチェックが入っている数を判定するにはどうすれば 良いでしょうか? ※尚、チェックボックスの数はphp側で数を制御するため変動します。 <test.php> <INPUT type="checkbox" id="id1" name="Check1">チェックボックス1 <INPUT type="checkbox" id="id2" name="Check2">チェックボックス2 <INPUT type="checkbox" id="id3" name="Check3">チェックボックス3 <INPUT type="checkbox" id="id4" name="Check4">チェックボックス4 <INPUT type="checkbox" id="id5" name="Check5">チェックボックス5
596 名前:Name_Not_Found mailto:sage [2009/04/02(木) 21:20:42 ID:???] >>594 うん? 何個までチェックするかを変数に残して ifでflagの数見て処理すればいいだけだよ?
597 名前:Name_Not_Found mailto:sage [2009/04/02(木) 21:22:19 ID:???] チェックするたびにflagに1カウントしていき、 チェックを外すたびにflagを1ひいてけばいいし flagが制限値と等しいか大きくなったらNGすればいいんだよ?
598 名前:Name_Not_Found mailto:sage [2009/04/02(木) 21:26:49 ID:???] >>589 なるほど、それ使ってみます。ありがとうございました!
599 名前:Name_Not_Found mailto:sage [2009/04/02(木) 21:38:53 ID:???] >>576 お前が作れば皆がついてくる
600 名前:Name_Not_Found mailto:sage [2009/04/02(木) 21:57:04 ID:???] ブラウザ上でドラッグすると範囲選択されますが、この機能を一時的に解除したいのですが ドラッグをreturn falseできますか?
601 名前:Name_Not_Found mailto:sage [2009/04/02(木) 22:03:27 ID:???] メガネドラッグ
602 名前:Name_Not_Found mailto:sage [2009/04/02(木) 22:09:52 ID:???] onselectstartでググってから質問しやがれ
603 名前:Name_Not_Found mailto:sage [2009/04/02(木) 23:51:04 ID:???] >>602 それって、思い切りブラウザ依存するのでは
604 名前:Name_Not_Found mailto:sage [2009/04/03(金) 00:42:46 ID:???] onmousedown="return false" でいいんじゃね。
605 名前:Name_Not_Found mailto:sage [2009/04/03(金) 02:54:52 ID:???] >>604 何という荒技w そしてキャレットモードには無力という罠
606 名前:Name_Not_Found mailto:sage [2009/04/03(金) 04:01:44 ID:???] >>5 の最後の > ・on属性 vs addXXX() の addXXX() って何? element.Attributes.Add("onClick", "func()"); のことかな、それとも AddListener?
607 名前:590 mailto:sage [2009/04/03(金) 04:13:20 ID:???] >>592 今度こそ本当に解決しました。 スマートで綺麗なコードに関心しました。 ありがとうございます。 >>593 そういう判定方法もありますね。 ありがとうございます。 >>595 ←私のミスです。
608 名前:Name_Not_Found mailto:sage [2009/04/03(金) 05:22:43 ID:???] 特定の年月の第2金曜日の日付を求める関数 getSecondFriday(year,month) 作れる香具師いる? たとえば、2009年6月を引数で(変数の内容は実装しやすいように"2009","06"として)渡すと第2金曜日の日付である12が戻ってくる 2009年9月を引数で渡すと11が取得できるような関数 かれこれ2週間くらい悩んでるんだが解決しない
609 名前:606 mailto:sage [2009/04/03(金) 05:45:12 ID:???] >>608 素人だけど作ってみる。
610 名前:606 mailto:sage [2009/04/03(金) 06:09:40 ID:???] >>608 これでいけてるかな?year、monthが有効な数字かどうかのチェックを後で追加したほうが良さそうだけどとりあえずこれで。 突っ込み所があればお願いします。(勉強になるので) function getSecondFriday(year,month){ var d = new Date(year, month-1, 1); // 指定した月の1日の日付がdに入る。 var x = d.getDay(); // 指定した月の1日の曜日が0〜6で返る。0=sun、6=sat。 if (x < 6){ return 6-x+7; // xが日〜金だったら }else{ return 14; // xが土曜だったら } } // 呼び出し getSecondFriday(2009, 6);
611 名前:Name_Not_Found mailto:sage [2009/04/03(金) 06:10:13 ID:???] function getSecondFriday (year, month) { return 11 + new Date(year, month - 1).getDay(); }
612 名前:606 mailto:sage [2009/04/03(金) 06:39:31 ID:???] >>611 肝心の返り値がおかしいですが大変参考になりました。 ・ new Dateを計算式の中に入れて計算出来る。 ・ new Date と getDay() を . で連結出来る。 ・ new Date で日付を省略すると "1日" になる。 というわけでなるべく省スペース化してみた。 function getSecondFriday(year,month){ var x = new Date(year, month-1).getDay(); return ( x < 6 ) ? 13-x : 14; } // 呼び出し getSecondFriday(2009, 6);
613 名前:Name_Not_Found mailto:sage [2009/04/03(金) 07:30:38 ID:???] ページ内にJavaScriptコードを記述した状態で画面内に入力された値の 判定処理を正常に行う事が出来るのですが、そのfunctionを外部ファイルに 移動させるとエラーが発生してしまいます。 外部JavaScriptファイルに引数として自画面を渡し、外部ファイル内で受け取った 画面オブジェクト内の入力項目を判定するにはどうすれば良いでしょうか? <test.html> function Check() { var value = document.getElementById('TextValue').value; if( value ==1) { alert("1ですよ。"); } else { alert("1じゃないよ"); } } <JScript.js> //document.getElementById('TextValue').value; この部分でエラーが発生しているっぽいです。
614 名前:Name_Not_Found mailto:sage [2009/04/03(金) 08:05:02 ID:???] どんなエラーが出てるかぐらい書いたら? FireBugとか使えばかなり細かく出るし。
615 名前:Name_Not_Found mailto:sage [2009/04/03(金) 08:51:41 ID:???] >>613 language="JScript" → type="javascript"
616 名前:Name_Not_Found mailto:sage [2009/04/03(金) 09:10:29 ID:???] 外部スクリプトが読み込まれた時点じゃまだ id:TextValue っちゅう要素がないんだろ。
617 名前:Name_Not_Found mailto:sage [2009/04/03(金) 10:32:24 ID:???] >>590 マルチ乙 △▲ WebProg 初心者の質問 Part19 ▼▽ pc11.2ch.net/test/read.cgi/php/1236265877/296
618 名前:600 mailto:sage [2009/04/03(金) 10:43:54 ID:???] あとだしすんません。 普通のソフトのファイルメニューみたいにオンマウスダウンでプルダウンメニュー開いてオンマウスアップでリンクに飛ばしたいんです。 やってみるとドラッグで範囲選択されてしまいます。 locationでも飛びません。
619 名前:Name_Not_Found mailto:sage [2009/04/03(金) 11:16:40 ID:???] htmlソースを貼らない質問はスルー >>613 >>618
620 名前:Name_Not_Found mailto:sage [2009/04/03(金) 13:31:47 ID:???] >>613 valueって変数名はアカンやろ
621 名前:Name_Not_Found mailto:sage [2009/04/03(金) 13:51:06 ID:???] >>620 なんでですの
622 名前:Name_Not_Found mailto:sage [2009/04/03(金) 15:03:12 ID:???] >>613 >>1 > 一、トラブルを再現する最小限のサンプルを貼れる者 それだけじゃあなた以外は再現できないよね? >ページ内にJavaScriptコードを記述 >外部ファイルに移動させる >>616 も言ってるけど、おそらくその作業の際に<script>の位置を変えたせい。 <head>じゃなくてもsrc指定はできる。 >>620 詳しく
623 名前:Name_Not_Found mailto:sage [2009/04/03(金) 17:20:54 ID:???] >>622 予約語もしくはこれから使われる語 ってコトじゃない?
624 名前:Name_Not_Found mailto:sage [2009/04/03(金) 17:41:41 ID:???] そうじゃないっぽいから聞いとるねん
625 名前:Name_Not_Found mailto:sage [2009/04/03(金) 18:22:18 ID:???] >>618 Fx3+>>604 の方法でできたけどなぁ。 e.onmousedown = function() { return false; }; 結局コード晒せって話だけど、もし<div onmousedown="menuPopup()">とか書いてるなら "menuPopup(); return false;"にしてみて。
626 名前:Name_Not_Found mailto:sage [2009/04/03(金) 18:48:53 ID:???] >>620 は、 DOMのForm関係のエレメントで、valueがプロパティ名として使われているから誤解しているのでは。 連想配列としてのObjectをイテレートするような場合には、 key,valueのような変数名を頻繁に使うね。
627 名前:Name_Not_Found mailto:sage [2009/04/03(金) 21:22:02 ID:???] ループ処理で得られたテキストデータをためておいて、 それを一気にフォームのvalue属性に書き出すという処理で、効率的なやり方って無いですかね 計算結果をTEXTAREAに表示したいのですが・・
628 名前:Name_Not_Found mailto:sage [2009/04/03(金) 21:26:16 ID:???] >>627 何度コード晒せと言わせるんだw いまどういうやり方をしていて、どこを非効率的に感じるかを 書いてくれないとアドバイスできない。
629 名前:Name_Not_Found mailto:sage [2009/04/03(金) 21:27:53 ID:???] うぜぇなあ、馬鹿は質問すんなよ。
630 名前:Name_Not_Found mailto:sage [2009/04/03(金) 21:36:52 ID:???] >>628 すみません; ttp://www.geocities.jp/elisy/nico/1.htm ttp://www.geocities.jp/elisy/nico/1.txt 作りかけな上に、まだその処理が全然組み込まれてないので晒していいものかどうか・・; フォームにカラーコードを入れるとその二色をグラデーションにしたタグをTEXTAREA吐くというものです。
631 名前:Name_Not_Found mailto:sage [2009/04/03(金) 21:53:10 ID:???] >>630 最小限のコード・・・はもういいや、 でも非効率的に思う部分がどこかぐらいは書けって。 >document.nicoRain.Result.value = "\n" + (0+goTime)+ >'::/commentColor=0x' >+document.nicoRain.Start.value.substring(0,2) >+document.nicoRain.Start.value.substring(2,4) >+document.nicoRain.Start.value.substring(4,6)+"\n"; var buf = "\n" + (0+goTime)+ '::/commentColor=0x'; // バッファ var val = document.nicoRain.Start.value; // キャッシュ for( var i = 0; i < 3; i++) { buf += val.substring(i*2, i*2+2); } buf += "\n"; document.nicoRain.Result.value = buf; forはやや無理矢理使った。3行分程度なら使わなくてもいい。 ただページ要素へのアクセスは変数をバッファ・キャッシュにして 最低限に抑えること。 フォーム要素へのアクセスの仕方が好みじゃないけど、それはまた別の話。
632 名前:Name_Not_Found mailto:sage [2009/04/03(金) 22:00:25 ID:???] >>631 ありがとうございます。 バッファの存在を知らなかったので勉強になります。 バッファ使うとだいぶ楽になりますね・・これは・・;
633 名前:Name_Not_Found [2009/04/04(土) 00:47:55 ID:vhCIl5Nc] >>530 300 :動け動けウゴウゴ2ちゃんねる :09/03/30 22:39 ID:KHnVvSjk 審議の上、代理レスお願いします。 【板名】web制作 【スレ名】+ JavaScript の質問用スレッド vol.69 + 【スレのURL】pc11.2ch.net/test/read.cgi/hp/1235220962/ 【名前欄】526 【メール欄】sage 【本文】↓ >>527 一応何度も仕様確認しましたが値は空でも大丈夫です あとpathは削除時には不要みたいですね 以下の書き換えで無事動きましたのでご報告させていただきます
634 名前:Name_Not_Found mailto:sage [2009/04/04(土) 10:43:45 ID:???] https://developer.mozilla.org/ja/DOM/element.addEventListener によるとイベントリスナーの登録にオブジェクトのメソッドを使用することはメモリ開放の問題で推奨されていませんが メソッド群をどうしてもオブジェクトで包括しておきたい場合、以下のようにしておけば上のメモリ問題は回避できますか? var obj = { getListener: (function() { var listener = function(event) { .... }; // listenerがリスナーになる return function() { return listener; }; })() }; // getListenerには、リスナーになるメソッドを取得するメソッドが代入される
635 名前:Name_Not_Found mailto:sage [2009/04/04(土) 10:57:20 ID:???] >>633 代理レスが何か問題でもあるのかな?
636 名前:Name_Not_Found mailto:sage [2009/04/04(土) 11:43:34 ID:???] >>634 何か違うような気がする。 たとえば setTimeout(obj.func, 1000) だと実行時にはthisがobjとは別の物になってしまうから、 一般的な解決策としては setTimeout(function() { obj.func() }, 1000) という風にする。 でもこっちはスコープチェーンによるメモリ負担の問題が生じるから気をつけれ。 ・・・って事が書いてあるんじゃないのかなそれ。すごく分かり辛いけど。
637 名前:634 mailto:sage [2009/04/04(土) 11:57:01 ID:???] >>636 把握しました、ありがとうございます
638 名前:Name_Not_Found [2009/04/04(土) 14:22:22 ID:qaxJFM1U] 正規表現についての質問です。 下のようなCSSテキストから各セレクタ名と設定内容を取得するには どうすればいいでしょうか? .main,.header{font-size:60%;} .nav1 ul {float:right; padding:0 20px 0 0;} .nav2 ,nav3{float:left;} よろしくお願いします。
639 名前:Name_Not_Found mailto:sage [2009/04/04(土) 14:59:17 ID:???] 適当ですけど \{\[a-z-]*?:[a-z0-9%];?}$
640 名前:Name_Not_Found mailto:sage [2009/04/04(土) 15:01:46 ID:???] >>639 氏ね
641 名前:Name_Not_Found mailto:sage [2009/04/04(土) 15:08:20 ID:???] >>640 が書いてくれるってさ 回答早くねー^^
642 名前:Name_Not_Found mailto:sage [2009/04/04(土) 15:40:11 ID:???] >>638 宿題スレじゃないから方針だけ。 replaceをコールバックでネストさせて使う。 そのとき置換結果は捨てる。(代入しない) たとえばこんな感じ。 var result = {}; "a = b, c = d".replace(/(.+?)\s*=\s*(.+?),?/g, function(match, name, value) { result[name] = value; }); これに加えてセレクタやスタイルを細かく分解する作業が必要だけど ネストさせればいいからわかるはず。 ポイントは、正規表現一発でなんでもやろうとしないこと。
643 名前:Name_Not_Found mailto:sage [2009/04/04(土) 16:09:30 ID:???] 正規表現で書けば一行で済むのに ほんとはわからないならわからないって書けばいいよ
644 名前:Name_Not_Found mailto:sage [2009/04/04(土) 16:28:33 ID:???] 是非見たいな その正規表現を
645 名前:Name_Not_Found mailto:sage [2009/04/04(土) 16:33:26 ID:???] はい。 ^\.(?:.|\s)+?}$
646 名前:645 mailto:sage [2009/04/04(土) 16:37:46 ID:???] マジレスじゃないけど、ミスったw
647 名前:638 [2009/04/04(土) 17:39:30 ID:qaxJFM1U] >>639-646 ありがとうございます。 replace関数の方法でやってみます。
648 名前:Name_Not_Found mailto:sage [2009/04/04(土) 19:59:54 ID:???] 失礼します。 フォームから入力された6桁の英数字をst と ed に代入して そのカラーコードを元にID=testのテーブルのカラーをグラデーションにする スクリプトを作りたいのですが、エラーになってしまいます。 変数の前後に#や"が足らないのが原因だとは思うのですが、 "'"+ st + "'" としても駄目なようです・・ function rain{ var st=document.nRain.Start.value.toLowerCase(); var ed=document.nRain.End.value.toLowerCase(); var element = document.getElementById("test"); element.filters[0].StartColorStr = st ; element.filters[0].EndColorStr = ed ; element.filters[0].GradientType=1; }
649 名前:Name_Not_Found mailto:sage [2009/04/04(土) 20:31:28 ID:???] >>648 1. rain の後に () が必要。 function rain() { ... } 2. "=" と "st" の間に全角スペースが入ってる。 element.filters[0].StartColorStr = st ; 3. style 指定に下記相当が必要。 #test { filter:progid:DXImageTransform.Microsoft.Gradient; } 後はどうかな。
650 名前:Name_Not_Found mailto:sage [2009/04/04(土) 20:56:13 ID:???] JAVASCRIPTのソースコピペして使うのってライセンスとか法的な事はどうゆう解釈・理解で使えがいいのでしょうか?
651 名前:Name_Not_Found mailto:sage [2009/04/04(土) 21:26:31 ID:???] ライブラリとかならライセンス条項を嫁 そうでないなら勝手に使うか作者にメールでも出しとけ
652 名前:Name_Not_Found mailto:sage [2009/04/04(土) 21:30:59 ID:???] >>649 Styleは直接テーブルで指定しています。 rain()と、全角半角は修正しましたが、どうもうまくいかないですね・・・ テストページ作ってみました。 ttp://www.geocities.jp/elisy/test.htm 正直どこが悪いのか見当が;;
653 名前:Name_Not_Found mailto:sage [2009/04/04(土) 21:35:30 ID:???] >>652 firebugが2個えらーがあるぞって怒った。 IE8にも同様のデバッガがあるからどっちか使って確認。
654 名前:Name_Not_Found mailto:sage [2009/04/04(土) 21:36:57 ID:???] >>652 function rain() { ... } の閉じる "}" がない。
655 名前:Name_Not_Found [2009/04/04(土) 21:38:56 ID:aIzRdxWu] Client-side database storageを使う場合 クライアントが悪質なsqlに書き換えた場合を考えてるのですが どのような解決方法がありますか?
656 名前:Name_Not_Found mailto:sage [2009/04/04(土) 21:41:13 ID:???] >>654 閉じてなかったですね; すみません、閉じてみましたが 未定義のエラーが二つ出ますねぇ・・
657 名前:Name_Not_Found mailto:sage [2009/04/04(土) 21:49:37 ID:???] >>655 C/S型の原則として、Clientからの通信は常に疑うべき。 HTMLやJavascript書き換えても似たような問題は起きる。 具体的には例えば ・受信データのエラーチェックを厳格にする(基本) ・書き換えられてもそのユーザーで完結させる(ソーシャルな要素を設けない) ・重要なデータはServer側で算出して保存し、Clientには送りつけるだけ
658 名前:652 mailto:sage [2009/04/04(土) 21:54:55 ID:???] あ、すみません。あっさり解決しました; カラーコードの先頭に#がついてなかったのが原因だったぽいです。 お騒がせしました。 ttp://www.geocities.jp/elisy/test.htm
659 名前:Name_Not_Found mailto:sage [2009/04/05(日) 14:53:15 ID:???] firebugって、showModalDialog() を実行すると訳の分からんエラーメッセージを吐かない?
660 名前:Name_Not_Found mailto:sage [2009/04/05(日) 17:33:27 ID:???] パラメータ設定してないと出るよ
661 名前:Name_Not_Found mailto:sage [2009/04/05(日) 17:46:54 ID:???] >>659-660 再現しないと思ったらそういうことか。 firebugだから目立っただけで、javascript:showModalDialog()とエラーコンソールでも再現する。
662 名前:Name_Not_Found [2009/04/05(日) 22:26:49 ID:bcvWk2uY] 素人ですんません geturlが書き込めない.swfファイルをリロードごとにランダムで表示させたいんですけど、 ↓この記述だとリンクは貼れるのですが、ランダム表示ができまてん。 <object type='application/x-shockwave-flash' data='○○.swf' width='180' height='150'> <param name='flashvars' value='clickTag=www. ○○&clickTarget=_self' /> <param name='allowScriptAccess' value='always' /><param name='movie' value='○○.swf' /> <param name='bgcolor' value='#ffffff'></object> 3つぐらいのswfファイルを個別のリンクつきでアクセスごとにランダムに 表示させるにはどうすればいいでしょうか?
663 名前:Name_Not_Found mailto:sage [2009/04/05(日) 22:32:58 ID:???] geturlが書き込めない.swfファイルって広告だよね 商業活動の依頼なら金を払ってしかるべきところにお願いするべきじゃね
664 名前:Name_Not_Found mailto:sage [2009/04/05(日) 22:34:33 ID:???] >>662 表示させるurlを配列に入れる ↓ 乱数発生 ↓ 配列と乱数を使って出力
665 名前:Name_Not_Found mailto:sage [2009/04/05(日) 22:42:40 ID:???] >>663 いえ、ネット上の簡易サービスで作ったのでflaファイルがないのです >>664 simg=new Array(3); simg[0]="○○"; simg[1]="△△"; simg[2]="□□"; Myimg=Math.floor(3*Math.random()); ↑のことでしょうか? 素人なりにいろいろ調べてみましたが解決法が見つからないのです。 助けてください!
666 名前:Name_Not_Found mailto:sage [2009/04/05(日) 22:42:41 ID:???] >>662 で何故リンクが張れるのか理解出来ない。 flashvarsからswfにリンクURLを渡してswf上でリンクを生成するって意味?
667 名前:Name_Not_Found mailto:sage [2009/04/05(日) 22:43:57 ID:???] >>662 に軽く日本語でおkだな 何をしたいのかさっぱりわからん
668 名前:Name_Not_Found mailto:sage [2009/04/05(日) 22:45:09 ID:???] 第二金曜日算出関数の人もそうだけど業者っぽい人多いね
669 名前:Name_Not_Found mailto:sage [2009/04/05(日) 22:45:18 ID:???] >>662 ○○の部分だけを変えたいってことだよな? 他の部分は変わらないんだろ?
670 名前:Name_Not_Found mailto:sage [2009/04/05(日) 22:48:07 ID:???] >>669 そうです。これで、1つのswfのリンク設定ができたんですけど、 3つぐらいの同じようなファイルを、読み込みごとにランダムに 表示させたいのです。
671 名前:Name_Not_Found mailto:sage [2009/04/05(日) 22:49:19 ID:???] シカトかよw 作るのやめた。
672 名前:Name_Not_Found mailto:sage [2009/04/05(日) 22:50:23 ID:???] >>671 すっすいません どのレスでしょうか?ダミアンさんですか?
673 名前:Name_Not_Found mailto:sage [2009/04/05(日) 22:54:55 ID:???] >>666 自分もよくわかりません。言われるままに記述したら 1つのバナーにはリンクが貼れたんです。 それを複数のファイルでアクセスごとにランダム表示させたいのですが もう難しすぎてパソコンぶん投げそうです…
674 名前:Name_Not_Found mailto:sage [2009/04/05(日) 22:56:11 ID:???] ひんと あふぃ
675 名前:Name_Not_Found mailto:sage [2009/04/05(日) 22:59:25 ID:???] 質問の意味がよくわからんけど c=3;// URLの数 url = [[],[]]; url[0]=["test","テストだよ"]; url[1]=["example","えええ"]; url[2]=["hoge","ほげほげわっしょい"]; r=Math.floor(Math.random()*c); document.write('<a href="'+url[r][0]+'.html">'+url[r][1]+'</a>'); <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd "> <html xmlns="www.w3.org/1999/xhtml "> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無題ドキュメント</title> <script type="text/javascript" src="test.js"></script> </head> <body> </body> </html>
676 名前:Name_Not_Found mailto:sage [2009/04/05(日) 23:01:15 ID:???] "clickTAG" "clickTARGET" で検索 ↓ onlinekoukoku.com/advertisements/web-site/1656.html
677 名前:Name_Not_Found mailto:sage [2009/04/05(日) 23:15:46 ID:???] >>675 そのまま文字が表示されリンク先へ飛べませんでした。 yahooなどのトップによく見るアクセスごとにバナーが切り替わるように したいのですが、自分には.flaファイルがないので、geturlで設定できないのです。 >>676 そのサイトでは検索引っかかりませんでしたよ
678 名前:Name_Not_Found mailto:sage [2009/04/05(日) 23:18:56 ID:???] とりあえず質問の意味が不明&日本語でおk ttp://www.google.co.jp/search?q=javascript+%E3%83%A9%E3%83%B3%E3%83%80%E3%83%A0%E3%80%80%E3%83%90%E3%83%8A%E3%83%BC&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a
679 名前:Name_Not_Found mailto:sage [2009/04/05(日) 23:32:34 ID:???] >>678 yahooなどのランダムに表示されるバナーにはswfファイル自体にリンク設定されているじゃないですか。 それができればいいのですが、自分にはアクションスクリプトを書くための元のflaファイルがないので、 スクリプトでリンク設定するしか方法がないのですが、その方法がわからないのでこちらで質問させてもらっているわけです。 貼っていただいたURLで試してみましたが、 <SCRIPT language="JavaScript"> <!-- // ランダムに画像を表示する jmp = new Array(); img = new Array(); // ジャンプ先のアドレス(数字は画像と対応) jmp[0] = "xxx.xxx.xxx/ "; jmp[1] = "xxx.yyy.zzz/ "; jmp[2] = "sss.bbb.vvv.fff/ "; jmp[3] = "hhhhh.sss.com/ "; jmp[4] = "agdaa.cc.com/ "; // 画像のアドレス(数字はジャンプ先のアドレスと対応) img[0] = "img/img0.jpg"; img[1] = "img/aa.gif"; img[2] = "img/bb.png"; img[3] = "img/img.jpg"; img[4] = "img/imgimg.gif"; n = Math.floor(Math.random()*jmp.length); document.write("<A href='"+jmp[n]+"'>"); document.write("<IMG src='"+img[n]+"' border='0'>"); document.write("</A>"); //--> </SCRIPT> swfファイルだと表示されないようです。ランダムと、リンクは成功していました。
680 名前:Name_Not_Found mailto:sage [2009/04/05(日) 23:36:15 ID:???] test.swf?a=1&b=2みたいに因数を与えて表示を変えられないなら諦めろ ていうかお前のやりたいことはできない
681 名前:Name_Not_Found mailto:sage [2009/04/05(日) 23:37:02 ID:???] あとswfってどっかで配布されてるのかい? 配布されてるならURLぐらい書こうな
682 名前:Name_Not_Found mailto:sage [2009/04/05(日) 23:46:32 ID:???] <object type='application/x-shockwave-flash' data='○○.swf' width='180' height='150'> <param name='flashvars' value='clickTag=www. ○○&clickTarget=_self' /> <param name='allowScriptAccess' value='always' /><param name='movie' value='○○.swf' /> <param name='bgcolor' value='#ffffff'></object> これでちゃんとバナーが表示されているので、 それをランダムに表記するのはそんなに難しいことだったんですね…。 素人考えで みなさんのお知恵を借りれば可能かと思いましたが無理そうですね… >>681 配布されていません。bannarsnacっていう外国のフラッシュ作成サービスなんす。
683 名前:Name_Not_Found mailto:sage [2009/04/06(月) 00:04:58 ID:???] >>660-661 パラメータ設定しても showModalDialog() でエラー出るけど 例えば、blank.htmを用意して次のように指定しても。 body onload='showModalDialog("blank.htm")'
684 名前:Name_Not_Found mailto:sage [2009/04/06(月) 00:20:52 ID:???] >>683 >body onload そりゃエラーもでるわw ちなみにshowModalDialog("blank.htm")でもエラーでなかった。 用意してないから404だったけど。 それと次からはエラー文をちゃんとコピペしてくれ。ソース並に重要。
685 名前:Name_Not_Found mailto:sage [2009/04/06(月) 00:30:58 ID:???] body onloadの中でも showModalDialog を window.showModalDialog と書かなくてもいいのか、知らなかった。
686 名前:Name_Not_Found mailto:sage [2009/04/06(月) 00:47:22 ID:???] <body onload="">か・・・javascriptコード片と勘違いしたすまん。
687 名前:Name_Not_Found mailto:sage [2009/04/06(月) 01:25:30 ID:???] >>682 bodyタグの下にこれ書いてないってオチじゃ・・。 <script type="text/javascript"> resizeTo(200, 200); setInterval( "moveTo(Math.random()*800, Math.random()*600)", 100 ); </script>
688 名前:Name_Not_Found mailto:sage [2009/04/06(月) 01:26:07 ID:???] >>687 それだ
689 名前:Name_Not_Found mailto:sage [2009/04/06(月) 01:28:18 ID:???] >>687 なるほど、うっかりしてました。
690 名前:Name_Not_Found mailto:sage [2009/04/06(月) 01:57:17 ID:???] >>682 の頭の悪さは異常
691 名前:Name_Not_Found mailto:sage [2009/04/06(月) 02:25:30 ID:???] 実際、なんにもしらないんで、頭悪いって言われるとそれまでなんですが、 >>682 のレスの意味をくんで適した解決法を提示してくださる方はいないんですね。 初心者用のスレが見当たらなかったんでここで質問したまでですが。
692 名前:Name_Not_Found mailto:sage [2009/04/06(月) 02:33:33 ID:???] pc11.2ch.net/test/read.cgi/hp/1179833080/l50
693 名前:Name_Not_Found mailto:sage [2009/04/06(月) 02:47:29 ID:???] やばいこれはスルーせざるを得ない
694 名前:Name_Not_Found mailto:sage [2009/04/06(月) 02:55:47 ID:???] >>691 予算は?
695 名前:Name_Not_Found mailto:sage [2009/04/06(月) 03:01:11 ID:???] 予算?金払えば満足な回答できるのか? なら成功報酬でパンツうpってやる
696 名前:Name_Not_Found mailto:sage [2009/04/06(月) 03:05:37 ID:???] (゚听)イラネ
697 名前:Name_Not_Found mailto:sage [2009/04/06(月) 03:11:26 ID:???] >>695 女?じゃいらね
698 名前:Name_Not_Found mailto:sage [2009/04/06(月) 03:12:52 ID:???] 残念!男だよ!
699 名前:Name_Not_Found mailto:sage [2009/04/06(月) 10:09:34 ID:???] >>682 <script type="text/javascript" src="swfobject.js"></script> <div id="swfview">このタグの中ににフラッシュが表示される</div> <script type="text/javascript"> swfContent = [ ["a1.swf","a2.swf","a3.swf","a4.swf"], ["test1.example.com/ ","test2.example.com/ ","test3.example.com/ "] ] swfRandFile = Math.floor(swfContent[0].length*Math.random()); swfRandURL = Math.floor(swfContent[1].length*Math.random()); var test = new SWFObject(swfContent[0][swfRandFile],"swfContents","180","150","9","#ffffff"); test.addParam("allowfullscreen","true"); test.addParam("allowscriptaccess","always"); test.addParam("wmode","opaque"); test.addParam("flashvars","clickTag="+swfContent[1][swfRandURL]+"&clickTarget=_self"); test.write("swfview"); </script> ブラウザのフラッシュの扱いは色々難しいからSWFobjectというライブラリを使ってやるといい swfobject - Google Code ttp://code.google.com/p/swfobject/
700 名前:Name_Not_Found mailto:sage [2009/04/06(月) 10:37:47 ID:???] swfのファイル名を変えたいんじゃなくて、今回はswfに埋め込まれた値を変えないといバナーが変更できないんでしょ javascript関係ないじゃん
701 名前:Name_Not_Found mailto:sage [2009/04/06(月) 12:01:43 ID:???] >>680 どうでもいいけど、インスウじゃなくてヒキスウだぜ
702 名前:Name_Not_Found mailto:sage [2009/04/06(月) 12:14:05 ID:???] バロッシュw
703 名前:Name_Not_Found mailto:sage [2009/04/06(月) 12:35:15 ID:???] >>699 SWFObject は JavaScript のみによる実装じゃなくて object 要素の記述 + JavaScript による機能拡張 の使いかたを推奨してるよ Eolas 問題が解決した今、それがベターなプラクティスぽい
704 名前:Name_Not_Found mailto:sage [2009/04/06(月) 12:43:24 ID:???] それ書くとスレチだから書いてないだけ
705 名前:Name_Not_Found mailto:sage [2009/04/06(月) 12:48:03 ID:???] action scriptの仕事だろ? スレ違いの質問ってことで終了
706 名前:Name_Not_Found mailto:sage [2009/04/06(月) 14:10:51 ID:???] >>705 flaファイルがないって言ってるからaction scriptじゃなく javaでってことだろ。
707 名前:Name_Not_Found mailto:sage [2009/04/06(月) 14:22:45 ID:???] >>706 うん、jsとasは一緒じゃないんでできないよね はい、終了 次の質問どーぞ
708 名前:Name_Not_Found mailto:sage [2009/04/06(月) 15:20:32 ID:???] ローカルで参照できる、JavaScriptとjQueryのマニュアルを探しています。 参考になるサイトを wget -r でとってきても、リンク先が相対リンクでなかったり、CSSがおかしなことになったりと、 とてもローカルで参照できるものにはなりませんでした。 ネットがつながってない環境でも勉強したり参照できるような、JavaScriptとjQueryのマニュアルで、おすすめのものがありましたら教えてください。
709 名前:Name_Not_Found mailto:sage [2009/04/06(月) 15:40:01 ID:???] >>706 javaで? javaならスレ違い
710 名前:Name_Not_Found mailto:sage [2009/04/06(月) 15:40:10 ID:???] >>699 をそのままファイル名とURLを書き換えて試してみたら、 ランダムはうまく表示でき、最初はURLもクリックできるようになるけど、 何度かリロードするとクリックできなくなるね URLもエラーで飛べないし。
711 名前:Name_Not_Found mailto:sage [2009/04/06(月) 15:56:24 ID:???] >>708 URLを直してくれるような巡回ソフト探した方がいい。 それとさっきからjavaとか言ってるヤツは頭冷やしてこい、ここはjavascriptスレだw
712 名前:Name_Not_Found mailto:sage [2009/04/06(月) 17:34:36 ID:???] 冷水をジャバっとかぶって来いと言いたいんですね
713 名前:Name_Not_Found mailto:sage [2009/04/06(月) 18:05:53 ID:???] JavaScriptって名前変えようぜ 長いし混同されるし良いことないじゃん
714 名前:Name_Not_Found mailto:sage [2009/04/06(月) 18:12:00 ID:???] JSで良いじゃん
715 名前:Name_Not_Found mailto:sage [2009/04/06(月) 18:18:06 ID:???] >>713 EcmaScript
716 名前:Name_Not_Found mailto:sage [2009/04/06(月) 20:48:30 ID:???] LiveScript
717 名前:Name_Not_Found mailto:sage [2009/04/07(火) 00:33:52 ID:???] ジャバザハット
718 名前:Name_Not_Found mailto:sage [2009/04/07(火) 01:36:29 ID:???] >>708 wgetって相対リンクにしてくれないんだっけ? 俺が愛用してるソフト。 GetHTMLW www.vector.co.jp/soft/win95/net/se077067.html
719 名前:Name_Not_Found mailto:sage [2009/04/07(火) 01:48:18 ID:???] --convert-links 取得したファイル内の絶対指定のリンクを相対指定に書き換 えます。 [Wgetrc] convert_links = on/off members.at.infoseek.co.jp/futora/wget153/option.html あるじゃねえか・・。
720 名前:Name_Not_Found mailto:sage [2009/04/07(火) 02:06:32 ID:???] >>708 jQueryのマニュアルの方は jQuery API Browser というのがあるよ ttp://api.jquery.com/ ここから落とせる
721 名前:Name_Not_Found mailto:sage [2009/04/08(水) 06:43:10 ID:???] document.writeを上書きし、document.writeの引数によって出力する文字列を変えることって出来ませんか? // 引数が "A" 一文字だったら "yes" を出力する。 → "yes" document.write("A"); // それ以外だったらそのまま出力。 → "AB" document.write("AB"); 自分で書いてみたコードでは "document.write" が自身を参照する無限ループになってしまい、ブラウザが重くなったあとに 「InternalError: too much recursion」 というエラーが出てしまいました。 ________________________________________________________________________________ document.write = function(s){ ( s == "A" ) ? document.write("yes") : document.write(s); } document.write("A"); // ここで無限ループに陥り、上記のエラーが出てスクリプトが停止。 document.write("AB"); ________________________________________________________________________________ 平日なのにこんなスレで暇潰ししているスーパーハッカー(笑)のみなさん、どうか宜しくお願いします。
722 名前:Name_Not_Found mailto:sage [2009/04/08(水) 06:50:23 ID:???] 平日なのに出勤前にこんなスレ覗きにくるヒマ人だがな。 最初のdocument.writeを自作関数に置き換えりゃ済むだろが。
723 名前:721 mailto:sage [2009/04/08(水) 06:59:32 ID:???] >>722 document.write を上書き出来るかどうかが知りたいのでそれでは意味がありませんです。
724 名前:Name_Not_Found mailto:sage [2009/04/08(水) 07:34:06 ID:???] なんか IE8では動いた。 Firefox/Chromeでは動作せず。 お作法違反はあんまり趣味じゃないんで、これ以上はよーわからん。 document.write_ = document.write; document.write = function(s){ ( s == "A" ) ? document.write_("yes") : document.write_(s); }
725 名前:Name_Not_Found [2009/04/08(水) 10:36:37 ID:D2SNJEcy] newwrite = "1";// このの値は例として1ですがユーザーが入力した値を入れるので不定です document.getElementBy("box").innerHTML= document.getElementBy("box").innerHTML+newwrite; <div id="box"></div> id名boxにnewwriteに格納した文字を足していきたくて上のようにしました これだとbox内の内容とnewwriteを足して「書き換える」動作なんですが、 box内に大量の文字列があると動作が重くなってしまい改善したいです これをbox内の内容にnewwriteを「挿入する」やり方を模索してるのですが どなたかご教示お願い致します
726 名前:Name_Not_Found mailto:sage [2009/04/08(水) 10:41:08 ID:???] >>724 ttp://d.hatena.ne.jp/cyokodog-memo/20090225/1235524693
727 名前:Name_Not_Found mailto:sage [2009/04/08(水) 10:54:36 ID:???] >>724 WinXPのFirefox3.0.8/Chrome1.0.154.53/Opera9.63/Safari4で試してみたけど問題なく動くよ
728 名前:Name_Not_Found mailto:sage [2009/04/08(水) 10:55:50 ID:???] document.write("hogehoge"); とコードを書いて出力すると次のページに遷移してしまいますよね? このdocument.write(""); はそもそもどういった場合に使用すれば良いのでしょうか? また、ページ遷移する事無く使用するにはどうすれば良いでしょうか?
729 名前:Name_Not_Found mailto:sage [2009/04/08(水) 11:00:10 ID:???] ググればすぐ分かることを人に聞くようなアホは帰れ。
730 名前:Name_Not_Found mailto:sage [2009/04/08(水) 12:36:01 ID:???] >>725 値を2つ用意したらどうかな newwrite = "1"; boxContent = ""; boxContent = boxContent + newwrite; document.getElementBy("box").innerHTML = boxContent;
731 名前:725 mailto:sage [2009/04/08(水) 12:54:13 ID:???] >>730 ありがとうございます box内にはユーザーが入力した値を順次足していく形にしたいと思います 例えばはじめはbox内が空で、ユーザーが「りんご」と入力したら <div id="box">りんご</div>となり さらに「バナナ」入力したら<div id="box">りんごバナナ</div>というように 足していく形にしたいのですが >>725 では一度box内の内容を取得して入力した値を足す形になり、box内の文字が多いと動作が遅くなってしまいます やはり不可能なのでしょうか?
732 名前:Name_Not_Found mailto:sage [2009/04/08(水) 12:58:01 ID:???] >>725 とりあえずgetElementByIdは使う回数を減らす。 var e = document.getElementById("box"); e.innerHTML= e.innerHTML + newwrite; もしかしたらこっちでいいのかもしれない。 document.getElementById("box").innerHTML += newwrite; これでも遅いならHTMLパースのせいだろうし テキストノード書き換えすればそれを回避できて速かった気がする。 document.getElementById("box").childNodes[0].nodeValue += newwrite;
733 名前:Name_Not_Found mailto:sage [2009/04/08(水) 13:05:20 ID:???] 一回しか呼ばれないのは当然と言えば当然かw function foo() { alert("call"); return {value: ""}; } foo().value += "test"; 余談だけど、もし一度に何回も書き出してるなら>>730 の要領で 最後にまとめて吐き出さないとダメ。
734 名前:Name_Not_Found mailto:sage [2009/04/08(水) 13:29:53 ID:???] >>728 documentに書き出すタイミングで使え
735 名前:Name_Not_Found mailto:sage [2009/04/08(水) 13:38:12 ID:???] >>728 ページの読み込みが終わった時点でdocumentは閉じられているので document.writeを読み込み後に行うとドキュメントの内容を消してから出力される
736 名前:Name_Not_Found mailto:sage [2009/04/08(水) 19:21:36 ID:???] >>725 innerHTMLを使わなきゃだめなん? ↓こう書いてみて、10画面程度では特に遅くは感じられなかったけど。 <input id="WRITE"> <input type="button" value="Write" onclick=" var box = document.getElementById('box'); var newwrite = document.getElementById('WRITE').value; if (box.hasChildNodes()) { box.lastChild.appendData(newwrite); } else { box.appendChild(document.createTextNode(newwrite)); } "> <div id="box"></div>
737 名前:Name_Not_Found mailto:sage [2009/04/08(水) 19:27:06 ID:???] なんでおまえらって他人の質問に対してそんな真剣になれるの? 埼玉県民の俺が泣くじゃないか
738 名前:Name_Not_Found mailto:sage [2009/04/08(水) 19:43:38 ID:???] 人のためならずというか。 まともな質問に対して生半可な知識で答えようとすると 回答できなかったりツッコミが入ったりしていい勉強になる。
739 名前:736 mailto:sage [2009/04/08(水) 19:44:13 ID:???] >>725 のオリジナルでやってもあまり遅くならないな。 boxにはいったいどれだけ入ってるんだ? (それとも一度に何度も繰り返してる?) innerHTMLにしなくちゃいけなくて速度も気になるなら ダミー要素を作って入れるとよくなる…かも? var newwrite = document.createElement('div'); newwrite.innerHTML = document.getElementById('WRITE').value; document.getElementById('box').appendChild(newwrite);
740 名前:728 mailto:sage [2009/04/08(水) 19:49:35 ID:???] >>734 >>735 さんくす 試してみます。
741 名前:Name_Not_Found mailto:sage [2009/04/08(水) 19:52:04 ID:???] >>740 礼はいいってことよ 得た知識は今後このスレで役立ててくれればいいってことよ
742 名前:Name_Not_Found mailto:sage [2009/04/08(水) 19:59:49 ID:???] >>741 お礼の言葉は要らないけどお礼の気持ち(結果報告)はほしいぞw
743 名前:Name_Not_Found mailto:sage [2009/04/08(水) 20:46:14 ID:???] MDC 英語版 https://developer.mozilla.org/en/DOM/Window.setInterval 上記ページの以下の一文がどうしても訳せません>< 直訳するとどうなるんでしょうか。 因みに、日本語版の訳もよく分かりませんでした;; > setInterval() will pass the number of milliseconds late the callback was called into the callback function,
744 名前:Name_Not_Found mailto:sage [2009/04/08(水) 21:14:49 ID:???] >>743 なんだこれ、意味はなんとなくわかったけど訳せないw Fx(ASとかも)でのsetIntervalはfuncに渡すparamを指定できる。 intervalID = window.setInterval(func, delay[, param1, param2, ...]); たとえば setInterval(func, 1000, param); なら1000ms後にfunc(param)を実行する。 でもIEなんかでは動かないし、なにより直観的じゃなくてキモイから (paramがfuncへの引数ではなく、setInterval自体の挙動を変えるための引数にも見える) クロージャ使った方が確実だしわかりやすいよ、ということだと。 setInterval(function(){ func(param); }, 1000);
745 名前:Name_Not_Found mailto:sage [2009/04/08(水) 21:17:29 ID:???] クロージャじゃなくて無名関数だった。モノはほぼ同じだけど。 それにしても、何度読んでもcallback functionに対するcallbackの ニュアンスがよくわからん・・・。
746 名前:Name_Not_Found mailto:sage [2009/04/08(水) 21:23:04 ID:???] >>743 コールバック関数として呼び出したらsetInterval() 数ミリ程度遅れるでしょう
747 名前:Name_Not_Found mailto:sage [2009/04/08(水) 21:25:56 ID:???] >>743 文章が途切れてるから意味が変わってくるだろ ちゃんと書けよ setInterval() will pass the number of milliseconds late the callback was called into the callback function, which can confuse it if it expects something else as an argument. To sidestep that problem, use an anonymous function to call your callback. setInterval()はコールバックを数ミリ秒遅れて渡します それが議論として何か他のものを予想するならば、それを混同することができるコールバック機能に呼びました。その問題を回避するために、あなたのコールバックを指令するために、匿名の機能を使用してください。
748 名前:Name_Not_Found mailto:sage [2009/04/08(水) 21:28:05 ID:???] 要は以下のように使うなってこと function test() { この中にsetInterval()を使う } 以下のように使ってくれってこと window.onclick=function() {この中はおk}
749 名前:Name_Not_Found mailto:sage [2009/04/08(水) 21:46:03 ID:???] >>747 文句言うくせに、機械訳でやんの。
750 名前:Name_Not_Found mailto:sage [2009/04/08(水) 21:53:18 ID:???] >>744-745 おっしゃる通り、結果的にどうしろというのは which 以降を読めば理解できるんですが・・・・。 最初に言わんとしていることがさっぱり分からんのです。 >>747 ^^ >>746 氏 = >>748 氏かな? それだと文脈上の筋が通らない様な気がしますです。 もう少し時間をかけて自分でも考えてみます。 ありがとうございました。
751 名前:721 mailto:sage [2009/04/08(水) 22:05:36 ID:???] >>724 IE8ではそれで動くんですか、なるほど。 やっぱ全てのブラウザで動くものは無理なのかな。 とりあえず、どうもありがとう。
752 名前:Name_Not_Found mailto:sage [2009/04/08(水) 22:09:21 ID:???] >>751 >>724 は自作関数に置き換えてるよ
753 名前:721 mailto:sage [2009/04/08(水) 22:12:01 ID:???] >>752 >Firefox/Chromeでは動作せず。 なのでダメ。 これは質問前に自分も試した。
754 名前:Name_Not_Found mailto:sage [2009/04/08(水) 22:14:03 ID:???] >>753 >>727 こっちでもFx3で動いた。 行儀悪いとはいえJS的におかしなことはしてないし。
755 名前:Name_Not_Found mailto:sage [2009/04/08(水) 22:56:30 ID:???] uupaaとかkQueryのblogが高度すぎてわからん
756 名前:Name_Not_Found mailto:sage [2009/04/08(水) 23:11:01 ID:???] >>754 これで試して、Vista 上のFirefox3.08 + FireBug1.33 だと yes だけで、Chrome1.0.154.53 だと何も出んかった。 onload で document.writeってしちゃいけないんだっけ? document.writeってもうずいぶん使ってないから忘れてしまった。 レベル低いくせに答えたりしてすんません。(´д`) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "www.w3.org/TR/html4/strict.dtd "> <html><head> <script language="JavaScript"> document.write_ = document.write; document.write = function(s){ ( s == "A" ) ? document.write_("yes") : document.write_(s); } function init() { document.write("A"); document.write("AB"); } </script> </head> <body onload="init();"> </body></html>
757 名前:Name_Not_Found mailto:sage [2009/04/08(水) 23:12:36 ID:???] javascriptを用いて、あるページからあるページに画面遷移するソースを書きたいのですが、 どのように書いたら良いのでしょうか? 例として「画面1」www.dotup.org/uploda/www.dotup.org31452.jpg のページから「画面2」www.dotup.org/uploda/www.dotup.org31455.jpg ページに画面遷移できるようなソースをお願いしたいです。 その際、写真の「新規作成」「更新」「削除」ボタンを押して、 画面2に遷移するようにしたいのですが。 また、画面2の「戻る」ボタンを押して、 画面1に遷移するようなソースも合わせてお願いします。 ※javascriptを使わない方法では次のように書いたところ、画面遷移ができました。 <form action="画面2.html"> <input type="submit" value="新規作成"> <input type="submit" value="更新"> <input type="submit" value="削除"> </form> 以上の点をふまえた上で、 よろしくお願いします。HTML初心者のもので、ご教授いただけると助かります。
758 名前:Name_Not_Found mailto:sage [2009/04/08(水) 23:16:18 ID:???] >>756 >onload で document.writeってしちゃいけないんだっけ? document.writeを使っていいのはloadが終わる前までだ。onloadじゃ遅すぎる。
759 名前:Name_Not_Found mailto:sage [2009/04/08(水) 23:19:10 ID:???] >>758 なるほど。 動いた。ありがと。
760 名前:Name_Not_Found mailto:sage [2009/04/09(木) 00:37:45 ID:???] >>757 そんなのボタンにしないでただのリンクでいいと思うけど。 ASP.NETならポストバックになるのかな。 location.href = '画面2.html';
761 名前:721 mailto:sage [2009/04/09(木) 01:14:44 ID:???] document.writeの上書きの件ですが>>724 でうまくいくことが確認出来ました。 質問前に自分で試したものが動かなかった原因はfirebugで動かしたせいでした。 いろいろ試した結果、firebugで実験する場合は同一のタブを使い回してはいけないことが分かりました。 ( 一度実験に使ったタブは閉じ、新たなタブを開いてそこで実験をする必要があった ) firebugは何かと便利だけど頼りすぎてはいけない・・と。 >>722 と愉快な仲間たち >>724 >>727 >>752 >>754 のみなさんありがとうございました。(ぺこ)
762 名前:Name_Not_Found mailto:sage [2009/04/09(木) 01:26:15 ID:???] >>756 質問者と一緒に考えるぐらいのスタンスでいいと思うよ。 >>761 コンソール有効の状態で、firebugからHTMLソース見ると <div id="_firebugConsole">が確認できる。 つまりページに埋め込んで処理してるということ。 タブ閉じずにリロードでいいけど 影響の大きいことをやったら初期化してやる必要あるし そのへんの影響の大きさが行儀悪いと言われる所以でもある。
763 名前:Name_Not_Found mailto:sage [2009/04/09(木) 05:35:58 ID:???] >>743 > setInterval() will pass the number of milliseconds late the callback was called into the callback function, 基本構造は setInterval() will pass the number of milliseconds into the callback function, (setInterval() はミリセカンド秒数をコールバック関数に渡します) そして "late the callback was called" が "the number of milliseconds" にかかっている。 (あとでコールバックが呼ばれたとき) 全体では 『setInterval() はあとでコールバックが呼ばれたときにミリセカンド秒数をコールバック関数に渡します。』 じゃないかなあ。 ただ "late" の品詞がよくわかんない。ここでは『あとで』という意味の副詞だと思って訳したけど、違うかも。
764 名前:Name_Not_Found mailto:sage [2009/04/09(木) 08:43:02 ID:???] 「setInterval()は、コールバック関数に、コールバックが何ミリ秒 遅れて呼ばれたかのミリ秒数を、渡します。」 へーそうなのかと思ってテストしてみた。ループカウントを増やすと コールバックが「次に」呼ばれる時間が指定より遅くなるが、確かに その時「どれだけ指定より遅くなったか」が渡されてくる。勉強になった。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><title>???</title> <script type="text/javascript"> var loop = 2000000; function test(d) { var e = document.createElement('P'); e.appendChild(document.createTextNode(""+d+"msec")); document.getElementById('d0').appendChild(e); for(var i = 0; i < loop; ++i) ; } </script> </head><body onload="setInterval(test, 100)"> <div id="d0"></div> </body></html>
765 名前:Name_Not_Found mailto:sage [2009/04/09(木) 09:12:47 ID:???] >>758 こんな感じの使い方は許されない?w window.onload = function () { w = window.open(); w.document.open("text/html"); w.document.write("<html></html>"); w.document.close(); };
766 名前:Name_Not_Found mailto:sage [2009/04/09(木) 09:33:08 ID:???] >>765 まあまあ、揚げ足をとらなんだw
767 名前:Name_Not_Found mailto:sage [2009/04/09(木) 12:26:47 ID:???] 同じウインドウって意味だろ
768 名前:Name_Not_Found mailto:sage [2009/04/09(木) 13:53:22 ID:???] >>763 > >>743 > > setInterval() will pass the number of milliseconds late the callback was called into the callback function, > > 基本構造は > setInterval() will pass the number of milliseconds into the callback function, > (setInterval() はミリセカンド秒数をコールバック関数に渡します) > > そして "late the callback was called" が "the number of milliseconds" にかかっている。 > (あとでコールバックが呼ばれたとき) > > 全体では > 『setInterval() はあとでコールバックが呼ばれたときにミリセカンド秒数をコールバック関数に渡します。』 > じゃないかなあ。 > > ただ "late" の品詞がよくわかんない。ここでは『あとで』という意味の副詞だと思って訳したけど、違うかも。 >
769 名前:Name_Not_Found mailto:sage [2009/04/09(木) 14:17:35 ID:???] すみません、>>768 はミスです。 >>763 自分も late の解釈と the callback was called の掛かる場所でずっと悩んでまして、 辞書で「the number of days late(遅刻日数)」という表現を見つけました。 で、>>764 氏の解釈を参考に、最終的に以下の 2つに分解して解釈しました。 総合的な解釈は >>764 氏の通りです。 setInterval() will pass the number of milliseconds late into the callback function. setInterval() はコールバック関数に遅刻した秒数(直訳)を渡す。 The callback was called several milliseconds late. コールバックは数ミリ秒遅れて呼ばれた。 >>764 Firefox で確認しました。 完璧に理解できた気がします。 どうもありがとう。
770 名前:Name_Not_Found mailto:sage [2009/04/09(木) 14:21:04 ID:???] その訳だと「ミリセカンド秒数」が具体的に何を表しているのか 分からないと思うんだけど。「後で」だったら英語ではlater とかにすると思うし。
771 名前:Name_Not_Found mailto:sage [2009/04/09(木) 14:21:48 ID:???] げげ、再びリロードorz
772 名前:Name_Not_Found mailto:sage [2009/04/09(木) 14:23:38 ID:???] おまえら仲良いな
773 名前:Name_Not_Found mailto:sage [2009/04/09(木) 14:37:59 ID:???] 英語板の連中に聞いた方が早いと思うけど こんな板のksじゃ翻訳できないだろ
774 名前:Name_Not_Found mailto:sage [2009/04/09(木) 15:22:25 ID:???] innerHTMLは代入されるたびにブラウザがパースかけるから for文の中とかで使うとめっさ効率悪くなる。 for文中で innerHTML += str; とかもう最悪。 なるべくinnerHTMLへの代入は少なくするのが普通。 とはいえ、ブラウザは当然HTMLのパースが得意だから 長いHTMLを操作するときはDOMよりinnerHTMLを使う方が効果的。
775 名前:Name_Not_Found mailto:sage [2009/04/09(木) 15:44:05 ID:???] >>769 完璧に理解できたなら わかりやすく例を交えて説明してちょ
776 名前:Name_Not_Found mailto:sage [2009/04/09(木) 18:40:51 ID:???] >>609-612 ありがとう 近いうちに実装してみる >>668 業者じゃないよ 某板で使うスクリプトを趣味で書いてたところ
777 名前:Name_Not_Found mailto:sage [2009/04/09(木) 21:41:33 ID:???] JavaScriptは悪くない - 0x集積蔵 d.hatena.ne.jp/os0x/20090409/1239278316
778 名前:Name_Not_Found mailto:sage [2009/04/09(木) 22:07:33 ID:???] また宣伝か 日時からして作者降臨おつかれさまです
779 名前:Name_Not_Found mailto:sage [2009/04/09(木) 22:46:44 ID:???] ブクマ溜まってから晒せばいいのにw ていうかブラウザのJSのevalが危険とか JSレベルでXSSが起きるようなことを言うのはマユツバだと思う。
780 名前:777 mailto:sage [2009/04/09(木) 23:42:47 ID:???] どうでもいいけど迷惑かけそうなんで一応宣伝だけ否定しておくよ
781 名前:Name_Not_Found mailto:sage [2009/04/09(木) 23:50:43 ID:???] >>779 半端な知識しかないなら黙ってればいいと思うよ
782 名前:Name_Not_Found mailto:sage [2009/04/09(木) 23:58:53 ID:???] 深く同意
783 名前:Name_Not_Found mailto:sage [2009/04/10(金) 00:16:31 ID:???] >>780 嘘つけw作者おつかれさん^^
784 名前:Name_Not_Found [2009/04/10(金) 00:18:11 ID:Qw48MTI5] ブラウザの機能によってはjavascriptのコードを書き換えることができるみたいですが 書きかえられた場合を想定して、どのような対策を行えばよろしいでしょうか?
785 名前:Name_Not_Found mailto:sage [2009/04/10(金) 00:18:50 ID:???] ここまで全部777の自演 次の方どうぞ〜
786 名前:Name_Not_Found mailto:sage [2009/04/10(金) 00:23:34 ID:???] >>785 おまえリアルで人から避けられてるだろ
787 名前:Name_Not_Found mailto:sage [2009/04/10(金) 00:51:49 ID:???] >>784 気にしないのが一番
788 名前:Name_Not_Found mailto:sage [2009/04/10(金) 03:06:08 ID:???] DHTML時代のおっさんが顔を真っ赤にしていると聞いて
789 名前:os0x mailto:sage [2009/04/10(金) 04:13:59 ID:???] どうも作者です。 >>779 「JSレベルでXSSが起きる」ってホントにあるんですよ。 割と有名なので、AdobeのFlexでXSSが発見されたことがあるんだけど、 それがlocation.hashをdocument.writeで書き出してたってオチ。
790 名前:Name_Not_Found mailto:sage [2009/04/10(金) 05:00:00 ID:???] evalが危険って都市伝説だし
791 名前:Name_Not_Found mailto:sage [2009/04/10(金) 05:56:56 ID:???] ____ / \ /\ キリッ . / (ー) (ー)\ / ⌒(__人__)⌒ \ | |r┬-| | evalが危険って都市伝説だし \ `ー'´ / ____ / \ /\ キリッ . +/ (●) (●)\ / ⌒(__人__)⌒ \+ | | クスクス> \ / ____ <クスクス / \ /\ キリッ . / (●) (●)\ / ⌒(__人__)⌒ \ + | | + \ /
792 名前:Name_Not_Found [2009/04/10(金) 06:35:11 ID:RToELolh] >>788 俺たぶんDHTML時代のおっさんなんだけど、 みんな、ぐにょぐにょ動かす系のJSはなんて呼んでる?
793 名前:Name_Not_Found mailto:sage [2009/04/10(金) 06:35:25 ID:???] んで何を意図して>>777 を貼ったんだ?
794 名前:Name_Not_Found mailto:sage [2009/04/10(金) 06:37:54 ID:???] >789 そもそも砂箱になってないのが問題なのを、 ブラウザ実装のJSと同列に語られても困るわけだが。
795 名前:Name_Not_Found mailto:sage [2009/04/10(金) 07:02:23 ID:???] >>779 Type 0のXSS ttp://en.wikipedia.org/wiki/Cross-site_scripting いまだにセキュリティ意識の無いオメデタイ人間が結構居るらしい事が怖いね。
796 名前:Name_Not_Found mailto:sage [2009/04/10(金) 08:00:08 ID:???] jsなんてuser.jsでいくらでも上書き出来るのになんでevalだけ危険物扱いなんだ。 まじで分からん。
797 名前:os0x mailto:sage [2009/04/10(金) 09:37:42 ID:???] 改めて言うまでもないと思うのだけど、素人ではない人が 適切にeval、with、document.writeを使うのはもちろん何の問題もないと思うよ。 ただ、初心者が失敗する可能性があるんだから、 この辺りは使わないほうが良いということにしておいて、 よくわかってない人は避けて、よくわかっている人は適切に使う。 っていうのが良いと思う。
798 名前:Name_Not_Found mailto:sage [2009/04/10(金) 10:07:36 ID:???] ふむふむ、素人がよく知りもしないで使うと危険ということか。 でもそれはevalに限らないよね。 ループ処理に使うものだってブラクラになり得るし。
799 名前:Name_Not_Found mailto:sage [2009/04/10(金) 10:11:31 ID:???] どなたか>>784 お願いします
800 名前:Name_Not_Found mailto:sage [2009/04/10(金) 10:17:32 ID:???] >>799 黒板消しによって黒板の文字を書き換えることができるみたいですが 書きかえられた場合を想定して、どのような対策を行えばよろしいでしょうか?
801 名前:Name_Not_Found mailto:sage [2009/04/10(金) 10:56:19 ID:???] 要するにユーザーの入力を単なる文字列では無く、 JavaScript的(あるいはDOM的)に意味のあるものとして利用するのは危険なので、 evalでもinnerHTMLでも、本当にその文字列を使って大丈夫かどうかを必ず意識する必要があるという事。 初心者云々は単に慢心を生むだけなので、初心者経験者は全く関係無い。 evalが嫌われるのは、代替手法が無いような本当に必要となる場面が少ない(JSON文字列をJSONオブジェクト化するなどくらい)ので、 わざわざリスクのある手法を回避したいという人間が多いからでは。
802 名前:Name_Not_Found mailto:sage [2009/04/10(金) 10:59:12 ID:???] evalの入力を書き換えられてしまう状況なら evalを含むコード自体を差し替えられてしまう可能性があるんじゃないの? eval自身がどれだけ危険かよく分からないのだが
803 名前:Name_Not_Found mailto:sage [2009/04/10(金) 11:20:53 ID:???] >>802 =796か? マジレスして良いものかどうか悩む所だけど、 ユーザーの個人的な環境で勝手にスクリプトを書き換えるような行為は自己責任。知った事では無い。 XSSの話とは全く別次元の話。 ブラウザベースゲームなどでスクリプトを改変されるチート的な行為への対応は、それともまた別問題だけど。
804 名前:Name_Not_Found mailto:sage [2009/04/10(金) 11:21:58 ID:???] 初歩的な質問かもしれませんがcookieについてお尋ね させて下さい。 履歴書作成を行うWEBサイトに本日アクセスしたのですが で3ヶ月前に作成した個人情報がブラウザにアクセスした瞬間に 画面の各項目に自動で設定されたのですがこれはcookieに値を 保存させてJavaScriptで画面の格納項目に設定しているのでしょうか? 便利な反面ちょっと気持ち悪いです。 セキュリティー的にも問題がありそうなので、 cookieの削除を行えばこの様な事は無くなると考えても良いでしょうか?
805 名前:Name_Not_Found mailto:sage [2009/04/10(金) 11:29:34 ID:???] >>800 無知な人はスレが汚れるから俺みたいな回答者だけ答えればいい
806 名前:Name_Not_Found mailto:sage [2009/04/10(金) 11:30:42 ID:???] >>804 おk そんな個人情報をクッキーに保存するクソサイトはさらしちまえよ
807 名前:Name_Not_Found mailto:sage [2009/04/10(金) 11:34:23 ID:???] まったくの初学なんだけど、お勧めの本とかあるかな? Webサイト作るのに必要なhtmlとcssの知識ならある程度ある
808 名前:Name_Not_Found mailto:sage [2009/04/10(金) 11:35:47 ID:???] >>807 javascriptなら本買わんでもいい 一撃必殺で勉強していろんなもの書く練習しゅれば自然と身につく言語
809 名前:Name_Not_Found mailto:sage [2009/04/10(金) 11:43:58 ID:???] >>808 なるほど、ユーザビリティ向上させるうえでもこの機能が欲しい→一撃必殺で逆引き みたいな感じで使ってく感じでも自然と身に付くかな 携帯の説明書も全部読むタイプだから一通り目を通して どんな機能があるか知った方が良さそうね
810 名前:Name_Not_Found mailto:sage [2009/04/10(金) 11:45:15 ID:???] わからなくなったことを一個ずつ調べていき応用していく方が効率がいいかもしれないjsは
811 名前:796 mailto:sage [2009/04/10(金) 11:48:56 ID:???] >>801 ユーザーが入力することが出来るWebサービスを作ることが出来るような人が ユーザーが入力したものをevalに入れたりするかね。 もちろんこうならないように 注意することは必要なんだがこれが理由で ”evalは危険” と言うのはおかしな話だな。 まあでも言いたいことは分かる。 >>803 別人
812 名前:Name_Not_Found mailto:sage [2009/04/10(金) 12:03:38 ID:???] >>804 はマルチ乙なんで気をつけてください △▲ WebProg 初心者の質問 Part19 ▼▽ pc11.2ch.net/test/read.cgi/php/1236265877/475 475 名前:nobodyさん[sage] 投稿日:2009/04/10(金) 11:18:03 ID:??? 初歩的な質問かもしれませんがcookieについてお尋ね させて下さい。 履歴書作成を行うWEBサイトに本日アクセスしたのですが で3ヶ月前に作成した個人情報がブラウザにアクセスした瞬間に 画面の各項目に自動で設定されたのですがこれはcookieに値を 保存させてJavaScriptで画面の格納項目に設定しているのでしょうか? 便利な反面ちょっと気持ち悪いです。 セキュリティー的にも問題がありそうなので、 cookieの削除を行えばこの様な事は無くなると考えても良いでしょうか?
813 名前:Name_Not_Found mailto:sage [2009/04/10(金) 12:06:32 ID:???] >>804 サーバに個人情報が保存されてるんじゃない? 良かったね^^v
814 名前:796 mailto:sage [2009/04/10(金) 12:25:13 ID:???] << ユーザーが入力することが出来るWebサービス >> 1. scriptタグをそのまま書き込める掲示板 2. URL欄に "javascript:〜" が書き込める掲示板 3. UA表示やリファラ表示にscriptタグを埋め込める掲示板 4. ユーザーが入力した文字列をevalに入れて出力する掲示板 1. あり得ない。 あったら大惨事。 2. たまに見かける。 クリックするとalertが無限ループで出るようにして荒らしたことがある。 3. Proxomitronを使って挿入して荒らしたことがある。 ページを開いた人をウイルスサイトに転送した。 4. 一度も見たことない。 誰か見たことある?
815 名前:Name_Not_Found mailto:sage [2009/04/10(金) 12:31:57 ID:???] >>814 どうやら本物の馬鹿か。 まあ本来なら有り得ない事を行っているサイトがあるから、 SQLインジェクションもXSSも無くならない訳で。
816 名前:Name_Not_Found mailto:sage [2009/04/10(金) 12:40:35 ID:???] eval(location.search.substring(1,str.length)) こんなソースが無い限りevalじゃどうやっても無理。 それにユーザーの入力値を式として評価するようなサイトなんて無い。する意味が分らない サーバーサイドのXSSや文字コードが関わったりするSQLインジェクションとは全く別の問題
817 名前:796 mailto:sage [2009/04/10(金) 12:44:56 ID:???] >>815 じゃあ何故evalが悪用されるケースは無くなってるの。 やっぱ都市伝説じゃないか。 >>816 だな。
818 名前:Name_Not_Found mailto:sage [2009/04/10(金) 13:32:49 ID:???] >>814 onなんとか がそのまま書けるもの 要するにタグが書けるものは すべて JS 埋め込めるわけで
819 名前:Name_Not_Found mailto:sage [2009/04/10(金) 13:38:06 ID:???] ieだけjsが早くなる一行コードがあるけど operaやfxやsafariではないんですか?
820 名前:Name_Not_Found mailto:sage [2009/04/10(金) 13:39:12 ID:???] >>796 のズレっぷりに辟易
821 名前:Name_Not_Found mailto:sage [2009/04/10(金) 14:39:07 ID:???] 某395さんですね、分かります
822 名前:796 mailto:sage [2009/04/10(金) 14:47:38 ID:???] 反論出来ないからとりあえず叩くっていう流れになってきてしまっているし、>>816 氏は俺の言いたいことを 理解してくれてるし、もういいや。 叩きたい人は勝手にやってくれ。 俺はevalを積極的に使って便利になることが無いか研究してみる。 危険だと言われているせいで便利な使い方が見落とされてたり敬遠されてたりするかも知れない。 >>821 俺は395(笑)
823 名前:Name_Not_Found mailto:sage [2009/04/10(金) 14:56:53 ID:???] evalで評価する入力値が完全に自分の管理下にあるスクリプト (ローカルに置いてある、オレ様だけが使うスクリプトなんだが)を その旨(オレ様専用であること)書き添えた上で晒した時に 「入力値をevalするのは危険なので止めた方がいいお^^」とか したり顔で言ってきた馬鹿はいたけど 硬直化してるっつーか、 何がどう危険なのかを考える事を放棄した思考停止君ってのは確かに居る、 ほとんど「eval危険教」みたいな
824 名前:Name_Not_Found mailto:sage [2009/04/10(金) 17:01:10 ID:???] eval?なにそれ うはwww便利wwww ↓ 危険性を散々叩き込まれる evalとかwww入門者はクソして寝ろwwww ↓ 危険性はあらかた理解して回避できる これだから嫌eval厨は。evalには未知の可能性がある ↓ (上級者の壁) もうみんな知ってるからいちいち声出さなくていいよ
825 名前:Name_Not_Found mailto:sage [2009/04/10(金) 17:05:18 ID:???] evalの危険性がある云々より しっかり作ってれば使う機会がない件
826 名前:Name_Not_Found mailto:sage [2009/04/10(金) 17:17:57 ID:???] JSON使うのでevalは頻繁に使うな
827 名前:Name_Not_Found mailto:sage [2009/04/10(金) 17:32:58 ID:???] >>825 JavaScriptでコンパイラやインタプリタ作るとき、 コードがJavaScriptのソースに変換されるようにするのが普通だと思うのだが なんで使う機会が無いと思えるのか、俺にはそっちのほうが不思議なんだが…。
828 名前:Name_Not_Found mailto:sage [2009/04/10(金) 17:50:30 ID:???] eval is evilという言葉があるのは知ってるが あまり理解できない
829 名前:Name_Not_Found mailto:sage [2009/04/10(金) 18:40:46 ID:???] >>822 >ページを開いた人をウイルスサイトに転送した。 のように書いて叩かれないスレの方がむしろ異常。 evalはCのgotoと同様に、宗教上?の理由で嫌われているのと同様だろ。 >>801 で書いたように、危険性からするとinnerHTML操作と大差無い。
830 名前:Name_Not_Found mailto:sage [2009/04/10(金) 19:33:06 ID:???] >>829 スルーする能力がないと2ちゃんではやってけない
831 名前:Name_Not_Found mailto:sage [2009/04/10(金) 19:53:36 ID:???] >>830 それはスルー能力とは違うな。 素人の質問を煽るしか出来無い臭いテンプレ厨の逃げの言い訳。
832 名前:Name_Not_Found mailto:sage [2009/04/10(金) 20:27:37 ID:???] スクリプト言語の利点を危険危険言って潰そうとするのもなあ
833 名前:Name_Not_Found mailto:sage [2009/04/10(金) 20:37:48 ID:???] C言語のポインタはメモリを壊す危険性があるので使ってはいけない。 危険厨的にはこうですか?
834 名前:Name_Not_Found mailto:sage [2009/04/10(金) 20:47:02 ID:???] >>831 で、君は何を求めてるわけ?
835 名前:Name_Not_Found mailto:sage [2009/04/10(金) 21:16:14 ID:???] 正当な見解じゃね
836 名前:Name_Not_Found mailto:sage [2009/04/10(金) 21:33:28 ID:???] はとにかく手当たりしだい誰かを攻撃したい愉快犯じゃね 何が言いたいのかさっぱりわからないし荒れるだけだから>>831 は以後スルー推奨
837 名前:os0x mailto:sage [2009/04/10(金) 22:41:26 ID:???] ど、どうも。 折角なので、もう一点だけ。evalについてもリスクと使い道について書いておきます。 evalは(>>826 も書いているように)XMLHttpRequestで取ってきたJSONを扱うときによく使われてます。 実際、prototype.jsもjQueryもevalを使っています。 XMLHttpRequestだから自分のサーバーから取ってきたJSONで絶対安全! と言い切れるなら良いのだけど、動的に取ってくるってことは大抵DBから取ってくるわけで、 DBに入ってるのは割とユーザーが入力したものだったりするわけで、リスクがあることが多いわけですよ。 だから、JSONはevalじゃなくて json2.jsを使ってパースすることが推奨されてます。 www.json.org/js.html で、繰り返しになるけどリスク等々を理解しているならeval使うのも全然アリだと思いますよ。 あ、withはどうでもいいよね。
838 名前:Name_Not_Found mailto:sage [2009/04/11(土) 01:03:07 ID:???] さっきまで使えていたjsを急に読み込まなくなるという現象が起きてますが、 原因として考えられることってありますか? 1日経過しましたが、原因判明せず いじってたのはhtmlだけで、しかもアタマの方などは全く触ってないのに なぜだ!なぜだ!なぜだ!
839 名前:Name_Not_Found mailto:sage [2009/04/11(土) 01:05:35 ID:???] 君がバカだからだよ
840 名前:796 mailto:sage [2009/04/11(土) 02:00:25 ID:???] 俺的にはサーバから受け取ったデータをevalに入れようとする発想が理解出来ないや。 そんなの危険に決まってるじゃないかと。 言いたい事は伝わったようなので消えまつ。 お騒がせしてすみませんでした。
841 名前:Name_Not_Found mailto:sage [2009/04/11(土) 02:42:55 ID:???] >>840 だからさ、JSON の時はって、みんな言ってるじゃん? ストリングのままじゃどうしようもないでしょ。
842 名前:Name_Not_Found mailto:sage [2009/04/11(土) 02:52:08 ID:???] ほんときみはバカだな
843 名前:Name_Not_Found mailto:sage [2009/04/11(土) 04:09:00 ID:???] JSONなら安全だと思ってんのか。。
844 名前:Name_Not_Found mailto:sage [2009/04/11(土) 04:18:46 ID:???] 結局、>>832-833 の言うような人間はここまで1人も現れていないのに 周りがみんなそう見えてしまうのが自称中級者のやかましさ
845 名前:Name_Not_Found mailto:sage [2009/04/11(土) 04:21:50 ID:???] ミス 周りがみんなそう見えてしまう自称中級者のやかましさ(にうんざり)
846 名前:Name_Not_Found mailto:sage [2009/04/11(土) 04:30:10 ID:???] でも、実際どこまでやっとけばevalはセーフティに使えるんだ? HTMLの生成は、PHPで言えば htmlspecialchars と urlencode でエンコードしてやれば 十分って認識なんだけど、evalはイマイチわからん。 数値としての文字列は数値に変換してから使うのと、' を \' に \を\\ にしてやるぐらいで良いんかな。
847 名前:Name_Not_Found mailto:sage [2009/04/11(土) 04:30:44 ID:???] 分かったからゴミブログの更新でもしてなよ。
848 名前:Name_Not_Found mailto:sage [2009/04/11(土) 07:01:23 ID:???] >>838 とりあえず firefoxとかで本当に読み込んでいないのか、エラーとか出てないか見たら?
849 名前:Name_Not_Found mailto:sage [2009/04/11(土) 07:07:46 ID:???] 読み込む前か途中でエラー出て止まってるんだろうね
850 名前:Name_Not_Found mailto:sage [2009/04/11(土) 08:35:31 ID:???] レスありがd ff使ってるけどぜんぜん読んでないし、別パソのieでも読んでない 読み込む前と途中のエラー、もう一度洗ってみます そんなトコさ割ってなかったのになぜだー!
851 名前:Name_Not_Found [2009/04/11(土) 08:48:52 ID:y8vG+mVj] >>850 HTTP的に問題があるのか、JS的に問題があるのか、で前者ならスレ違いだよ。 script要素のsrc属性で指定したurlをブラウザで直撃しても返ってこない、とかなら前者。
852 名前:Name_Not_Found mailto:sage [2009/04/11(土) 09:07:01 ID:???] <link rel="stylesheet" type="text/css" href="http://っっっっ.com/css/っっっっcss.css" media="screen" /> <script type="text/javascript" src="http://っっっっ.com/js/っっっっ.js"></script> これでcssしか読んでくれません ウィルスとか、外部からナニカされたとか、そういう原因も考えられるのかなと思って・・・ 別サイトに同じjsファイル使って動いているので、まずスレ違いは間違いないみたい ありがとう >>851
853 名前:Name_Not_Found mailto:sage [2009/04/11(土) 09:26:02 ID:???] >>852 お前は人のアドバイスを全く読まないんだな
854 名前:Name_Not_Found mailto:sage [2009/04/11(土) 09:30:01 ID:???] script要素のsrc属性で指定したurlをブラウザで直撃 って、 <script type="text/javascript" src="http://っっっっ.com/js/っっっっ.js"></script> のことじゃないの?
855 名前:Name_Not_Found mailto:sage [2009/04/11(土) 09:37:38 ID:???] あ、罵倒されて意味が分かった アドレスに直接入れてみるってことか そうすると、スクリプトが見えます var fade = 0; var interval = 100; var obj; function fade_in(){ if(fade <= 10){ obj = document.getElementById("bag"); obj.style.filter = "alpha(opacity=" + (fade * 10) + ")"; obj.style.MozOpacity = fade / 10 ; obj.style.opacity = fade / 10 ; fade++; setTimeout('fade_in()',interval); }} <body onload="fade_in();">で呼んでるはずなんですけど
856 名前:Name_Not_Found [2009/04/11(土) 10:15:35 ID:y8vG+mVj] >>855 そもそも何を根拠に「読まれていない」と判断したのか。っっっっ.jsの内容を function fade(){ alert('ゆとり乙'); }; だけにして、<body onload="fade();"> って書いて、alertが出るなら、JSファイルの読み込みは失敗していないよ。 あ、今気づいたけど、JSエラーが発生したらそれが報告される環境でやってるんだよな? document.getElementById("bag")が何も返していないとか、そんなオチはいらんぞ。
857 名前:Name_Not_Found mailto:sage [2009/04/11(土) 10:15:59 ID:???] >cssしか読んでくれません 本当にそうなのか?もし <body onload="alert(interval);"> で、100と表示されたらHTMLの問題
858 名前:857 mailto:sage [2009/04/11(土) 10:17:30 ID:???] >>856 とかぶってた(汗)
859 名前:Name_Not_Found mailto:sage [2009/04/11(土) 10:23:24 ID:???] >>856 bodyにonload書くとかどんだけゆとりなんだか
860 名前:Name_Not_Found mailto:sage [2009/04/11(土) 11:21:02 ID:???] ゆとり乙、100、出ました! 「jsファイルを読み込むことには成功しているけどhtmlに問題がある」 bodyの中身を<p>っっっっっっっっっ</p>だけにしても改善されないようなので js呼び出し以降でっっっっ前となると、 </head><body onload="fade_in();">のどこかに問題が? bodyにonloadがゆとりでしょうか
861 名前:Name_Not_Found mailto:sage [2009/04/11(土) 11:26:13 ID:???] >>860 >bodyの中身を<p>っっっっっっっっっ</p>だけにしても改善されないようなので ・・・ ・・・ ・・・(´・ω・`)
862 名前:Name_Not_Found mailto:sage [2009/04/11(土) 11:27:32 ID:???] (´・ω:;.:...
863 名前:Name_Not_Found [2009/04/11(土) 11:27:41 ID:y8vG+mVj] >>860 > bodyの中身を<p>っっっっっっっっっ</p>だけにして ん? このfade_in()は君が書いたものではないの? それで動くわけないじゃん。もう一度書くが、 document.getElementById("bag")が何も返していないとか、そんなオチはいらんぞ。 > </head><body onload="fade_in();">のどこかに問題が? そのうちわかる。今はそれでもいいよ。
864 名前:Name_Not_Found mailto:sage [2009/04/11(土) 11:52:14 ID:???] > bodyの中身を<p>っっっっっっっっっ</p>だけにして >>855 のJavaScriptを理解して無いことは分かった。勉強しなおせ。 JavaScriptの指定とbodyの中身が一致してないと動くわけないだろう。
865 名前:Name_Not_Found mailto:sage [2009/04/11(土) 11:54:08 ID:???] bag
866 名前:Name_Not_Found mailto:sage [2009/04/11(土) 11:54:47 ID:???] あーーーーーーーーーーーん わかりました! document.getElementByIdのあとのカッコ内のidの指定が、別サイトのidになってました すみません、そういうオチみたいです。。。 body onloadがゆとりの件も、検索して対処します みなさん親切につきあってくれてありがd おもしろい javascript
867 名前:Name_Not_Found mailto:sage [2009/04/11(土) 11:56:57 ID:???] イベントリスナの変遷 1. <body onload="hoge();"> 2. window.onload = "hoge();" 3. window.onload = hoge; 4. window.addEventListener("load", hoge, false); 5. window.addEventListener("load", function() {hoge();}, false); 4辺りからIE氏ねが口癖になる
868 名前:Name_Not_Found mailto:sage [2009/04/11(土) 12:36:35 ID:???] 6. Micorosoft 「addEventListenerの第3引数なんて都市伝説ですよ」 ← 今ここ?
869 名前:Name_Not_Found mailto:sage [2009/04/11(土) 12:38:55 ID:???] Micorosoftに振り回されずに 1 を使い続けるのが一番賢いのかもな
870 名前:Name_Not_Found mailto:sage [2009/04/11(土) 12:42:24 ID:???] あの、CSSもHTMLも何もかも付け焼き刃でしか対処しない 糞ブラウザなんていっそのこと無視してサイト作ればいいと思うよ Webkit と Geckoで見られればそれでほぼ標準準拠だし
871 名前:Name_Not_Found mailto:sage [2009/04/11(土) 12:46:13 ID:???] >>869 まったく賢くない
872 名前:Name_Not_Found mailto:sage [2009/04/11(土) 12:51:05 ID:???] >>871 何故?
873 名前:Name_Not_Found mailto:sage [2009/04/11(土) 13:01:20 ID:???] body window onload 違い でぐぐれかす
874 名前:Name_Not_Found mailto:sage [2009/04/11(土) 13:06:48 ID:???] 脳内で勝手にdocument.body.onloadに変換してました。 タイミングがどっちでもいいなら1がいいよね。
875 名前:Name_Not_Found mailto:sage [2009/04/11(土) 13:11:42 ID:???] >>873 最低の記事ばかり出てきて目が汚れたわ。責任取れ。
876 名前:Name_Not_Found mailto:sage [2009/04/11(土) 13:24:48 ID:???] deferでよくね?
877 名前:Name_Not_Found mailto:sage [2009/04/11(土) 13:28:10 ID:???] <button onclick=みたいなのを書く奴も池沼 今時onclickとかhtmlに書くのはダサすぎ
878 名前:Name_Not_Found [2009/04/11(土) 13:32:05 ID:emiK/aPx] >>877 Micorosoftに振り回されてる人ですね、分かります。 ただ、他人にそれを押し付けないように。
879 名前:Name_Not_Found mailto:sage [2009/04/11(土) 13:47:08 ID:???] ウィンドウ内でDIV要素の端をドラッグドロップ移動させる処理を作ったのですけど、 マウスボタンを押したままの状態でSPANなどの文字要素の上を通過した時に 通過した文字が選択(反転)状態になってしまって困っています。 IEでは.unselectableを設定して回避できるのですが Firefoxで選択状態にならないようにする方法はありますか?
880 名前:Name_Not_Found mailto:sage [2009/04/11(土) 13:51:29 ID:???] >>879 ドラッグ周りのイベントをwindowだかdocumentだかでまとめて補足して 対象のdivだったらドラッグ処理してreturn false;とすれば大丈夫な気がする。
881 名前:Name_Not_Found mailto:sage [2009/04/11(土) 14:01:59 ID:???] >>878 は見えない敵と戦ってるようですね
882 名前:879 mailto:sage [2009/04/11(土) 14:23:47 ID:???] >>880 イベント処理はdocumentのonmousemove、onmouseout、onmouseupにまとめています。 > return false;とすれば大丈夫な気がする。 これはどういう意味でしょうか? イベント処理関数をreturn false;で終わるようにしても変化は無かったです。
883 名前:Name_Not_Found mailto:sage [2009/04/11(土) 14:32:43 ID:???] 気がする=知ったかぶり
884 名前:Name_Not_Found mailto:sage [2009/04/11(土) 14:42:08 ID:???] >>882 false返すのはこれと同じような意味。 https://developer.mozilla.org/ja/DOM/event.preventDefault onmousedownでやってないからダメなんだと思う。 少なくともFx3はこれで範囲選択を抑制できる。 window.onmousedown = function() { return false; }
885 名前:Name_Not_Found mailto:sage [2009/04/11(土) 14:47:59 ID:???] チャットみたいな上下に別れたフレームがあったとして 上フレームからボタンを押したとき 下フレームの背景画像を変えるっていうの これって下フレームが自分で作ったわけじゃない 別サイト(チャットなど)でも可能なの?
886 名前:879 mailto:sage [2009/04/11(土) 14:54:53 ID:???] >>884 ありがとうございます。できました。 文字の選択開始を潰す発想なのですね。 document.onmousedown でもいけるようです
887 名前:Name_Not_Found mailto:sage [2009/04/11(土) 14:59:45 ID:???] >>885 セキュリティの都合で無理
888 名前:Name_Not_Found mailto:sage [2009/04/11(土) 15:06:32 ID:???] >>887 何が言いたいかって チャットの背景を所謂裏フレーム作成して そこからボタンなど作って変更できるかってことなんだけど 実際出来てる奴が居たから聞いたんだけど お前らじゃ無理かwwwwwwwwwwwwwwww
889 名前:Name_Not_Found mailto:sage [2009/04/11(土) 15:11:07 ID:???] >>888 義務教育を終える前に日本語と礼儀を勉強し直した方がいい。
890 名前:Name_Not_Found mailto:sage [2009/04/11(土) 15:12:39 ID:???] >>888 つまりそのチャットに悪戯したいってことですよね 仮に出来る人がいたとしても そんな態度じゃ誰も対応してくれませんよ
891 名前:Name_Not_Found mailto:sage [2009/04/11(土) 15:14:51 ID:???] >>888 iframeで読み込んでiframeにスタイル指定したらいい
892 名前:Name_Not_Found mailto:sage [2009/04/11(土) 15:20:02 ID:???] >>891 >>887 の理由で無理では
893 名前:Name_Not_Found mailto:sage [2009/04/11(土) 15:28:04 ID:???] >>888 出来るよ。GMで。
894 名前:Name_Not_Found mailto:sage [2009/04/11(土) 15:34:08 ID:???] >>892 読み込まれるHTMLのbodyにbackground-color:transparentが指定されていれば ドメインとか関係なくiframeの背景指定が適用されることをfirefoxで確認した
895 名前:Name_Not_Found mailto:sage [2009/04/11(土) 15:40:08 ID:???] >>894 ああ、それなら最近使って遊んだばっかだ。
896 名前:Name_Not_Found mailto:sage [2009/04/11(土) 15:46:29 ID:???] >>894 そういう親フレームに依存しますよ宣言がしてあるという限定条件があるならできるのだろうな でも、そうなってるならここで質問するまでも無いだろうが
897 名前:Name_Not_Found mailto:sage [2009/04/11(土) 16:09:17 ID:???] >>888 同一ドメインならできる 君は何か勘違いしてる
898 名前:Name_Not_Found mailto:sage [2009/04/11(土) 16:10:57 ID:???] 実際出来てるやつに聞けばいいんじゃね
899 名前:Name_Not_Found mailto:sage [2009/04/11(土) 16:25:27 ID:???] 出来てるやつを見たのならソース読めばいいのになw
900 名前:Name_Not_Found mailto:sage [2009/04/11(土) 20:04:35 ID:???] イベントを追加するときって ・addEventListener ・attachEvent ・on〜 のどれかで対応させてる書き方をよく見かけますが、NN4のcaptureEventsをこの仲間に入れなくてもNN4で動きますか? それとももう切り捨てていいという考え方が主流なんでしょうか?
901 名前:Name_Not_Found mailto:sage [2009/04/11(土) 20:18:13 ID:???] >>900 >NN4 誰も使ってないから、切り捨てでおk
902 名前:900 mailto:sage [2009/04/11(土) 20:53:41 ID:???] >>901 分かりました、どうもありがとうございました。
903 名前:Name_Not_Found mailto:sage [2009/04/11(土) 23:21:31 ID:???] アホな質問かもしれませんが、イベントハンドラで 一度に呼び出すスクリプトを二つ設定することってできるんですかね?
904 名前:Name_Not_Found mailto:sage [2009/04/11(土) 23:24:57 ID:???] スクリプト? function のことなら可。 少し上のレス読めば分かる。
905 名前:Name_Not_Found mailto:sage [2009/04/11(土) 23:37:19 ID:???] ありがとうございます読んできます。
906 名前:Name_Not_Found mailto:sage [2009/04/12(日) 01:18:55 ID:???] NN4はもう切り捨てて良いって説明してこいよいいかげn
907 名前:Name_Not_Found mailto:sage [2009/04/12(日) 13:09:36 ID:???] WEBサイト作成用にJavaScriptの勉強したいんだけど、上に出てた一撃必殺って サイトとは別に本使いたいんだけど何かいいものあるかな? 過去スレも読んでいくつかピックアップしてみた ・初めてのJavaScript ・DOM Scripting 標準ガイドブック ・WebクリエイティブのためのDOM Scripting ・基礎 Ajax + JavaScript ・基礎からのJavaScript ・入門 JavaScript ・JavaScript: The Good Parts 赤本だけ買って使わない心理に似てる感が否めないけども
908 名前:Name_Not_Found mailto:sage [2009/04/12(日) 13:16:36 ID:???] オライリー
909 名前:Name_Not_Found mailto:sage [2009/04/12(日) 13:25:57 ID:???] >>907 今のスキル書かないとアドバイスしようがないんじゃない? 他言語の経験とか
910 名前:Name_Not_Found mailto:sage [2009/04/12(日) 13:27:43 ID:???] >>907 MDC
911 名前:Name_Not_Found mailto:sage [2009/04/12(日) 13:31:22 ID:???] >>908 オライリー本は必要だとわかってるけどモチベーションが低下しそうで食わず嫌い >>909 他言語経験はまったくないですorz
912 名前:Name_Not_Found mailto:sage [2009/04/12(日) 13:48:55 ID:???] うん、経験は関係ないな
913 名前:Name_Not_Found mailto:sage [2009/04/12(日) 14:41:52 ID:???] ・初めてのJavaScript ・JavaScript: The Good Parts この2つはオライリーじゃなかったっけか オライリー嫌いでも、サイ本はあった方がいいよ 読まなくても辞書的な感じに まぁ、ちょっとやってみる程度だったら敷居が高いかもしんないけどね
914 名前:Name_Not_Found mailto:sage [2009/04/12(日) 14:46:56 ID:???] 触る程度ならネットで十分
915 名前:913 mailto:sage [2009/04/12(日) 14:54:42 ID:???] ちなみにオレは初心者には 「JavaScript+Ajax プログラミング・テクニック」メディア・テック出版 を勧めてる。 リテラル関連も纏まってるし、JavaScriptとオブジェクトの関係がよく分かる。 如何せん誤植が多いのだけが玉に瑕だが。 て言うか、上記の本は絶版になったのか? いろんなところで入手不可になってるし、メディア・テックのサイトもアクセスできないし。
916 名前:Name_Not_Found mailto:sage [2009/04/12(日) 15:11:06 ID:???] 初心者に毛が生えた程度でこれから主要な処理を一通り理解するつもりなら 「JavaScriptポケットリファレンス」を薦める。 1命令毎に使用例のサンプルが付いてる。 俺が買ったのは10年ほど前になるが改訂版が出てたはず。
917 名前:Name_Not_Found mailto:sage [2009/04/12(日) 15:15:39 ID:???] >>915 去年 10月に倒産したらしい。 知らんかったw
918 名前:907 mailto:sage [2009/04/12(日) 15:25:58 ID:???] >>915 実はコレを買いに行って倒産してますって言われた\(^o^)/
919 名前:Name_Not_Found mailto:sage [2009/04/12(日) 15:38:50 ID:???] ajaxで検索するページを作ったけどキーワード入れて検索してもURLが変わらないから 検索結果をお気に入りに入れても検索結果TOPのURLが開くだけなんだけどなんか言い方法ないかね。
920 名前:Name_Not_Found mailto:sage [2009/04/12(日) 15:40:19 ID:???] 検索してもURLが変わらない例 www.google.com/uds/samples/apidocs/image.html
921 名前:Name_Not_Found mailto:sage [2009/04/12(日) 16:15:51 ID:???] ページに埋め込むAPIなんだからURL変わったら困るだろ
922 名前:Name_Not_Found mailto:sage [2009/04/12(日) 16:16:35 ID:???] >>919 location.href = "#" + encodeURIComponent(searchWord); searchWord = decodeURIComponent(location.hash.slice(1)); とかは?
923 名前:Name_Not_Found mailto:sage [2009/04/12(日) 16:19:23 ID:???] >>921 うん、だから困ってる。 検索サイトには不向きだね。 >>922 ありがとう、いじってみる。
924 名前:913 mailto:sage [2009/04/12(日) 19:07:00 ID:???] >>917-918 ちょ、マジっすか・・・ 結構面白い本出してたのに VBScriptでもお世話になった
925 名前:Name_Not_Found [2009/04/12(日) 20:45:39 ID:0OrYuPqw] iframeの中のwindowをcontentWindowで取れますが、逆にiframeの中のwindow からそのiframeのエレメントを取得するにはどのようにしたらよいのでしょうか?
926 名前:Name_Not_Found mailto:sage [2009/04/12(日) 20:55:43 ID:???] >>925 window.parent
927 名前:Name_Not_Found mailto:sage [2009/04/12(日) 21:11:39 ID:???] ん? 中から自分の要素取るならwindow関係ないだろ
928 名前:Name_Not_Found mailto:sage [2009/04/12(日) 21:20:25 ID:???] window == document.getElementsByTagName('iframe')[0].contentWindow.parent っていう話だと解釈したけど。
929 名前:Name_Not_Found [2009/04/12(日) 21:27:20 ID:gcQ4CZGO] window.onload = function(){ for (var i=0, len=3; i<len; i++) { test(); } }; hogehoge = []; function test(){ var p = hogehoge; //@ var j = p.length; p[j] = j; //B } 変数jが0→1→2という結果になるのですが どうしてそうなるか今一よくわからないので 詳しい方教えてください。 @でpにはhogehogeと同じ参照先(アドレス)がコピーされました。 なのでBでp[j]に値を格納した事は、hogehoge[j]に格納した事と同じこと。 でよいのでしょうか?
930 名前:Name_Not_Found mailto:sage [2009/04/12(日) 21:33:51 ID:???] よいよ
931 名前:Name_Not_Found mailto:sage [2009/04/12(日) 21:34:13 ID:???] 参照渡しだからな。
932 名前:Name_Not_Found mailto:sage [2009/04/12(日) 21:38:39 ID:???] >>930 >>931 ありがとうございます。 参照渡しの概念に早く慣れたいと思います。
933 名前:Name_Not_Found [2009/04/12(日) 21:55:59 ID:0OrYuPqw] >>926-928 ありがとう御座います。分りました。 度々すみませんが、iframeの枠線の幅が取得出来ないのですがどのようにすれば分るのでしょうか? CSSのborderや、単純にエレメントのborderを取得しても幅が取れませんでした。 どのようにすればよいのでしょうか?
934 名前:Name_Not_Found mailto:sage [2009/04/12(日) 22:01:00 ID:???] >>933 どうやって「取得」してるの。 FAQ >>4 のQ10/A10は読んでいるんだよね?
935 名前:Name_Not_Found mailto:sage [2009/04/12(日) 22:12:21 ID:???] >>933 function $s(e){//defaultView try{ return e.currentStyle || document.defaultView.getComputedStyle(e,''); }catch(e){ return false; } }; alert($s(document.getElementById("test")).[プロパティ]); <iframe src="google.co.jp " id="test"></iframe> [プロパティ]にcolorとかborderとか書くと”今”設定されている値がアラートで出る
936 名前:Name_Not_Found [2009/04/12(日) 23:11:24 ID:0OrYuPqw] >>934-935 ありがとう御座います。取れました。 borderってじゃダメなんですね。borderTopWidth等々で取れました。
937 名前:Name_Not_Found mailto:sage [2009/04/12(日) 23:50:20 ID:???] 弾って野郎いろんなブログにトラックバック送りつけてアフィで稼ごうとしてるのかね 被害者ttp://d.hatena.ne.jp/amachang/20070912/1189586296 加害者ttp://blog.livedoor.jp/dankogai/archives/50911084.html
938 名前:Name_Not_Found mailto:sage [2009/04/12(日) 23:55:21 ID:???] どっちも有名人じゃね?
939 名前:Name_Not_Found mailto:sage [2009/04/13(月) 00:02:28 ID:???] >>936 content=""; for(i in $s(document.getElementById("test"))){ content+=i+" : "+$s(document.getElementById("test"))[i]+";\n"; } alert(content); こんな感じに書いたら適用されてるスタイルが全部取れるね
940 名前:Name_Not_Found mailto:sage [2009/04/13(月) 00:47:26 ID:???] >>937 お前、病院行け、病院!
941 名前:Name_Not_Found mailto:sage [2009/04/13(月) 02:10:16 ID:???] >>910 MDCってなんぞ?
942 名前:Name_Not_Found mailto:sage [2009/04/13(月) 02:12:55 ID:???] >>941 ググレカスと言わざるをえないw ただリファレンスとしては便利だけど入門向きじゃない。
943 名前:Name_Not_Found mailto:sage [2009/04/13(月) 03:24:01 ID:???] >>937 間違いを間違いだと指摘してくれる人というのは必要だと思うんだよね。 でないと間違いのままそこで止まってしまう。 ただ、明らかに勉強不足な書き込みもちらほら。 これで食っていけるんだとびっくりしたことがある。
944 名前:Name_Not_Found mailto:sage [2009/04/13(月) 05:52:53 ID:???] > ただ、明らかに勉強不足な書き込みもちらほら。 これで食っていけるんだとびっくりしたことがある。 さすが自称「プロのjs書き」さん、かっけーw
945 名前:Name_Not_Found mailto:sage [2009/04/13(月) 05:56:39 ID:???] なんで 0==null と ""==null はfalseなのに、0=="" はtrue なんだよ。 違う型で比較したおれもアレだが、かんべんしてくれ。
946 名前:Name_Not_Found mailto:sage [2009/04/13(月) 06:10:32 ID:???] >>944 どちらかというとプロのphp書きです。
947 名前:Name_Not_Found mailto:sage [2009/04/13(月) 10:54:13 ID:???] >>945 ===でも使っとけ
948 名前:Name_Not_Found mailto:sage [2009/04/13(月) 10:56:04 ID:???] 暗黙的 型変換 javascript
949 名前:Name_Not_Found mailto:sage [2009/04/13(月) 11:01:32 ID:???] 分けの分からん事をお尋ねして申し訳ないのですが、 私は今日からPHPの勉強を始めたのですが、 どんな事ができるようになれば、”私はPHPが使える”って、言えるようになりますか?
950 名前:Name_Not_Found mailto:sage [2009/04/13(月) 11:05:37 ID:???] しまった、もう950じゃん。テンプレ論議あれば急いでどぞ。 でも簡単なもの以外は結論出ないだろうと思われ。 次スレは975超えたら。
951 名前:Name_Not_Found [2009/04/13(月) 11:10:44 ID:OKteWAxm] >>949 なぜここで。 あと、そんなもん、いったもん勝ちだって。 マジレスすると、PHPで2chブラウザ作って、って言われて はい、いつまでに出来ますって目安がはかれて、 実際にその期間で作れれば、使えるっても言っていいんじゃ?
952 名前:Name_Not_Found mailto:sage [2009/04/13(月) 11:49:42 ID:???] >>937 どちらも有名なカスブロガーです。
953 名前:Name_Not_Found mailto:sage [2009/04/13(月) 12:10:39 ID:???] >>951 2chブラウザならwebアプリなら1日もかからない件
954 名前:Name_Not_Found mailto:sage [2009/04/13(月) 12:12:33 ID:???] >>953 iframeで実装すれば1分で終わる件
955 名前:Name_Not_Found mailto:sage [2009/04/13(月) 12:16:49 ID:???] 「PHPできます」と履歴書に書くとマイナスとかなんとか
956 名前:Name_Not_Found mailto:sage [2009/04/13(月) 12:23:13 ID:???] 949がPHP6の開発に取り組むようです
957 名前:Name_Not_Found mailto:sage [2009/04/13(月) 12:27:56 ID:???] PGP最強
958 名前:Name_Not_Found [2009/04/13(月) 14:20:30 ID:OKteWAxm] >>953 すげーな。 ●とかbeとか、既読とかお気に入りとか、俺は一日じゃ無理だわ。
959 名前:Name_Not_Found mailto:sage [2009/04/13(月) 14:27:44 ID:???] >>958 そんな機能で足踏みするようならレベルが低杉
960 名前:Name_Not_Found mailto:sage [2009/04/13(月) 15:24:13 ID:???] https://developer.mozilla.org/ja/nsIDOMFileList このコードをコピペして動かしてみたけど TypeError: document.getElementById("file").fileList is undefined とエラーが出て動作しない 仕様変わったのかな
961 名前:Name_Not_Found mailto:sage [2009/04/13(月) 15:50:41 ID:???] >>960 XPCOM関連でしょ、アドオンとかそっち用。
962 名前:Name_Not_Found mailto:sage [2009/04/13(月) 16:06:20 ID:???] Englishに変えたら 〜.fileList[0]が〜.files[0]になってた、誰か更新してあげてよ
963 名前:Name_Not_Found mailto:sage [2009/04/13(月) 17:10:18 ID:???] >>941 Mozilla Developer Center >>945 ==には比較の決まりがある。 その決まりに当てはまらないときはfalseと判定される。 0==null と ""==null は決まりに当てはまらないのでfalseになる。 nullは特別な値であって、未定義値と比較されるとtrueになる。 0=="" は次のような決まりがある。 まず数値と文字列が比較されたとき、文字列側が数値に変換される。 JavaScriptの暗黙的自動型変換によって、空文字列は0に変換される。 そして変換後比較したとき 0==0 となりtrueになる。
964 名前:Name_Not_Found mailto:sage [2009/04/13(月) 17:19:43 ID:???] >>962 試しにfiles[0]にしてみたら動くじゃねーかwwww
965 名前:Name_Not_Found mailto:sage [2009/04/13(月) 17:55:35 ID:???] >>963 なるほど。整理できた。ありがとう。
966 名前:Name_Not_Found mailto:sage [2009/04/13(月) 18:05:59 ID:???] >>964 うわほんとだ。誤情報すまん。