1 名前:Name_Not_Found mailto:sage [2008/04/14(月) 11:37:43 ID:???] ━━━━━JavaScript質問スレ道場訓━━━━━ 一、礼節を重んじ常に努力精進すること 一、ブラクラに打ち勝つ精神力を持つこと 一、心身の優れたJavaScriptを学ぶこと 一、雑草の如く生涯JavaScriptを貫くこと 一、感謝と反省を忘れないこと 以上 ━━━━━━━━━━━━━━━━━━━━━━ このスレに書き込むことが許されるものは以下のとおり ・テンプレ/FAQ/過去ログ/関連資料を読める者。とくに>>2-10 は必須!!! (とくにローカルファイルや他鯖のページ内容は絶対取れない:Q1とQ2) ・JavaScriptとJavaの違いを理解する者 ・スクリプトを組むための最低限のHTML・CSSを理解する者 ・ユーザーに迷惑となるスクリプトを書かない者 ・「初心者です」を振りかざさず、質問を分かる日本語で説明できる者 ・対象環境や使用技術は質問者の裁量であることを理解する者 (質問/回答時はなるべく環境明記。WinIE5.5/N6未満と希少ブラウザは必須!) 前スレ pc11.2ch.net/test/read.cgi/hp/1204201797/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 名前:まず >>2-5 読め! 続いて過去スレ全集を検索! mailto:sage [2008/04/14(月) 11:40:31 ID:???] 【質問を書く上で】 1)ユーザ(閲覧者)に迷惑がかかる性悪スクリプトは回答されない。 例: 別窓開きまくり、閉じる/戻るのを妨害、全画面占有、etcは最悪。 答えさせようと「分からねえんだろ」と煽っても無駄(過去スレが証明)。 2)言葉でぐだぐだ書かずにソースを貼る、ただし要点を整理して。 そのまま貼って動かせると試してもらいやすい(ただし回答者に連結さすな!) 長い(1レスに入らない)場合はアップロードしてURIを貼る。 3)初心者という言葉は危険なので使わない方がよい。 初心者を言い訳に自力で調べない/考えない奴が最悪に嫌われる。 4)自分で調べたこと/試したこときちんと書く(調べもしない奴は最低)。 ただ「動きません」「エラーです」は何も情報がないため嫌われる。 エラーは「どの行で何のエラー」を書く(ブラウザをそのように設定すれ)。 ブラウザの設定すらできんヤシはFFxのJavaScriptコンソールを使え!!! OS、ブラウザ、バージョン、うまく行かない条件を明記しエラー再現可能に。 5)特に古いバージョン限定の時は必ず明記! 回答もチグハグになり回答者に2度 手間を食わせる可能性大(現行Ver.:IE5.5-6、N6-7、Opera7-8) 6)どういう時にどういう動作をさせたいのかを脳内にとどめずきちんと書く。 例:「自動ポップアップしたい」←どういう場合(マウスオーバー、クリック、 ボタン押し、select選択)に何(別窓、レイヤー、その他)が出るのか書け! 7)質問はまっとうな(他人に理解できる)日本語で。 前項の例に限らず、他人に理解できない質問文は煽られるだけで時間の無駄
3 名前:まず >>2-5 読め! 続いて過去スレ全集を検索! mailto:sage [2008/04/14(月) 11:41:31 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']」は同じ意味です。
4 名前:まず >>2-5 読め! 続いて過去スレ全集を検索! mailto:sage [2008/04/14(月) 11:42:20 ID:???] 【FAQその2】 Q9. Aタグのonclickで動作指定してるのですが時々動きません… A9. 「onclick="...;return false"」としないとページ移動しちゃうから。 Q10. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが… A10. 取得には document.defaultView.getComputedStyle() を使う必要あり。 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が置き換え前の文字列全体になります。
5 名前:まず >>2-5 読め! 続いて過去スレ全集を検索! mailto:sage [2008/04/14(月) 11:42:49 ID:???] 【主張の対立:他人の嗜好は尊重。損得の議論は歓迎】 ・仕様を読む:回答者なら仕様の該当部分は読んでいるべき。質問者でも 仕様を読まずうだうだ書く奴は注意されて当然。読み間違いは生温く指摘。 ・英文文書:翻訳の努力を惜しむべからず。 読めないなら和訳を探し、 なければあきらめよう。翻訳サイトを知っている人はうまく誘導してあげて。 ・IE専用/アンチIE/クロスブラウザ:「○○は不要」「○○だけであと は無視」は不毛。質問者が分かって選択していれば尊重する。無知か らIE専なのは指摘してあげると親切。 ・標準準拠 vs 使えればよい:標準はブラウザが変わっても維持される 可能性大。非標準機能も損得を分かった上で使うならよい。 ・MS vs アンチMS:MS固有の情報はMSのサイトで見ないと分からないが、 そこだけ見ているとIE専になる。あとは上2件と同様。 ・別窓、イベント抑止など:一般には迷惑スクリプトだが質問者に正当 な理由があることも。尋ねて分かってないようなら煽っても可(w ・innerHTML vs DOM:それぞれに長所/弱点があるので理解した上で選 択するべき。一概にどちらは駄目、とは言えない。 ・on属性 vs addXXX():ハンドラが1つだけと分かっていればon属性 で簡単にハンドラを設定もあり。上書きが心配ならaddXXX()。
6 名前:まず >>2-5 読め! 続いて過去スレ全集を検索! mailto:sage [2008/04/14(月) 11:43:51 ID:???] 【標準規格・リファレンス】 規格を読まずにどうなってるか分からんとか質問しないこと! まとめサイト → web2ch.s31.xrea.com/?JS (消失中) 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 名前:まず >>2-5 読め! 続いて過去スレ全集を検索! mailto:sage [2008/04/14(月) 11:44:28 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 【検索】 キーワード『…』で検索しろ」「ぐぐれ」と言われた場合はこちらへ → www.google.co.jp/ 【関連スレ】 板違い、スレ違いに注意!サーバ側での処理はWebProg板へどぞ! Webサイト制作初心者用質問スレ Part 194 → pc11.2ch.net/test/read.cgi/hp/1204015309/l50 CSS /* CSS・スタイルシート質問スレ 上級者用【70th】 */ → pc11.2ch.net/test/read.cgi/hp/1199354032/l50 CSS/DHTMLバグ辞典スレッド 【第5版】 → pc8.2ch.net/test/read.cgi/hp/1144494359/l50 役に立つ書籍は? 4冊目 → pc11.2ch.net/test/read.cgi/hp/1172823674/l50
8 名前:Name_Not_Found mailto:sage [2008/04/14(月) 11:49:51 ID:???] >>1-7 乙カレー様でした。FAQの追加が入り損なったけど 私ことスレ立て人に立てられなかったのでしょうがないよね。 とりあえず、前スレで出たFAQの追加提案を挙げておきます。 Q16. input type="file"の値を設定(参照)できないのですが… A16. セキュリティ制約のため設定は絶対に不可。参照はブラウザにより不可。 あとこれは提案だけあったのだけどよく出るのは確かだから。 Q17. getElementById('ID名')や$('ID名')で要素が取れないのですが… A17. コード実行時点でHTMLがそこまで読まれてない。onload中でやるとか。
9 名前:Name_Not_Found mailto:sage [2008/04/14(月) 11:53:33 ID:???] そして最大の課題は >>1 をどう改訂するか。道場訓をやめる? やめたとして、何をどう書く? >>1 の代替案一式、求む…
10 名前:Name_Not_Found mailto:sage [2008/04/14(月) 11:55:49 ID:???] あと、関連スレ>>7 に次のものを入れた方が親切かと思いました。 ○手取り足取りスレ ○WSHスレ ○bookmarklet (1行javascript)スレ 一方、「ぐぐれ」の解説なんか要らないよねー。参考サイトは 結局いいものがないんだよねー。
11 名前:Name_Not_Found mailto:sage [2008/04/14(月) 12:06:33 ID:???] >>1 乙 >>9 シンプルに、 Webブラウザ上で動作するJavaScriptの質問スレです。 このスレは、ある程度JavaScriptでのプログラミングが出来るような、 JavaScriptコードによる回答でも理解出来る方が対象となります。 既にあるサンプルを変更するなど、ただJavaScriptを使ってみたいというだけの方や、 JavaScript初心者の方は下記スレにお願いします。 ・JavaScript 手取り足取りスレッド pc11.2ch.net/test/read.cgi/hp/1205922529/ 前スレ ・+ JavaScript の質問用スレッド vol.63 + pc11.2ch.net/test/read.cgi/hp/1204201797/
12 名前:Name_Not_Found mailto:sage [2008/04/14(月) 12:07:54 ID:???] ついでに、 各種JavaScriptフレームワークはテクニックの宝庫ですので、 一度目を通してみる事をお勧めします。 またこれらのサイトにあるサンプルを見れば、 JavaScriptでは何が出来るかという事の一端も判ります。 Prototype.js ttp://prototypejs.org/ script.aculo.us ttp://script.aculo.us/ JQuery ttp://jquery.com/ Yahoo! UI Library (YUI) ttp://developer.yahoo.com/yui/ Mootools ttp://mootools.net/
13 名前:Name_Not_Found mailto:sage [2008/04/14(月) 12:21:44 ID:???] >>11 過去スレ全集とかそのあたりを落とすのは反対。見た目で すぐこのスレだと分かるように「道場訓」の形は残した方がよい。 ━━━本スレに書く事を許されるの者は以下の通り━━━ 一、JavaScriptはJavaとは別物であると知っている事 −、自ら学んでJavaScriptコードを書く意思を持つ事 −、ユーザに迷惑となるスクリプトを書かない事 −、質問をきちんと分かる日本語で説明できる事 −、トラブルを再現する最小限のサンプルを貼れる事 −、テンプレ+FAQ>>2-10 /過去ログ/関連資料を読める事 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 自力で書く気がない人は他のスレへ(テンプレ末尾参照)。 [必読]過去スレ全集 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
14 名前:Name_Not_Found mailto:sage [2008/04/14(月) 12:27:38 ID:???] >>12 いいね。あと、常連(自称を含む)に釘を挿したいことがあれば今 提案してくれるといいと思うよ。スレの流れの中で喧嘩するより 今議論して合意しておく方が建設的でしょ。
15 名前:Name_Not_Found mailto:sage [2008/04/14(月) 12:50:22 ID:???] 発言が気に入らないとかいってネチこくそいつのIP晒してた「常連」(?)が いたな。スレどころか2chの存在理由に逆行してるだろ。そういうことがま かり通るスレにはなって欲しくない。
16 名前:Name_Not_Found mailto:sage [2008/04/14(月) 13:10:16 ID:???] >>15 もちろんそれは当然だな。というか、常連の問題じゃなくそいつ 個人の問題でしょ。2ちゃんにキチガイはつきものだから。 で、テンプレにわざわざ書くようなもんでもないよね。普通の人は 分かっているしキチガイはテンプレに書いてあったってやめないから。
17 名前:15 mailto:sage [2008/04/14(月) 14:18:13 ID:???] >>16 当然とは思わないな。それは一体誰の裁きなんだ?何事においても常に正 しい「常連」様が判定なさったものだから悲しくもIP晒された方はやられ て当然という論理か。プログラミングでの発言の程度なんかタカが知れて るだろ。深刻な問題に発展したらアク禁すりゃいいんだよ。
18 名前:Name_Not_Found mailto:sage [2008/04/14(月) 14:25:22 ID:???] 当然ってのは最後の文にかかってるんじゃないのか
19 名前:Name_Not_Found mailto:sage [2008/04/14(月) 14:56:42 ID:???] 15は読解力がないなぁ。 「プログラミングでの発言の程度なんか」とか言っちゃってるし。 こういう奴にテンプレ議論とか向かないよな。
20 名前:Name_Not_Found mailto:sage [2008/04/14(月) 15:03:38 ID:???] まあ向く向かないとか解釈とかはさておき、ズバリこういう文章を テンプレに入れてはという具体的提案でどぞ。洩れはキチガイ対応な 記述は入れる必要なしと思っているけど、文案がよければ賛同者が増える かも知れないよ。
21 名前:Name_Not_Found mailto:sage [2008/04/14(月) 15:05:23 ID:???] この雰囲気がJS終了を象徴している。クラや上司がFlexに示す反応は良好だからな。隙間でじっとしていないでASをやれ。おまえらには素養が十分すぎるほどあるのだから。
22 名前:Name_Not_Found mailto:sage [2008/04/14(月) 15:19:49 ID:???] >>21 今後50年間(アンタが死ぬまで)言い続けてるといいよ。せいぜいがんばって。 しかしこのスレが始まったとき、64スレも続くと思った奴はいなかったろうなあ。
23 名前:Name_Not_Found mailto:sage [2008/04/14(月) 15:28:13 ID:???] >>14 質問と回答、それにその質問から派生する話題や議論が行われるスレであって、 質問に対する煽りというか厨の小言は邪魔なだけなので、 煽るくらいならスルーするか適当なスレに誘導するなどをすべきだと思うね。 >>13 のゴタクは質問者に関する物だけで、回答者(実際は回答していないようだけど)側の姿勢が欠落しているのが痛い。
24 名前:Name_Not_Found mailto:sage [2008/04/14(月) 15:33:06 ID:???] >>23 過去に何回も出た議論だが、初心者を甘やかすのは反対だし、 それにはスルーではなく何か言うというのがこのスレのスタンス だと思うね。回答者に対するゴタクがないのは、現状のテンプレの >>1 がそうだから。で、どういうことを入れる? 洩れとしては、「質問者の態度がなってない場合煽ってもいいが、 その場合でも書き込みには必ず回答、ヒント、誘導などが含まれること」 とかがいいんじゃないかと思うが。
25 名前:Name_Not_Found mailto:sage [2008/04/14(月) 15:34:48 ID:???] そもそも回答者は >>1 以外のテンプレも見てるわけだから、 >>5 などにちゃんと書けばいいんでないの。
26 名前:Name_Not_Found mailto:sage [2008/04/14(月) 19:15:17 ID:???] ブラウザのテキストエリアにjacvascriptのソース貼ってそのまま動作確認できるページあったと思うんですけど 何処にあるか忘れてしまったので教えてください
27 名前:Name_Not_Found mailto:sage [2008/04/14(月) 19:20:37 ID:???] それくらい自分で書けばいいだろ
28 名前:Name_Not_Found [2008/04/14(月) 19:28:59 ID:XcAflklm] openWYSIWYGの質問です。 www.openwebware.com/products/openwysiwyg/ リッチテキスト内をクリックした時、アラートを出したいのですが、 うまくいきません。 wysiwyg.jsの375行目付近の // Write the textarea's content into the iframe doc.open(); doc.write(content); doc.close(); 辺りをいじればうまくいくのかと思いましたがうまくいきません。 doc.onclick=alert(); とかやってもダメみたいです。 iframe自体にはonclickが効かないので、iframe内のdocumentを取得して それにonclickをセットするみたいなイメージなのですが・・・。 お時間のある方、教えてください。
29 名前:Name_Not_Found mailto:sage [2008/04/14(月) 19:29:18 ID:???] Q14. タイマーやイベントハンドラに設定するコードにthisを含めたいのですが 「"...this..."」とか「function(){...this...}」ではうまく行きません。 A14. それらが実行されるときはthisは別のもの(window等)を指してしまってる。 「function(x){return function(){...x...};}(this)」のようにthisを別の変数に 束縛しその変数を使って。循環参照によるメモリリーク問題あり(この項記述検討中) 今まさにこれで詰まってるんで 是非解説お願いします 引数にthis入れて解決はしてるんですが メモリリークの問題ありっていうのが気になるんで
30 名前:Name_Not_Found mailto:sage [2008/04/14(月) 19:41:09 ID:???] >>29 どうも最近のIEはスワップに記憶することで一応の解決を図っているんじゃないか? ろくに確かめもせずに言っているので自分で確かめて逆に知らせてくれ。 俺個人はその問題に該当するようなコードを一切書かないからもう興味がない。
31 名前:Name_Not_Found mailto:sage [2008/04/14(月) 19:45:10 ID:???] >>29 丁寧にリーク解消していくか、prototype.js のよう(ry
32 名前:Name_Not_Found [2008/04/14(月) 20:33:26 ID:cliXB7ty] ★「Web世界標準」について周知徹底するスレ pc11.2ch.net/test/read.cgi/hp/1208031270/
33 名前:960 mailto:sage [2008/04/14(月) 21:58:45 ID:???] 遅くなったけどスレ立て乙です。 まさか1日でPHP卒業しろと言われるとは思わなかったよ…
34 名前:Name_Not_Found mailto:sage [2008/04/14(月) 22:13:10 ID:???] しょぼい質問で恐縮ですが こんな感じで表示している画像の位置を取得したいのですが どういう風にすれば取得できるでせうか? <DIV style=cursor:crosshair;> <IMG src="test.jpg" id="img1" > </div> 今現状の取得の仕方 var tmp = document.getElementById("img1"); document.getElementById("text_area09").innerHTML="pos:"+tmp.style.top+","+tmp.style.left; imgタグに <IMG src="test.jpg" id="img1" style="position: absolute; top:100px; left:100px;" > と書いてあれば取得できるのですが・・ またできれば画像の幅なども取得できる方法があればご教授願います
35 名前:Name_Not_Found mailto:sage [2008/04/14(月) 22:17:20 ID:???] >>34 offseTop offsetLeft offsetWidth
36 名前:Name_Not_Found mailto:sage [2008/04/14(月) 22:29:21 ID:???] おお! ありがとうございます!
37 名前:960 mailto:sage [2008/04/14(月) 22:48:54 ID:???] 今まで他の人に頼りすぎていたようだ・・・ これからはPHPとJavaScriptを駆使して自分のサイトのコンテンツは自分で作ろうと思う。 一言掲示板はちょっと更新するだけで書き込まれるというカスだったけど、 やっと「ページにアクセスすると数字が1増えて表示される」という世にいうカウンター的なものができたっぽい。
38 名前:Name_Not_Found [2008/04/14(月) 23:02:18 ID:XcAflklm] age
39 名前:Name_Not_Found mailto:sage [2008/04/14(月) 23:21:06 ID:???] 37 - 960 < 0
40 名前:Name_Not_Found mailto:sage [2008/04/14(月) 23:43:56 ID:???] >>29 やっぱりbindは使いたいよな。 prototype.jsはunloadのタイミングでイベントを削除してるよね。 というか、自分としては、IE6とかはリロードとかページ遷移しても リロード前のdocumentツリー自体を保持しているせいで解放されないと思ってる。 >>30 という意見もあるけどメモリーリークを自分で確かめるのは時間くうからやめた方がいいよ。 リーク検知ツールがすべてのリークを検知してくれるわけじゃないし、 実際やってみるとわかるけどIEのメモリ使用量も結構ランダム(増加分含めて)なせいで 修正分がどれだけ効果があったか分からない。 IE8のホワイトペーパーで修正される事象について書いてあるので、これを土台に語ろうよ。 ttp://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=ie8whitepapers&ReleaseId=578 過去分は ttp://msdn2.microsoft.com/en-us/library/bb250448(VS.85).aspx
41 名前:960 mailto:sage [2008/04/14(月) 23:48:54 ID:???] >>39 前スレでの960を表わしてるからね。 Perlもやってみようかと思ったけど、ごちゃごちゃしてきそうでやめた。 でもifとかwhileとか結構似てるもんだね
42 名前:Name_Not_Found mailto:sage [2008/04/14(月) 23:55:43 ID:???] >>41 普通の言語はほとんど一緒だぞ>ifとかwhile Haskellとか純粋関数型言語でもifはあるな。whileはしらんけど。
43 名前:Name_Not_Found mailto:sage [2008/04/15(火) 00:40:04 ID:???] >>27 じゃあ>>27 さん書いてください
44 名前:Name_Not_Found mailto:sage [2008/04/15(火) 00:52:49 ID:???] >>40 日本語版もあるぞ ttp://www.microsoft.com/japan/msdn/ie/general/ie_leak_patterns.aspx 循環参照のところ、循環参照解消のためにnullを突っ込めと書いてあるけど、 プロパティのdeleteでOKな感じ。おれはいつもそうしてる。
45 名前:Name_Not_Found mailto:sage [2008/04/15(火) 00:59:03 ID:???] >>26 好きなの選べ ttp://developer.mozilla.org/en/docs/JavaScript_Shells
46 名前:28 [2008/04/15(火) 01:03:56 ID:IrMnQWXR] 私もかまって頂けると嬉しいです
47 名前:Name_Not_Found mailto:sage [2008/04/15(火) 01:41:31 ID:???] >>44 日本語なのに非常に読み辛いという、かなり日本語でおkな酷い文章(というか翻訳)だね。 こっちの方がよっぽど判り易いよ。 ttp://www-128.ibm.com/developerworks/web/library/wa-memleak/
48 名前:Name_Not_Found mailto:sage [2008/04/15(火) 01:42:20 ID:???] >>28 344のdesignMode=onをコメントアウト
49 名前:Name_Not_Found mailto:sage [2008/04/15(火) 02:05:12 ID:???] >>47 いいね。 まずListing 5のリークだけど、window.onloadを抜けてobjがなくなるくせに、リークするってのが分からんな。 IEでよくあるのは、リロードボタン押していくとメモリがどんどん増えるってやつだけど、 これはそうではなく、onloadが終わってもメモリが解放されてないって意味だよな。
50 名前:Name_Not_Found mailto:sage [2008/04/15(火) 02:09:51 ID:???] >>49 ああ、ごめん。3行目訂正。この例は要素のプロパティにぶっこんでるからか。 documentツリー自体はずっと存在してるもんな。
51 名前:Name_Not_Found mailto:sage [2008/04/15(火) 18:25:44 ID:???] >>46 身長いくつ?
52 名前:Name_Not_Found mailto:sage [2008/04/16(水) 00:59:36 ID:???] >>29 し〜ん。誰も説明できんがなww タイマーはbind(「function(x){return function(){...x...};}(this)」)しても問題ない。 イベントはunloadとかremoveChild、innerHTMLのタイミングの直前で消せば、メモリーリークは起きないよ。 (つまり相互参照状態にしておいて、そのあと、イベントを切ることで相互参照を解除させる) とりあえず、一般にメモリリークというと2つ問題があって、 ページ間リーク: リロードするたびにメモリが増える。(ブラウザを終了しない限り解放されない) ページ内リーク: 操作しているとどんどんメモリが増える。 >>40 のIE8のホワイトペーパーとか>>47 で出ているようなものは、後者の問題解決が書かれてある。 >>47 の後半の方とかは前者のことが書かれてある。 あと>>47 のListing 5とか6はDripなどの検査ツールで結果が変わらないためサンプルが悪い。 本当は、innerFunction内でobjへの参照を持っていることが言いたいだけ。 (たとえinnerFunction内でobjを使っていなくても参照持っちゃって)
53 名前:Name_Not_Found mailto:sage [2008/04/16(水) 01:00:48 ID:???] すまん。 × >>47 の後半の方とかは前者のことが書かれてある。 ○ >>40 の後半の方とかは前者のことが書かれてある。
54 名前:Name_Not_Found mailto:sage [2008/04/16(水) 02:13:36 ID:???] 誰も説明できんがなww 誰も説明できんがなww
55 名前:Name_Not_Found mailto:sage [2008/04/16(水) 12:31:59 ID:???] メモリリークが気になるなんて、一体どんなものを作ろうってんだ!?
56 名前:Name_Not_Found mailto:sage [2008/04/16(水) 22:04:17 ID:???] >>52 再度やりなおせこの初心者が。過去ログとかを無にするような出鱈目で上書きすんじゃねえよ馬鹿が。
57 名前:Name_Not_Found mailto:sage [2008/04/16(水) 22:05:36 ID:???] 再度やりなおせこの初心者が。過去ログとかを無にするような出鱈目で上書きすんじゃねえよ馬鹿が。
58 名前:Name_Not_Found mailto:sage [2008/04/16(水) 22:06:10 ID:???] google作ってって言われるけどな。 googleを利用したサイトを作ってレベルなら問題ないんだけどな。
59 名前:Name_Not_Found mailto:sage [2008/04/16(水) 22:06:26 ID:???] 再度やりなおせこの初心者が。過去ログとかを無にするような出鱈目で上書きすんじゃねえよ馬鹿が。
60 名前:Name_Not_Found mailto:sage [2008/04/16(水) 22:07:21 ID:???] じゃぁ、問題点を指摘すれば>>57 >>52 が問題ありありなのは分かるでしょ。
61 名前:Name_Not_Found mailto:sage [2008/04/16(水) 22:15:27 ID:???] >>56-57 >>59-60 とりあえず根拠の提示から始めようか
62 名前:Name_Not_Found mailto:sage [2008/04/16(水) 23:07:47 ID:???] JavaScriptのこれだっていうまとめサイト欲しいよね まだまだ発展途上だなあと感じる
63 名前:Name_Not_Found mailto:sage [2008/04/17(木) 00:26:55 ID:???] 初心者こと>>52 です。以下のをDripで見てみて。 setTimeoutの行のうちどれかを有効にする。prototype.jsの関数は別途あるとして。 >>52 のうちの前半3行がまずいことの根拠が示せると思う。 これでFAQ14を書き直せるんじゃない。 (Dripのrefsの初期値はこちらは6だったけど、ブラウザのバージョンとかで違うかも) <html><head><script> window.onload = function(){ CLASS.M1(); }; function test1(){ alert("5秒経過"); }; CLASS = { M1: function(){ var node = $("a"); // setTimeout(test1, 5000); //id=aのノードのrefsがずーと6のまま // setTimeout(function(){ test1(); }, 5000);//ref2が5秒間だけ7になってその後6に戻る // setTimeout(test1.bind(this), 5000);//id=aのノードのrefsがずーと6のまま } }; </script></head><body> <div id="a">JS</div> </body></html>
64 名前:Name_Not_Found mailto:sage [2008/04/17(木) 08:22:11 ID:???] >>63 そりゃいいんだけど、どう書き直すのがいいってことかな?
65 名前:Name_Not_Found mailto:sage [2008/04/17(木) 08:43:17 ID:???] ここにIEのリークのやつは、原因は書いてある(例によって日本語でおkだけど) ttp://support.microsoft.com/kb/830555/ja ここには、 「ブラウザで新しい Web ページまたはいつブラウザ ウィンドウが閉じられるを開くと、このメモリ リークが終了します。」 「This memory leak will end when the browser opens a new Web page or when the browser window is closed. 」(英語) とありますが、そのうち「the browser opens a new Web page」の部分が気になっています。 新しいWebページを開く(画面遷移のことだと思っています)動作をしたとしても、 メモリーリークは終了しないと考えていますが正しいでしょうか? それとも、IE6とIE7で新しいWebページを開いたときにメモリーリークする・しないが変ったのでしょうか?
66 名前:Name_Not_Found mailto:sage [2008/04/17(木) 08:53:48 ID:???] >>65 前に出てた議論では、(1)循環参照によるリークは画面遷移しても 終了しない(ブラウザを終わらせるしかな)、(2)新しいブラウザでは 循環参照があってもガベージコレクションできるようになる、 だったかな。具体的にどのブラウザなら直ってるのかとかは 出てなかった気がする。
67 名前:Name_Not_Found mailto:sage [2008/04/17(木) 10:45:59 ID:???] MSのサポートページいつの間にこんなデザインに・・・
68 名前:Name_Not_Found mailto:sage [2008/04/17(木) 11:05:47 ID:???] >>65 APPLIES TO • Microsoft Internet Explorer (Programming) 6.0 • Microsoft Internet Explorer 5.5 • Microsoft Internet Explorer 5.01 とあるがXPIE6でそのページのサンプル実行しても再現しないな。 98のIE6で試してみたら確かにリークした。 もしかしてもう治療済みなの?教えてエロイ人!
69 名前:Name_Not_Found mailto:sage [2008/04/17(木) 11:13:28 ID:???] var body = document.getElementsByName("body")[0]; var bodybefore = body.value.substring(0,body.start); var bodyafter = body.value.substring(body.start,body.value.length); body.value = bodybefore + emoji + bodyafter; body.focus(); .start ってこれであってますか?うまく動かないんですけど><
70 名前:Name_Not_Found mailto:sage [2008/04/17(木) 11:20:47 ID:???] >>69 body!=name
71 名前:Name_Not_Found mailto:sage [2008/04/17(木) 11:22:53 ID:???] >>69 「うまく動かない」ではなく、まずこのコードが「どのように動作する つもりであるか」「それに対してどのような(期待と異る)動作をするか」 を書く。あとJavaScriptエラーが出ていたらそれを報告する。
72 名前:Name_Not_Found mailto:sage [2008/04/17(木) 12:01:01 ID:???] 手足スレへ。
73 名前:Name_Not_Found mailto:sage [2008/04/17(木) 13:08:13 ID:???] Ajaxian » IE Memory Leaks Be-gone ajaxian.com/archives/ie-memory-leaks-be-gone とっくの昔にパッチ当たってたのか・・・
74 名前:73 mailto:sage [2008/04/17(木) 15:47:59 ID:???] いや、やっぱり修正は不完全だったのかwスマン Ajaxian » IE’s Memory Leak Fix Greatly Exaggerated ajaxian.com/archives/ies-memory-leak-fix-greatly-exaggerated
75 名前:Name_Not_Found mailto:sage [2008/04/17(木) 17:01:17 ID:???] >>70 name="body" にしてたのですが変数名よくないですね^^; >>71 すみませんありがとうございます>< .selectionStartというのが見つかりました。
76 名前:Name_Not_Found mailto:sage [2008/04/18(金) 00:04:27 ID:???] >>74 その文章のうち、一番重要な文はこれかな。 all elements not still attached on unload are still leaked, along with the transitive closure over all references Javascript objects unload時にイベント削除しないと未だにリークしてたって書いてあるの? 「transitive closure」ってのが何か分からないけど、普通のクロージャーのことだったら、 不完全どころか、何も変わっていないんじゃないの? それともリロードしたときに増えているメモリの量が以前より少なくなったってことでしょうかね。
77 名前:Name_Not_Found mailto:sage [2008/04/18(金) 00:07:14 ID:???] input type=fileについて質問です。 ファイルをアップロードする前にファイルサイズを知る方法はありますでしょうか? よろしくお願いします。
78 名前:Name_Not_Found mailto:sage [2008/04/18(金) 00:09:34 ID:???] >>76 transitive closure = 「推移閉包」つまりあるものから直接/間接に 辿れる範囲のものすべて、という意味。関数クロージャとは別物。 一番重要な文の意味は「unload時にdocumentのどこにもくっついて いないDOMオブジェクトとそこからたどれるもの全てはリークする」 だから対策としては、全部documentにくっつけて切り離さない ようにするか、切り離すとしてもunload時にはどっかにくつつけ直す。 けれどしかし、この対策の入ったIE6と入ってないIE6が混在する ことになるわけで、結局循環参照を避ける必要はあるんだろうな…
79 名前:Name_Not_Found mailto:sage [2008/04/18(金) 00:11:27 ID:???] >>77 ない。だいたいがファイルの名前だけしか分からないとか 名前すら分からないブラウザが大多数だし。
80 名前:Name_Not_Found mailto:sage [2008/04/18(金) 01:14:46 ID:???] >>78 なるほど。すごす。 prototype.jsがやってるようなやり方以外にも、 パッチがあたってることを前提にした場合、その方法が取れるわけですね。
81 名前:Name_Not_Found mailto:sage [2008/04/18(金) 05:02:42 ID:???] spew! grimpoteuthis.org/example/spew.html これが依然メモリリークするサンプルコード。 4つどのケースでも エレメントをbodyに貼り付けるように変えるとリークしなくなるね。
82 名前:Name_Not_Found mailto:sage [2008/04/18(金) 09:04:45 ID:???] Dripでrefsを見ていると、 画面をクリックするだけでHTMLやBODYの値が増えていきます。 これは、Dripが何かしているせいなのか、 何もしなくてもブラウザが増やしているのかをご存じでしょうか? __drip_hookedというプロパティが追加されているぐらいだから、何かしてると思われますが、 refsが増える原因がそのせいかどうかが分かりません。
83 名前:77 [2008/04/18(金) 09:09:10 ID:ukCxpmDy] >>79 ありがとうございました。
84 名前:Name_Not_Found mailto:sage [2008/04/18(金) 22:49:46 ID:???] HTMLタグってイベント張ってもよいんですかね? MSDNのonclickなどのイベントのページを見てみると、 そのタグだけないので。 ちゃんとイベントは発動しているけども。
85 名前:Name_Not_Found mailto:sage [2008/04/18(金) 23:00:42 ID:???] 日本語でおk
86 名前:Name_Not_Found mailto:sage [2008/04/18(金) 23:37:32 ID:???] function test1(){..} function test2(){..} のように定義した関数の一覧を取得したいと考えています。 (この場合、test1とtest2が欲しい) firefoxではfor/inでwindowオブジェクトを列挙すれば取得できましたが、 IEでは列挙されませんでした。IEで取得する方法を教えてください。
87 名前:Name_Not_Found mailto:sage [2008/04/19(土) 00:00:03 ID:???] HTMLノードに対してattachEventを行っても問題ないでしょうか? 例えばMSDNのonclickの解説ページを見てみると、 そのイベントを設定することが出来るタグの一覧がありますが、 そこにHTMLノードは載っていませんでした。 しかし、実際に以下のようにonclickを設定してみると、発動はしました。 document.documentElement.onclick = function(){ alert("僕、アルバイト"); };
88 名前:Name_Not_Found mailto:sage [2008/04/19(土) 03:08:46 ID:???] 数値をブラウザ上に表示されないタグに埋め込んでDOM操作で参照したいんですが そういうふうに使えるタグはありませんか
89 名前:Name_Not_Found mailto:sage [2008/04/19(土) 03:34:20 ID:???] >>88 ブラウザ上に表示されないタグ? 逆に表示されるタグって何?
90 名前:Name_Not_Found mailto:sage [2008/04/19(土) 04:14:08 ID:???] >>88 input type=hidden もしくはCSSで不可視化
91 名前:Name_Not_Found [2008/04/19(土) 06:13:23 ID:enNAGfgH] print("はろーわーるど"); ↑をCSSで飾ってhtmlで実行すると普通に表示されるんですがjsで保存して実行するとエラーになってしまいます。 jsだとだめなんですか?
92 名前:Name_Not_Found mailto:sage [2008/04/19(土) 07:46:51 ID:???] JScript なんじゃないかとエスパー
93 名前:Name_Not_Found mailto:sage [2008/04/19(土) 08:56:35 ID:???] >>91 JavaScriptでそれを表示するんだったら alert('print("はろーわーるど");'); とかを実行するんじゃないの。画面に出力する機能の 呼び出し方とか種類とかは言語によって全部違うから。 自分のヤマカンで書いても動かないよ。入門書でも買って ひととおり勉強するべきだと思うがね。 >>87 なんでbodyではだめでhtmlがいいの?
94 名前:Name_Not_Found mailto:sage [2008/04/19(土) 09:56:21 ID:???] トップレヴェルのスーパータグだからでしょう。 確かそこは言語特性以外の記述は不可なのでは?
95 名前:Name_Not_Found mailto:sage [2008/04/19(土) 10:12:15 ID:???] <canvas>タグに線やらを引いて その後に(あるいは前に)文字を document.write()とかdocument.body.innerHTML+="" で、追加するとcanvas内の線等が消えます。 IEではexcanvas.jsを使ってるんですが、何の問題もないのですが、 Firefoxだと、消えてしまいます。
96 名前:Name_Not_Found mailto:sage [2008/04/19(土) 10:16:14 ID:???] 事故解決しました。 スレ汚しすいまsねn
97 名前:Name_Not_Found mailto:sage [2008/04/19(土) 10:18:39 ID:???] >>81 おお、まじだな。IE8 beta1でも4つともリークしていて、 document.bodyにくっつけるとリークしなくなった。
98 名前:Name_Not_Found mailto:sage [2008/04/19(土) 10:28:09 ID:???] >>93 >>94 画面端の方をクリックするとbodyでは拾えないからです。 HTMLに張るのが問題なければ、そこで取りたいと思ったためです。 onclickの場合はバブルするので問題ありませんが、 バブル不可能なイベントをそれで取りたいなと。(キャプチャフェーズは使用しない前提)
99 名前:Name_Not_Found mailto:sage [2008/04/19(土) 11:02:18 ID:???] >>97 つか、この問題8でも解決してないのかよw ひどすぐるw
100 名前:Name_Not_Found mailto:sage [2008/04/19(土) 11:09:27 ID:???] 至る所で「8は神」みたいな風潮にあるが、所詮はIE。
101 名前:Name_Not_Found mailto:sage [2008/04/19(土) 11:33:40 ID:???] >>98 お答えします。DOM level 2 Eventによれば、addEventListener等は 「すべてのNodeにおいて」使用可能。htmlもノードなので使用可能。よかったね。 ttp://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-EventTarget
102 名前:Name_Not_Found mailto:sage [2008/04/19(土) 11:35:35 ID:???] >>88 参考にならない揚げ足取りはどうでもいい >>90 どうもありがとうございます
103 名前:Name_Not_Found mailto:sage [2008/04/19(土) 11:43:36 ID:???] はやくIEでaddEventListener使いてえ〜
104 名前:Name_Not_Found [2008/04/19(土) 17:29:05 ID:NMIAkG+P] こんにちは。fromタグにnameが使えなくなるって聞いたんですがホントですか? これまでたくさん作ったのはどうなってしまうのでしょうか。
105 名前:Name_Not_Found mailto:sage [2008/04/19(土) 17:48:13 ID:???] クラス継承図はどこを見ればorどういう処理をしたら分かりますか? たとえば、 HTMLDivElement→HTMLElement→Node→Object といったものです。
106 名前:Name_Not_Found mailto:sage [2008/04/19(土) 17:53:38 ID:???] AddEventListenerの第一引数に指定可能なものの一覧はどこを見れば分かりますか? ttp://developer.mozilla.org/ja/docs/DOM:element#Event_Handlers ttp://developer.mozilla.org/ja/docs/Gecko-Specific_DOM_Events ttp://developer.mozilla.org/ja/docs/DOM_Events 上記の3種類と考えてよろしいでしょうか? また、IEのAttachEventに設定可能な一覧がありましたら、教えてください。 MSDNを探しましたが、よく分かりませんでした。
107 名前:Name_Not_Found mailto:sage [2008/04/19(土) 17:56:53 ID:???] >>101 ありがとうございます。DOM2では、使用可能ということですね。 ちなみに、なぜIEが設定可能タグ一覧にHTMLをのせてないかの理由は分かりますか?
108 名前:Name_Not_Found mailto:sage [2008/04/19(土) 18:26:59 ID:???] >>107 あのね、W3Cだってhtmlタグにonclickは書けない。 「HTMLとして書ける」というのと「DOMで何かできる」 というのは全く別の話。もっとも、「HTMLで書ける」ものは 「DOMでも操作でき」ないと不便だから、「含まれる」という 関係はあるのか。 >>104 それは「新しいHTMLで書いたら」という話で、「これは HTML 4.01(とかHTML 3.2)だよ」と宣言すれば大丈夫と思われ。 >>105 それはDOM2 HTML/CoreのIDLとかを見るのが便利なんじゃないかな。 interface HTMLDivElement: HTMLElement { ... とかの行ね。 >>106 標準の話なのか特定実装の話なのかどっちさ。IEの方はここ ttp://msdn2.microsoft.com/en-us/library/ms536343(VS.85).aspx ttp://msdn2.microsoft.com/en-us/library/ms533051(VS.85).aspx げげ、こんなにあるんだ…欝だ氏のう(カビがはえてるな…)
109 名前:107 mailto:sage [2008/04/19(土) 22:20:51 ID:???] >>108 そういう違いがあるのですね。 そのような状況において、マニュアルに載せる載せないの選択肢があると思いますが、 MSは載せないという選択肢を選んだということでしょうかね。 古いIEでは、「DOMで操作不可能」なのでは?というのが気になっています。
110 名前:Name_Not_Found mailto:sage [2008/04/19(土) 22:28:08 ID:???] >>109 おそらく、IE4とそれ以前は怪しいだろうけど、IE5 は大丈夫なんじゃないかな? IE4ユーザを想定するサイト なんて今どき無いでしょ?
111 名前:105 mailto:sage [2008/04/19(土) 23:18:07 ID:???] >>108 IDLですか。。。 JavaScript側で継承元のinterfaceを辿りたいのですが、その方法はないということですね。
112 名前:Name_Not_Found [2008/04/20(日) 19:32:15 ID:N3uxyx7k] JavaScript→Ajax いえーい(^O^)/
113 名前:Name_Not_Found mailto:sage [2008/04/20(日) 20:54:30 ID:???] >>112 KYな俺はどう反応すればいいか分からないからやめてくれorz
114 名前:Name_Not_Found mailto:sage [2008/04/20(日) 21:15:19 ID:???] 最近、JavaScriptというより日本語が不自由な質問多いな
115 名前:Name_Not_Found mailto:sage [2008/04/21(月) 00:30:13 ID:???] 結局、 addEventListener("DOMFocusIn", function(){}, false); はいつ使えるの? 前スレではfirefox3で使えないというのが出てるし、 ttp://developer.mozilla.org/ja/docs/DOM_Events にはfirefox3のアイコンはないし。 でもネットで検索したら、3から使えるというのが引っ掛かるし。 ちなみに、手元のfirefox2だと動かなかった。指定が悪いんかいな。いえーい(^O^)/
116 名前:Name_Not_Found mailto:sage [2008/04/21(月) 01:28:37 ID:???] firefox3 では使えないし、いつ使えるかもわからん。 annevankesteren.nl/test/dom/events/005.html とかで試せばすぐわかる。 以前 xforms 拡張入れて xforms 内であれば使えたんで ネット検索で出てくるのはそれと間違えてる
117 名前:Name_Not_Found mailto:sage [2008/04/21(月) 13:13:24 ID:???] 下のボタンでテキストエリアに出力するにはどうしたらいいんですか? <script language="javascript"> <!-- function hiduke(d){ document.form.texta.value=hiduke(d); } //--> </script> <form name="form"> <input type="button" name="date1" value=" 日付を下に書き込み " onclick="hiduke('new Date()')"><br> <textarea cols="50" rows="10" name="texta"></textarea> </form>
118 名前:Name_Not_Found mailto:sage [2008/04/21(月) 13:28:23 ID:???] >>117 その関数hidukeの中身(1行しかないけど)をどういう意図で書いているか 説明してみ。
119 名前:Name_Not_Found mailto:sage [2008/04/21(月) 13:52:52 ID:???] <form action=""> <p><input type="button" value=" 日付を下に書き込み " onclick="this.form.elements['texta'}.value=new Date()"></p> <p><textarea cols="50" rows="10" name="texta"></textarea></p> </form>
120 名前:117 mailto:sage [2008/04/21(月) 15:37:23 ID:???] このスレはこの程度か
121 名前:Name_Not_Found mailto:sage [2008/04/21(月) 16:16:24 ID:???] >>120 このスレのレベルなら過去スレ全集を見れば分かるから。 ぼうや、再帰呼び出しって知ってるかい。皆あきれて スルーしてるだけでしょ。>>118 なんて親切なもんだぜ。
122 名前:質問させて下さい [2008/04/21(月) 18:44:12 ID:XeqBLXIH] やりたいことなんですがランダムで画像を表示して画像をクリックすると指定したURLにとばしてあげる。 画像リンクの上にサイトのタイトルをテキスト+center表示させてあげたいです。 画像をクリックして指定したURLにとばすことは出来ましたが、どうすればサイトタイトルと画像(リンク先)を合わせることが できるのでしょうか? <script language="JavaScript" type="text/JavaScript"> <!-- var icnt = 2; var myDate = new Date(); var d = myDate.getSeconds(); var idx = d % icnt; var bnr=new Array(); var lnk =new Array(); bnr[0]="1.jpg"; lnk[0]="URL"; bnr[1]="2.jpg"; lnk[1]="URL"; document.write('<a href="' + lnk[idx] + '" target="_brank">'); document.write('<img src="' + bnr[idx] + '" border="0" alt="">'); document.write('</a>'); --> </script> アドバイスをお願いします。
123 名前:質問させて下さい [2008/04/21(月) 18:51:26 ID:XeqBLXIH] 次のようにしたんですが最後の記述がわかりませんでした;; abc=テキスト表示です。 <script language="JavaScript" type="text/JavaScript"> <!-- var icnt = 2; var myDate = new Date(); var d = myDate.getSeconds(); var idx = d % icnt; var abc=new Array(); var bnr=new Array(); var lnk =new Array(); abc[0]="あいうえお"; bnr[0]="1.jpg"; lnk[0]="URL"; abc[1]="かきくこけ"; bnr[1]="2.jpg"; lnk[1]="URL"; document.write(ここをどのように記述すればいいのでしょうか?); document.write('<a href="' + lnk[idx] + '" target="_brank">'); document.write('<img src="' + bnr[idx] + '" border="0" alt="">'); document.write('</a>'); --> </script> 何度も申し訳ありません。
124 名前:Name_Not_Found mailto:sage [2008/04/21(月) 19:04:26 ID:???] 117のフリしたらなんかおっさんが吠えてきたw
125 名前:質問させて下さい [2008/04/21(月) 19:11:10 ID:XeqBLXIH] できました。 q.hatena.ne.jp/1086310388
126 名前:Name_Not_Found mailto:sage [2008/04/21(月) 19:54:24 ID:???] >>118 練習用にと思ってやってたんで引数は簡単に付けました↓ >>119 ありがとうございます、丁寧に教えてくれて。前に書いた117としばらく 睨めっこしてたらformの後に全角スペースが入ってるのに気がつきました; こんなアホな間違いを(´Д`;) ちなみに>>120 は自分の書き込みじゃないです。 ご迷惑おかけしました。
127 名前:Name_Not_Found mailto:sage [2008/04/22(火) 00:47:24 ID:???] >>116 まじっすか。 じゃぁ、>>106 にあるのは、 「使えるかもしれない」リストなんですね。 「使える」リストがどこかにまとまってりしないかなぁ。
128 名前:Name_Not_Found mailto:sage [2008/04/22(火) 01:04:41 ID:???] var a = new A(); と等価なコードが知りたくて、 var tmp = function(){}; tmp.prototype = A.prototype; A.call(tmp); var a = tmp; としてみたけど、全然ダメだわ。 もしかして、等価なコードって書けない?
129 名前:Name_Not_Found mailto:sage [2008/04/22(火) 02:25:49 ID:???] ECMA262-3rdの15.4.5.1を参考に[[Put]]を実装しろ
130 名前:Name_Not_Found mailto:sage [2008/04/22(火) 03:11:47 ID:???] >>128 new A == new A; // false
131 名前:Name_Not_Found mailto:sage [2008/04/22(火) 07:25:55 ID:???] どうなったら全然ダメじゃないんだよ
132 名前:Name_Not_Found mailto:sage [2008/04/22(火) 08:21:15 ID:???] 言語のプリミティブと同等の動作が他の手段で実現できる 場合なんてむしろ少ないだろ。何がやりたいんだろう。
133 名前:Name_Not_Found mailto:sage [2008/04/22(火) 08:21:35 ID:???] >>129 できればソースでお願いします。 >>130 new禁止 >>131 prototype.js内にあるnewという単語がなくなって、それでも今までどおり動けばおk
134 名前:Name_Not_Found mailto:sage [2008/04/22(火) 08:46:23 ID:???] newがなくなるとどういう利点があるの
135 名前:Name_Not_Found mailto:sage [2008/04/22(火) 08:47:21 ID:???] >>133 自分で考える気がないのならとっととよそへ行け。 しかしnewの替わりということだと、オブジェクトは オブジェクトイニシャライザ {...} で作るとして、 prototypeをどうやって設定するかが問題だよねー。 洩れはnew以外の方法は無いと思っているのだけど、 何かアイデアある?
136 名前:Name_Not_Found mailto:sage [2008/04/22(火) 09:53:09 ID:???] __proto__ & watch()
137 名前:Name_Not_Found mailto:sage [2008/04/22(火) 10:56:14 ID:???] 動くか知らんが function New(/* constructor [, arg1[, arg2[, ...]]] */) { var con = Array.prototype.shift.call(arguments); var tmp = con.prototype; con.apply(tmp, arguments); return tmp; } var a = New(A);
138 名前:Name_Not_Found mailto:sage [2008/04/22(火) 10:58:54 ID:???] あ、やっぱりだめだ。prototype がぶっ壊れる かといってコピーすると継承できないしねぇ
139 名前:Name_Not_Found [2008/04/22(火) 19:27:08 ID:CHLI8z4C] かなり初歩的な質問ですけど、 onChangeで関数を動かした結果を、特定の場所に出力する。 ということをしたいのですけど、 出力するところの処理が分かりません。 どのようにソースを書けばよろしいのでしょうか?
140 名前:Name_Not_Found mailto:sage [2008/04/22(火) 20:40:29 ID:???] >>139 出したい場所のHTML要素にid振って document.getElementById('ID名').innerHTML = '文字列';
141 名前:Name_Not_Found mailto:sage [2008/04/22(火) 21:40:51 ID:???] >>140 そのようになるのですね。 ありがとうございました。
142 名前:Name_Not_Found mailto:sage [2008/04/22(火) 23:40:29 ID:???] s
143 名前:Name_Not_Found mailto:sage [2008/04/23(水) 01:08:18 ID:???] IEのメモリーリークで2つ質問。IE6以下はパッチあて済み前提。 1.documentツリーから切り離されているDOMオブジェクト同志が 相互参照している状態でリロードしてもメモリ増え続けない? 2.JSのオブジェクト同士が相互参照している状態でリロードしても メモリ増え続けない?
144 名前:Name_Not_Found mailto:sage [2008/04/23(水) 01:27:10 ID:???] <link>タグのhrefのURLを動的に決定したいと思っています。 それを実現する処理を、JavaScriptで書けば簡単なのですが、 外部ファイルが非同期な読み込みになってしまいます。 (HTMLならファイルの読み込み完了まで待って、 次の行を読み込み始める動きをしてくれる(defer付与なしの場合)) JavaScriptでlinkノードを動的に追加するさいに、 同期で動かすためのオプションなどご存じではないでしょうか?
145 名前:Name_Not_Found mailto:sage [2008/04/23(水) 01:30:52 ID:???] >>144 そんなものはない。linkの内容は何さ。スタイルシート? もしそうなら、そのファイルの末尾にあるCSS記述がDOMから 取れるようになるまで20msec間隔でチェックするとか。
146 名前:Name_Not_Found mailto:sage [2008/04/23(水) 01:38:39 ID:???] >>136 の Array.prototype.shift.call(arguments); やttp://developer.mozilla.org/ja/docs/New_in_JavaScript_1.6 にあるように、Array.prototypeのメソッドを他のオブジェクトに 適用しているコードって見かけますが、 これはどのブラウザでも動作するの?ECMA的にはどうなの?
147 名前:Name_Not_Found mailto:sage [2008/04/23(水) 01:41:58 ID:???] >>146 ECMAにはまさに「このメソッドは意図的に汎用にしてあるから 別のオブジェクトに対して呼んでもいいよ」みたいなことが メソッド毎に書いてあったりする。というかこんなとこで 聞くより自分でECMAチェックした方が早いでしょ。和訳版もある。 (テンプレ参照)
148 名前:Name_Not_Found mailto:sage [2008/04/23(水) 01:58:11 ID:???] >>145 CSSだね。 う〜ん。IEならonloadだかonreadystatechangeだかで読み込み完了の イベントの検知は出来るからそれはやってる。 でも、その処理を入れること自体がいやで、ためしにnodeferとか 利かないかなと思ったんだけどダメでした。 FireFoxとかはCSS読み込み完了のイベント検知出来ないんだっけ?
149 名前:Name_Not_Found [2008/04/23(水) 09:41:58 ID:wdo/MqPt] javascript.maxux.com/js101.htm 上記ページのように、javascriptでデータベース検索を行い、 同ウィンドウ内に検索結果を表示させたいのですが、 他にサンプルがあったらぜひ教えて下さい。宜しくお願いします。
150 名前:Name_Not_Found mailto:sage [2008/04/23(水) 10:12:58 ID:???] ぐぐれ化す
151 名前:Name_Not_Found mailto:sage [2008/04/23(水) 11:50:31 ID:???] 「○○なサイト知りませんか」とか「○○なサンプルありませんか」とか激しくスレ違い 脳みそがあるんだから考えてからレスしろよ
152 名前:Name_Not_Found mailto:sage [2008/04/23(水) 11:53:40 ID:???] >>151 可愛い彼女を手軽に見つけられるサイトありませんか?
153 名前:Name_Not_Found mailto:sage [2008/04/23(水) 11:57:04 ID:???] >>152 Yahoo!メールアドレスを取得
154 名前:Name_Not_Found mailto:sage [2008/04/23(水) 12:08:30 ID:???] >>151 レスしろよ はぁ?
155 名前:Name_Not_Found mailto:sage [2008/04/23(水) 12:20:11 ID:???] >>153 教えてくれんの?
156 名前:Name_Not_Found mailto:sage [2008/04/23(水) 12:32:14 ID:???] 世の中には、教えてくれないことがいっぱいあるのです。 なんでも教えてくれるというふうに思い込んでいる頭を、 まず改めないといけません。 社会では、誰も何も教えてくれません。 教えてくれるようなことは、たいてい役に立たないものです。 本当に役立つことは、教えてくれないことの中にあるのです。 ―中谷 彰宏「自分で考える人が成功する 」―
157 名前:Name_Not_Found mailto:sage [2008/04/23(水) 13:04:24 ID:???] >>155 毎日ごみ箱に届けます
158 名前:Name_Not_Found mailto:sage [2008/04/23(水) 17:01:21 ID:???] 楽天はやめとけ。自分のメールを探すのが大変だ。楽天の宣伝メールだらけ。
159 名前:Name_Not_Found [2008/04/23(水) 19:38:28 ID:fLE4gTmP] No = selOBJ; if( No.match(/[^0-9]/g) ){ alert("数字以外が含まれてます"); } 取得したデータが数字かどうかを調べたいのですけど、 このようなソースを書いたらエラーになりました。 どこが間違ってるのでしょうか?
160 名前:Name_Not_Found mailto:sage [2008/04/23(水) 19:48:01 ID:???] No = selOBJ; if( No.match(/[^0-9]/g) ){ あたり
161 名前:Name_Not_Found [2008/04/23(水) 19:53:16 ID:fLE4gTmP] >>160 間違っては無いはずですよね? だけど、実際にはエラーで止まるし、 Firebugでも 「No.match is not a function」 と出てきてしまうのですけど、
162 名前:Name_Not_Found mailto:sage [2008/04/23(水) 20:08:10 ID:???] matchは文字列用のメソッドだから、 Noが文字列じゃない場合はエラーになるお
163 名前:Name_Not_Found mailto:sage [2008/04/23(水) 20:22:04 ID:??? BE:19786043-2BP(2)] Dojoを使っているんですけど、Dijit.Textareaで問題が。 MML@L4b>b&b8cc.L4d<dみたいなテキストを入れると自動的にメールアドレスに変換されてしまい困っています。 扱っているデーターが特殊で、みたいに不等号や&などがあるため、 この結果、&&&&みたいな命令が消えてしまい、データーが化けてしまいます。 この自動変換機能を無効化する方法が知りたいのですけど、わかりませんか? ソースコード見てもどこで変換しているのかよくわからないし。 trac.dojotoolkit.org/browser/dijit/trunk/form/Textarea.js って、JavaScriptのフレームワークの質問もここでいいのだろうか?
164 名前:Name_Not_Found [2008/04/23(水) 20:26:37 ID:fLE4gTmP] >>162 なるほど。PHPやってたせいでごっちゃになってたみたいです。 ありがとうございました
165 名前:Name_Not_Found mailto:sage [2008/04/23(水) 21:20:45 ID:???] <script language="JavaScript"> <!-- var hairetu=new Array('日曜日','月曜日','火曜日','水曜日','木曜日','金曜日','土曜日'); var myD =new Date(); var myDay=myD.getDay(); var hyouji='今日は'+hairetu[myDay]+'です。'; document.form.text.value=hyouji; } //--> </script> <form name="form"> <input type="text" name="text" size="60"> </form> これでonloadは使わないで曜日を表示するやり方ってありますか?
166 名前:Name_Not_Found mailto:sage [2008/04/23(水) 21:42:39 ID:???] >>165 script要素を当該input要素より後に置く。
167 名前:Name_Not_Found mailto:sage [2008/04/23(水) 21:56:36 ID:???] >>165 いつも思うんだが、//-->
168 名前:Name_Not_Found mailto:sage [2008/04/23(水) 22:50:26 ID:???] もういらないよな
169 名前:Name_Not_Found mailto:sage [2008/04/23(水) 23:08:24 ID:???] なんで?
170 名前:Name_Not_Found mailto:sage [2008/04/23(水) 23:11:47 ID:???] 時の流れかな
171 名前:Name_Not_Found mailto:sage [2008/04/23(水) 23:19:17 ID:???] >>170 時代錯誤甚だしいな。ケータイ厨がカモネギ状態で美味しい時代なのに、コメントアウトしなかったら、最悪だ。
172 名前:Name_Not_Found mailto:sage [2008/04/23(水) 23:34:03 ID:???] ケータイはどうでもいいがそんなものを書いておくと豚でもない ことになる時代がすぐそこに来ているよね。
173 名前:Name_Not_Found mailto:sage [2008/04/24(木) 00:08:20 ID:???] >>163 Dijit.Textareaはブラウザ組み込みのcontenteEditable使っていて、IEで見ると、勝手にリンクになる。 見た目だけなら対象の要素にのCSSに以下を設定すればごまかせるかもよ。 text-decoration: none; color: black;
174 名前:Name_Not_Found mailto:sage [2008/04/24(木) 00:24:30 ID:???] split(/\r?\n/)とすると、改行ごとに配列にしてくれますが、 連続した改行がまとまってしまいます。 splitにはあくまで正規表現を渡しつつ、 連続の改行がまとまらないようにする方法ってありますか?
175 名前:Name_Not_Found mailto:sage [2008/04/24(木) 00:43:11 ID:???] >>64 A14. それらが実行されるときはthisは別のもの(window等)を指してしまってる。 「function bind(x){return function(){...x...};}」という別関数を用意して、 「bind(this)」のようにthisを別の変数に束縛しその変数を使って。 メモリリークは書くとしても別項目でよいかなぁと。
176 名前:Name_Not_Found mailto:sage [2008/04/24(木) 00:53:21 ID:???] >>171 すまんが、ケータイってソース見えるの?
177 名前:Name_Not_Found mailto:sage [2008/04/24(木) 01:34:34 ID:???] >>171 ケータイ相手に無駄スクリプトまで送ってパケ浪費させるとか それこそ時代錯誤だろ。外部に置けよ。
178 名前:Name_Not_Found mailto:sage [2008/04/24(木) 01:42:21 ID:???] ケータイ中継サーバーが削除してくれるんじゃないの?
179 名前:Name_Not_Found mailto:sage [2008/04/24(木) 01:45:41 ID:???] >>167 あとこれもな。language="JavaScript"
180 名前:Name_Not_Found mailto:sage [2008/04/24(木) 03:01:28 ID:???] divに設定されているスクロールバーをスクリプトで移動させる方法はありませんか scrollToやscrollByはwindowのメソッドでつかえないみたいなんですが
181 名前:小5 [2008/04/24(木) 03:14:41 ID:yfY3kTgw] js をテキストでコピーしたりして、自分で一部追加機能をつくってみたりした時は キャラセットとかいろいろ、えと、どういう保存のしかたすればいいんでしか? ふつうに.jsて拡張子つければいいの?エロイ人教えてください
182 名前:180 mailto:sage [2008/04/24(木) 03:51:37 ID:???] 事故解決しました scrollTop若しくはscrollLeftプロパティーに値を入れる事でスクロールできました
183 名前:Name_Not_Found mailto:sage [2008/04/24(木) 04:51:15 ID:???] >>166 どもです! ジャバスクって何気に奥が深くって難しいっすねorz
184 名前:Name_Not_Found [2008/04/24(木) 05:55:23 ID:odH156OE] youtube見ようと思ったら見られなくなりました。 フラッシュプレイヤーを入れるかジャバスクリプトをオンにしてくださいと出ました フラッシュは確実に入ってるので、ジャバをなんかやらかしたみたいです。 どこを見ればオンに出来るのでしょうか?
185 名前:Name_Not_Found mailto:sage [2008/04/24(木) 08:08:59 ID:???] >>184 ここはJavaScriptプログラムを開発する人の質問スレ。 というかそもそもここはWeb制作板なんだから板違い。氏ね。 >>181 文字コードはメインページの文字コードに合わせておくのが いいんだと思うけどな。そういう話じゃないの?さすが消防で 質問の趣旨が非常に分かりづらいのであしからず。
186 名前:Name_Not_Found mailto:sage [2008/04/24(木) 08:17:37 ID:??? BE:69250076-2BP(2)] >>173 情報THX IE側の仕様でそういうのがあったんですね。 てっきりDojo側で力ずくでこういう処理をしているのかと思っていました。 msdn2.microsoft.com/en-us/library/ms537837.aspx しかし、そうなると特殊なフォーマットを使う場合不便だなぁ・・・。
187 名前:Name_Not_Found mailto:sage [2008/04/24(木) 17:39:18 ID:???] ソース内にある「?」 って何なんですか?
188 名前:Name_Not_Found mailto:sage [2008/04/24(木) 17:59:59 ID:???] ハア??? もしかして「3項演算子」のこと? z = (x > y) ? 0 : 1; // x>yなら0、そうでなければ1をzに入れる
189 名前:Name_Not_Found mailto:sage [2008/04/24(木) 18:18:39 ID:???] 手取り足取りスレが、長いソースを貼ってこれを理解しろ的な流れで、 こっちのスレが初心者用スレとなっているという不思議。
190 名前:Name_Not_Found mailto:sage [2008/04/24(木) 18:49:02 ID:???] >>188 ありがとうございました
191 名前:Name_Not_Found mailto:sage [2008/04/24(木) 19:32:13 ID:???] もういいよ教えなくて
192 名前:Name_Not_Found mailto:sage [2008/04/24(木) 19:38:11 ID:???] スタイルシート span{font-weight:bold;} div{margin-left:20px;display:block;} スクリプト var expires = new Date(); expires.setDate(expires.getDate() + 30); function setCookie(name,value,expires){ var cookieStr = name + "=" + encodeURIComponent(value);cookieStr += expires ? " ;expires=" + expires.toGMTString() : ""; return cookieStr; }function getCookie(name){ var value; var cookies = document.cookie.split(" ;"); for(i=0;i<cookies.length;i++){ value = cookies[i].split("=");if(value[0] == name){return decodeURIComponent(value[1]);}}return null; }function menuFold(id,cookie){ var type,node = document.getElementById(id); if(node.style.display == "block"){node.style.display = "none";type = "false";} else{node.style.display = "block";type = "true";} setCookie(cookie,type,expires); }function loadFold(id,cookie){ var c = getCookie(cookie),node = document.getElementById(id); if(c == "false"){node.style.display = "none";} } HTML <body onload="loadFold('menu1','Mc1');loadFold('menu2','Mc2')"> <span onclick="menuFold('menu1','Mc1')" onselectstart="return false">メニュー1</span> <div id="menu1">メニュー1-1<br>メニュー1-2</div><br> <span onclick="menuFold('menu2','Mc2')" onselectstart="return false">メニュー2</span> <div id="menu2">メニュー2-1<br>メニュー2-2</div> こんな感じで記憶機能のあるメニュー折りたたみを作ってるのですが記憶できません。 どうすればいいでしょうか?
193 名前:Name_Not_Found mailto:sage [2008/04/24(木) 19:44:14 ID:???] すいません、自己解決しました。 Cookieに書き込むのを忘れてました…(document.cookieをreturnにしてしまっていた)
194 名前:Name_Not_Found mailto:sage [2008/04/24(木) 19:48:47 ID:???] document.cookie.split(" ;"); でいいのか?
195 名前:Name_Not_Found mailto:sage [2008/04/24(木) 20:04:28 ID:???] ("; ")ですね…
196 名前:Name_Not_Found mailto:sage [2008/04/24(木) 20:22:04 ID:???] コメントアウトをきちんと整理できてるのって、俺以外だと国内に10人もいないからな、たぶん。 だから、馬鹿どもがすぐに否定し始める。 >>172 ケータイがどうでもいいとか、もう究極のアホだな。むしろJSの方がどうでもいい、大差でな。 >>177 外部に置け?置けない時の対処法だろ。置けるならすぐ置くわな。そもそもこの板でrootやsudoで何でもやってる奴はほとんどいない。
197 名前:Name_Not_Found mailto:sage [2008/04/24(木) 20:32:51 ID:???] >>196 気は済んだか
198 名前:Name_Not_Found mailto:sage [2008/04/24(木) 20:52:06 ID:???] >>196 >>21
199 名前:Name_Not_Found mailto:sage [2008/04/24(木) 22:14:12 ID:???] >>196 アンタがエラソーに言えば正しくなるわけじゃないだろ。 まあ2ちゃんだから煽るなとは言わないけどね。おつかれ。
200 名前:Name_Not_Found mailto:sage [2008/04/25(金) 01:39:02 ID:???] >>174 をよろしく。 "a\r\n\nb".split(何か).lengthが3になってほしい。\rを削りつつ。
201 名前:Name_Not_Found mailto:sage [2008/04/25(金) 02:38:37 ID:???] IEのバグだから無理
202 名前:Name_Not_Found mailto:sage [2008/04/25(金) 02:49:39 ID:???] >>196 文盲乙
203 名前:Name_Not_Found mailto:sage [2008/04/25(金) 06:13:24 ID:???] >>196 X|HTMLの仕様すら読んでないことだけはよく分かった。
204 名前:Name_Not_Found mailto:sage [2008/04/25(金) 08:30:08 ID:???] とても初歩的な質問なのですが 現在当方のJavaScriptがOFF状態になっているのですが これをONにするには、どう操作すればよいのでしょうか?
205 名前:Name_Not_Found mailto:sage [2008/04/25(金) 08:35:19 ID:???] >>204 スレ違いどころか板違い。よそへ行け。
206 名前:Name_Not_Found mailto:sage [2008/04/25(金) 08:49:25 ID:???] >>200 まずreplaceで\rを削除し、その後で\nでsplitしたらどうかな。
207 名前:Name_Not_Found mailto:sage [2008/04/25(金) 09:46:31 ID:???] >>204 ワロタ。自分と世界が完全に一体化しているな。
208 名前:Name_Not_Found mailto:sage [2008/04/25(金) 13:16:44 ID:???] IE にそんなバグがあったのか 1文字ずつ検索しなきゃならんな
209 名前:Name_Not_Found mailto:sage [2008/04/25(金) 22:55:00 ID:???] pc11.2ch.net/test/read.cgi/hp/1204201797/504
210 名前:Name_Not_Found mailto:sage [2008/04/26(土) 01:09:06 ID:???] >>203
211 名前:Name_Not_Found [2008/04/26(土) 07:21:02 ID:5Z58ufLR] フォームに最初に「文字を入れる」と入力されていて、 フォームにクリックするとその文字が消える仕組みにしたいんですけど、知識ないですけど、そのやり方を教えてください。 確か <INPUT TYPE="text" name="?" value="文字を入れる"> の後ろに何か加える?(onclick?)ようなやり方だったと思うんですけど。
212 名前:Name_Not_Found mailto:sage [2008/04/26(土) 07:41:13 ID:???] 論外
213 名前:Name_Not_Found mailto:sage [2008/04/26(土) 08:02:14 ID:???] <INPUT TYPE="text" name="?" value="文字を入れる" onclick="this.value=''">
214 名前:Name_Not_Found mailto:sage [2008/04/26(土) 09:55:16 ID:???] >>203 (XHTML|HTML)
215 名前:Name_Not_Found mailto:sage [2008/04/26(土) 12:16:25 ID:???] (X?HTML)
216 名前:211 [2008/04/26(土) 13:04:26 ID:5Z58ufLR] >>213 できたあ!!ありがたや、ありがたや!
217 名前:Name_Not_Found mailto:sage [2008/04/26(土) 13:10:29 ID:???] ('X?HTML','i')
218 名前:Name_Not_Found mailto:sage [2008/04/26(土) 13:10:40 ID:???] >>216 <input type="text" name="?" value="文字を入れる" onclick="if(this.value==this.defaultValue){this.value='';}">
219 名前:Name_Not_Found mailto:sage [2008/04/26(土) 19:52:10 ID:???] クリックすると、との条件で質問しているが、ふつうfocusだろ。
220 名前:Name_Not_Found mailto:sage [2008/04/26(土) 20:10:17 ID:???] >>219 >>2 (6) 双方に理があるんでは? 少なくとも>>211 は自分の仕様を脳外にはっき りと明記して>>2 (6)のルールを守っているわけだし、「ふつうは」など と意味不明の「常識」で他人をどうこういうべき領域でもない希ガス。
221 名前:Name_Not_Found mailto:sage [2008/04/26(土) 21:01:28 ID:???] いや、ここはfocusだろ
222 名前:Name_Not_Found mailto:sage [2008/04/26(土) 21:54:13 ID:???] >>220 おまえが意味不明。focusでより広範囲のアクションをカバーできる。
223 名前:Name_Not_Found mailto:sage [2008/04/26(土) 22:32:13 ID:???] いや。意味不明とか言われても・・・。おれ、見てて思ったんだ。そし て、思い出した。>>2 (6)のこと。仕様って個のものだと思うんだ、結 局のところ。個のベンダーがユーザとしての個を培養しているだけの ことでさ。だから自分のよいと思うイベントをデザインした人間はそ れが理想的なイベントでいいのじゃないか、って。ま、どう批判しよ うと自由ではあるんだけどさ。そういうことだから、別に。
224 名前:Name_Not_Found mailto:sage [2008/04/26(土) 23:12:36 ID:???] Web系の画面を設計するときに、イベントはよく間違えるよな。 click、mousedown、focus。 これは机上だけだと思っていた仕様と違ってるって気づきにくい。
225 名前:Name_Not_Found mailto:sage [2008/04/27(日) 00:24:48 ID:???] 「キース・ジャレットのゴルトベルク変奏曲聴きたいんだけど…どこに売ってるかな?」 「あそこの○○レコードで売ってたよ」 「ありがと。行ってくる」 「そこはグレン・グールドだろ常考」 …本人がわざわざキースを指名してんのにこういう押し付けがましい輩はどこにでも居る。 まぁあえて好意的に解釈するなら、 「本人はグールドを知っていてキースを選んだのではなく、そもそもグールドを知らないのではないか。 知ってたらそっちを選ぶかもな。知っておいて損はあるまい」 という親切心からかもしれない。
226 名前:Name_Not_Found mailto:sage [2008/04/27(日) 01:12:53 ID:???] A「 新宿から有楽町まで山手線で行きたいのですが、何番線ホームで乗れば良いのですか?」 B「それなら中央線で神田まで行って、そこから山手線に乗り換えた方が速いよ。」 Aが観光やらで山手線を利用する必要があるなら別だけど、 Bの提案に問題があるとは思えないね。 しかし>>225 は、ジャズがお笑いのネタとして使われる理由の一端が判るレスだよ。
227 名前:Name_Not_Found mailto:sage [2008/04/27(日) 01:56:24 ID:???] 素直に南蛮船ホームで乗るかを答えるのも 問題なっしんぐ 一番親切なのは とりあえず質問に答えた上で 質問の意図を汲んで提案してみるってことで
228 名前:225 mailto:sage [2008/04/27(日) 02:15:14 ID:???] ちなみに俺自身はグールドの55年版で聴いてるよ。JAZZは聴かん。貶めるつもりもないけど。 ただ、一部のいわゆるクラヲタの“俺の1番が世界の1番、他はみんなクソ”的押し付けがましさ には端から見ているだけでもほとほと辟易してるんで。 スレ違いスマソ。
229 名前:Name_Not_Found mailto:sage [2008/04/27(日) 02:23:14 ID:???] 痛い流れだな
230 名前:225 mailto:sage [2008/04/27(日) 02:36:08 ID:???] > ただ、一部のいわゆるクラヲタの“俺の1番が世界の1番、他はみんなクソ”的押し付けがましさ > には端から見ているだけでもほとほと辟易してるんで。 あーこの部分については純粋に(一部の)クラヲタについての独立した感想で、 このスレのfocus提案者を例えているつもりは無い。 気分を害したなら申し訳無い。どこまでもスレ違いスマソ。
231 名前:Name_Not_Found mailto:sage [2008/04/27(日) 03:19:05 ID:???] これが真性のヲタってやつだな。
232 名前:Name_Not_Found mailto:sage [2008/04/27(日) 03:28:54 ID:???] そうでもないか
233 名前:Name_Not_Found mailto:sage [2008/04/27(日) 09:54:32 ID:???] >>211 は早い段階で>>219 にレスをつけるべきだったな それはともかく、 > 後ろに何か加える?(onclick?)ようなやり方だったと思うんですけど。 onfocus を知らないということが読み取れる。>>226 のAは観光目的ではなかったわけだな ちゃんと質問を読もうぜ
234 名前:Name_Not_Found mailto:sage [2008/04/27(日) 11:06:01 ID:???] しつこいよ
235 名前:279 [2008/04/27(日) 11:49:09 ID:4fylHKUh] テキストボックスの内容が変更された瞬間に、 javascriptを実行するにはどうすればいいのでしょうか? onchange= だと、別の場所にフォーカスを移さないと実行されず、 onkeydown= だと、内容が変更される直前に実行されてしまいます。
236 名前:Name_Not_Found mailto:sage [2008/04/27(日) 11:49:58 ID:???] こいつよし
237 名前:Name_Not_Found [2008/04/27(日) 12:49:51 ID:y3ZbfC5e] (235-279)<0
238 名前:Name_Not_Found mailto:sage [2008/04/27(日) 13:23:07 ID:???] フォーカスが当たってから0.1秒毎に監視しとけ
239 名前:Name_Not_Found mailto:sage [2008/04/27(日) 14:58:22 ID:???] 変更された瞬間とは?これって大問題だよね。banana!=bananをエンジンに どう判断しろというのか。
240 名前:Name_Not_Found mailto:sage [2008/04/27(日) 15:28:22 ID:???] <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><title>???</title> <script type="text/javascript"> var tid = 0, str = '', elt; function set(){elt=document.getElementById('t0');tid=setInterval(chk,100);} function unset() { if(tid) clearInterval(tid); } function chk() { if(str == elt.value) return; document.getElementById('d0').innerHTML = str + '->' + elt.value; str = elt.value; } </script> </head><body> <div><input id="t0" type="text" onfocus="set()" onblur="unset()"></div> <div id="d0"></div></body></html>
241 名前:Name_Not_Found mailto:sage [2008/04/27(日) 15:39:38 ID:???] >>235 DOM操作によるデータ変更では無く、ユーザーのキー入力による変更を反映したいなら、 onkeyup。 キーを離す前に(押しっぱなしで連続入力している最中など)に、 tabやクリックで入力フォーカスが移った場合には、 onkeyupイベントが発生しないので、onblurと組み合わせて使うとか。
242 名前:Name_Not_Found mailto:sage [2008/04/27(日) 15:51:23 ID:???] onkeyupは日本語IMEがからんでいるとうまく行かないよ。 なので>>240 。
243 名前:Name_Not_Found mailto:sage [2008/04/27(日) 16:30:52 ID:???] >>242 WinXP(IME2002)上のFirefox2とIE7 Win2k(IME2000)上のFirefox2とIE6 どちらの環境でも、IEでは日本語入力時でも毎回keyupイベントが発行されるが、 Firefox2では日本語入力が確定した時にだけkeyupイベントが発行される。 その他に問題があったっけ? しかしてっきり>>240 は一種のジョークかと思ったがマジレスだったとは。
244 名前:Name_Not_Found mailto:sage [2008/04/27(日) 16:34:06 ID:???] setInterval って JavaScript の最終手段だよね クロスブラウザって大変!
245 名前:Name_Not_Found mailto:sage [2008/04/27(日) 17:43:02 ID:???] onclick指定はそこまで読んだ末のことだったのか脱ハット
246 名前:Name_Not_Found mailto:sage [2008/04/27(日) 18:54:33 ID:???] ある日突然ニコニコやなんとか動画その他もろもろ動画サイトで動画が見れなくなってしまいました。 「java scriptを実行許可にしてください」と出るのですが、その辺は一切弄ってないし インターネットオプションで確認しても有効になってました。 java、J2SEを再インストールしても状況は変わりません。 心覚えがあるとしたら、前スパイウェアに侵入され、スパイウェアを駆除するソフトを使ったのですが、 PCを起動した際に重要なレジストリの変更を・・・と出てきたので遮断としてしまいました。 OS再インス以外で解決策があればお願いします。
247 名前:Name_Not_Found mailto:sage [2008/04/27(日) 19:04:51 ID:???] >>246 セキュリティ初心者質問スレッドpart107 pc11.2ch.net/test/read.cgi/sec/1207069819/ 上記スレの方が適切かと思われます。
248 名前:Name_Not_Found mailto:sage [2008/04/27(日) 19:11:52 ID:???] >>247 JAVA関連で問題が起きているのになぜセキュリティ?
249 名前:Name_Not_Found mailto:sage [2008/04/27(日) 19:13:25 ID:???] すみません、テンプレよく読んで無かったです 無かったことにしてください
250 名前:Name_Not_Found [2008/04/27(日) 19:49:33 ID:otfhk5pv] YouTube での "JavaScript を On にしてくれ" 関連の質問があるようだけど, あれは script 中のタイプミスが原因だったそうな. で, 現在は修正されているはず. すれ違いだけど, この前から しばしば見かけるので.
251 名前:Name_Not_Found mailto:sage [2008/04/28(月) 10:30:30 ID:???] フォーム入力チェック用のライブラリっていくつかあるみたいだけどどれがいいんだろうねえ
252 名前:Name_Not_Found mailto:sage [2008/04/28(月) 11:06:02 ID:???] よくある下記の記述ですが、IE6だとOKですがFireFox2だと表示されません。 onmouseover="status='ホニャララ';return true" onmouseout="status=' '" ググッたりして調べてみたのですが、理由が解らなかったのですが、何が 原因なのでしょうか? あとPC上でローカルに表示させた時は、IE6でも表示されないので、それが普通 だと思ってましたが、何故か下記のだと FireFox2 でも使える上にPC上でも利き ました。 onmouseover="this.style.border='1px solid #000000'" onmouseout="this.style.border='1px solid #ffffff'" これが何故PC上でのみIE6だと利かないのか、やはりググッたりしてみても 解りませんでした。理由や対策が解れば教えて頂けますか?
253 名前:Name_Not_Found mailto:sage [2008/04/28(月) 11:40:08 ID:???] >>252 まずstatusじゃなくwindow.statusと書いた方がいいかも。手前に statusという変数がある場合があるかも知れないし。で、window.status をJavaScriptから書き換え可能かどうかはブラウザ毎に、さらに実行環境 (ローカル、サーバ)毎に、設定できたような気がするんで、その設定に よるんじゃないのかなー。 IEでthis.style.borderへの設定がローカルの場合だけできないという のは理由がよく分からないね。ともかく、Web制作なんだからサーバ に置いた場合前提で開発するのがいいんじゃないかな。
254 名前:Name_Not_Found mailto:sage [2008/04/28(月) 12:33:40 ID:???] 動的にチェックされたチェックボックスを生成したいと思い以下のコードを書きました。 FireFox2ではチェック済みのチェックボックスがtestdivに生成されましたが IE6ではチェックされていないチェックボックスが生成されました IEでもチェック済みのチェックボックスを生成する方法をご存知でしたらご教示ください <html> <head> <script langueage="JavaScript"><!-- function $(id){ return document.getElementById(id); } window.onload=function(){ newInput=document.createElement("input"); newInput.setAttribute("type","checkbox"); newInput.setAttribute("checked",true); $("testdiv").appendChild(newInput); } // --></script> </head> <body> <div id="testdiv"></div> </body> </html>
255 名前:254 mailto:sage [2008/04/28(月) 12:40:56 ID:???] すいません自己解決しました チェックボックスにidを設定して newInput.setAttribute("id","hoge"); appendChildした後にcheckedをtrueにしたら $("hoge").setAttribute("checked",true); IEでもチェック済みになりました
256 名前:Name_Not_Found mailto:sage [2008/04/28(月) 13:31:49 ID:???] >>254-255 HTMLタグでいうcheckedはDOMでは「defaultChecked」だけど、 そのsetAttributeはどっちをセットしてるんだろうねー。 やっぱりsetAttributeを使わない方が無難だと思うがどうよ。
257 名前:Name_Not_Found mailto:sage [2008/04/28(月) 13:36:56 ID:???] >>253 レスサンクスです。 じつわ window.status に関しては、PCローカルで既に試してたのですが、IE6 でもFireFox2でも駄目でした。(ネット上では未確認です。) 因みにPCの環境はWindowsXPsp2の最新状態です。IE6とFireFox2も同じく最新 状態です。 確かにネット上で全てオケなので、あまり気にする必要は無い訳ですが、status の件だけなら、「まあそんなものか。」と思ってたのですが、this.style.border で逆みたいな現象が出たので、不思議に思った次第です。 で、もしかしたら記述方法とかで、PC上でも自由に動作確認可能に出来るなら、 便利だなと思って質問した次第ですが、どうも環境設定の問題だと厄介そうで すね。
258 名前:Name_Not_Found mailto:sage [2008/04/28(月) 13:45:56 ID:???] >>257 しまった!!! status に関しては ネット上でも FireFox2 だと駄目だったんだ。 で、window.status に変更したモノをネットにアップして試したところ、 IE6だとOKでFireFox2だと駄目なのは、全く一緒でした。orz 因みにFireFox2 だと下部バー上には「完了」という文字が出たままになります。 環境設定だけの問題だと、使ってるプロバイダのサーバー環境のせいなら対処が 困難で困るのですが、自分のPC環境のせいなら他のユーザーは支障なく見れる筈 ですが、このあたりはどうなんでしょう?
259 名前:Name_Not_Found mailto:sage [2008/04/28(月) 14:12:51 ID:???] 設定
260 名前:Name_Not_Found mailto:sage [2008/04/28(月) 14:15:11 ID:???] >>258 そもそも自分のFFx2の設定の「JavaScriptでステータスバー変更を許す」 をチェックしているのかいないのか。チェックしているのにできないのなら さすがにバグでしょ?
261 名前:Name_Not_Found mailto:sage [2008/04/28(月) 14:35:59 ID:???] バグでもなんでもそもそもそこはそういうものを表示するところ じゃないし、近い将来FFやIEでそれができなくなっても不思議で はない。
262 名前:Name_Not_Found mailto:sage [2008/04/28(月) 14:38:04 ID:???] もちろん自分はうるさいのでスクリプトでstatusを変更するのは 不許可にしているけどね。
263 名前:Name_Not_Found mailto:sage [2008/04/28(月) 15:33:53 ID:???] >>259-262 レスどもです。 どうやらFireFox自体に許可/非許可の設定があり、フィッシング等のURL偽装 の問題の為に、デフォルトで非許可、又は今後この機能自体を無くしていく 方向みたいですね。
264 名前:Name_Not_Found mailto:sage [2008/04/28(月) 20:55:56 ID:???] このスレで出た未決の問題のうち重要そうなものをまとめてみた。 >>82 Dripのrefsの数値の謎について >>86 IEでトップレベル関数の列挙方法 >>127 addEventListenerの「使える」イベント一覧 >>143 IEのメモリーリーク >>148 FireFoxでタイマーを使用する以外での外部ファイル読み込み完了検知方法
265 名前:Name_Not_Found mailto:sage [2008/04/29(火) 00:06:01 ID:???] >>261 >そもそもそこはそういうものを表示するところじゃゃない いやいや、そういうものを表示するところだよ。 デフォルトの動作(たとえばIE7ならhref属性値やaction属性値の絶対URI表現を見せること) を残して、その隙間をぬってページ独自の何かを便利な形で見せるのが面倒くさいだけ。だから普通はやらないが、使えるコスト次第では凝ってみる価値はある。
266 名前:Name_Not_Found mailto:sage [2008/04/29(火) 01:08:15 ID:???] >>265 ステータスバーの本来の役割は、現在の状態や機能を説明するなど、補助的な情報を表示する為に使われる。 が、ブラウザでのステータスバーは、ユーザーとしてはリンク先が表示されるという事を前提としている為、 リンク先を隠匿する目的などに悪用されるのを防ぐ為、現在ではスクリプトによる変更が制限されるのが一般的。 これを知らないとは10年くらい冬眠していたとか?
267 名前:Name_Not_Found mailto:sage [2008/04/29(火) 05:24:02 ID:???] <script type="text/javascript"> <!-- function chk(){ for(i=0;i<3;i++){ if(document.form.fruit[i].checked){ var fruitA=document.form.fruit[i].value; } } alert('あなたは'+fruitA+'が好きですね。'); } --> </script> <p>好きな食べ物を入力してください。</p> <form name="form"> <input type="radio" name="fruit" value="りんご" >りんご<br> <input type="radio" name="fruit" value="みかん" >みかん<br> <input type="radio" name="fruit" value="いちご" >いちご<br> <p><input type="button" name="button" value="ボタン" onclick="chk();"></p> </form> これでラジオボタンが入力されていないときアラートで入力されてません って表示するにはどうしたらいいんですか…?(・・)
268 名前:Name_Not_Found mailto:sage [2008/04/29(火) 05:35:51 ID:???] >>267 fruitAがundefinedになるべ。
269 名前:Name_Not_Found mailto:sage [2008/04/29(火) 06:06:00 ID:???] ループ抜けた後に if(typeof fruitA =="undefined"){alert("入力されていません");} でいけると思う
270 名前:Name_Not_Found mailto:sage [2008/04/29(火) 10:30:15 ID:???] <script type="text/javascript"> <!-- function chk() { var radio = document.forms['form'].elements['fruit']; for (var i = 0, len = radio.length; i < len; i++) { if (radio[i].checked) { alert('あなたは ' + radio[i].value + ' が好きですね。'); return; } } alert('入力されてません'); } // --> </script> <p>好きな食べ物を入力してください。</p> <form name="form" action=""> <input type="radio" name="fruit" value="りんご">りんご<br> <input type="radio" name="fruit" value="みかん">みかん<br> <input type="radio" name="fruit" value="いちご">いちご<br> <p><input type="button" name="button" value="ボタン" onclick="chk();"></p> </form>
271 名前:Name_Not_Found mailto:sage [2008/04/29(火) 11:30:28 ID:???] >>269 !fruitA
272 名前:Name_Not_Found mailto:sage [2008/04/29(火) 13:48:50 ID:???] >>266 でもググッたりしても、この手の情報がなかなか見つからない程度にしか、普及 してない?知識なのも事実では? 英語のQ&Aみたいな掲示板なんかの方が、良く見つかったりしたし、FireFoxの普及 度合いが日本で低いせいかもしれんけど。
273 名前:Name_Not_Found mailto:sage [2008/04/29(火) 14:02:32 ID:???] 単に日本のソフトウェア技術って先進国中で最低だから 流通しているまっとうな情報の量も少ないとかじゃないのかなー まあともかく、ここのスレでは嘘は嘘だと厳しく指摘してもらえるので。
274 名前:Name_Not_Found mailto:sage [2008/04/29(火) 20:18:50 ID:???] >>266
275 名前:Name_Not_Found mailto:sage [2008/04/30(水) 02:25:38 ID:???] >>268 色々試してたら何とかundefinedが消せました!ありがとうございました。 >>269 ありがとうございます!試してみたけたけど読み込んだ瞬間にアラートが 表示されるようになりました↓ >>270 やってみたら出来ました!入力されてませんアラートを表示するだけなの に結構大変なんですね;ソースを見て勉強します(`・ω・´)
276 名前:Name_Not_Found mailto:sage [2008/05/01(木) 01:22:38 ID:???] >>264 >>148 CSSをXMLHttpRequestで取ってきて、evalするのはどう? eval自体は同期で実行されるからいいんじゃね。
277 名前:Name_Not_Found mailto:sage [2008/05/01(木) 01:41:31 ID:???] よーし、おじさんも同期、非同期の質問しちゃうぞ。 element.click()とすると、すぐには実行されずに、JavaScriptの処理が終了した後、 IEがclickイベントを発動します。 JavaScriptの処理が終了せずに、clickイベントを実行させる (キャプチャーフェーズ→バブリングフェーズ→デフォルト動作を実行後、関数が戻ってくるイメージ) ことは出来ないのでしょうか?
278 名前:Name_Not_Found mailto:sage [2008/05/01(木) 04:11:19 ID:???] 正規表現オブジェクトに誤ったパターン("*"など)を渡すとエラーになってしまうため 事前にパターンの正しさをチェックしたいのですが チェックするための手段(関数等)は標準で用意されているのでしょうか? もしあれば教えてください。よろしくお願いします
279 名前:Name_Not_Found mailto:sage [2008/05/01(木) 04:21:00 ID:???] try...catchでいいんぢゃないか
280 名前:Name_Not_Found mailto:sage [2008/05/01(木) 08:20:01 ID:???] >>277 click()した後の処理すべてをsetTimeout(関数, 0);の中でやる ように直せばいいんじゃないの。試してないけど。 >>276 CSSをeval()する方法ってどうするの。サンプルキボン。
281 名前:Name_Not_Found mailto:sage [2008/05/01(木) 09:09:03 ID:???] つか、evalじゃなくて、innerHTMLじゃないか。 通信も同期を指定すれば、いいかなと。 むりやりevalしたきゃ、JSでの処理もそのCSSのなかに書いとく。
282 名前:Name_Not_Found mailto:sage [2008/05/01(木) 09:14:46 ID:???] >>281 だからeval()でもinnerHTMLでもいいんだけど、サンプルキボン。 JavaScriptコードを評価するのにeval()、HTMLを突っ込むのに innerHTMLというのは当り前だから分かるんだけど、CSSを 1発で適用する方法というのは知らないので知りたい。
283 名前:Name_Not_Found [2008/05/01(木) 11:38:59 ID:GpZvn/5z] >>281-282 わざと知らんぷりしてるのかも知れないけど, eval() も innerHTML も使う必要はないんだよねぇ. document.body.cssText='~'; もしくは element : elm だとして elm.cssText='~'; そもそも .css は ただの text-file なんだし...
284 名前:Name_Not_Found mailto:sage [2008/05/01(木) 11:41:51 ID:???] >>283 それはそのエレメントに特定じゃん。そうじゃなくてさまざまな 要素(セレクタ)の指定がまざったCSS全体を一括して突っ込みたい場合は? だいたいHTMLだって.jsだって「ただのテキスト」ですぜ。 つ text/javascript、 text/html。
285 名前:Name_Not_Found [2008/05/01(木) 11:52:58 ID:GpZvn/5z] またまた 恥ずかしい失敗を... document.body.style.cssText='~'; elm.style.cssText='~'; >>284 しっつ礼しやした. まあ, そういった問題はあるけれど, body を対象に しただけでも それなりの効果は期待できると...
286 名前:Name_Not_Found mailto:sage [2008/05/01(木) 12:09:12 ID:???] >>285 そのレスすら話題からどんどん離れてる件 バカは黙ってればいいよ
287 名前:Name_Not_Found [2008/05/01(木) 13:15:28 ID:ql0nI7Yy] function a(arg){hoghoge}; a = function(arg){hogehoge}; のように、 関数、無名関数の最後には ; が必要なのでしょうか?
288 名前:Name_Not_Found mailto:sage [2008/05/01(木) 13:18:51 ID:???] >>287 ちゃんと自分で文法を読めるようになれ。 1行目は無名関数なのか?もしそうなら、それを何に使うつもりなのか? 2行目の最後の「;」は代入式文の最後の「;」であって無名関数とは無関係。 a = 0; の最後の「;」と同じ。
289 名前:Name_Not_Found mailto:sage [2008/05/01(木) 14:02:23 ID:???] >>288 >関数、無名関数の って書いてあるんだから1行目は無名関数として書いてないだろw それぐらい読み取れよ・・・低レベルだな
290 名前:Name_Not_Found [2008/05/01(木) 14:08:17 ID:ql0nI7Yy] >1行目は無名関数なのか? 誰もそんな事言ってないと思いますが… >何に使うつもりなのか? 知りません。例文にあったので、必要なのか質問しただけです。 何故そんな事を聞かれるのか解りません。 >無名関数とは無関係 しかし、次の行に他の分があっても、この場合の ; は外しても動くようです。 必ず付けないといけない物なのでしょうか?
291 名前:Name_Not_Found mailto:sage [2008/05/01(木) 14:13:23 ID:???] >>290 >>287 の 1 行目は「関数宣言」といって、行末のセミコロンは不要 2 行目は「関数式」といって、式なので行末に改行かセミコロンが必要
292 名前:Name_Not_Found mailto:sage [2008/05/01(木) 14:26:14 ID:???] ありがとうございます。 今後 ; を付ける事にします。
293 名前:Name_Not_Found mailto:sage [2008/05/01(木) 15:20:53 ID:???] >>290 JavaScriptでは行末のすべての「;」は省略可能だ。だから 外しても動くのは当り前。 そもそも「自分のブラウザで試してみて文法の適否を調べる」 なんて無意味。その処理系にバグがあったら勘違い野郎に成り下がる だけだろ。地道に文法を勉強しろ。
294 名前:Name_Not_Found mailto:sage [2008/05/01(木) 16:24:25 ID:???] 俺「行末に改行」ってアホなこと言ったなorz
295 名前:Name_Not_Found [2008/05/01(木) 18:18:37 ID:s+mmErJG] 質問させていただきます。 ホームページで、メニューのところを、CSSで、フレーム風にし、スクロールできるようにします。 通常のフレームでは、スクロールして、ある項目をクリックした場合 スクロールした状態が保たれますが、CSSのフレーム風では スクロールした状態が保たれません。 これをJavaScriptでスクロールした状態を保つことはできますでしょうか? もしできるのならば、やり方、もしくは、参考サイトを教えていただけないでしょうか。 どのようなキーワードで検索すればいいのかも分かりません。 どうぞよろしくお願いいたします。
296 名前:Name_Not_Found mailto:sage [2008/05/01(木) 18:30:51 ID:???] >>295 何かを次のページに引き継ぐには Cookie か location.search と相場が決まってる 最終的にブロック要素をスクロールさせるには element.scrollTop = x;
297 名前:Name_Not_Found [2008/05/01(木) 18:40:34 ID:PlHgci7T] 意外に親切な回答が... (がっかり)
298 名前:295 [2008/05/01(木) 19:27:59 ID:s+mmErJG] >>296 どうもありがとうございます。 element.scrollTop = x; で検索してみましたが、よく分からないです・・
299 名前:Name_Not_Found mailto:sage [2008/05/01(木) 20:22:03 ID:???] <div id="HOGE" style="height:100px;overflow:scroll;"> <p>1 行目</p> <p>2 行目</p> <p>3 行目</p> <p>4 行目</p> <p>5 行目</p> <p>6 行目</p> <p>7 行目</p> <p>8 行目</p> </div> <p><button onclick="document.getElementById('HOGE').scrollTop+=10">scroll</button></p>
300 名前:295 [2008/05/01(木) 20:36:16 ID:s+mmErJG] >>299 ありがとうございます。 <p>8 行目</p> を<p><a href="./index.html">8 行目</a></p>で試してみましたがスクロールが戻ってしまいます・・
301 名前:295 [2008/05/01(木) 20:41:19 ID:s+mmErJG] <a href="./index.html" onclick="document.getElementById('HOGE').scrollTop+=10">テスト</a> こういうふにもしてみましたがダメですね・・
302 名前:Name_Not_Found mailto:sage [2008/05/01(木) 20:52:17 ID:???] Cookieなどを使えというレスがあるようだが読んで試してないのか。
303 名前:Name_Not_Found mailto:sage [2008/05/01(木) 20:56:05 ID:???] >>300 ふざけてんの? scrollTop の使い方が分からないというからその部分のサンプルを貼ったんだ >>296 を100回音読しても意味が分からなければあきらめろ
304 名前:295 [2008/05/01(木) 21:07:45 ID:s+mmErJG] すみませんでした! Cookieですね。 Cookieの意味は分かるのですが、Cookieとメニューのonclick="document.getElementById('HOGE').scrollTop+=10"を どのようにして結びつけるのか謎ですね・・。 何というキーワードで検索すればよろしいでしょうか?
305 名前:Name_Not_Found mailto:sage [2008/05/01(木) 21:09:17 ID:???] 次の方、質問どうぞ〜♪
306 名前:Name_Not_Found mailto:sage [2008/05/01(木) 21:40:29 ID:???] >>280 それはさすがに難しいね。 本来非同期じゃなければならない処理を、 なんとか同期で処理したいという話題なので、タイマーは避けたい所です。 >>282 element.innerHTML = "<style>" + str + "</style>"; で、strが通信でもらってきたCSSが書かれた文字列。 >>285 cssTextは要素を特定しないといけないから、個人的につらい。 addRule/insertRuleなら文字列指定でセレクタとその値を突っ込める。
307 名前:Name_Not_Found mailto:sage [2008/05/01(木) 21:50:51 ID:???] >>293 ECMAではでは「;」は必須みたい。 ただ、JavaScriptの実装のほとんどは改行でよいけどね。 ECMAの仕様だけみて、改行を全部削ってみたら動かなくなったw
308 名前:Name_Not_Found mailto:sage [2008/05/01(木) 22:08:53 ID:???] エー、7.9.1 自動セミコロン挿入規則ってあるやん
309 名前:Name_Not_Found mailto:sage [2008/05/01(木) 22:27:34 ID:???] へぇ〜、なんと。 A 文法要約 (Grammar Summary) を元に作成した構文解析を作ったんだけど、 そこで通らなかったからてっきり。 事前に「;」を入れる処理が別途必要なのね。
310 名前:Name_Not_Found mailto:sage [2008/05/01(木) 22:34:17 ID:???] >>306 Mozでやってみたけど動作しませんでした。どんな要素に 対してやればいいのですか?<style>要素って<head>の中に 入れますよね、ふつう。
311 名前:Name_Not_Found mailto:sage [2008/05/01(木) 22:36:03 ID:???] >>304 このスレ的には十分な回答がなされているので、あなたがそれで 分からないなら自分で勉強するか手取り足取りスレでも逝ってください。
312 名前:Name_Not_Found mailto:sage [2008/05/01(木) 22:38:35 ID:???] >>310 おれは逆にFireFoxでしか動かなかったぞ。 なんかIEとかSafariだと防がれてるみたいなんだが。
313 名前:312 mailto:sage [2008/05/01(木) 23:14:20 ID:???] とりあえず、こっちのコードを投稿しとく。 IEはd.firstChildが作成されなかった。 SafariはStyleノードは作成されて、documentツリーにぶら下げることもできたけど画面に反映がされなかった。 OperaとFireFoxでは問題なく動作した。 ------------------------------------------------- <html><head> <script> function setCSS(str){ var d = document.createElement("div"); d.innerHTML = "<style>" + str + "</style>"; document.body.appendChild(d.firstChild); } function test1(){ setCSS("body { background-color: lightblue; }"); } </script> </head><body> <div onclick="test1()">ここをくりっく(・∀・)</div> </body></html>
314 名前:Name_Not_Found mailto:sage [2008/05/01(木) 23:51:16 ID:???] つうか、CRUDのRが含まれる処理はもう普通にページ遷移させようや。今時、「超高アクセスサイトを除いて」、大概のウェブサーバシステムは余力十分だろ。
315 名前:Name_Not_Found mailto:sage [2008/05/02(金) 00:13:09 ID:???] >>314 >>21 >>196 とりあえず、ここはJavaScriptを質問するスレだ。わかってやってるんだろうけど。
316 名前:Name_Not_Found mailto:sage [2008/05/02(金) 00:27:23 ID:???] >>314 だからページ遷移させたときにスクロール位置が先頭に戻る のを何とか元の位置に保ちたいという質問だったんじゃねの?
317 名前:Name_Not_Found mailto:sage [2008/05/02(金) 00:28:23 ID:???] >>313 divの中にstyleってvalidなHTMLじゃないよね?
318 名前:Name_Not_Found mailto:sage [2008/05/02(金) 01:05:06 ID:???] body に含まれてはいけないようだよ
319 名前:Name_Not_Found mailto:sage [2008/05/02(金) 08:51:15 ID:???] setCSSを以下のように修正するとSafariでは動作するようになったよ。IEはダメだったけど。 function setCSS(str){ var d = document.createElement("div"); d.innerHTML = "<style>" + str + "</style>"; document.getElementsByTagName("head")[0].appendChild(d.firstChild); } あとはIEで動く方法が見つかればいいね。 validなHTMLかどうかはあまりこだわらずに、動くコードを見つけて行きたい。
320 名前:Name_Not_Found [2008/05/02(金) 09:40:46 ID:ZiOgF6gn] UTF-8のページでJavaScriptを書いたら他の規格で見ている人の ブラウザではヘンなことになりますか? だとするとプログラムの統一性ってどういうことになるんでしょうか。
321 名前:Name_Not_Found mailto:sage [2008/05/02(金) 10:19:17 ID:???] ひとつのコードでIEとIE以外とを同時に対応させるのは難しいね。 function setCSS(str) { var style = document.createElement('style'); try { // IEでエラー style.appendChild(document.createTextNode(str)); } catch (e) {} document.getElementsByTagName('head')[0].appendChild(style); if (style.styleSheet) style.styleSheet.cssText = str; }
322 名前:Name_Not_Found mailto:sage [2008/05/02(金) 12:17:18 ID:???] >>321 GJ! これはすごい。感動した。 >>320 別にならないでしょ。JavaScriptとそれを入れているページの 文字コードを合わせておけばいいんだし。1つのJavaScriptファイル を色々な文字コードのページに入れたいということなら、日本語を 直に書くのはやめて、全部「\uXXXX」で書けばいい。面倒だけど。
323 名前:Name_Not_Found mailto:sage [2008/05/02(金) 12:25:28 ID:???] > ひとつのコードでIEとIE以外とを同時に対応させるのは難しいね。 別に特別難しくないのでは、 if( document.all ) { //IE用の処理 } else { //それ以外のブラウザ用の処理 }
324 名前:Name_Not_Found mailto:sage [2008/05/02(金) 12:32:43 ID:???] document.all は判定には使えないかと
325 名前:Name_Not_Found mailto:sage [2008/05/02(金) 15:29:31 ID:???] >>323 if (document.all) { // IE, Opera, Safari } else { // それ以外 }
326 名前:Name_Not_Found mailto:sage [2008/05/02(金) 15:45:00 ID:???] ん、手元のSafari3.1は if (document.all) はfalse判定のようだが。 Firefoxでは、if (document.all)はfalseだが、Boolean(document.all)はtrueとな。
327 名前:Name_Not_Found mailto:sage [2008/05/02(金) 16:19:52 ID:???] >>326 うそつき
328 名前:Name_Not_Found mailto:sage [2008/05/02(金) 16:43:00 ID:???] IE判定はこれでおk ttp://dean.edwards.name/weblog/2007/03/sniff/
329 名前:Name_Not_Found mailto:sage [2008/05/02(金) 17:00:02 ID:???] そもそもIEかどうかを判定して動作を変えようと思うのが間違ってる オブジェクト、メソッドの有無とかで動作を変えるべき
330 名前:Name_Not_Found mailto:sage [2008/05/02(金) 17:03:54 ID:???] >>328 条件コンパイルの利点を全て殺す最悪の例
331 名前:Name_Not_Found mailto:sage [2008/05/02(金) 17:29:09 ID:???] >>330 詳しく教えてほしいです
332 名前:Name_Not_Found mailto:sage [2008/05/02(金) 17:31:42 ID:???] せっかくだから聞くけど、ブラウザの判定で最良の方法は?
333 名前:Name_Not_Found mailto:sage [2008/05/02(金) 17:40:59 ID:???] >>332 洩れも>>329 に賛成。document.styleSheetsを操作したいのなら if(document.styleSheets)で判定する、とかいうふうに使う。 そうすればそれが次のバージョンでなくなってもそこを通らなく なるからエラーはまぬがれるし。
334 名前:Name_Not_Found mailto:sage [2008/05/02(金) 18:08:58 ID:???] いや。>>329 はそれで正しい振り分けができた時代があったから 間違いとはいえない。今になってみれば、ということだろ。 それはコードを書く人間のレベルが低すぎるという苺に尽きる。
335 名前:Name_Not_Found mailto:sage [2008/05/02(金) 19:30:18 ID:???] >>327 スマソ、Firefoxは恐らくレンダリングモードによって変わることを今発見した。
336 名前:Name_Not_Found mailto:sage [2008/05/02(金) 22:03:46 ID:???] >>335 レンダリングモードって標準モード、互換モードってやつかい? 互換モードだとサポートしてるってことでよいかな。
337 名前:Name_Not_Found mailto:sage [2008/05/02(金) 22:22:24 ID:???] >>333 >>335 プロパティで判別が基本だとしても、 どうしてもブラウザで判定しないといけないこともある。(opacityとか) とりあえず、>>12 にある有名なフレームワークで比較しようか。長文すまそ。 Prototype.js IE: !!(window.attachEvent && !window.opera), Opera: !!window.opera, WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1, Gecko: navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1, MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/) jQuery safari: /webkit/.test( userAgent ), opera: /opera/.test( userAgent ), msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ), mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( userAgent ) Yahoo UI このライブラリは、複数のユーティリティの集合だけど、 個々のユーティリティがそれぞれで判断していた模様。 でも今はなるべくYAHOO.env.uaってのを使おうとしているっぽい。 で、そのYAHOO.env.uaは、navigator.userAgentを正規表現で判定。 Mootools if (window.ActiveXObject) window.ie = window[window.XMLHttpRequest ? 'ie7' : 'ie6'] = true; else if (document.childNodes && !document.all && !navigator.taintEnabled) window.webkit = window[window.xpath ? 'webkit420' : 'webkit419'] = true; else if (document.getBoxObjectFor != null) window.gecko = true;
338 名前:337 mailto:sage [2008/05/02(金) 22:38:54 ID:???] で、自分の意見。 なるべく、ユーザ申告を信じるライブラリが多いようですね(YUI、jQuery)。 Prototype.jsがプロパティ判別とnavigator.userAgentを混ぜて判別している理由はなぜだろう? YahooUIは、各ユーティリティ側で細かいバージョンが必要なこともあるらしく、 そのための情報を得る手段としてnavigator.userAgentをメインの判定として利用しているように見えた。 mootoolsだけが、navigator.userAgentを見ていませんが、その理由は、 それとも処理を軽くするために文字列判定を入れていないのか、 ユーザを信じる方針なのかよく分からなかった。 Note欄の「We dont sniff.」ってどういう意味か分かる方いますか?
339 名前:Name_Not_Found mailto:sage [2008/05/02(金) 22:46:35 ID:???] >>321 そんな所にもstyleSheetオブジェクトってぶら下がってたのね。 てっきり、document.styleSheetsにしかいないと思ってたよ。
340 名前:Name_Not_Found mailto:sage [2008/05/02(金) 23:23:43 ID:???] >>338 var Browser = new Hash({ Engine: {name: 'unknown', version: ''}, Platform: {name: (navigator.platform.match(/mac|win|linux|nix/i) || ['other'])[0].toLowerCase()}, Features: {xhr: !!(window.XMLHttpRequest), xpath: !!(document.evaluate), air: !!(window.runtime)} }); if (window.opera) Browser.Engine.name = 'presto'; else if (window.ActiveXObject) Browser.Engine = {name: 'trident', version: (Browser.Features.xhr) ? 5 : 4}; else if (!navigator.taintEnabled) Browser.Engine = {name: 'webkit', version: (Browser.Features.xpath) ? 420 : 419}; else if (document.getBoxObjectFor != null) Browser.Engine.name = 'gecko'; Mootools1.12β2ではこのようになっているから、 UA名での判定は完全に捨てて、それぞれのレンダリングエンジン毎に特徴のある機能を元に判定を行う方針の模様。 識別名としてIEやFirefoxでは無く、tridentやgeckoのようなエンジン名を使っているぐらいだしね。 「We dont sniff」は、判定はオブジェクトのチェックだけで行い、その他のチェックは一々やらないぐらいの意味では。
341 名前:Name_Not_Found mailto:sage [2008/05/03(土) 00:11:47 ID:???] >>338 それは感想であって意見じゃないだろw 結局自分ではどれがいいと思うのさ
342 名前:Name_Not_Found mailto:sage [2008/05/03(土) 00:31:22 ID:???] >>336 うん。Firefoxは後方互換モードだと、document.allが存在する(使える)が、 if (document.all) は false で、 Boolean(document.all) は true で、 typeof(document.all) は 'undefined' で、 if (document.all instanceof Object) は true みたいよどうやら。
343 名前:Name_Not_Found mailto:sage [2008/05/03(土) 00:49:41 ID:???] >>341 レンダリングエンジンの特徴で判別!なんてマニアで甘美な響き。 すごくモットー(mootools)を感じる。 やっぱり、UAなんて不安定なものを使うなんて信じられないしね。 でも、tridentなんて名前を知っている人はココには結構いるかもしれないけど、現場ではおそらく少ない。 なので、mootoolsのようなオブジェクトベースの判定をしつつ、プロパティ名は IEとかFFとかSafariとかがいいと思ってるよ。
344 名前:Name_Not_Found mailto:sage [2008/05/03(土) 01:00:57 ID:???] >>342 なんか、すごい後方互換モードだな。 そんなプロパティがあるんだかないんだかよく分からないのは、 IEのwindowオブジェクトだけかと思ってたよw if (document.all) は falseなのは >>323 みたいなユーザを考慮してるのか。
345 名前:Name_Not_Found [2008/05/03(土) 05:36:07 ID:SjtB5wcI] 今更だけど... ここ見てると新しい発見がある ! 今まで いろいろ学ばせてもらいます他 (感謝)
346 名前:Name_Not_Found mailto:sage [2008/05/03(土) 10:20:49 ID:???] たとえばどんなこと?
347 名前:Name_Not_Found mailto:sage [2008/05/03(土) 10:35:49 ID:???] 正直、FFxでdocument.allが存在していても if(document.all)がfalseに枝分かれするというのは 知らんかった。普段そういうコード書かないから。
348 名前:Name_Not_Found [2008/05/03(土) 12:56:11 ID:SjtB5wcI] >>346 WaMCom(Mozilla 1.31相等) で confirm(document.styleSheets.length); とやったら きちんとした結果が返って来た. 正直, 涙腺がゆるんでしまった. なぜって 2003年が最終 update の代物なのに...
349 名前:Name_Not_Found mailto:sage [2008/05/03(土) 16:18:52 ID:???] xmlhttpでutf-8以外のページをロードすると文字化けしますが これはecl.jsを使えば回避できるんでしょうか?
350 名前:Name_Not_Found [2008/05/03(土) 17:08:48 ID:trMn5YpK] 自分のJavaScriptがどれくらいのレベルか試してみたいのですが、 何か問題を出していただけませんか。
351 名前:Name_Not_Found mailto:sage [2008/05/03(土) 17:11:50 ID:???] >>349 AJAXリクエストに対するサーバーからのレスポンスヘッダで、 Content-Type: text/html; charset=Shift-JIS のように文字コードを指定すれば、現在の多くのブラウザでは問題無く処理されるはずだけど。
352 名前:Name_Not_Found mailto:sage [2008/05/03(土) 17:20:08 ID:???] >>350 FireFoxのArray.prototype.filterと同等の関数を作成してみて。
353 名前:Name_Not_Found [2008/05/03(土) 17:20:29 ID:emON9KxP] 2パターン置換したいときに、 xxx.replace(/%E3%80%80/g, "+").replace(/%22/g, ""); でちゃんと動いたんだけど、replaceを2個並べる以外に賢い記述方法ある?
354 名前:350 [2008/05/03(土) 17:28:45 ID:trMn5YpK] はい。(/%E3%80%80|%22/g,"")とやればよいと思います。 これで何級程度でしょうか。僕はできる方ですか?
355 名前:Name_Not_Found mailto:sage [2008/05/03(土) 17:30:50 ID:???] えっと、 %E3%80%80は "+"に、 %22は ""にしてください。
356 名前:Name_Not_Found [2008/05/03(土) 17:33:39 ID:YbvTmraf] ワロタ
357 名前:349 mailto:sage [2008/05/03(土) 18:22:05 ID:???] >>351 responseTextで取得したのが化けている場合は サーバ側のcharset指定がおかしいということですか? htaで第三者のサーバのファイルを取得したいので ヘッダはいじれないです。 この場合の対処方法は何かありますか? ADODB.Stream使えば文字コード変換できることは確認できたんですが レジストリをいじるのでできれば避けたいです。
358 名前:Name_Not_Found mailto:sage [2008/05/03(土) 19:20:43 ID:???] >>357 //低スキル回答者を相手にしておちょくってるだろw responseBody, nodeTypedValueなら使ったことがあるっつうか、数日前にも仕事上のデータ処理で使った。 MSXMLのnodeTypedValueのヘルプページに例示があるが、そのまま。 出来上がるバイト列をUTF-8に変換した。 エンコードを変換するスクリプトは自分で書いた。 たしか、このスレにも数年前にShift_JISからUTF-8に変換するものを貼ったが、出来自体は良くない。 俺にとってはShift_JISとEUC-JPだけで十分だから自分で書く気になるが、あらゆる変換を書くとしたら、アホらしゅうてやっとれんわなw もう気付いていると思うが、これの欠点は、変換前後双方のエンコーディングを知っておかなければならないこと。 変換後は知っていて当然だが、返還前が任意のURIからのレスポンスだったら、スニッフするのが面倒臭い。 まあ、バイト列に%を挿んで、そのecl.jsをうまく使えば、意外とあっさり出来そうではあるな。 逆に、ADODBがレジストリどうこう、という発言について詳しくデメリットを聞きたい。 数十万レコードのCSV自動処理用でADODBを毎日使ってるが、俺は何かとんでもない不作法をやらかしてるのか?w
359 名前:Name_Not_Found mailto:sage [2008/05/03(土) 19:43:03 ID:???] ぢおんてst
360 名前:Name_Not_Found mailto:sage [2008/05/03(土) 19:45:19 ID:???] うぇるかm きせ烏賊い所
361 名前:Name_Not_Found mailto:sage [2008/05/03(土) 19:59:45 ID:???] おれは、XMLHttpRequestでデータを取得した場合に、 サーバからUTF-8で返却されない場合は、 JS側のどこかで変換をかける必要があると思ってる。 (XMLHttpRequestが内部で変換してくれる機能がないため) 普通のネット上で公開するHPでやる場合は、JS側で変換テーブルを作ってやってる。 (ecl.jsを使えばテーブルを自作する必要はなさそうだね。)
362 名前:Name_Not_Found mailto:sage [2008/05/03(土) 20:12:17 ID:???] >>358 ADODB.Streamってブラウザからの利用だとセキュリティにひっかかって、 通常だと使えないから、使えるようにするためにレジストリをいじるってことを言ってるんじゃないの。
363 名前:Name_Not_Found mailto:sage [2008/05/03(土) 21:08:36 ID:???] >>358 >>361 マジレス/釣り/煽りなのか判らんけれど。 (いつものアホな>>21 >>196 あたりによる暇つぶしだろうと予想) ttp://www.w3.org/TR/XMLHttpRequest/ >Return the result of decoding the response entity body using charset. 要するにresponseTextは、 1. Content-Typeでcharsetが指定されていればその文字コード、 2. 指定されていなければUTF-32,16,8のいずれかであるとして判定を行う、 3. それでも不明であるならUTF-8とする。 4. 上記で確定した文字コードでresponseTextのデコードを行う。
364 名前:Name_Not_Found [2008/05/03(土) 22:26:19 ID:OiyLLZwl] 質問お願いします。 -- フォームのname:aaa 部品のname:bbb -- ↑でオブジェクトを指定する際に document.aaa.bbbと記述すると思いますが、 bbbの部分を変数で指定するようなことは可能なのでしょうか? ccc = "bbb"; document.aaa.ccc ↑これでは出来なかったのですが、これと同じようなことができるなら教えてくださいm(__)m
365 名前:Name_Not_Found mailto:sage [2008/05/03(土) 22:36:27 ID:???] テンプレ FAQ 読めばいいと思うよ
366 名前:Name_Not_Found mailto:sage [2008/05/03(土) 22:37:58 ID:???] >>364 FAQ>>3 のQ8/A8。だがFAQを読めない奴には2度と来て欲しくないな。
367 名前:Name_Not_Found mailto:sage [2008/05/03(土) 22:39:43 ID:???] >>364 そんな書き方をどこで覚えたの?当てずっぽうにあっちこっちやって もムリだよ。ちゃんと勉強した方がいいと思う。そうすると覚えるし。 余談だけど、「質問お願いします。」 っておかしいよね。
368 名前:Name_Not_Found mailto:sage [2008/05/04(日) 00:15:29 ID:???] >>357 charset指定がおかしいのでは無く大抵はcharsetが未指定(なのでUTF-8扱い>>363 )。 >>364 document.aaa[ccc] >>365-367 life9.2ch.net/test/read.cgi/utu/1209564409/
369 名前:Name_Not_Found mailto:sage [2008/05/04(日) 11:42:16 ID:???] document.aaa[ccc](笑)
370 名前:Name_Not_Found mailto:sage [2008/05/04(日) 12:32:25 ID:???] (爆)。これで>>368 の言ってることの信憑性は全部吹っ飛んだな。
371 名前:Name_Not_Found mailto:sage [2008/05/04(日) 12:33:24 ID:???] >>368 巣にお帰り下さい
372 名前:Name_Not_Found mailto:sage [2008/05/04(日) 14:32:37 ID:???] < ̄`ヽ、 / ̄> ゝ、 \ /⌒ヽ,ノ /´ ゝ、 `( ´・ω・)/ 371のバーカ! > ,ノ ∠_,,,/´””
373 名前:Name_Not_Found mailto:sage [2008/05/04(日) 16:11:02 ID:???] かわいいなw
374 名前:Name_Not_Found mailto:sage [2008/05/04(日) 17:06:41 ID:???] 羽の先がずれてるのが残念
375 名前:Name_Not_Found mailto:sage [2008/05/04(日) 20:15:43 ID:???] >>369-374 このスレも他の2chスレと同様にアホ満載なGWっぽい展開だね。 >>353 2パターンぐらいならreplace2つでも別に良いのではと思うけど。 変換候補が多いなら、 var repl = {'%E3%80%80':'+','%22':''}; var keyArray = []; for ( var prop in repl ) keyArray.push( prop.replace(/([.?*+\-^$\\|!=\(\)\[\]{}])/g,'\\$1') ); var orgStr = '%E3%80%80%a2%22%E3%80%80%0a%0d%22'; var newStr = (keyArray.length>0 ? orgStr.replace( new RegExp('('+keyArray.join('|')+')','g'), function(str) {return (repl[str]!=undefined?repl[str]:str)} ) : orgStr); とか。
376 名前:Name_Not_Found mailto:sage [2008/05/04(日) 23:43:12 ID:???] >>363 ちなみに、IE6はXMLHttpRequestを持ってないから代わりに ActiveXObject使うと思うけど、そいつも対応してるかどうか ご存知でしょうか?
377 名前:Name_Not_Found mailto:sage [2008/05/05(月) 00:18:33 ID:???] クリップボードの内容をJavaScriptで取得しようとすると 警告が出てしまいます。 しかし、なんとか利用者に気づかれないまま、 盗み取りたいと考えています。 何か良い案がありませんでしょうか?(不要な煽りは止めてね) 今考えている案としては、 Dijit.Textareaのようなものを作ったと言って公開する→ 誰かがブラウザ上でコピー&ペーストする→ でも実はコピーしても書き換わっておらずかつ貼り付け内容はOSクリップボードってパターンです。
378 名前:Name_Not_Found mailto:sage [2008/05/05(月) 00:24:13 ID:???] >>377 ActiveXおすすめ。 Microsoftの書名つけとけば、たいていいけるよ。
379 名前:Name_Not_Found mailto:sage [2008/05/05(月) 00:48:31 ID:???] >>369-374 とりあえず、document.aaa[ccc]でも動くジャン。 記述量を少なくすることが重要な場合、その書き方でよいと思ったが、何か悪い点があるの?
380 名前:Name_Not_Found mailto:sage [2008/05/05(月) 00:56:16 ID:???] >>379 動いた?おめでと。だからなんなの。動くだけでいいんならいくつでも invalidな例を書いてもいいけど、もう寝るわ。
381 名前:Name_Not_Found mailto:sage [2008/05/05(月) 00:58:25 ID:???] >>380 invalidな例でよいので短く書きたいと考えています。
382 名前:Name_Not_Found mailto:sage [2008/05/05(月) 01:57:07 ID:???] >>378 それは良い案ですね。ActiveXコントロールをインストールさせる方法。 M$の署名にしておくってことですね。 ですが、ここはJavaScriptのスレなので、JavaScriptで何とかしたいと思っています。 特に今現在、狙い目だと考えているのが、最近のブラウザで実装され始めた onbeforecopyやoncopyなどです。 そのタイミングで範囲選択をうまく制御したり、focusを移動させたりすれば 実はなんとかなるんじゃないかと思っています。
383 名前:Name_Not_Found mailto:sage [2008/05/05(月) 02:11:10 ID:???] >>380 本当にinvalidなら全く機能しないはずなので、 とりあえず現状の多くのブラウザで機能するならdeprecated。 自分の書いたコードを批判されるのが怖いからか、 煽るだけのチキン(このスレ的には"常連"だっけか?)ばかりなので、 とりあえず"invalid"で良いから>>353 に対する一例を出して欲しいね。
384 名前:Name_Not_Found mailto:sage [2008/05/05(月) 10:09:15 ID:???] >>382 何とかなることが分かったとたんにそれはセキュリティホール と認定されて潰されると思われ。(だからどっちかといえば 何ともならない可能性が高いと思うな。)
385 名前:Name_Not_Found mailto:sage [2008/05/05(月) 11:04:31 ID:???] >>384 そう考えるのが普通だとは思っています。 では、なぜ>>378 のような案が出てくるのでしょうか?これを防げばよいはずですよね? 当然、綺麗に盗める場合は防がれてしまうでしょう。(かつてのclipboardDataのように) 目指したい「何とかなる」内容としては、 一定の問題点が存在したとしても 「クリップボード警告よりユーザに意識をさせない」レベルで取れてしまう方法です。 (”一定の問題点”とは、上記ActiveXの場合は、 インストールするかどうかをユーザが選択しないといけないという問題がある)
386 名前:Name_Not_Found mailto:sage [2008/05/05(月) 11:15:03 ID:???] 洩れの感想ではヴェンダ側の連中はSHについては良くわかっていると思う。 世界中からのフィードバックも受けてるからね。すべての脆弱性について 改善するよりは悪用される可能性のある優先順位で当面のパッチを当てて いるはず。したがってそういう悪性のあるいは無意識下でユーザのPCか ら盗み出す手法は顕在化した時点で潰される可能性が大。長期にわたって そのトラップを維持するのはまず無理でマルチ商法のようにやるなら最初 にサッとやって収穫を確定することだ。だが、>>1 .の・ユーザーに迷惑と なるスクリプトを書く者にアドバイスすること自体このスレのモットーに 反している。
387 名前:Name_Not_Found mailto:sage [2008/05/05(月) 11:57:02 ID:???] 同感。なので >>385 にはお帰りいただきたいね。ここではこれ以上 何も得られないと思うよ。(アホなActiveXを騙して入れさせるという のが唯一の解だろうが、もちろんダイアログは出るに決まってる。)
388 名前:Name_Not_Found mailto:sage [2008/05/05(月) 12:16:44 ID:???] >>386-387 スレ趣旨とは異なっていたのですね。それはすみませんでした。
389 名前:Name_Not_Found mailto:sage [2008/05/05(月) 13:25:18 ID:???] まあ「ユーザーに迷惑となるスクリプト」を顕在化させて、ベンダ側に対策を 促す、って感じでなら、その方法を非具体的に明らかにするのは良いのでは? 「クロサギ」みたいに手法を世間に流布するのは、そんなに悪い事ではないで しょ。
390 名前:Name_Not_Found mailto:sage [2008/05/05(月) 13:39:13 ID:???] 技術的に探求するのは別に構わないと思うけど、上に書いたような わけで穴はそう簡単には見つからない気がするね。
391 名前:Name_Not_Found mailto:sage [2008/05/05(月) 15:05:03 ID:???] >>389 正論だけどそれを語るのにここよりもふさわしい場所があるんじゃないか。 セキュ板とかBugtraqとか。
392 名前:Name_Not_Found mailto:sage [2008/05/05(月) 17:30:24 ID:???] >>375 ありがとうございます! 今の知識ではちんぷんかんぷん。
393 名前:Name_Not_Found mailto:sage [2008/05/05(月) 22:42:00 ID:???] すいません。 input要素のファイル選択タイプのvalueプロパティが書き換えられないのは仕様でしょうか? valueでは読み込みしかできないようなんです。 value = "○○" はどうも無視されるようなんですが。。。
394 名前:Name_Not_Found mailto:sage [2008/05/05(月) 22:45:20 ID:???] >>393 出来ない。>>8 のFAQ参照。
395 名前:Name_Not_Found mailto:sage [2008/05/05(月) 22:47:58 ID:???] input type="file" ならセキュリティ上問題になるからできんよ
396 名前:Name_Not_Found mailto:sage [2008/05/05(月) 22:58:22 ID:???] >>394-395 ありがとうございました!
397 名前:Name_Not_Found mailto:sage [2008/05/05(月) 23:01:29 ID:???] FAQもいいとこ
398 名前:Name_Not_Found mailto:sage [2008/05/05(月) 23:06:20 ID:???] やはりFAQ追加は正解だったみたいだな
399 名前:Name_Not_Found [2008/05/06(火) 14:42:23 ID:unmLFKfL] こんにちは。画像が10枚ほどあるのですがプリロードは必要ですか。 あとどんなときにプリロードするのでしょうか。重いといっても軽い のですが。
400 名前:Name_Not_Found mailto:sage [2008/05/06(火) 14:54:30 ID:???] すいません教えてください。 JAVA(TM)6 Update2 JAVA(TM)6 Update3 JAVA(TM)6 Update5ってあるんですけど、サイズでかいんで 削除して1つにしていいんですか?
401 名前:Name_Not_Found mailto:sage [2008/05/06(火) 15:27:26 ID:???] ィ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;゙t, 彡;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ヽ イ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;r''ソ~ヾ:;;;;;;゙i, t;;;;;;;リ~`゙ヾ、;;;;;;;;;;;;;;;;;;;;ノ i,;;;;;;! ゙i,;;;;t ヾ-‐''"~´_,,.ィ"゙ ヾ;;f^! / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ト.;;;;;》 =ニー-彡ニ''"~´,,...,,. レ')l. < おまえは何を言っているんだ t゙ヾ;l __,, .. ,,_ ,.テ:ro=r''"゙ !.f'l. \____________ ヽ.ヽ ー=rtσフ= ; ('"^'=''′ リノ ,,.. -‐ゝ.>、 `゙゙゙゙´ ,' ヽ . : :! / ~´ : : : : : `ヽ:. ,rf :. . :.: j 、 . : : ト、.、 : : : : : : : : : : ヽ、 /. .゙ー:、_,.r'゙: :ヽ. : :/ ヽ\、 :f: r: : : : : : : : !丶 r-、=一=''チ^ ,/ !:: : :`丶、_ : /: : : : : : : : :! ヽ、 ゙ ''' ''¨´ / ,i: : : l!: : : : :`ヽ、 〃: :j: : : : : : : ゙i `ヽ、..,,__,, :ィ":: ,ノ:: : : : : : : : : : : :\ ノ: : : : : : : : : : :丶 : : ::::::::: : : : /: : : : : : : : : : : : : : : :\
402 名前:Name_Not_Found mailto:sage [2008/05/06(火) 16:10:30 ID:???] >>400 アホ。完全にスレチだぞ。 っjava.com/ja/download/faq/5000070400.xml
403 名前:Name_Not_Found [2008/05/06(火) 17:29:01 ID:1/SIu4Qz] オンマウス時に文字を変更するというのはどうすればいいのですか? 調べても画像変更しかなくて・・・。
404 名前:Name_Not_Found mailto:sage [2008/05/06(火) 17:42:18 ID:???] >>403 マジ?約 8,970 件もヒットしたけどな。
405 名前:403 [2008/05/06(火) 18:55:08 ID:1/SIu4Qz] >>404 ヒットはするけど内容は¥文字色を変える等だったけど? できればどのサイトでもいいからURLを書いてください。
406 名前:Name_Not_Found mailto:sage [2008/05/06(火) 19:14:12 ID:???] >>405 oshiete1.goo.ne.jp/qa983741.html
407 名前:403 [2008/05/06(火) 19:33:25 ID:1/SIu4Qz] >>406 有り難う!!
408 名前:Name_Not_Found mailto:sage [2008/05/06(火) 20:48:14 ID:???] >>406 あなたが策士か。
409 名前:400 mailto:sage [2008/05/06(火) 21:42:45 ID:???] >>402 助かりました。ありがとう
410 名前:Name_Not_Found mailto:sage [2008/05/06(火) 23:10:42 ID:???] ネタか?GWも終わりだしそろそろマトモな人間が帰京するだろ。 それにしても「ありがとう」というのは傲慢な言い方だね。人に 何がしか教えてもらったら「ありがとうございました」だろ。
411 名前:Name_Not_Found mailto:sage [2008/05/06(火) 23:21:05 ID:???] >>380 のinvalid君は予想通り逃亡か。 代わりに馬鹿の同類っぽい>>410 さんお願いします。
412 名前:Name_Not_Found mailto:sage [2008/05/06(火) 23:21:31 ID:???] >>399 最初に画像を入れ替えたときにさっと変わらないので イライラするようならプリロードするんでしょうね。そういう問題が 見ている人にとって起きないのならわざわざ複雑にする必要なし。
413 名前:Name_Not_Found mailto:sage [2008/05/07(水) 00:07:21 ID:???] >>410 JSは終わって1年以上経過している。マトモな人間はASに流れて超多忙だよ。
414 名前:Name_Not_Found mailto:sage [2008/05/07(水) 00:20:21 ID:???] >>413 (ボクのばやい)JSは終わって1年以上経過している。
415 名前:Name_Not_Found mailto:sage [2008/05/07(水) 00:34:45 ID:???] >>413 馬鹿が遂に自演を始めるようになったか。
416 名前:Name_Not_Found mailto:sage [2008/05/07(水) 01:17:43 ID:???] 洩れは>>410 でも>>380 でもないけど、やっぱり document.forms.フォーム名.elements.部品名.value と書くことを勧めるし自分でもそうするね。理由としては 「document.フォーム名.部品名.value」だと(1)標準に 書かれてない機能は将来的に/ブラウザによって保証され ないかもしれない、(2)標準のプロパティ名との衝突の危険、 (3)コードとしての読みやすさを損なう、かな。
417 名前:Name_Not_Found mailto:sage [2008/05/07(水) 01:47:15 ID:???] さて。
418 名前:Name_Not_Found mailto:sage [2008/05/07(水) 04:14:34 ID:???] 1.これは問題にならんと確信してるなあ 今更下位互換切る根性があるブラウザがあるかなあ。PDA方面とか? 放置サイトの情報量も無視できないし。 今ん所その利点はベンダ自体にはなさげな気が。 2.これは同意。衝突する可能性ありありだしなー。 3.これはどうだろ。。w3c非推奨な書き方ではなくとも、読み易くないかどうかで言うと意見別れるんじゃねえか。 - - - ところでこの場合でgetElementById("フォームや要素のID")を薦めない理由はなに
419 名前:Name_Not_Found mailto:sage [2008/05/07(水) 05:27:45 ID:???] >>418 今後3,4年ならまだ多くのブラウザでサポートされるだろうけど、 廃止される予定の仕様を今現在わざわざ使う理由も無いと思うね。 getElementByIdでは、全てのエレメントが対象であり、 戻り値のオブジェクトがHTMLFormElementである保証も無いが、 document.formsの場合には、フォームエレメントだけを対象とし、 当然戻り値もHTMLFormElementであると期待出来るから。 では? しかし>>364 は単にJavaScript文法の質問(変数に格納した文字列をプロパティ名として使用する方法)だったようだけど、 流れが生産的な方向に脱線するのも面白いね。
420 名前:Name_Not_Found mailto:sage [2008/05/07(水) 08:01:29 ID:???] オブジェクトが多数存在する場合 getElementByIdとdocument.formsでは document.formsの方が良いってことかね?
421 名前:Name_Not_Found mailto:sage [2008/05/07(水) 08:02:39 ID:???] >>418 洩れは ○質問者が「document.フォーム名.部品名.value」を使って いる場合はdocument.forms.フォーム名.elements.部品名.value を紹介し、 ○それ以外の場合はdocument.getElementsById()を紹介 しているなー。特定要素を参照する方法をまだ知らない人に教える のなら覚えることが1つで済む方法の方がいいかなと思って。
422 名前:Name_Not_Found mailto:sage [2008/05/07(水) 12:29:04 ID:???] JSの能力をもっと上げるために何をすべきですか?
423 名前:Name_Not_Found mailto:sage [2008/05/07(水) 12:36:33 ID:???] >>422 シムシティで遊ぶ
424 名前:Name_Not_Found mailto:sage [2008/05/07(水) 12:41:15 ID:???] >>422 今自分にできることを挙げてみて。
425 名前:Name_Not_Found mailto:sage [2008/05/07(水) 12:47:37 ID:???] >>422 過去スレ全集を見ながら出て来た質問の回答例を全部書いて みる。実際に出された回答と比べて自分より優れているものは 取り入れる。これ最強。
426 名前:422 [2008/05/07(水) 14:51:36 ID:thVr5nk5] 423〜425さん。 ありがとうございます。425さんのアドバイスは100年かかってもできそう にありません。参考書を読むのもやっとな状態です。地道に取り組んで行き たいと思います。親身なご回答ありがとうございました。 (前回ageずに質問してしまいました。申し訳ありません)
427 名前:Name_Not_Found mailto:sage [2008/05/07(水) 16:38:55 ID:???] どこかに予約語の一覧はございませんでしょうか。
428 名前:Name_Not_Found mailto:sage [2008/05/07(水) 17:04:32 ID:???] ネットにございます。ググりもしなかった?
429 名前:Name_Not_Found mailto:sage [2008/05/07(水) 17:18:01 ID:???] >>427 ttp://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Reference:Reserved_Words
430 名前:Name_Not_Found [2008/05/07(水) 18:20:16 ID:RC3gAfrK] >>425 そのアイディアいただき ! (根気が続くかどうかが最大の問題)
431 名前:Name_Not_Found mailto:sage [2008/05/07(水) 18:32:02 ID:???] >>425 今からこれをやろうとしてるそこの君! 1問ずつ質問と回答を抽出もしくは別解したのを掲載して 1サイト立ち上げてくれたらおじさん泣いて喜んじゃうぞ!
432 名前:Name_Not_Found [2008/05/07(水) 19:58:34 ID:RC3gAfrK] "過去スレ" の初期の部分(2000年) に目を通してみると... う〜ん, window.open(), frame 関連... 時代の流れを強く感じます. すべて完全に拾い上げてサンプル化するのは現実的ではなさそう. 結局, 独断と偏見で取捨選択せざるを得ない...
433 名前:Name_Not_Found mailto:sage [2008/05/07(水) 20:12:30 ID:???] そんなことよりひたすら良い回答をキボン 最近document.allに就いて交わされた議論からわかるように昔の なんか掘り出しても今は環境がちがう。openspecのサイトと同 じで有害でこそあれ使いものにならないですぜ、旦那。
434 名前:Name_Not_Found mailto:sage [2008/05/07(水) 20:15:31 ID:???] あとトホホもね。
435 名前:Name_Not_Found [2008/05/07(水) 20:25:23 ID:RC3gAfrK] DOM 1 についての回答が (すでに) ちらほら. まったく無意味という訳でもなさそうだけど, 大部分はばっさり切り捨てなければならないだろう. 編集過程に個人的な偏見が入り込むのが最大の問題だろうなぁ. しかし, 物作りが好きな人間に取っては興味深いテーマだ.
436 名前:Name_Not_Found mailto:sage [2008/05/07(水) 20:35:05 ID:???] とりあえずsageろ
437 名前:Name_Not_Found mailto:sage [2008/05/07(水) 20:46:33 ID:???] 玉石混淆な過去スレを見るのも得るものはあるだろうけど、 >>12 のいずれかのFrameworkのソースを読んだ方が、 より簡単に現状の環境で有効な手法が判るのでは。
438 名前:Name_Not_Found mailto:sage [2008/05/07(水) 21:16:17 ID:???] >>437 個人的に "手法" よりも "サンプル作り" に興味があるので, よくある質問の頻度を調べるだけでも意味があると思ってます.
439 名前:Name_Not_Found mailto:sage [2008/05/07(水) 21:26:57 ID:???] そんな暇があったらFlexやれ。 いつまで終了言語のJSで遊んでんだよ、馬鹿かおまえら。 貧弱貧相なJSはJScriptで社内の色んな処理を書く以外には使途が無いと早く気付こうな。
440 名前:Name_Not_Found mailto:sage [2008/05/07(水) 21:32:19 ID:???] >>439 いつもの馬鹿はAdobe AIRも知らない様子。さすがだね。
441 名前:Name_Not_Found mailto:sage [2008/05/07(水) 21:37:35 ID:???] >>432 vol.1からやろうとするんじゃなくて vol.63からある程度まで逆に辿っていけばいいんじゃない?
442 名前:Name_Not_Found mailto:sage [2008/05/07(水) 21:50:13 ID:???] JS終わった君 乙
443 名前:Name_Not_Found mailto:sage [2008/05/07(水) 21:53:30 ID:???] >>438 誰の為にサンプルを作っているのかは知らないが、本末転倒のような気も。 まあどこかのスレでのように、指摘されて発狂するような事にならないように頑張っておくれ。
444 名前:Name_Not_Found mailto:sage [2008/05/07(水) 22:44:56 ID:???] >>441 スレの中で2割がかろうじて質問だとして1000 * 0.2 = 200 ね、 vol63からさかのぼったとしてまあどんな奴でもvol58くらいで空しさ に堪えかねるだろうな。
445 名前:Name_Not_Found mailto:sage [2008/05/07(水) 23:06:33 ID:???] Prototype.jsはイベント設定時に element._eventIDをくっつけていますが、 この方式で何を実現したいのか分かりませんでした。 利点と欠点が分かる方教えてください。 どうでもいいけど、getEventIDを見るに、 eventIdというよりむしろelementIdだと感じています。
446 名前:Name_Not_Found mailto:sage [2008/05/07(水) 23:16:01 ID:???] Arrayどうかを知りたい場合(でもargumentsやnodeListは弾きたい) ・arr instanceof Array ・arr.constructor == Array どちらを使用されていますか? YahooUIなどでも、1つのソースに上記の2つのパターンが混じっていました。
447 名前:Name_Not_Found mailto:sage [2008/05/07(水) 23:34:38 ID:???] firefox3でfirebugは使えていますか? DOMインスペクタは動きますが、breakpointがなぜか効きません。1.2 alphaですが。。
448 名前:Name_Not_Found mailto:sage [2008/05/08(木) 02:29:36 ID:???] >>446 Arrayの場合は[]でもnew Array()でもどちらもtrueだけど、 var testStr = new String( 'foo' ); alert( testStr instanceof String ); // true testStr = 'bar'; alert( testStr instanceof String ); // false となるので、記述の統一という意味で形判定にはconstructorを使っているね。
449 名前:Name_Not_Found mailto:sage [2008/05/08(木) 03:05:55 ID:???] 流れぶった切って申し訳ないです. これ以降 ROM 專に戻りますので許してつかぁさい. >>441 なるほど... 参考にさせていただきます. >>443 遠い昔, サンプルを漁ったことがあります. 長ったらしい説明の後の肝心のサンプルは動作不良なんてのがほとんど. "まずは動作確認が先でしょ ? " と強く思ったものでした. きちんと動作するサンプルって意外に少なかったり... >指摘されて発狂するような事にならないように う〜ん, あれは指摘されたのではなく, 指摘したんですが... (だけど,そのように見えるのなら あえて弁解するつもりはありません)
450 名前:Name_Not_Found mailto:sage [2008/05/08(木) 05:38:21 ID:???] 既出だったらすまん。 他人のコード見てたら、変数に関数ぶっこんでるのが結構あるんだが、 俺的にはfunctionで始まらない関数は、すごい違和感を感じる。 こういう使い方ってJavaScript的になんかメリットあるの?
451 名前:Name_Not_Found mailto:sage [2008/05/08(木) 08:19:04 ID:???] >>450 あんたの違和感のために言語が設計されているわけじゃ ないから。具体的にどういうコードはどう書いた方が 「違和感」なくていいと思うのか貼ってみてよ。 >>448 「文字列オブジェクト」と「文字列値」は別ものなんだが。 それを一緒という判定にしたいのならそうするんだろうけどね。
452 名前:Name_Not_Found mailto:sage [2008/05/08(木) 08:52:56 ID:???] >>450 無名関数を知らないだけでは?
453 名前:Name_Not_Found mailto:sage [2008/05/08(木) 10:38:04 ID:???] >>452 それだ!ありがとう!ちょっと勉強してみる。 >>451 違和感あるから「悪い」、とは言ってない。 自分の持ってる知識が古すぎ&独学で、関数はfunctionで始まるもの、 としか認識してなかった。 自分が知らないことでも、なにかメリットがあるなら、取り入れたいと思ってた。 ただ、無名関数って単語すら知らんかったから、ググりようも無かった。
454 名前:Name_Not_Found mailto:sage [2008/05/08(木) 11:30:41 ID:???] がんがれ その辺慣れたら、JavaScriptの柔軟さとお手軽さを一層楽しめるようになるですよ
455 名前:Name_Not_Found mailto:sage [2008/05/08(木) 14:53:47 ID:???] SELECTの任意の項目を選択させる場合って、 document.forms[0].hoge.options[0].selected = true; しか方法ないのでしょうか? options[0]のような位置指定ではなく、VALUEの中身を検索して 見つかったら選択のような処理がしたいのですが。
456 名前:Name_Not_Found mailto:sage [2008/05/08(木) 14:55:43 ID:???] >>455 valueの中身をループしながら調べるしかないね。
457 名前:Name_Not_Found mailto:sage [2008/05/08(木) 15:09:22 ID:???] と、いうことはOPTIONのVALUEを調べて位置を割り出すことは可能ですか?
458 名前:Name_Not_Found mailto:sage [2008/05/08(木) 15:23:42 ID:???] あ、わかりました。 for(i=0;i<MAX;i++){ if(document.forms[0].hoge.options[i].value == "are"){ index = i; } } こうですか?ちょっとやってみます
459 名前:Name_Not_Found mailto:sage [2008/05/08(木) 16:47:49 ID:???] >>453 できるよ。 以上。 ↓次の方どうぞ
460 名前:Name_Not_Found mailto:sage [2008/05/08(木) 16:51:18 ID:???] 艶情事さーん、おばたせしました。先生が診てくださるそうですよ。
461 名前:Name_Not_Found mailto:sage [2008/05/08(木) 19:50:10 ID:???] >>446 オブジェクトのconstructorは書き換え可能だから あんまりconstructorで判別しようとは思わないなぁ
462 名前:Name_Not_Found mailto:sage [2008/05/08(木) 20:58:10 ID:???] JavaScript1.1以下 constructor 読み専 instanceof なし isPrototypeOf() なし JavaScript1.3以下 instanceof なし isPrototypeOf() なし こういう歴史を知っていれば、いまさらconstructorを使わないわな。 使われていたら、プロトタイプチェインを知りたいのではなく、目的は他にあるのだろう。
463 名前:Name_Not_Found mailto:sage [2008/05/09(金) 00:54:39 ID:???] sage
464 名前:Name_Not_Found mailto:sage [2008/05/09(金) 01:15:14 ID:???] それぞれのライブラリで出てくる回数。 constractorは比較のみ抽出されるように、「\.constructor[ \t]*[\!=]=」で検索 フォーマットはconstractor/instanceof/isPrototypeOf/typeof。 prototype 1.602 0/2/0/10 jQuery 1.2.3 20/0/0/19 YahooUI 2.5.1 34/175/0/169 (*-debug.jsのみ対象) mootools 1.2b2 0/0/0/16 ExtJS 2.02 5/47/0/346 (もちろんsourceディレクトリのみ対象) Dojo 1.1 8/197/0/622 (compressされたやつは除く。dojoxとdijit、utilは含む。面倒なのでtestsも含む)
465 名前:464 mailto:sage [2008/05/09(金) 01:22:27 ID:???] で、自分の意見。 isPrototypeOfは誰も使ってないので、危険そうだ。 ほとんどはtypeofで済ませて、Array、RegExpはinstanceof。 constractorは早くしたい時に使うのがよさそうだ。
466 名前:Name_Not_Found mailto:sage [2008/05/09(金) 01:36:40 ID:???] >>445 をよろしく。 prototype.jsのイベントモデルについて語りませんか?
467 名前:Name_Not_Found mailto:sage [2008/05/09(金) 02:42:58 ID:???] >>445 Event.cacheからelementに追加されたハンドラを検索するためのキーのようだね。 だめ?ざっとコード読むだけでは解らんような思想とかが知りたいのかな?
468 名前:Name_Not_Found mailto:sage [2008/05/09(金) 04:04:35 ID:???] あほらしいと言えばあほらしいメモリリーク対策
469 名前:Name_Not_Found mailto:sage [2008/05/09(金) 08:19:00 ID:???] >>467 あんまりコードもじっくりは見てないよ。で、今見てみると、 element._eventIDを割り振っている理由は、そのときのサーチを高速化するためだと思いましたが、 意識は合っていますか? 別に、element._eventIDを割り振らなくても、 elementに追加されたハンドラが何かは分かると思っています。 >>468 それは、Event.cacheを持てば実現できることであって、 elementに_eventIDを割り振らなくても実現出来ると思っています。
470 名前:Name_Not_Found mailto:sage [2008/05/09(金) 09:00:42 ID:???] 余談でかつ拘る積りもないが、 × prototype.js ○ Prototype.js
471 名前:Name_Not_Found mailto:sage [2008/05/09(金) 09:37:55 ID:???] >>470 えと・・・
472 名前:Name_Not_Found mailto:sage [2008/05/09(金) 13:48:59 ID:???] JavaScriptで信長の命日(本能寺の変)を求めたら水曜日って出たんですが、 これあってますか?シーザーの暗殺された日の曜日も求めたいのですが。
473 名前:Name_Not_Found mailto:sage [2008/05/09(金) 13:58:57 ID:???] >>472 歴史板に池。
474 名前:472 mailto:sage [2008/05/09(金) 14:14:18 ID:???] >>473 ご回答ありがとう御座います。歴史の話ではなくてJavaScriptのことな んです。よろしくお願いします。
475 名前:Name_Not_Found mailto:sage [2008/05/09(金) 14:28:13 ID:???] >>474 歴史の話だっつーの。 本能寺の変が1582年6月21日だとすると西洋では月曜だが、日本に西洋の暦は入ってきてない。 シーザー暗殺のときにはグレゴリオ暦はない。 暗殺が紀元前44年3月15日だとしても、閏日が適当にはいってるんだから、それだけじゃ曜日なんてわからん。 となると、安息日なんかから割り出すわけになる。これは完全に歴史の範疇。
476 名前:Name_Not_Found mailto:sage [2008/05/09(金) 14:33:02 ID:???] >>472 スクリプトの正否を知りたいなら そのスクリプトを貼らないとわからんでしょ
477 名前:Name_Not_Found mailto:sage [2008/05/09(金) 15:45:56 ID:???] >>475 計算してみた 本能寺の変があったのは天正10年6月2日だから、グレゴリオ暦になおすと1582年7月1日の木曜日 ユリウス暦だと西暦1582年6月21日の土曜日 じゃね?
478 名前:Name_Not_Found mailto:sage [2008/05/09(金) 16:24:10 ID:???] とまぁ、曜日なんてのは使ってる暦や計算方法でバラバラになるんだ。 それを1つに定めるのは歴史研究家じゃないとムリ。
479 名前:472 mailto:sage [2008/05/09(金) 18:34:47 ID:???] 473-478(特475,477)さん そうなんですか。JavaScriptと暦って奥が深いですね。水曜日でも ないのですか。もっと精進します。ありがとうございました。 みなさん、どうぞ良い週末を!
480 名前:Name_Not_Found mailto:sage [2008/05/09(金) 19:26:20 ID:???] >>479 欧米か
481 名前:Name_Not_Found mailto:sage [2008/05/09(金) 23:58:20 ID:???] >>469 > サーチを高速化するためだと思いましたが、 何と比べて高速化なのかわからんけど、配列を検索したりするよりは速いわねきっと。
482 名前:Name_Not_Found mailto:sage [2008/05/10(土) 00:38:44 ID:???] >>481 配列の検索です。 できれば、elementに_eventIDなどというプロパティは追加したくないと思っています。 ですが、 1.「IEのメモリーリーク対策」 2.「イベント削除の簡易化(要素のみ指定すれば、ひもずくハンドラを全て削除)」 の機能は欲しいと思っています。 で、2番を実施するにあたって、 必要以上にコストのかかる処理にならないようにしたいとも思っています。 elementに_eventIDを追加しない方法だと、配列になってしまうと考えています。 何とかelementに_eventIDを追加しない方法で上記を実現出来ないか、知恵はございませんか? ブラウザによってはelementごとに独自のIDを割り振ったものがあったと思いますが、 上記機能を実現するにあたりその機能を使えると思いますか?
483 名前:Name_Not_Found mailto:sage [2008/05/10(土) 08:23:55 ID:???] >>482 IDは使わないで、エレメントオブジェクトをそのままキー として表を作ることはできるんじゃないの。試してないけど、 var tbl = {}; ... if(!tbl[element]) tbl[element] = []; tbl[element].push(handler); みたいな…で、削除するときは for(element in tbl) { for(handler in tbl[element]) { elementからhandlerを削除する; } }
484 名前:Name_Not_Found mailto:sage [2008/05/10(土) 10:00:12 ID:???] >>483 それだとキーは element.toString() になる エレメントをキーにするやつは便利そうだからちょっと書いてみる
485 名前:Name_Not_Found mailto:sage [2008/05/10(土) 11:47:57 ID:???] 1次元配列から、ハッシュと配列の組み合わせに変えれば多少早くはなるかも。 ハッシュのキーには、element.toStringした文字列だけではなく、 idとかclassNameとかも含めて、キーにする手があるけど、 documentやwindowオブジェクトだと無理だね。
486 名前:Name_Not_Found mailto:sage [2008/05/10(土) 20:44:21 ID:???] storage の一覧取得でコケて elements なんて作ってしまった >>482 の 2 番だけならそうでもないけど、1 番は少し重いかも どんどん突っ込んでくれるとありがたい var Event = { storage: (function() { var elements = []; var f = function(element, handler) { var prev = f.now; if (element === undefined) return elements; if (handler === undefined) return prev(element); f.now = function(elem) { if (elem !== element) return prev(elem); var a = prev(elem) || []; a.push(handler); return a; }; elements.push(element); }; f.now = function() { return undefined; }; return f; })(), observe: function(element, name, observer, useCapture) { useCapture = !!useCapture; if (element.addEventListener) { this.storage(element, [name, observer, useCapture]); element.addEventListener(name, observer, useCapture); } else if (element.attachEvent) { this.storage(element, [name, observer, useCapture]); element.attachEvent('on' + name, observer);
487 名前:Name_Not_Found mailto:sage [2008/05/10(土) 20:44:41 ID:???] } }, stopObserving: function(element, name, observer, useCapture) { useCapture = !!useCapture; if (element.removeEventListener) { element.removeEventListener(name, observer, useCapture); } else if (element.detachEvent) { try { element.detachEvent('on' + name, observer); } catch (e) {} } }, destroyObservers: function(element) { var a = this.storage(element); if (!a) return; for (var i = 0, len = a.length; i < len; i++) { this.stopObserving.apply(Event, [element].concat(a[i])); } }, destroyLeak: function() { var elements = this.storage(); for (var i = 0, len = elements.length; i < len; i++) { Event.destroyObservers(elements[i]); } } }; if (window.attachEvent) window.attachEvent('unload', Event.destroyLeak);
488 名前:Name_Not_Found mailto:sage [2008/05/10(土) 20:47:50 ID:???] こうだった if (window.attachEvent) window.attachEvent('onunload', Event.destroyLeak); ↑
489 名前:Name_Not_Found mailto:sage [2008/05/10(土) 20:47:51 ID:???] あるidをもつタグを選択状態にしたいのですがfocus()やselect()を 使ってもうまくできません。 function selectElem(id) { document.getElementById(id).focus(); document.getElementById(id).select(); } ↑できないです。 どうすればよいのでしょうか?
490 名前:Name_Not_Found mailto:sage [2008/05/10(土) 21:57:56 ID:???] >>482 uniqueID のことなら、IEのシェア分だけカバーできちゃうから、非常に有効な手段だな。 特に、要素オブジェクト周りのリークはIEの話なわけだから、 他のブラウザ用には、遠慮ないコードを書けばいい。 >>486 Eventだのelementだのと、ホストオブジェクト名を我が物にするのが好きなんだな。 そういうのがどうでもいいと思えるほどの上級者なんて、俺を入れて世界に10人くらいしかいないぞ。
491 名前:Name_Not_Found mailto:sage [2008/05/10(土) 22:14:08 ID:???] ∩___∩ | | ノ\ ヽ | / ●゛ ● | | | ∪ ( _●_) ミ j 彡、 |∪| | J / ∩ノ ⊃ ヽ >>490 ( \ / _ノ | | .\ “ /__| | \ /___ /
492 名前:482 mailto:sage [2008/05/10(土) 22:43:34 ID:???] >>486 scopeを利用した、疑似配列を作成といったところですね。 すばらしい。そのような方法があるとは思いつきませんでした。 しかし、結局prevが呼ばれる回数が配列にしたときと同じであることが気になっています。 むしろ、通常配列の方が関数呼び出しよりもはやいのではないかと思っています。 また、上記の動作であるため、observeの呼び出し回数が、 destroyObserversの性能に大きく影響してしまうと思っています。 prototype.jsではそうなっていないと思っています。
493 名前:482 mailto:sage [2008/05/10(土) 22:49:45 ID:???] >>490 そのuniqueIDで気になっていることとして、 例えば、removeChildして、appendChildしても同じ値になりますか?保証されますか? また、cloneNodeしたときはどうなりますか? まぁ、cloneNodeしたときはprototype.jsも考慮はしている作りにはなっていませんが。 >>482 の1番は2番が実施出来るようにすれば実現できることだと思っているため、 2番の処理をいかに早く出来るかだと思っています。
494 名前:Name_Not_Found mailto:sage [2008/05/10(土) 22:59:26 ID:???] >>489 input type=textとかじゃないと、selectメソッド持ってなかったと思った。 それ以外の部分を選択状態にしたければ、 ノードをrengeオブジェクトに変換して、それのselectメソッドを呼べばいいと思う。
495 名前:482 mailto:sage [2008/05/11(日) 00:09:06 ID:???] observの呼び出し回数によるdestroyObserversへの影響の こちらが望むオーダーを書いておきます。 スクリプトでやる場合はlog(N)以下にしたいと思っています。(理想は1ですが) ちなみに、prototype.jsはelementのサーチが1のオーダーで、 その後のハンドラのサーチがNのオーダーだと思っています。 なんとかelementのサーチをlog(N)に出来ないかと思っています。 (母数のNはelementとハンドラでユニークになるので、それがNでもよいし、 prototype.jsのようにelementのみでNでもよいです)
496 名前:Name_Not_Found [2008/05/11(日) 09:15:43 ID:mHzlIR0Q] function Hoge() { this.count = 0; } function Hoge_start() { setInteraval(this.run, 1000); } Hoge.prototype.start = Hoge_start; function Hoge_run() { alert(this.count); //thisがHogeではなくwindow this.count++; } Hoge.prototype.run = Hoge_run; オブジェクト指向JavaScriptで↑のようなことをしたいのだけど テンプレのA14のやり方だとどう書けばよいでしょうか?
497 名前:Name_Not_Found mailto:sage [2008/05/11(日) 09:37:22 ID:???] Q14 についての便乗質問: <blockquote> Q14. タイマーやイベントハンドラに設定するコードにthisを含めたいのですが "...this..." とか function(){...this...} ではうまく行きません </blockquote> ん ? なんか変だな〜 " function(){this.〜} " 使いまくってるけど問題ないと思うけど... できたてのサンプルがあるから とりあえず見て見て : homepage2.nifty.com/alter/samples/table_background2/exam.html
498 名前:Name_Not_Found mailto:sage [2008/05/11(日) 09:51:36 ID:???] >>496 function Hoge_start() { setInterval(function(t){ return function(){ t.run(); } }(this), 1000); } >>497 サンプル見た。Q14で言っているthisはHogeクラスのthis。 サンプルでのthisは対象Elementを指している。 クラスベースで作成した場合、それでは困るケースがほとんど。
499 名前:Name_Not_Found mailto:sage [2008/05/11(日) 10:33:33 ID:???] >>498 回答有難う. OOP 表記については 今だに 理解してないけど function f(){this.~} の場合は f() 自身を指すことは理解してます ところが僕のサンプルでは あたかも onclick="f(this)" を後から追加したように働く. で, Q14 の Q では 質問者が指し示す this が 何を指しているのかが明確でないのではないかと.
500 名前:Name_Not_Found mailto:sage [2008/05/11(日) 10:37:59 ID:???] >>499 fではなく、fが所属するオブジェクトを指したいのが通常。 Q14のthisはfが所属するクラスインスタンス。 それはOOPを理解すれば明示的に書かなくてもわかる。
501 名前:Name_Not_Found mailto:sage [2008/05/11(日) 12:26:23 ID:???] オーダーなら有料だろな
502 名前:Name_Not_Found mailto:sage [2008/05/11(日) 15:10:00 ID:???] >>495 しばらく考えてみたけどやっぱり _eventID がいちばん効率的じゃないかと思った せめて直接汚染するのは避けようと思って element.toString に生やしてみたら cloneNode でコピーされた;
503 名前:496 [2008/05/11(日) 16:22:18 ID:mHzlIR0Q] >>498 の方法でいけました。 ありがとうございました。 更に質問ですがJavaのようにpublicメソッドからprivate変数、privateメソッド にアクセスすることはできないのでしょうか? 実質ローカル変数以外はほとんどpublicにするしかない? function Hoge() { var privateVar = 1; function privateMethod() { ... } } function Hoge_publicMethod() { var x = priavteMethod(); return x + privateVar; } Hoge.prototype.publicMethod = Hoge_publicMethod;
504 名前:Name_Not_Found mailto:sage [2008/05/11(日) 16:32:13 ID:???] function Hoge() { var privateVar = 1; this.Hoge_publicMethod = function() { var x = priavteMethod(); return x + privateVar; }; function privateMethod() { ... } }
505 名前:496 mailto:sage [2008/05/11(日) 17:03:14 ID:???] 特権メソッド?では、インスタンス各々がpublicMethodのポインタをもつ事になり効率が悪いのでは?
506 名前:Name_Not_Found mailto:sage [2008/05/11(日) 17:14:30 ID:???] JavaScript には private という概念は無く、そういうのは常にクロージャで代替する >>504 では Hoge_publicMethod がインスタンスが生成されたときの環境を保存したクロージャになってる
507 名前:Name_Not_Found [2008/05/11(日) 22:17:46 ID:YBuCkc1l] JavaScriptにWebページ上のある場所の座標を指定して クリックと同様の操作を行えるメソッドや機能はありますでしょうか? click()というメソッドはあったのですが、これはクリックの対象となる オブジェクトを指定してやらないとクリックができないので座標が使えないのです。
508 名前:Name_Not_Found mailto:sage [2008/05/11(日) 22:35:36 ID:???] >>507 ない
509 名前:Name_Not_Found mailto:sage [2008/05/11(日) 22:35:43 ID:???] >>507 すべての要素について順次その位置を調べて該当座標上 にあるものを探す必要があるかもね。
510 名前:Name_Not_Found mailto:sage [2008/05/11(日) 22:53:37 ID:???] >>507 あれ?最近新しくできたんじゃなかったっけ? なんとかFromPoint(x, y)ってやつ。
511 名前:Name_Not_Found mailto:sage [2008/05/11(日) 22:58:23 ID:???] >>505 お、きみスジいいね。今度おじさんと一緒にや・ら・な・い・か? おっしゃる通り、インスタンスごとにメソッド持つことになって、 IE6とかだとセッタ・ゲッタ両方作ってたら参照でも2倍ぐらい重くなるし、ソートなんて数倍重くなるよ。 だから、おじさんはプライベートなメンバを作ることなんてそうそうないよ。
512 名前:Name_Not_Found mailto:sage [2008/05/11(日) 23:10:44 ID:???] >>502 そりゃ残念。 toStringはさすがにダメそうだから、 nodeNameとか、nodeTypeでもやってみたけどなぜかダメだったよ。 element.nodeType["_eventID"] = 10;
513 名前:Name_Not_Found mailto:sage [2008/05/11(日) 23:16:36 ID:???] one of the 国内の10人>>196 one of the 世界の10人>>490 どちらも何の役にも立ってない件についてw じゃぁ俺は宇宙の10人だな\(^o^)/
514 名前:507 mailto:sage [2008/05/12(月) 01:01:23 ID:???] >>508 ないんですか orz >>509 確かにそれで出来そうですが、効率悪すぎますよね・・・ >>510 FromPointで検索してみましたが、目ぼしいものにはヒットしませんでした。 どこからの情報だかご存知ですか?
515 名前:Name_Not_Found mailto:sage [2008/05/12(月) 01:30:16 ID:???] >>510 >>514 elementFromPoint()か あれはIE拡張→CSSOM(View Module)で標準化の流れで Fx3b, Opera9.5b, Safari3.1も実装してるね 実際普通に使えるようになるのはもうちょっと後になると思うけど elementFromPoint()使うんだったら、それで要素取得して (要素がclick()持ってれば)click()呼ぶか fireEvent()かdispatchEvent()でclickイベント発生させるかでできるね
516 名前:Name_Not_Found mailto:sage [2008/05/12(月) 01:59:42 ID:???] >>515 おお、それか。すっげぇ〜。 動的にvisibilityとかいじったり、ノード投入した直後とかでも正しく判定してくれるのか、 border edgeで判定してくれるのか、floatもOKなのか、 それらがブラウザ間で統一されているのか今からwktk中だお( ^ω^)
517 名前:Name_Not_Found mailto:sage [2008/05/12(月) 14:58:10 ID:???] google翻訳で翻訳した後に「翻訳を改善する」をクリックすると、スライドしながら隠れたメニューが表示されるんですけど、あれってどうやってるんでしょう。 <div>タグのstyle.display を "none"か空にすれば表示、非表示の切り替えはできるんですが、スライドの方法が思いつかないです。 ソースみてもかなり複雑だったし。。
518 名前:Name_Not_Found mailto:sage [2008/05/12(月) 16:41:31 ID:???] >>517 position: absolute; タイマーで top|bottom|left|right を変更
519 名前:Name_Not_Found mailto:sage [2008/05/12(月) 17:17:30 ID:???] >>516 んなもんflexで作れって。アホか。JSなんて使い所がないんだよ。終わってんだから。
520 名前:Name_Not_Found mailto:sage [2008/05/12(月) 17:24:23 ID:???] 頑張るな flexもjsも欠かせない俺には趣旨が良く判らん
521 名前:Name_Not_Found mailto:sage [2008/05/12(月) 19:45:20 ID:???] 基地外の発言に趣旨なんてないだろ
522 名前:Name_Not_Found mailto:sage [2008/05/12(月) 19:47:27 ID:???] >>518 を見た>>517 が「どうやったらいいんですか?」 と聞くときを考えて念のためjqueryサンプル semooh.jp/jquery/ref/cont/toggle_menu/
523 名前:Name_Not_Found mailto:sage [2008/05/12(月) 20:43:39 ID:???] >>517 「翻訳を改善する」の場合は、 overflow:hiddenを設定し、heightを変更だね。 Firebugを使えば、どんなスタイルが適用されているのかが簡単に判って便利。
524 名前:Name_Not_Found mailto:sage [2008/05/12(月) 23:10:00 ID:???] こんばんは。いつも参考にさせていただいております。夜分遅くすみません。 さて、早速質問なのですがjQueryである要素のCSSの初期化(無効化)を行いたいのですがどのようにすればよいのでしょうか? アドバイス等ご教授いただければ幸いです。
525 名前:Name_Not_Found mailto:sage [2008/05/12(月) 23:33:56 ID:???] divの中にdom操作でテーブルを作って その結果のHTMLソースを得たいんですが IEならinnerHTMLを使って source=$("tablediv").innerHTML とすれば変数にHTMLソースを得られますが IE以外で同様の事をしたいのです 方法をご存知でしたらご教示ください
526 名前:Name_Not_Found mailto:sage [2008/05/12(月) 23:40:59 ID:???] >>525 IE以外でもinnerHTMLでできます(よほど古い/マイナーな ブラウザでない限り)。
527 名前:Name_Not_Found mailto:sage [2008/05/12(月) 23:50:59 ID:???] >>526 どうもありがとうございます 何かでie固有のプロパティーみたいなのを読んで勘違いしていました
528 名前:Name_Not_Found mailto:sage [2008/05/13(火) 01:37:47 ID:???] このウインドウ内の、個々のレスのID:xxxxxxxxの ID:の後ろxxxxxxxx部分を置換したいんですけど、なんか良い方法ありますか? あ、開いてるブラウザのアドレスに貼って実行しようと思ってます。 下のみたいなのを、xxxxxxxxに対してやりたいと思って・・・ JavaScript:document.body.innerHTML=document.body.innerHTML.replace(/ID:/g,'糞ID:');focus();
529 名前:Name_Not_Found mailto:sage [2008/05/13(火) 08:26:56 ID:???] >>528 おたくが書いた方法でできるんじゃないの。何が問題?
530 名前:Name_Not_Found [2008/05/13(火) 10:39:51 ID:/2VeZciO] jQueryで、<select>の値が n の場合は、小窓を開くという処理を 書いたのですが、WinIE7のポップアップブロッカーでブロックされて しまいます。 普通に、onClickなりのクリック動作だとブロックはされないのですが…。 $('#select').change(function(){ if($('#select').val() == n){ window.open('komado.html', 'KomadoWindow', 'scrollbars=yes,resizable=yes,width=300,height=400' ); return false; } }); どうしたらブロックされずに開くことができるでしょうか?
531 名前:Name_Not_Found mailto:sage [2008/05/13(火) 11:26:06 ID:???] >>530 ポップアップブロッカーの仕事がJavaScriptから開かれる 小窓をブロックすることである以上、それはユーザの選択であり 回避できない(回避できたらブロッカーのバグとしてすぐ修正される) と思われ。あきらめれ。
532 名前:Name_Not_Found mailto:sage [2008/05/13(火) 13:03:50 ID:???] >>530 そんな細工が迷惑なのでブロックツールが人気なわけでしょ。 洩れも使ってる。
533 名前:Name_Not_Found mailto:sage [2008/05/13(火) 13:39:30 ID:???] >>524 状況がわからないな。どんなことやろうとしてるの?
534 名前:Name_Not_Found mailto:sage [2008/05/13(火) 14:45:54 ID:???] 小窓に見えるDiv要素を表示すればいいのでは?
535 名前:Name_Not_Found mailto:sage [2008/05/13(火) 15:40:19 ID:???] ブラウザのアドレス欄に貼って実行する類の処理を 他の方法で出来ませんかね?
536 名前:Name_Not_Found mailto:sage [2008/05/13(火) 16:33:16 ID:???] >>535 自分が見るだけだったらProxomitronとかその他ローカルに 加工してから表示するツールがあるんじゃないかな。
537 名前:Name_Not_Found mailto:sage [2008/05/13(火) 16:45:53 ID:???] >>535 Greasemonkey
538 名前:Name_Not_Found mailto:sage [2008/05/13(火) 18:22:36 ID:???] Javascriptで画像を表示させるにはどうすればいいですか?
539 名前:Name_Not_Found mailto:sage [2008/05/13(火) 19:23:39 ID:???] var tNode = document.getElementById("hoge"); var cNode = document.createElement("img"); cNode.src = "./hoge.png"; tNode.appendChild(cNode);
540 名前:Name_Not_Found mailto:sage [2008/05/13(火) 21:48:58 ID:???] ∩___∩ | | ノ\ ヽ | / ●゛ ● | | | ∪ ( _●_) ミ j 彡、 |∪| | J / ∩ノ ⊃ ヽ >>538 ( \ / _ノ | | .\ “ /__| | \ /___ /
541 名前:517 mailto:sage [2008/05/13(火) 22:47:48 ID:???] ありがとう。 ちょっとやってみます。
542 名前:Name_Not_Found mailto:sage [2008/05/13(火) 23:02:44 ID:???] cloneNodeしたときに、付与したハンドラやプロパティも一緒に コピーされるかどうかについて、質問です。 ・IE/FireFox/Safari/Operaがどのような動作をするのか? ・DOMの仕様はどうなっているのか? 上記について、ご存知の方教えてください。
543 名前:Name_Not_Found mailto:sage [2008/05/13(火) 23:03:15 ID:???] >>538 var canvas = document.getElementById('cvs'); var ctx = canvas.getContext('2d'); var img = new Image(); img.src = "image1.gif"; ctx.drawImage(img, 0, 0);
544 名前:542 mailto:sage [2008/05/13(火) 23:36:32 ID:???] >>543 canvasノードをcloneNodeしてみたけど、 canvasに書き込んだ内容はコピー出来なかった(´・ω・`) canvasの内容ごとcloneしたいんだけど方法ありましたら、教えてください。
545 名前:Name_Not_Found mailto:sage [2008/05/14(水) 01:36:52 ID:???] >>544 当たり前。 cloneNode して変形して描画するをセットで行う。
546 名前:Name_Not_Found mailto:sage [2008/05/14(水) 02:46:34 ID:???] どの立場から見て当たり前なんだかw まあ、とっくに過去の遺物だからどーでもええけどw
547 名前:Name_Not_Found mailto:sage [2008/05/14(水) 07:54:51 ID:???] >>546 その「当り前」という意味は、cloneNodeはDOMツリーの 構造をコピーするものだから、canvasで描画したときに 描画内容がDOMツリーとして構築されて行くのでない以上 コピーされるわけはない、という意味じゃないかなー。
548 名前:Name_Not_Found mailto:sage [2008/05/14(水) 08:15:20 ID:???] >>542 例えばElementに対するcloneNode()のコピー対象は 属性と属性値(、deepがtrueなら内容も)なので 内部的に属性として扱われるようなものなどでない限りは プロパティはコピーされないと考えてください DOMの仕様上ではハンドラ(リスナ)は基本的にコピーされない (DOM 2 Eventsの1.3.1のEventListenerと1.3.2を参照。 ただsetAttribute(イベント属性, FunctionBody)で付加したものは属性扱いなので 真っ当な実装ならコピーされるでしょう。IEは駄目だけど) canvasはtoDataURL()経由でコピーすればいいんじゃないですかね
549 名前:548 mailto:sage [2008/05/14(水) 08:26:45 ID:???] ×canvasはtoDataURL()経由でコピー ○canvasの描画内容はtoDataURL()経由でコピー
550 名前:Name_Not_Found mailto:sage [2008/05/14(水) 08:37:50 ID:???] 普通にdrawImageの引数にcanvas要素を取れるよ どんなブラウザでもいけるかは知らないけど
551 名前:Name_Not_Found mailto:sage [2008/05/14(水) 11:02:39 ID:???] クロスドメイン制限がどうしても越えられません。 どうにかして違うドメインのページにJavaScriptを適用する方法はないものでしょうか。
552 名前:Name_Not_Found mailto:sage [2008/05/14(水) 11:28:46 ID:???] あるわけない。よからぬことを企んでいるとしか思えないから。
553 名前:Name_Not_Found mailto:sage [2008/05/14(水) 11:41:55 ID:???] >>551 できたらあっという間に何千万も儲けられる(犯罪で)。金の ためなら労力を厭わない頭の切れる犯罪者がゴマンといるのに できていない。それをできるんじゃないかと思うアンタはアホだな。
554 名前:Name_Not_Found mailto:sage [2008/05/14(水) 15:02:16 ID:???] 初歩的なことで申し訳ないのですが、HTMLタグ内に直接JSを埋めて実行する場合、 onClick="this.style〜" と言った感じでthisオブジェクトが利用できますが、関数を呼び出して実行する場合に同様に機能させる方法はありますでしょうか。 具体的には、 <div id="hoge" onClick="hello()">AAA</div> funciton hello(){ var test = document.getelementById("hoge") test.style = 〜 } をId名など一切定義せずにその時関数が呼び出された呼び出し元に随時効果を適応させる記述方法を探しています。
555 名前:Name_Not_Found mailto:sage [2008/05/14(水) 15:19:28 ID:???] >>554 関数に this を渡せば。
556 名前:Name_Not_Found mailto:sage [2008/05/14(水) 15:21:30 ID:???] >>554 スローな結果は否めないとしてidを定義するのがイヤなら順番で取得 しかないのではないかな。 それとthisはオブジェクトなの?知らなかったお。
557 名前:Name_Not_Found mailto:sage [2008/05/14(水) 15:27:53 ID:???] >>554 onclick="hello(this)" function hello(elt) { ... elt.style = ... } >>556 thisは擬変数でthisが指しているものはオブジェクトでしょ。
558 名前:Name_Not_Found mailto:sage [2008/05/14(水) 15:33:06 ID:???] 隔離スレがポシャったから(健全化したともいう :-) nullがまたこっちに来るようになったんじゃないか?
559 名前:Name_Not_Found mailto:sage [2008/05/14(水) 15:37:31 ID:???] あれぇ、おらのがっこではthisはチーワードって習ったんだがや。 チーワードの日本語訳は擬変数っちゅうのでいいのがや?
560 名前:Name_Not_Found mailto:sage [2008/05/14(水) 16:49:50 ID:???] >>559 キーワード(予約語)というのは字句/構文上の問題。 だったらifやwhileもキーワードだがthisはifやwhileと 同じようなものだと言われて納得するかい? 擬変数(pseudovariable)というプログラミング言語用語を 知らないのなら勉強すりゃいいじゃん。
561 名前:Name_Not_Found mailto:sage [2008/05/14(水) 17:17:12 ID:???] インチキ変数てなわけですか。偽変数。
562 名前:null mailto:sage [2008/05/14(水) 17:26:22 ID:???] ん ? 誰かに呼ばれたような... ちなみに "隔離スレもどき" は無数にあるのよね. んで,正直に白状すると最近やる気なし. 問題は IE の分裂 ( 5,6 だけでもウンザリなのに, 7,8... まで発生 ) 付き合い切れません !
563 名前:Name_Not_Found mailto:sage [2008/05/14(水) 18:10:11 ID:???] FF限定でスクリプト組める仕事してる俺は勝ち組!
564 名前:Name_Not_Found mailto:sage [2008/05/14(水) 18:24:02 ID:???] >>562 俺はie5は完全に切り捨てているな
565 名前:Name_Not_Found mailto:sage [2008/05/14(水) 18:26:06 ID:???] 分裂して困るようなコードを最初から書かなければいい。
566 名前:Name_Not_Found mailto:sage [2008/05/14(水) 18:32:55 ID:???] そうだそうだ!
567 名前:Name_Not_Found mailto:sage [2008/05/14(水) 18:41:40 ID:???] >>562 サポート打ち切られた OS を使い続けているせいで 使える web-browser も限られてしまう. それでも Mozilla 系 (残念ながら FF も使えない) なら問題ないはず. しかし, 念のため IE 5.17 (唯一使える IE) で動作チェックするとドボ〜ン. 最近作ったり改良したサンプルが 2 品とも動作不良. (デバッグで引っかからないので CSS か他の原因と予想) 5.17 で問題を起こすのなら他のバージョンでも同様と考えるべき(はぁ) OS 乗り換えれば良さそうなものだけど MS も Apple も謎 OS ばかり出してやがる ! (こうなったら Linux 系... いろいろ調べるも先に進めず)
568 名前:Name_Not_Found mailto:sage [2008/05/14(水) 19:01:54 ID:???] (さっさと糞ブラ捨てろ的な意味で)待望の IE8 だと思うんだがなぁ
569 名前:Name_Not_Found mailto:sage [2008/05/14(水) 20:48:59 ID:???] ごちゃごちゃ言ってないで、早急にAS3をやれ。JSは終わってるって言ってるだろ。おまえらさあ、いつまで能力の無駄遣いやってんだよ。
570 名前:Name_Not_Found mailto:sage [2008/05/14(水) 21:25:27 ID:???] どうも不思議だな。「JavaScriptに怨みがある」というのは どういうシチュエーションなんだろう。昔書いていたけど ヘタを打ってからかわれて怨むようになったとか?
571 名前:Name_Not_Found mailto:sage [2008/05/14(水) 21:36:43 ID:???] 洩れには、JS終わったと再三喚いてる奴がなんでこのスレにいるのかが ナゾだな。中学生が小学校の校舎でウロウロしているようなもんだろ。 ね、JS終わった君。
572 名前:Name_Not_Found mailto:sage [2008/05/14(水) 21:48:38 ID:???] >>570 何度もブラクラに引っかかったとか
573 名前:Name_Not_Found mailto:sage [2008/05/14(水) 23:13:29 ID:???] アンチAS工作だろ ASにコンプレックスを持ってるJS使いとか ASのスキル持った奴が増えて単価が落ちないように企ててるAS使いとか
574 名前:Name_Not_Found mailto:sage [2008/05/14(水) 23:20:36 ID:???] そりゃ全然わからないな。JS使いはFlashやASに関心ないだろ。 ブラウザに直で組み込まれてるからこそ色々やって遊べるんだし。
575 名前:Name_Not_Found mailto:sage [2008/05/15(木) 00:05:32 ID:???] 同じECMAScript系のJavaScriptとActionScriptだけど、 その利用用途はかなり異なっているのだから、 どちらか一方しかやらないというのは勿体無いね。 いつもの煽りのように、アホ過ぎて片方しか覚えられないというなら仕方無いけれど。
576 名前:Name_Not_Found mailto:sage [2008/05/15(木) 00:05:39 ID:???] >>548 thx。こっちは実装を調べてみた。 //DOM/IE/FFコピー有無状況 //DOM対応はこちらが勝手に想像した仕様。 //@: ×/○/× $("XXX1").test1= "1"; //A: ○/○/○ $("XXX2").setAttribute("test2", "2"); //B: ○/△/○(IEの△とはプロパティのコピーはされるが、 //そもそもリスナとして登録されない。) $("XXX3").setAttribute("onmouseover", "test3();"); //C: ×/×/× $("XXX4").onclick = function(){ alert(4); }; //D: ×/○/× $("XXX5").addEventListener("click", function(){ alert(5); }, false); //IEはattachEvent
577 名前:576 mailto:sage [2008/05/15(木) 00:13:20 ID:???] で、自分が何を言いたいかというと、 IE含めたクロスブラウザ対応のcloneNodeを作成したいと思っていて、 その仕様をどうすればよいかについて検討したいと思っています。 elementにプロパティを付与することは実際の実装上で必要になることはおそらく少ない。 (注意点として>>502 にあるようにプロパティを付与しないと解決出来ない問題もある) しかし、イベントを付与することは普通に行うことでしょう。(特にIEのattachEvent)。 そのような状況においてどうすればいいと考えますか?
578 名前:Name_Not_Found mailto:sage [2008/05/15(木) 00:56:09 ID:???] バブルするイベントタイプを要素オブジェクトで監視しねえよタコ。 そのmouseoverをdocumentで監視して、かつ、mouseoutを使わずに、一つのリスナーで処理できるようになってから出直せ雑魚。
579 名前:Name_Not_Found mailto:sage [2008/05/15(木) 00:58:29 ID:???] >>578 上の文面を見てそのような些細なことが気になるなんて頭おかしいんじゃないの?
580 名前:Name_Not_Found mailto:sage [2008/05/15(木) 02:45:31 ID:???] >>550 ああ、そうか。失念してました >>576 >@ >B そういえばIEのelement.setAttribute(prop, value)はelement[prop]=valueの別表記でしたっけ >>577 イベントリスナやユーザが独自に付加したプロパティを含めてコピーする クロスブラウザ対応のcloneNode()をつくりたいということですか?
581 名前:Name_Not_Found mailto:sage [2008/05/15(木) 08:27:02 ID:???] >>580 ブラウザ間で統一していれば、どちらでもよいです。 ですが、とりあえず、IEをDOMの仕様に合わせる方向の方が楽&良いのではないですかね。 (出来れば、オプションでどちらか指定できるとよいですが) その場合、Dの対策のためにイベントを削除する必要があって、 cloneしているものだから、コピー前とコピー後の要素が どこかで同じものだという認識をする必要があると思っています。 @の対策は結構難しい気がしています。 Iあるプロパティが@方式かA方式のどちらで指定されたのかを検知する方法ありますかね?
582 名前:Name_Not_Found mailto:sage [2008/05/15(木) 08:42:20 ID:???] 丸付きの数字って機種依存文字ってやつじゃないの?
583 名前:Name_Not_Found mailto:sage [2008/05/15(木) 09:02:14 ID:???] うん。避けたほうがよいかもね
584 名前:Name_Not_Found mailto:sage [2008/05/15(木) 09:07:07 ID:???] jQuery みたいにラッパーで操作すればラクだとおも 3 と 4 は論外として、毎回 [sg]etAttribute するようにして 1 も切り捨てれば案外簡単にできそうだが
585 名前:Name_Not_Found mailto:sage [2008/05/15(木) 10:07:00 ID:???] 丸付きの数字はマズイなネットを使う人間には基礎の基礎なんだが
586 名前:Name_Not_Found mailto:sage [2008/05/15(木) 10:11:57 ID:???] 50年もすればいたるところUnicodeでどうでもよくなってるよ。 今はdatファイルはShift_JISだったっけ?
587 名前:Name_Not_Found mailto:sage [2008/05/15(木) 11:16:29 ID:???] >>586 携帯用サイトはどうなるかは判らないが、さすがにあと4,5年でWebはほぼUnicodeになるのでは。 2chのdatもUTF-8化が検討されているようだし。 qb5.2ch.net/test/read.cgi/operate/1207973589/
588 名前:Name_Not_Found mailto:sage [2008/05/15(木) 11:45:47 ID:???] >>586 Unicodeとジジイ・ババアだな、いたるところ。
589 名前:Name_Not_Found mailto:sage [2008/05/15(木) 14:04:46 ID:???] 50年はさすがに待てないわ
590 名前:Name_Not_Found mailto:sage [2008/05/15(木) 15:49:52 ID:???] チェックが入ってたら送信できるようにするにはどうしたらいいですか? <script type="text/javascript"> <!-- function check(theform){ //性別が入力されているか for(i=0;i<=1;i++){ if(theform.sei[i].checked==false){ alert('性別をチェックしてください') return false; } } return true } //--> </script> <form name="form" onsubmit="return check(this)"> 性別<input type="radio" name="sei" value="male">男 <input type="radio" name="sei" value="male">女 <p><input type="submit" name="submit" value="送信"></p> </form>
591 名前:Name_Not_Found mailto:sage [2008/05/15(木) 15:55:25 ID:???] >>590 ロジックがおかしいだろ。「checkedがtrueであるものの個数」を 数えて、最終的にその個数が1ならtrue、それ以外falseを返すとか 考えたらどうだろう。
592 名前:Name_Not_Found mailto:sage [2008/05/15(木) 16:09:23 ID:???] return theform.sei[0].checked || theform.sei[1].checked;
593 名前:Name_Not_Found mailto:sage [2008/05/15(木) 19:12:54 ID:???] >>591 formのテキストでは入力チェックの処理が簡単にできたのですが ラジオボタンだと結構苦戦してしまいました;助言ありがとうございました! >>592 どうもです! 参考に作ってみたらこれで動きました! <script type="text/javascript"> <!-- function check(theform){ //性別が入力されているか if((theform.sei[0].checked==false) && (theform.sei[1].checked==false)){ alert('性別をチェックしてください'); return false; } return true } //--> </script> <form name="form" onsubmit="return check(this)"> 性別<input type="radio" name="sei" value="male">男 <input type="radio" name="sei" value="female">女 <p><input type="submit" name="submit" value="送信"></p> </form>
594 名前:Name_Not_Found [2008/05/15(木) 22:06:51 ID:IFEqkfAJ] firefox用のgreasemonkeyについて 自分で作った関数を実行するようなリンクはgreasemonkey上ではどのようにしてつくればいいんでしょう?
595 名前:Name_Not_Found mailto:sage [2008/05/15(木) 22:26:13 ID:???] いつも通りでおk
596 名前:Name_Not_Found mailto:sage [2008/05/15(木) 22:32:03 ID:???] wrappedJSObject
597 名前:Name_Not_Found mailto:sage [2008/05/15(木) 22:35:04 ID:???] >>584 まぁ、何らかのラッパーにはするとして、 jQueryはinnerHTMLで回避しようとしているけど、 参照型のプロパティ付けたやつはどうだろうと思って、 参照型はそもそもcloneNodeしてもコピーされないんだな。 それだとinnerHTMLでもほぼ同じ結果になりそうだと思ってる。
598 名前:Name_Not_Found [2008/05/15(木) 23:01:07 ID:IFEqkfAJ] >>595 いつもどおり、javascript:関数名 にリンクをはっても greasemonkey内の関数は読まないのか関数が定義されていない。とエラーがでます。
599 名前:Name_Not_Found mailto:sage [2008/05/15(木) 23:04:58 ID:???] >>598 まさかいつもそうやっていたとは思わなかった d.hatena.ne.jp/minghai/20080101 の 落とし穴#2
600 名前:Name_Not_Found mailto:sage [2008/05/15(木) 23:05:12 ID:???] >>598 unsafeWindowのプロパティにするとかしろよ。つうかここで訊いてる時間で説明書読め。
601 名前:Name_Not_Found mailto:sage [2008/05/15(木) 23:10:37 ID:???] >>597 innerHTML まで真似しろとは言ってないよ たとえば ext.$('elem1').setAttribute('hoge', function() {}); でラッパー側に蓄積していって ext.$('elem1').cloneNode(true); ですべてのコピーが保証されるってのはどうだろうか elem1 の同一性チェックには >>486 の storage を応用して、 というか相性よさそうだからひとつのライブラリにしちゃえば _eventID 問題も解決、と
602 名前:Name_Not_Found [2008/05/15(木) 23:22:18 ID:IFEqkfAJ] >>599 >>600 ありがとうございました。やりたいことができました。 今回javascriptをすっとばしてはじめて触るものでなにからなにまで1からなので苦労しています。
603 名前:Name_Not_Found mailto:sage [2008/05/15(木) 23:23:57 ID:???] バブルする==>アホ外人が俗に言うイベントデリゲーション バブルしない==>HTMLのイベント属性 以上。要らんもんこねくりまわすよりどれだけシンプルか。
604 名前:Name_Not_Found mailto:sage [2008/05/16(金) 11:10:04 ID:???] event delegation to obligate functions to another as agent or deputies on events.
605 名前:Name_Not_Found [2008/05/16(金) 21:43:58 ID:A8/8iygj] 関数で、フォーム名を引数で受け取ってるんですが、うまく展開できません。 どう書いたらいいのでしょうか。 <script type="text/javascript" language="JavaScript"> function TestSubmit( test_fm ) { document.test_fm.submit(); } </script> <form name="test_user_form" method="post" action="test_user.php"> <input type="button" value="test" onclick="TestSubmit( 'test_user_form' )"/> </form> 関数内で、フォーム名を直接指定すればsubmitできます。 document.test_user_form.submit();
606 名前:Name_Not_Found mailto:sage [2008/05/16(金) 21:47:58 ID:???] >>597 IEをDOMの仕様に合わせるんであれば、 コピー元がElementならinnerHTMLから再構築するのが 一番手っ取り早いんじゃないでしょうかねぇ
607 名前:Name_Not_Found mailto:sage [2008/05/16(金) 22:24:12 ID:???] アマゾンの書籍のページからタイトル、著者名、出版社、 値段などの項目をタブ区切りのファイルにはき出す bookmarklet作りたいんだけど、可能? アマゾンのページのisbnを参照して公立図書館の検索機能に 飛ばして自動で検索するまでは調べて、自分ちの近くの図書館バージョンまでは作ったので、次のステップをやりたいんだけど。 アマゾンのawsとか利用する必要有り?
608 名前:Name_Not_Found mailto:sage [2008/05/16(金) 22:29:39 ID:???] >>605 document.forms[test_fm].submit();
609 名前:Name_Not_Found mailto:sage [2008/05/16(金) 22:35:41 ID:???] >>601 >>>>606 イベントくっつけたままコピーするなら>>601 方式でIE以外にイベント付与して、 消した状態でコピーするなら>>606 方式がよいと思った。 jQueryはイベントも一緒にコピーするかしないか選べる機能があるけど、 一旦>>606 方式で全部消した後に、 >>601 方式でイベント付与するっていうちょっと無駄なやり方してるよね。
610 名前:Name_Not_Found [2008/05/16(金) 22:39:19 ID:A8/8iygj] >>608 ありがとうございます! forms[]の中にフォーム名入れてもいいんですね。 参照番号だけかと思ってた。
611 名前:Name_Not_Found mailto:sage [2008/05/16(金) 22:56:42 ID:???] amazon webサービスつかえば?
612 名前:607 mailto:sage [2008/05/16(金) 23:30:48 ID:???] 悪い悪い、アマゾンのソース見たら、ソースページをかなり下の方に スクロールしてようやく情報が出てきた。 ソース見れないと勘違いしマスタ。がんばってみまふ。
613 名前:Name_Not_Found [2008/05/16(金) 23:35:29 ID:3AOivxLR] リンク先のjpeg画像を、強制的にダウンロードダイアログを 出して保存させるようにしたいのですが javascriptのみで可能でしょうか? 普通にリンクするだけだと、jpegだと当然ブラウザに表示されて しまいます。 ブラウザで開かないファイル形式なら、ダウンロード ダイアログを勝手に出してくれるのですが… CD-ROM等でも使いたいのでCGIとかは使えません。 よろしくお願いします。
614 名前:Name_Not_Found mailto:sage [2008/05/17(土) 00:10:54 ID:???] >>613 MIME
615 名前:Name_Not_Found mailto:sage [2008/05/17(土) 00:13:24 ID:???] 鯖上でって言うなら MIME タイプいじってやればいいけど CD-ROM でっていうなら無理だわな
616 名前:613 [2008/05/17(土) 00:23:52 ID:FoauIqhd] >614,615 レスどうもです。 そうなんですよ javascriptでトリッキーなことして ブラウザを「勘違い」させるような事って、できないもんですかね…
617 名前:Name_Not_Found [2008/05/17(土) 00:26:33 ID:s68eAPKf] greasemonkeyです。質問させてください。 function refresh(state){ //閉じている場合 if (state==0){ if (kazu>0){ GM_infoPanel.innerHTML='書き込みがあります' }else{ GM_infoPanel.innerHTML='<A id="npost" href="javascript:">ここをクリック</A>' var npost = document.getElementById('npost'); npost.addEventListener("click", showpost_none, true); } } } と書いています。showpost_noneの関数の中身は function showpost_none(){ GM_infoPanel.innerHTML='<BODY><INPUT size="20" type="text" name="name">\ <FORM><TEXTAREA rows="8" cols="39" name="comment"></TEXTAREA></FORM>\ <INPUT type="submit" name="submit"><A id="closepost" href="javascript:">閉じる</A></BODY>'; var closepost_none = document.getElementById('closepost'); closepost_none.addEventListener("click", refreshnurikabe(0), true); } となっています
618 名前:Name_Not_Found [2008/05/17(土) 00:27:28 ID:s68eAPKf] これを実行し、「ここをクリック」のリンクをクリックすると、 Firefox/Profiles/rtzhpmmo.default/extensions/%7Be4a8a97b-f2ed-450b-b12d-ee082ba24781%7D/components/greasemonkey.js :: showpost_none :: line 409" data: no] こういうエラーがでるのですがなぜでしょう。 教えてください。
619 名前:Name_Not_Found [2008/05/17(土) 00:33:27 ID:s68eAPKf] ちなみに showpost_noneの var closepost_none = document.getElementById('closepost'); closepost_none.addEventListener("click", refreshnurikabe(0), true); この二行を削除すれば、ここをクリック を押したときに動作しますが 閉じるを押したときにエラーがでます。
620 名前:Name_Not_Found [2008/05/17(土) 01:47:02 ID:2mNU1GvT] textareaの中でクリックした位置が何行目なのか取得したいのですが どのようにしたらいいですか?
621 名前:Name_Not_Found mailto:sage [2008/05/17(土) 01:53:27 ID:???] おれはついに>>617 を解読したぞ!エウレーカ!多分。 refreshnurikabe(0);はおそらく関数を返却する関数ではなく、 refresh(0)の間違いで、たぶん closepost_none.addEventListener("click", function(){ refresh(0)}, true); と書きたいんだと思った。 あと、 var npost = document.getElementById('npost');の行はもしかしたら var npost = GM_infoPanel.firstChild;にした方がよいかもしれない。
622 名前:Name_Not_Found [2008/05/17(土) 02:06:39 ID:aVBxGKno] iframeを使った自動ポストを防ぐ処理を実装したいと思います 現在リファラーチェックはつけました parent.location.hrefを見て、iframe内に表示されているかどうかを 確かめる方法を考えたのですが、 もしかしたら、自動でないポストもありうるかもしれないので、躊躇しています 自動ポストを検出するいい方法があれば教えてください
623 名前:Name_Not_Found [2008/05/17(土) 02:17:21 ID:s68eAPKf] >>621 その通りでございました closepost_none.addEventListener("click", function(){ refresh(0)}, true); これで引数を渡すことができました ただ、同じ条件でいろいろとかいてるうちにエラーコンソールが立ち上がったりする場面が・・ なんでじゃーー(javascript:へのリンクを実行してるんでしょうか・・・)
624 名前:Name_Not_Found [2008/05/17(土) 02:24:20 ID:s68eAPKf] javascript:void(0)にすることによって、エラーでなくなりました。 void書いてないのにエラーでなかったりへんなの・・・
625 名前:Name_Not_Found [2008/05/17(土) 02:29:13 ID:+faOYZsW] お手数ですが、どなたかJQuery(ver. 1.2.3)についてご教授頂けないでしょうか? 以下のように、search.cgiから取得した検索結果を全てloadクラスに仮想表示して、 page毎に20件ずつdispクラスに表示したいと思います。 ところが、loadクラスに表示したはずのhtmlが$(".load").html()では 読み込めません。どうすればloadクラスのhtmlを読み込めるでしょうか? 尚、loadメソッド3番目の引数で指定するコールバック関数内なら loadクラスのhtmlを読めます。しかし、2ページ、3ページをdispクラス に表示する際には、srchの引数にkeywordを与えないので loadメソッドは実行しません。コールバック関数内 でloadクラスのhtmlを読むのは意味なさそうです。 <script type="text/javascript"> $(function(){ srch("1", "ほげほげ") }); function srch (page, keyword) { //keywordが存在すれば、検索結果を全てloadクラスに仮想表示 if (keyword) { $(".load").load("/search.cgi", { keyword: keyword }); } //page毎に20件ずつdispへ表示したい $(".disp").html( //$(".load").html()でloadクラスのhtmlを取得できない... ); } </script> <body><div id="srch"> <div class="disp"></div> <div class="load"></div> </div></body> ※もっと別の良い表示方法があればご指摘頂ければ幸いです。
626 名前:Name_Not_Found [2008/05/17(土) 03:26:34 ID:2qZ+Dn1G] var x = new Array(); とした場合に、x['join'] とすると、Arrayのjoinメソッドを参照してしまうのですが、 配列の要素として設定したものと、Arrayのメソッドはどう区別すべきでしょうか? 今作成しているものは、配列の要素として関数を設定しているので typeofでは区別できません。 for( in ) でキー値と比較するしかないのでしょうか? IE7/Firefox2/Opera9 全てで同じように動作しています。 何か良い方法がありましたら教えてください。よろしくお願いいたします。
627 名前:Name_Not_Found mailto:sage [2008/05/17(土) 03:51:19 ID:???] >>625 直した。 loadの第3引数に渡す関数内部で$(".load").html()を呼び出すようとよさげ。 function srch (page, keyword) { $(".load").load("./search.cgi", { keyword: keyword }, function(){ $(".disp").html( $(".load").html()); }); }
628 名前:Name_Not_Found mailto:sage [2008/05/17(土) 03:54:44 ID:???] >>626 そもそも配列じゃなく{}に入れた方がいいよ。 var x = {}; 配列はあくまでフラットなリスト構造を作るのに使ってる。おれは。
629 名前:Name_Not_Found mailto:sage [2008/05/17(土) 04:08:14 ID:???] >>620 むりぃ〜。せめて、クリックじゃなく、選択範囲が指定されてる時に何行目から選択されているかとか contentEditableとかなら誰かが何とかしてくれるかも。
630 名前:Name_Not_Found [2008/05/17(土) 04:10:32 ID:2qZ+Dn1G] >>628 なるほど、ありがとうございます。 でも試したら、 x['toString'] は値があるんですよね。 残念ながら、本件については、それで解決とはいかないです。
631 名前:Name_Not_Found mailto:sage [2008/05/17(土) 04:23:22 ID:???] >>627 む、よく見ると、第3引数の中なら取得できると書いてありますね。 なら、srch関数の作りを変えて、以下のような感じかな? function srch (page, keyword) { if(keyword){ $(".load").load("./search.cgi", { keyword: keyword }, function(){ $(".disp").html( $(".load").html()); }); } else { $(".load").load("./search.cgi", function(){ $(".disp").html( $(".load").html()); }); }
632 名前:Name_Not_Found mailto:sage [2008/05/17(土) 04:30:18 ID:???] >>630 なるほど。じゃぁ参照するときは以下の判定もしとくとよいかも。 function getValue(key){ if(x.hasOwnProperty(key)) return x[key]; } getValue("toString"); で、書き換えるときは、普通にx.toString = 1;とか出来るっぽ。
633 名前:Name_Not_Found mailto:sage [2008/05/17(土) 04:31:18 ID:???] >>630 何がしたいのかわからん インスタンスのメソッドを上書きして、正しい動作だが。
634 名前:Name_Not_Found [2008/05/17(土) 04:51:37 ID:2qZ+Dn1G] >>632 こんなメソッドがあるとは知りませんでした。勉強になります。 developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Reference:Global_Objects:Object:hasOwnProperty IE7/Firefox2/Opera9/Safari3 でやりたいことが正常に動作したので、これを使わせていただきます。 どうもありがとうございました。 >>633 別に Javascriptのエンジンがバグってるとは言ってないです。
635 名前:Name_Not_Found [2008/05/17(土) 05:01:39 ID:2mNU1GvT] >>629 無理っぽいですかサンクス
636 名前:Name_Not_Found [2008/05/17(土) 10:40:24 ID:T+Nhd5TV] 現在表示がかかっているブラウザの top と left の位置を 取得したいのですができますか? IE6です。
637 名前:Name_Not_Found mailto:sage [2008/05/17(土) 11:23:21 ID:???] ( ゚д゚)
638 名前:Name_Not_Found mailto:sage [2008/05/17(土) 13:56:16 ID:???] ( Д ) ゚ ゚ (つд⊂)ゴシゴシ ( ゚д゚) ( ゚д゚ )
639 名前:Name_Not_Found mailto:sage [2008/05/17(土) 13:56:31 ID:???] >>636 できる
640 名前:Name_Not_Found mailto:sage [2008/05/17(土) 14:39:00 ID:???] 「できる」というのと「できない」というのは実は同じなんだ。
641 名前:625 [2008/05/17(土) 15:05:02 ID:+faOYZsW] >>631 お返事ありがとうございます。 しかし、何度も search.cgi にアクセスするのは避けたいです。 loadメソッドは検索実行時にだけ実行して、loadクラスの中から 20件だけdispクラスに表示したいのです。srch関数には、 以下のように引数を渡したいです。 検索実行時に1ページを表示:srch("1", "ほげほげ") 2ページを表示:srch("2") ※要は、検索実行時に検索結果一覧を取得保持して、 20件表示をjavascriptで制御したいのです。
642 名前:Name_Not_Found mailto:sage [2008/05/17(土) 18:51:57 ID:???] クラスやidが付いていない要素に新たにクラスやidを追加させることは出来ますか? 具体的には↓のような感じにしたいです。 <li><a href="#">test</a></li> → <li><a class="current">hoge</a></li> さらにその内容を document.getElementById('current').innerHTML = 'huga'; と変更させることはできますか? もしできればそのやり方をご教示ください。 よろしくお願いします。
643 名前:Name_Not_Found mailto:sage [2008/05/17(土) 19:07:02 ID:???] >>641 入力データと出力データが分からないとちゃんとは答えられないな。 (というかそんな質問で誰かが答えられると期待しているのにびっくりだ) まぁやり方として、楽そうなのは、 1. $(".load").html()で取得したデータをグローバル変数に格納する。 そのときに、扱いやすいデータ構造に変換する。(例えば、件数ごとの配列とか) →この変換処理の内容が想像つきますか? 2. 第1引数で指定された数値に応じて、上記の構造からデータを取り出す (1なら最初の20件、2なら21件目から40件までのデータ) →これは出来そうですか? 3. 2で取りだしたデータから表示用に整形して、表示する。 →どう表示したいのですか?
644 名前:Name_Not_Found mailto:sage [2008/05/17(土) 19:16:29 ID:???] >>642 出来るが、前提として、付与したい要素にアクセスする手段がなにかしらある必要がある。 <body><li><a href="#">test</a></li></body> なら、document.body.firstChild.firstChild.id = "current"; とすれば、やりたいことができる。 ただ、currentを付与したい要素がどこにあるかを知っている必要があるし、 また場所が変更されないことが前提になってしまう。 これが問題があるのかないのかは、あなたの文章を見ただけでは判断が出来ない。
645 名前:Name_Not_Found mailto:sage [2008/05/17(土) 20:07:16 ID:???] >>642 余談的な話だがそれは追加ではなくてアンカー属性の変更だろ。 たしかHTML的にその変更後のマークアップは不正か非推奨のはず。 それからクラスと書くのはよくない。プログラミングの場合デフ ァクトでそれは「クラス」を連想させる(結果的に誤解を与える)。
646 名前:Name_Not_Found mailto:sage [2008/05/17(土) 20:23:31 ID:???] >>645 少なくともHTML 4.01/XHTML 1.0ではhrefは省略可能なので不正ではないよ 非推奨というのも勉強不足なのか聞いたことがないな。仕様のどこに書いてある? クラスは文脈で理解できる範囲だと思う
647 名前:Name_Not_Found mailto:sage [2008/05/17(土) 21:29:03 ID:???] マークアップが不正なのは>>644 だろ 言語的にクラスのないJavaScriptでクラス指向を連想するなら、まず自分の知能を疑え
648 名前:Name_Not_Found mailto:sage [2008/05/17(土) 21:49:01 ID:???] >>646-647 645だが、雑駁な記憶で書いてしまったようだ。すまん。反省している。 排水の陣でひと言だけ援護してみると、リンクのないアンカーはウェブ デザイン的には邪道だ。それはユーザーに誤解を与えるし世界中のあち こちで要らぬクリックを誘発することになる。Uタグとの混同も問題だ。
649 名前:Name_Not_Found mailto:sage [2008/05/17(土) 21:53:39 ID:???] <a name="label">ラベル</a>
650 名前:Name_Not_Found mailto:sage [2008/05/17(土) 22:28:55 ID:???] >>642 は記入ミスなのではないだろうか ? なぜなら href="#" となっているから. これは <a>~</a>をボタン代わりに転用するときに良く用いられる記述. (この使い方は個人的に邪道だと思っている) >>642 は たぶん, 以下のように書きたかったのでは ないかな ? : <li><a href="#" id="current">hoge</a></li> しかし, 質問者には ( getElementById() を使わなければ という ) 先入観が入っていて document.getElementById('current').innerHTML = 'huga'; などと言う記述が続く. これでは誰でも幻惑されてしまう...
651 名前:642 mailto:sage [2008/05/17(土) 23:13:25 ID:???] ごめんなさい。掲示した例が大きく間違っています。 × <li><a class="current">hoge</a></li> ○ <li><a href="#" class="current">hoge</a></li> でした; 何もクラス名が付いていないa要素に class="current"を追加する方法という趣旨の質問でした。 typoとか…俺アホス
652 名前:Name_Not_Found mailto:sage [2008/05/17(土) 23:16:36 ID:???] >>651 何らかの方法で取得したidやクラス名を設定したいエレメントをelmとすると、 elm.id = 'current'; // idの場合 elm.className = 'current'; // クラス名の場合 ただclassNameの場合には、空白区切りで複数指定が可能(elm.className='foo bar'など)なので、 そのようなケースでは、単純に代入するだけでは駄目だけれど。
653 名前:642 mailto:sage [2008/05/17(土) 23:32:56 ID:???] >>652 ありがとうございます。取得ができれば追加することはできるということですね。 いまさらですがひょっとしてこの要素は 取得する方法が無いのでしょうか
654 名前:Name_Not_Found [2008/05/18(日) 01:15:13 ID:wvZc+6F1] addEventListenerでmousedownをイベント追加しているのですが、反応が鈍いのです。 というのも何回もかちかちマウスをおさなければ反応しません。 ただ、必ず一度目は反応します。すごく不思議な現象なのですが教えてください。 他にループさせたり、複雑な処理はおこなっていません。
655 名前:Name_Not_Found mailto:sage [2008/05/18(日) 01:16:25 ID:???] ↑ちなみにgreasemonkeyです。
656 名前:Name_Not_Found mailto:sage [2008/05/18(日) 01:30:18 ID:???] getElementByIdを使わずfirstChildを使えば解決しました。 理由はわかりません。
657 名前:Name_Not_Found mailto:sage [2008/05/18(日) 01:30:34 ID:???] つ Firebug
658 名前:Name_Not_Found mailto:sage [2008/05/18(日) 02:05:59 ID:???] >>653 このスレッド的な回答は "FAQ A13 読め" となる. 本来これで十分なはずだけど, 蛇足: homepage2.nifty.com/alter/samples/table_background2/exam.html (質問とは無関係なようだが "こんなこともできます" というサンプル)
659 名前:Name_Not_Found mailto:sage [2008/05/18(日) 02:44:48 ID:???] そのサンプルとやらの問題点が、まさに>>542 からの流れだったんだがな。
660 名前:Name_Not_Found mailto:sage [2008/05/18(日) 04:02:25 ID:???] >>658 そこまでして他人との接点が欲しいなら、 安いPCでも買って無料のMMORPGでもやったらどうかと本気で思うよ。 お仲間のニートも大量にいるようだし。
661 名前:Name_Not_Found mailto:sage [2008/05/18(日) 06:22:45 ID:???] >>659 ここを覗いては いるけど流れまでは掴んでない. >>660 お邪魔しました (ここは基本的に ROM 專) (というか, 話題に ついていけない) "安い PC" については現時点の PC OS の いずれにも不満なので, (よく知らないけど製造元の御都合の塊のように思えてならない) むしろ "debian" install を目標としてます. (しかし先に進めず) 思わず乱入しただけなので ROM 專 に戻りますだ.
662 名前:Name_Not_Found [2008/05/18(日) 09:03:00 ID:HNQeYZGh] よく変数名に使われる「str」ってなんですか?
663 名前:Name_Not_Found mailto:sage [2008/05/18(日) 09:07:52 ID:???] string
664 名前:Name_Not_Found mailto:sage [2008/05/18(日) 09:08:38 ID:???] strength
665 名前:Name_Not_Found mailto:sage [2008/05/18(日) 10:03:10 ID:???] >>662 そんなもの正解なんかないだろ
666 名前:625 mailto:sage [2008/05/18(日) 11:18:16 ID:???] >>643 お返事ありがとうございます。 しかしなぜか「1. $(".load").html()で取得したデータをグローバル変数に 格納する。」ができません。ただ、調べていた最中に知らなかったこと (JSONとか)が出てきたので、根本的に構成を考え直したいと思います。
667 名前:Name_Not_Found mailto:sage [2008/05/18(日) 15:22:45 ID:???] >>665 ハンガリアン記法云々では無いが、 ある程度共通認識として通用する名前なら、それを踏襲するのは悪い事じゃないけどね。 変数名として、オブジェクトならobjだとか、エレメントならel,elemなど。
668 名前:Name_Not_Found mailto:sage [2008/05/18(日) 16:08:55 ID:???] んなら、hairetuだとかninzuuだとかmojietuがいいでない?
669 名前:Name_Not_Found mailto:sage [2008/05/18(日) 18:38:43 ID:???] 変数名が丁寧につけられたソースはそれがコメントの代役を果たしてくれて読みやすい 逆に自分のコードでもその辺を適当にしてたり無駄なコメントをゴテゴテ付けてたりすると後でちょっと泣く 書いてる最中は勢いがいいからそういうことを忘れやすいけど、長く保存するコードは特に気を付けたい、 というより、お願いだからまともな名前を付けてあげて><
670 名前:Name_Not_Found mailto:sage [2008/05/18(日) 18:59:05 ID:???] ハンガリアンだとちょっと変数名長くなるよな。 変数名の長さは、JSファイルが大きくなることでのロード時間が延びることと 処理系によっては、もしかしたら、実行時間にも影響与えるかも。 なので、strXXじゃなくsXXにしてる。
671 名前:Name_Not_Found mailto:sage [2008/05/18(日) 19:13:33 ID:???] それはないわ
672 名前:Name_Not_Found mailto:sage [2008/05/18(日) 19:18:00 ID:???] ただの貧乏性だろw
673 名前:Name_Not_Found mailto:sage [2008/05/18(日) 19:34:42 ID:???] contentEditableとかdesignModeを使用していない 自作のエディタの実装ってどれぐらいある?
674 名前:Name_Not_Found mailto:sage [2008/05/18(日) 19:45:02 ID:???] すいません質問です。 下記の『妖怪大戦争』のサイトのようにenterから入ってフラッシュのページを固定画面で 出したいと思っています。 ttp://yokai-movie.com/index.html (妖怪大戦争) 調べてみると、 <script type="text/javascript"> function changesize(){ window.resizeTo(650,410); } window.onload=changesize; window.onresize=changesize; </script> 上記の記述でウィンドウサイズを固定できるようですが、ブラウザ上部分のボタンや アドレスなどのバーの高さも含めてしまうめ、肝心のswfファイルがそれに合わせて 切れてしまいます。 上記以外で、よい方法がないでしょうか?
675 名前:Name_Not_Found mailto:sage [2008/05/18(日) 19:46:07 ID:???] IEのメモリーリークのせいで、 無名関数やクロージャーが使いづらくなっている状況について、 JavaScript言語としても対策が打てるんじゃないかなと思うけど、 何かやってるか知ってる人いますか?
676 名前:Name_Not_Found mailto:sage [2008/05/18(日) 19:52:17 ID:???] いまどき、resizeToが効くブラウザって少なくないですか。 IE6はOKだろうけど、タブブラウザが標準になってるからね。 効くようにするためにwindow.openしたら今度はポップアップブロックに引っ掛かるし。
677 名前:Name_Not_Found mailto:sage [2008/05/18(日) 20:03:48 ID:???] IE7で以下のような結果が出る。これなんで? document.body == document //false document.body >= document //true document.body <= document //true
678 名前:Name_Not_Found mailto:sage [2008/05/18(日) 20:12:38 ID:???] >>677 なんで評価が不思議な結果のかここに書いてみると、その途中で ハッと気付くから説明してみなよ。悪いことは言わない。
679 名前:674 mailto:sage [2008/05/18(日) 20:15:43 ID:???] 今ドリームウェーバーをいじってたらビヘイビアの機能でswfを指定したらいけました。 失礼致しました。 >>676 確かに微妙だと思うんですがお願いされてしまったもので…。
680 名前:Name_Not_Found mailto:sage [2008/05/18(日) 20:20:34 ID:???] >>670-672 こんなスレが立ってるよ。 【IT】重いウェブサービス…ボトルネックはブラウザー?…IE8、Firefoxなどの最新ブラウザ比較 [08/05/17] news24.2ch.net/test/read.cgi/bizplus/1211085228/l50 |その原因は、いわゆる「Ajax」などと呼ばれる最近のJavaScriptの流行にある。
681 名前:Name_Not_Found mailto:sage [2008/05/18(日) 20:40:08 ID:???] >>678 む、ってことは、 >=とかの場合にはtoString変換がかかって比較されてたりするの?
682 名前:Name_Not_Found mailto:sage [2008/05/18(日) 20:48:29 ID:???] >>680 残念ながら、SunSpiderのベンチって >>670 に上がってるようなものは測定しないんだよな。
683 名前:Name_Not_Found mailto:sage [2008/05/18(日) 21:19:47 ID:???] >>680 そのスレがこの流れとどう関係あるのか
684 名前:Name_Not_Found mailto:sage [2008/05/18(日) 23:22:09 ID:???] さっぱりわからん
685 名前:Name_Not_Found mailto:sage [2008/05/19(月) 01:18:42 ID:???] >>681 a <= bとかa >= bはaとbがオブジェクトだったら それをプリミティブ値に変換してから比較するので document.body >= documentもdocument.body <= documentもtrueということは IEのDOMオブジェクトはプリミティブ値が全部同じ値なんでしょう valueOf()やtoString()を書き換えても比較の結果が変化しないようなので 他の所でプリミティブ値を算出しているんじゃないですかね
686 名前:Name_Not_Found mailto:sage [2008/05/19(月) 11:35:39 ID:???] 実用レベルの話をすれば、Dateの比較には重宝するということだ。 あと言うまでもなくStringの比較にも重宝する。 これらの利便性を維持しつつ、ゴタクを並べて整理されたのが、ECMAScript後付仕様ということだ。
687 名前:Name_Not_Found [2008/05/19(月) 11:51:58 ID:jXVbhV0c] JavaScriptを勉強したいのである人に相談したところ、prototype.jsという ものをしっかりマスターしてくれということでした。それでやろうと思うの ですが、とほほに載っていないことがたくさん出てくるんですが新しい書き 方なのでしょうか。prototype.jsは最新のJavaScriptと思ってよいのでしょ うか。
688 名前:Name_Not_Found mailto:sage [2008/05/19(月) 12:27:45 ID:???] >>687 大きく違う! prototype.jsはAjaxライブラリ。 JavaScriptで凝ったことがしたい時に、ブラウザの差異などをAjaxライブラリが吸収して、 よりプログラミングしやすい環境を提供してくれるJavaScriptプログラムの集まり
689 名前:Name_Not_Found mailto:sage [2008/05/19(月) 12:32:19 ID:???] >>687 ライブラリのおまじないに浸るのも悪くないけど、まったくの入門者ならまずは>>1 の必読ガイドを熟読、 余裕があればECMAも読んで理解して使う。 ライブラリの使い方はソース読め。読めないうちはリファレンスでおまじない。 今世界中で流行っててアツイのはjQuery。
690 名前:Name_Not_Found mailto:sage [2008/05/19(月) 12:33:14 ID:???] >>688 釣れますか?
691 名前:Name_Not_Found mailto:sage [2008/05/19(月) 13:00:03 ID:???] >>687 業務で使うというなら別だけど、 JavaScriptを勉強しようという人間にPrototype.jsをやれというのも妙な話だね。 利用者も多く他のFrameworkとの共存も考えられているJQueryか、 ソースが洗練されて読みやすいMootoolsを勧めるよ。
692 名前:Name_Not_Found [2008/05/19(月) 15:39:17 ID:OckbCuCp] >>621 に付随した質問です。 最後の2行ですがなぜfirstchildにしたほうがいいのでしょう。 単純に速度面の問題からですか?
693 名前:Name_Not_Found mailto:sage [2008/05/19(月) 16:15:28 ID:???] <script type="text/javascript"> <!-- function ck(form){ if(form.way.value<1.5){ form.money.value=500+'円'; } } //--> </script> </head> <body> <form name="form"> <p>距離を入力してください<br> <input type="text" name="way">(km) 料金:<input type="text" name="money"></p> <input type="button" name="check" value="料金チェック" onclick="ck(this.form)"> </form> 質問させて下さいm(_ _)m 距離を1km以下を入力すると500円と表示され、それ以降0.5km増える度に 100円が追加されるようにするにはどうしたらいいですか?
694 名前:Name_Not_Found mailto:sage [2008/05/19(月) 16:33:43 ID:???] >>693 どうも疑問なのだが、1.2kmの場合は1kmが500円、それから 0.5km増えていないよね。だったら500円でいいの? 日本語で正確に仕様が記述できない奴にコードなんか書けないよ。
695 名前:Name_Not_Found mailto:sage [2008/05/19(月) 16:40:28 ID:???] >>694 あ、1.5km以下が500円でそれ以降0.5km増える度に100円プラスして いきたかったんです。文書の見直しをしてなくてすみませんです;
696 名前:Name_Not_Found mailto:sage [2008/05/19(月) 17:10:26 ID:???] >>695 ほんっっっとにこいつは… 1.7kmの場合は1.5kmが500円で、その後0.2kmしか 増えていないから500円のままででいいのかボケ! 仕様を正確に日本語で書けるまでここに来ないで欲しい。
697 名前:Name_Not_Found mailto:sage [2008/05/19(月) 17:16:16 ID:???] >>696 そういう仕様だというんだからそのままでいいんじゃないの。 つまり1.5kmを越えたら2.0kmまでは降ろしてもらえないタクシーと いうことで。
698 名前:Name_Not_Found mailto:sage [2008/05/19(月) 17:16:27 ID:???] >>693 function ck(form){ var fee = {'base':{'dist':1.5,'val':500},'adding':{'unit':0.5,'val':100}}; var sum = fee.base.val; if ( form.way.value > fee.base.dist ) sum += Math.floor((form.way.value-fee.base.dist)/fee.adding.unit)*fee.adding.val; form.money.value = sum+'円'; } それと、>>694 と>>696 は、 一般常識を知らないか、日本語の読解力に欠陥があるアホなのでスルーでおk。
699 名前:Name_Not_Found mailto:sage [2008/05/19(月) 17:28:51 ID:???] >>692 そうだね あの場合firstChildが目的の要素であることが自明だから 文書全体からIDをもとに目的の要素を探すより効率が良い
700 名前:Name_Not_Found mailto:sage [2008/05/19(月) 18:05:50 ID:???] >>698 親切にソースまで書いてくれてありがとうございます! やりたっかたのはこれです!本当に助かりましたm(_ _)m このソースを見て勉強します!
701 名前:Name_Not_Found mailto:sage [2008/05/19(月) 21:31:19 ID:???] formの入力値が全角カナ・ひらがな・漢字以外が入っているか確認するJavaScriptを書いているのですが、なかなかうまくいきません。 if(str.match(/[^亜-煕あ-ゞァ-ヶ]+/){ ひらがなカナ漢字以外が入ってる処理 }else{ 入ってない処理 } という感じで処理を分けたんですが、「答え」という文字を入力してもif文が反応して困っています。 どのような原因が考えられるのでしょうか?
702 名前:Name_Not_Found mailto:sage [2008/05/19(月) 22:18:05 ID:???] >>701 IMEパッド 文字一覧 unicode で範囲を調べなおせドアホ。 どうでもいいがおれならいちおう\uXXXX形式で書くがな。 あとしょうもないことだが1文字でもあったらという条件なら+は要らんだろボケ。
703 名前:701 mailto:sage [2008/05/19(月) 22:46:12 ID:???] >>702 なるほど、調べなおしてみて判りました。 Shift-JISとUnicodeの並びが違うので漢字が網羅できていないのですね。 第二水準まであれば十分だと思って亜-煕としたのですが、Unicodeではそのような分別は無さそうですので、Unicodeの上から下まで網羅してしまいたいと思います。 ありがとうございました。
704 名前:Name_Not_Found [2008/05/19(月) 22:50:08 ID:OckbCuCp] またまたgreasemonkey関係の質問で申し訳ないです。 greasemonkeyではページが読み込むごとに実行されますが、問題があります。 フレームページのときです。 フレームのメインページのURLを保持しつつ、HTMLの操作はフレームの、ウィンドウが大きいほうのページでやりたいと考えています。 location.hrefでそのページのURLは取得できますが、フレームの親のURLはなんらかの方法で取得できますか? どのようなアイデアが考えられますか? ご教授くださいませ。
705 名前:Name_Not_Found mailto:sage [2008/05/19(月) 22:53:11 ID:???] ページ内のリンクをクリックしたら、そのクリックしたリンクのURLを アラートで表示しようとしているのですが、下のようにやってうまくいきません。 <script type="text/javascript"> <!-- //ページ構築後に設定 window.onload = function() { var anchors = document.getElementsByTagName("a"); //要素にonclickイベントをセットする for (var i = 0; i < anchors.length; i++) { var anchor = anchors[i]; var url = anchors[i].href; anchor.onclick = function() {alert(url)}; } }; // --> </script> 実行するとすべてのリンクに、一番最後のリンクのURLが表示されてしまいました。 何故なのでしょうか?
706 名前:Name_Not_Found mailto:sage [2008/05/19(月) 23:07:20 ID:???] 質問させていただきます。 当方HP内に<object>を使用し、メディアプレイヤーを貼り付けております。 以下はその<object>です。 <object id="MPlayer" width="450" height="350" vspace = 110 classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" CODEBASE="activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715 " standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject"> <param name="URL" value="" /> <param name="ShowControls" value="true" /> </object> このようなオブジェクトを作成したのですが、スクロールをすると、 このオブジェクトが画面外に出てしまいます。 そこで、常にオブジェクトの位置を固定させる方法は無いものかと、 色々なサイトを見て回ったのですが、そのような情報はでてきませんでした。 上記のような<object> 〜 </object>を使用しない、通常の <input type="Submit" name="TOUROKU" value="テスト" > のようなものであれば、位置を固定させるclassを使うことはできるのですが、 <object> 〜 </object>では、このclassを使うこともできず困っております。 良い方法があれば、ご教授いただけないでしょうか
707 名前:Name_Not_Found mailto:sage [2008/05/19(月) 23:26:38 ID:???] >>706 <input> <object> 両方の実例を貼るかアップしろ
708 名前:Name_Not_Found mailto:sage [2008/05/19(月) 23:27:54 ID:???] >>704 unsafeWindow.top.location.href とかなんとかでできそうなきがするが
709 名前:Name_Not_Found mailto:sage [2008/05/19(月) 23:44:22 ID:???] >>705 ... = function (url) {return function () {alert(url);};}(url); とすればできるが、 1. ドンピシャでメモリーリークパターン。 2. A要素オブジェクトの順番・数が変わったらパー。 という問題がある。 基本(というか俺が押し付けているだけの基本だが)に帰れ。 1. バブルするなら、アホ外人が俗に言うイベントデリゲーション。 2. バブルしないなら、HTMLのイベント属性。
710 名前:Name_Not_Found mailto:sage [2008/05/19(月) 23:46:22 ID:???] >>709 の >A要素オブジェクトの順番・数が変わったらパー。 は間違い。変数 i じゃないな。
711 名前:Name_Not_Found mailto:sage [2008/05/19(月) 23:54:52 ID:???] >>707 <script type="text/javascript" src="Hidiv.js"></script> と設定をした状態で、 うまくいくほうは、(INPUTではありませんでした。スミマセン) <DIV style="position:absolute;top:150;left:20;color:WHITE;font-size:13px;" class="divfixed:top"> 【日時】 </DIV> です。 サンプルを下記に示します。 ttp://himajin.moo.jp/freejava/hidiv/hidiv.html このサイトの"縦方向に固定"というのが私がやりたいことです。 <object>のほうは、先ほどもかきましたが、 <object id="MPlayer" width="450" height="350" vspace = 110 classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" CODEBASE="activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715 " standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject"> <param name="URL" value="" /> <param name="ShowControls" value="true" /> </object> となりますが、どこで設定をしたらよいのかがわからない状態です。
712 名前:Name_Not_Found mailto:sage [2008/05/20(火) 00:16:57 ID:???] >>708 調べてみるともとからページに用意されている変数を参照できるものだとわかりました。 ただ、これをどのように利用すればよいかわかりません。 質問ばかりで申し訳ないですが教えてください。
713 名前:Name_Not_Found mailto:sage [2008/05/20(火) 00:19:31 ID:???] >>705 >>709 >>710 this使えよ
714 名前:Name_Not_Found mailto:sage [2008/05/20(火) 00:41:14 ID:???] >>705 横から質問なんだけど、最後のURLのリンクが出てしまうってなぜなの? anchor.onclick = function() {alert(url)} のfunctionが作られるのはonclickが実行された時ってこと?
715 名前:Name_Not_Found mailto:sage [2008/05/20(火) 01:23:48 ID:???] >>714 window.onload()は1回しか実行されてないから、 そのローカル変数であるurlも1つしかないんだな。 クロージャで調べるとよろし。
716 名前:705 mailto:sage [2008/05/20(火) 01:46:54 ID:???] >>713 に指摘してもらったthisでやったらいけました。 こんな感じで。 <script type="text/javascript"> <!-- //ページ構築後に設定 window.onload = function() { var anchors = document.getElementsByTagName("a"); //要素にonclickイベントをセットする for (var i = 0; i < anchors.length; i++) { var anchor = anchors[i]; anchor.onclick = function() {alert(this.href)}; } }; // --> </script> window.onload()は確かに1回しか呼ばれないんですが、関数の中でfor文をまわすことで できないんでしょうか? 変数 i がいけないのか、よく分からないです。
717 名前:Name_Not_Found mailto:sage [2008/05/20(火) 01:52:52 ID:???] 変数をfunctionで包んでも値がコピーされるわけじゃないから。 スコープ クロージャ とかでグーグルしる
718 名前:Name_Not_Found [2008/05/20(火) 02:12:42 ID:R251vqgJ] 質問です。xp explorer6.0 highslideを入れたいのですが、 画像をクリックすると、 カーソルが砂時計になり、画像の上にloadingと出て、何も起こりません。 <html> <head><meta http-equiv="Content-Type" content="text/html; charset=Shift-js" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <link href="highslide/highslide.css" rel="stylesheet" type="text/css" media="screen"/> <script type="text/javascript" src="highslide/highslide.js"> hs.showCredits=false; hs.graphicsDir = "home.files/highslide/graphics/'; hs.outlineType = 'rounded-white'; </script></head> <body> <a href="b00.jpg" class="highslide" onclick="return hs.expand(this)" onkeypress="return hs.expand(this)"> <img src="b00s.jpg" border="1" id="00"></a> </BODY></HTML> 上記ソースで、パス以外で何か足りないもの間違えていることありましたら教えていただきたいですm(_ _)m
719 名前:Name_Not_Found mailto:sage [2008/05/20(火) 03:00:10 ID:???] >>713 今更何を薦めているのかね。5年以上タイムスリップした気分だよ。 アホ外人が俗に言うイベントデリゲーションを使うべきだ。 currentTargetたるthisを使おうとするからメモリーリークパターンにはまる。 だいたい、リンクをロード時に総なめ? しかもクリックして使われるのは1つだけと予想されるのに? リンクなんて、当たり前のように100個1000個あるだろう。 ロード中を示すブラウザ右下のバーが消えないのは気持ちいいものではない。 黙って俺に従え。オマエラとは年季も実力も違いすぎる。 バブルするイベントタイプでは、アホ外人が俗に言うイベントデリゲーションを使え。
720 名前:Name_Not_Found mailto:sage [2008/05/20(火) 04:42:51 ID:???] >>719 this はリークしねーよ 真ん中は同意 推めるならアホアホ言うなw
721 名前:Name_Not_Found mailto:sage [2008/05/20(火) 04:47:28 ID:???] デリゲーション言うとアホなん?
722 名前:Name_Not_Found mailto:sage [2008/05/20(火) 04:59:41 ID:???] しらんねん
723 名前:Name_Not_Found mailto:sage [2008/05/20(火) 05:35:07 ID:???] >>719 残念ながらお馬鹿がアホな文章で正論を吐いても説得力に欠けるよ。 a. 旧来のタグ埋め込みなどのelem.onclick=function...形式。 b. イベントリスナ(addEventListener)を利用し、イベント対象となる個々のエレメントにそれぞれのイベントハンドラを設定する。 c. イベント対象となる複数のエレメントの親エレメントでイベントを監視する。 簡単に言えばc.がイベントデリゲーションと呼ばれる手法。 例えばメニュー(ul#menu)の項目(li)で、clickによりその直下の子エレメント(li>ul.subMenu)のstyle.displayを切り替える場合に、 b.では対象となる全てのliにli.addEventListener('click',function...)などとしなければならないが、 c.の場合にはul#menuだけにイベントリスナを設定し、 一つのイベントハンドラで全て処理するようにする。 Event Delegation ttp://cherny.com/webdev/70/javascript-event-delegation-and-event-hanlders
724 名前:Name_Not_Found [2008/05/20(火) 05:56:46 ID:YqQnDQ/Z] 何いってるのか、わからん
725 名前:Name_Not_Found mailto:sage [2008/05/20(火) 06:01:45 ID:???] そうかいな
726 名前:Name_Not_Found mailto:sage [2008/05/20(火) 06:12:06 ID:???] イベントリスナとイベントハンドラの違いを語ってくれ
727 名前:Name_Not_Found mailto:sage [2008/05/20(火) 07:23:01 ID:???] >>723 理解したthx。
728 名前:Name_Not_Found mailto:sage [2008/05/20(火) 22:01:55 ID:???] >>673 これ誰か知りませんか? 例えば、TinyMCEなどはexecCommandをばりばり使っています。そういうのは不要です。 「比較的」execCommandなどに頼らないものとして、YahooUIのeditorがあるのは知っています。 YahooUIのeditorに近いか、またはブラウザ依存の機能を比較的使用していないエディタとして他にご存じの方いますか?
729 名前:Name_Not_Found mailto:sage [2008/05/20(火) 22:05:46 ID:???] >>685 プリミティブ値ってあんまり聞いたことないな。 よく分からないけど、 要はブラウザの中で何かの値で比較しているけど、その何かは不明で、 JSからでも設定したりすることは出来ないってことでおk?
730 名前:Name_Not_Found mailto:sage [2008/05/20(火) 22:08:41 ID:???] >>726 イベントリスナはaddEventListenerのことで、 イベントハンドラはaddEventListenerの引数に渡す関数のことかな? ただ、イベントリスナというと関数のことを指してることも多いよね。
731 名前:Name_Not_Found mailto:sage [2008/05/20(火) 22:41:50 ID:???] 同じjavascriptを使っているのに、自分のページではポップアップブロック表示が出てうまく動作しない、 違う人のページは開いてもポップアップブロックが出ないし、 正常に動作する。。。なんでですか??
732 名前:Name_Not_Found mailto:sage [2008/05/20(火) 22:44:42 ID:???] JavaScript中・高レベルスレって欲しいと思いますか? でもこういうのって2chじゃ例外なく廃れるんだっけ。
733 名前:Name_Not_Found mailto:sage [2008/05/20(火) 22:45:26 ID:???] >>731 IEのバージョンとセキュリティ設定&ポップアップブロック設定&インターネットゾーン確認
734 名前:Name_Not_Found mailto:sage [2008/05/20(火) 22:47:54 ID:???] そのまんま、傾聴者と操作者でいいと思うが 俺の中のイメージでは 傾聴者 ⊃ 操作者
735 名前:Name_Not_Found mailto:sage [2008/05/20(火) 23:35:40 ID:???] >>732 >JavaScript中・高レベルスレ ム板のECMAスレでいいんじゃん? なぜかwebprog板にもあるしな
736 名前:Name_Not_Found mailto:sage [2008/05/20(火) 23:36:01 ID:???] >>732 このスレが初心者に優しくないスレ→中・高レベルスレ なんだよね。それでも大したレベルじゃないと言われれば そうだねという他ないけどね。そのおかげで64スレも続いて いるとも言えるわけで。
737 名前:Name_Not_Found [2008/05/20(火) 23:36:20 ID:7DaotzHY] >>730 イベントリスナー ・・・ addEventListener等 イベントハンドラ ・・・ on○○○(onclick,onfocus等) 多分HTMLに書き込むかDOM操作かの違いだと思うよ。
738 名前:Name_Not_Found mailto:sage [2008/05/20(火) 23:43:51 ID:???] >>729 プリミティブ値はオブジェクトではない数値や文字列などのことです IEの場合はそうみたいですね ただDOMオブジェクトのようなオブジェクトのプリミティブ値への変換は 実装依存でも良いので、それはブラウザによって変わってくるでしょう OperaやSafariなんかだと DOMオブジェクトのvalueOf()やtoString()を書き換えることで通常のオブジェクトと同じように a <= bやa >= bの結果を変えることが出来るようです
739 名前:Name_Not_Found mailto:sage [2008/05/21(水) 00:02:20 ID:???] ついでに、element同士の==と===で動作が分かれるブラウザある?
740 名前:Name_Not_Found mailto:sage [2008/05/21(水) 00:09:02 ID:???] 関数式と関数定義の違いによってJavaScriptの処理時間が変わったりする? 関数式の方がスコープの保持と代入文にかかるコストがかかる分 ちょっと重くなるとおもってるんだけど、初期定義のときだけであって、 それ以外の関数呼び出しなどでは変わってこないと思ってるんだが、どうだろう。
741 名前:Name_Not_Found mailto:sage [2008/05/21(水) 00:19:25 ID:???] >>737 それなら>>723 は意味不明になるな
742 名前:Name_Not_Found mailto:sage [2008/05/21(水) 00:24:37 ID:???] EventListener実装オブジェクトとEventListener#handleEvent()かね。よぉわからん。
743 名前:Name_Not_Found mailto:sage [2008/05/21(水) 00:59:56 ID:???] 一般的に、実際にイベントを処理する関数などを、 イベントハンドラやイベントリスナーと呼ぶ。 なので、本来の用法ではaddEventListenerやonclickなどで登録する関数自体がイベントリスナーだけど、 エレメントとイベント(clickやmouseoverなど)とイベントを処理する関数を結びつける処理をイベントリスナーと呼び、 実際に処理する関数の事はイベントハンドラと呼んで区別する場合もあるね。
744 名前:Name_Not_Found mailto:sage [2008/05/21(水) 01:51:43 ID:???] DOM規定では、Javaみたいに関数を直接オブジェクトとして扱えない言語のために、 イベントハンドラhandleEvent()をメソッドに持つオブジェクトをイベントリスナとしている。 イベント発生時にイベントリスナがhandleEvent()を呼び出す。 だがECMAScript系言語では関数をオブジェクトとして扱えるので、 addEventListener()に関数オブジェクトをそのまま渡せる。 なので、イベントリスナ=イベントハンドラと解釈してほぼ問題ない。 ちなみにGeckoは昔から、Safari、Operaは最近のバージョンから、 JavaのようにaddEventListener()にhandleEvent()を持つObjectを与えても動く。 この場合はObjectがイベントリスナ、handleEvent()がイベントハンドラということになる。 イベントハンドラ内のthisがノードではなくObjectを指すので、意外に使い勝手が良い。 DOM EventsをもとにしたXML Eventsでは、 observer要素とhandler要素を紐付けるものをlistener要素としている。 これは>>743 の解釈に近い。 結局、仕様ですら用語がぐだぐだだから気にするな。
745 名前:Name_Not_Found mailto:sage [2008/05/21(水) 02:11:02 ID:???] JavaScript の Array の要素数の取得方法がよくわかりません。 var ar = new Array(); ar["テスト"] = "aaaa0"; alert(ar.length); <- 0と表示される alert(ar["テスト"]); <- aaa0 が表示される 上記の場合は、要素数が1になるような気がするのですが 0になってしまいます。 なぜなのでしょうか? また、この場合に1を取得する方法はありますか? 動作環境はIE7になります。
746 名前:Name_Not_Found mailto:sage [2008/05/21(水) 02:21:09 ID:???] 配列が空だから0 1を取得する方法より設計を見直すのが先
747 名前:Name_Not_Found mailto:sage [2008/05/21(水) 03:42:36 ID:???] 全角は使わない方が・・・
748 名前:Name_Not_Found mailto:sage [2008/05/21(水) 04:00:15 ID:???] リンクをクリックして、ファイルのダウンロードのダイアログが出る際に リンクのファイル名と異なるファイル名にすることは可能でしょうか 例えば、TEST.zip のリンクをクリックした際に ブラウザでダウンロードの確認ダイアログが出ますが、 TEST.zip でなく 『 ファイルを保存しますか? DATA.zip 』 と名前を変えて。ダウンロード確認ダイアログを出すような感じです よろしくお願い致します。
749 名前:Name_Not_Found mailto:sage [2008/05/21(水) 07:18:33 ID:???] つ CGI
750 名前:Name_Not_Found mailto:sage [2008/05/21(水) 08:14:36 ID:???] >>749 ありがとうございます、 やっぱり CGI 使わないと実現できないっぽいですね。。。
751 名前:745 mailto:sage [2008/05/21(水) 09:12:51 ID:???] >>746 >>747 Cの stl にある map みたいな事ができないかなと思ったのですが、 Arrayではできないのでしょうか? std::map<CString, CString> hoge; for (std::map<CString, CString>::itrator it = hoge.begin(); it != hoge.end(); it++) { it->first; it->second; }
752 名前:Name_Not_Found mailto:sage [2008/05/21(水) 09:18:39 ID:???] >>751 つ ハッシュ 列挙はfor/inで出来るし。
753 名前:Name_Not_Found [2008/05/21(水) 13:53:18 ID:cyE7aUGz] greasemonkeyでパネルをdiv使って表示しています パネルの中にタグ書いてるんですがその内容が元ページのcssを反映してしまいデザインが統一されません。 パネルのなかだけ全てのどんなスタイルシートも無効にすることはできますか? 教えてください。
754 名前:Name_Not_Found mailto:sage [2008/05/21(水) 13:55:17 ID:???] >>753 できません。iframeを使うか、すべてのCSSプロパティを自前で 指定し直すか。
755 名前:Name_Not_Found [2008/05/21(水) 14:07:28 ID:cyE7aUGz] そうですか即レスありがとうございます ではdivのスタイルのbottomを0以外に設定すると表示されなくなるページがあるのですが これはどういったcssが考えられますか?
756 名前:Name_Not_Found mailto:sage [2008/05/21(水) 14:23:34 ID:???] >>755 「では」時点でスレちがい。
757 名前:Name_Not_Found [2008/05/21(水) 14:38:39 ID:cyE7aUGz] そうでした 申し訳ありませんでした
758 名前:Name_Not_Found mailto:sage [2008/05/21(水) 22:28:08 ID:???] 初心者の横やりレスであってるかわからないですが、 divにidをつけて、cssはidごとに指定してやるやりかたではどうですか
759 名前:Name_Not_Found mailto:sage [2008/05/21(水) 23:31:53 ID:???] >>751-752 map程度は組み込みでサポートしてる。 同じ処理をJSで書いたらこんな感じ。 var hoge = {}; //[]でも可。 for(var prop in hoge) { prop; //it->first; hoge[prop]; //it->second; } になるかな。ただ、>>634 みたいなことを注意する必要があると思う。 map::size()の代わりにlengthを使おうとしているなら、 Arrayも上記の例もそのような機能はない。 いちいちループまわして、個数数えるしかない。 それがいやなら、自作のハッシュクラスを作る必要がある (事実prototype.jsは自作版がある。正直微妙だけど。)
760 名前:Name_Not_Found mailto:sage [2008/05/22(木) 00:06:02 ID:???] 質問させてください。 下記のようなHTMLで、メディアプレイヤーをHP内に埋め込みました。 <object id="MPlayer" width="450" height="350" vspace = 110 classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" CODEBASE="activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715 " standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject"> <param name="URL" value="" /> <param name="ShowControls" value="true" /> </object> この"MPlayer"のページ内の位置を、ボタンを押すことで、徐々に 下に下げていくようなjavascriptを作成したいのですが、 MPlayer.style.left=○○; という記述をしても、動作してくれません。 objectの位置をjavascriptで指定してやることはできなのでしょうか。 ご存知の方がいらっしゃれば、ご教授くださいませんでしょうか。
761 名前:Name_Not_Found mailto:sage [2008/05/22(木) 00:10:19 ID:???] >>760 CSSの問題。leftやtopはposition: absoluteじゃないと効かない。 var el = $("MPlayer"); el.style.position = "absolute"; count = 10; setInterval(function(){ el.style.top = (count++) + "px"}, 100);
762 名前:Name_Not_Found mailto:sage [2008/05/22(木) 00:38:46 ID:???] 無神経に$を使う奴はECMA262の7.2を読んだことも、 それを前提にしたコンパイラとかドキュメント生成とかも 考えたことがないんだろうな >>706 ,>>760 はマルチ
763 名前:Name_Not_Found mailto:sage [2008/05/22(木) 01:09:07 ID:???] $は省略記法みたいなもんだがな
764 名前:Name_Not_Found mailto:sage [2008/05/22(木) 01:13:28 ID:???] >>761 回答ありがとうございます。試してみます。 >>762 確かにマルチなのですが、向こうの板ではスルーされてしまったので こっちに書かせてもらいました。 本来であれば$を使わないほうが良いということなんですかね
765 名前:Name_Not_Found mailto:sage [2008/05/22(木) 01:41:19 ID:???] >>761 もう一つご質問させていただいてもよろしいでしょうか 先ほどの質問の理由が、「画面をスクロールしても、メディアプレイヤーの 表示位置を変えないようにしたい」からです。 そこで、スクロールするごとに、少しずつメディアプレイヤーオブジェクトの 位置を下に下げていってやればよいかと思ったのですが、それだとカクカク してしまいます。 検索をして調べたところ、 position: fixed; を使用すればよいという情報はあったのですが、 el.style.position = "fixed"; とやっても効果はありませんでした。 なんとか良い方法はないものでしょうか
766 名前:Name_Not_Found mailto:sage [2008/05/22(木) 02:16:30 ID:???] >>765 「fixed position」とかでぐぐったら、 IE6だとCSSは効かないけど、setExpresionかbehavior(*.htc)ならどうにかなるとあった。 試してないが。
767 名前:Name_Not_Found mailto:sage [2008/05/22(木) 02:26:20 ID:???] >>762 ECMA262の7.2を読んだが何が問題なのかわからなかった。 参考までに教えてくれないか?
768 名前:Name_Not_Found mailto:sage [2008/05/22(木) 02:59:45 ID:???] >>762 は7.6の間違いではないかとエスパーしてみる。
769 名前:Name_Not_Found mailto:sage [2008/05/22(木) 03:13:28 ID:???] シーッww 誰でも勘付くことなんだから、そこはもうちょい引っ張れよw
770 名前:Name_Not_Found [2008/05/22(木) 15:03:24 ID:sCQbTBD7] divの背景色をidを指定して変えたいのですが、 document.getElementById("aaa").style.backgroundColor = red; で変わりません。ちなみに、<div id='aaa'> </div> としています。 初心者の質問かもしれませんが、どうか教えてください。
771 名前:Name_Not_Found mailto:sage [2008/05/22(木) 15:38:45 ID:???] >>770 その「red」という変数には何が入っているの? もしかして「'red'」の間違いとか?
772 名前:Name_Not_Found [2008/05/22(木) 15:41:45 ID:sCQbTBD7] すいません、書き間違えました。 document.getElementById("aaa").style.backgroundColor = 'red'; です。
773 名前:Name_Not_Found [2008/05/22(木) 15:44:43 ID:sCQbTBD7] 'red'にすることで、うまくいきました! ありがとうございます。 もうひとつ質問があるのですが、 "aaa"の部分を変数にしたいのですが、 document.getElementById(id).style.backgroundColor = 'red'; ではエラーになってしまいます。 初心者ですいません。どうか教えてください。よろしくお願いします。
774 名前:Name_Not_Found [2008/05/22(木) 15:51:13 ID:sCQbTBD7] functionの中にあるからエラーになっている感じです。 functionの外でvar id=""としているのですが、 なぜなのでしょうか? alert(id);とすると、ちゃんとidは入っているようなのですが、 document.getElementById(id).style.backgroundColor = 'red'; とするとエラーになります。
775 名前:Name_Not_Found mailto:sage [2008/05/22(木) 15:51:22 ID:???] >>773 3)初心者という言葉は危険なので使わない方がよい。 初心者を言い訳に自力で調べない/考えない奴が最悪に嫌われる。 4)自分で調べたこと/試したこときちんと書く(調べもしない奴は最低)。 ただ「動きません」「エラーです」は何も情報がないため嫌われる。 エラーは「どの行で何のエラー」を書く(ブラウザをそのように設定すれ)。 ブラウザの設定すらできんヤシはFFxのJavaScriptコンソールを使え!!! OS、ブラウザ、バージョン、うまく行かない条件を明記しエラー再現可能に。
776 名前:Name_Not_Found [2008/05/22(木) 15:51:50 ID:sCQbTBD7] idはfunctionの中で代入しています。
777 名前:Name_Not_Found [2008/05/22(木) 16:09:02 ID:sCQbTBD7] function put(obj) { aaa=selid; obj.style.backgroundColor=putColor; selid=obj.id; document.getElementById(aaa).style.backgroundColor =normalColor; } 一度変数を別の変数に代入するとなぜかうまくいきました。これで、意図した内容は実現したのですが、エラーが出てしまいます。
778 名前:Name_Not_Found [2008/05/22(木) 16:54:37 ID:sCQbTBD7] nullの時も実行してしまうのでエラーがでたようでした。 ifを使って回避するとうまくいきました。 ありがとうございました。
779 名前:Name_Not_Found [2008/05/22(木) 17:30:09 ID:JvlMiVy4] よろしくお願いします。 親ウィンドウにボタンA、ボタンBがあり、 ボタンAまたはボタンBから子ウィンドウが呼び出されます。 このとき、子ウィンドウの方でどちらのボタンから呼び出されたかを 知りたいのですが、どうすればよいでしょうか?
780 名前:Name_Not_Found mailto:sage [2008/05/22(木) 18:16:11 ID:???] >>779 子ウィンドウにhiddenのINPUTを作って親からそこに識別文字列を 送ってやる。それを子側で読み取る。
781 名前:Name_Not_Found mailto:sage [2008/05/22(木) 19:02:10 ID:???] windowのプロパティでいいだろ
782 名前:779 mailto:sage [2008/05/23(金) 12:44:28 ID:???] >>780 ,781 まだ試していませんが、ありがとうございます。 どちらが簡単か調査して、また来ます。
783 名前:Name_Not_Found mailto:sage [2008/05/23(金) 14:48:57 ID:???] どちらが簡単か調査ってw >>781 だよ。NN3でも確実にできていたわけだしw
784 名前:Name_Not_Found mailto:sage [2008/05/23(金) 15:31:00 ID:???] NN3 wwwWWWWWW
785 名前:779 mailto:sage [2008/05/23(金) 15:53:41 ID:???] >>783 そんなこともよく分かってない素人なんです。。 案外あっさり作れましたけど、もっと良い方法があれば教えてください。 <html><head> <title>親</title> <script language="JavaScript"> function subwin(elm){ var str = elm.id; window.open('test_sub.html',str); } </script> </head> <body> <input type="button" id="buttonA" name="buttonA" onclick="subwin(this)" value="ボタンA" > <input type="button" id="buttonB" name="buttonB" onclick="subwin(this)" value="ボタンB"> </body></html> (test_sub.html) window.onload=function (){ alert(window.name); }
786 名前:Name_Not_Found mailto:sage [2008/05/23(金) 16:39:22 ID:???] >>785 window.nameで渡すとは、ポイントを押えているなw ホストというかドメインが違っていても、確実に値を渡せるから。
787 名前:785 mailto:sage [2008/05/23(金) 17:05:42 ID:???] >>786 いや、これ以外わからないからやってるだけなんですw 結果オーライなようでちょっと安心ですが、他の方法というのが気になります・・・ window.openはwindow.nameしか渡せませんよね? open以外でも同じことをやれるということですか?
788 名前:Name_Not_Found mailto:sage [2008/05/23(金) 17:11:38 ID:???] >>786 JavaScriptがドメインを超えられるとは初めて聞いた。いつから仕様変更に なったの?
789 名前:Name_Not_Found mailto:sage [2008/05/23(金) 17:19:06 ID:???] >>788 はあ?越えてないだろ。他ホスト(というかここではドメインというかそういうセグメント全てが無関係)の操作に関与していない。頭整理してこいボケ。
790 名前:Name_Not_Found mailto:sage [2008/05/23(金) 17:20:28 ID:???] >>787 トホホへでも行って勉強してきたら?質問以前に単にモノが 分かってない希ガス。
791 名前:Name_Not_Found mailto:sage [2008/05/23(金) 17:22:00 ID:???] >>789 >ドメインが違っていても、確実に値を渡せるから
792 名前:Name_Not_Found mailto:sage [2008/05/23(金) 17:28:26 ID:???] >>791 値は渡せる。 しかし、その先で、name = ??? と書いてあればそれで終了だ。 頭整理してこい低脳。 ほんと、JS終わってるな。window.name の使途なんて、俺だけでも何度か書いたぞ、このスレで。 誰でも知ってる基本だろ。
793 名前:Name_Not_Found mailto:sage [2008/05/23(金) 17:28:57 ID:???] うん。window.nameだけはドメイン超えて渡せるよ。
794 名前:Name_Not_Found mailto:sage [2008/05/23(金) 17:30:05 ID:???] つか window までならおっけーなんだな 便利べんり
795 名前:Name_Not_Found mailto:sage [2008/05/23(金) 17:30:39 ID:???] あれ、nameだけ?
796 名前:Name_Not_Found mailto:sage [2008/05/23(金) 19:06:51 ID:???] ドメイン越えでちょっといたずらしてみっか
797 名前:Name_Not_Found mailto:sage [2008/05/23(金) 19:17:27 ID:???] それよりコンストラクタを再定義してJSONを盗み(ry
798 名前:Name_Not_Found mailto:sage [2008/05/23(金) 19:54:24 ID:???] ん?window.nameを利用すればデータを JavaScriptだけで受け渡し可能ってこと?
799 名前:Name_Not_Found mailto:sage [2008/05/23(金) 19:58:58 ID:???] >>798 そう。他のwindow.nameの利用法としてcookieの利用が禁止されているサイトでcookie代わりにするとか。 クロスドイメン通信法をまとめた記事があった。 ttp://d.hatena.ne.jp/nopnop/20080408/1207669947
800 名前:Name_Not_Found mailto:sage [2008/05/23(金) 21:14:39 ID:???] >>797 えーっと、それは、痛外人がほざく、自演前提の脆弱性なんだが、分かってるか馬鹿?
801 名前:Name_Not_Found mailto:sage [2008/05/23(金) 21:40:21 ID:???] >>799 そのうちすぐ出来なくなるよ。ドメインの外まで許す必要は何もない。 それは一種の脆弱性だ。
802 名前:Name_Not_Found [2008/05/23(金) 22:04:12 ID:gokaewxI] textareaを編集可能・編集不可能と切り替えたいのですが、 そういうライブラリがあれば教えて下さい 今はjqueryで、divとtextareaを置き換えてるのですが、 状態によって文字表示の具合が変わるのがいまいちです
803 名前:Name_Not_Found mailto:sage [2008/05/23(金) 22:04:55 ID:???] >>801 最近わざわざ新設された XDomainRequestとかpostMessageがなくなると言ってる? んなわけない。
804 名前:Name_Not_Found mailto:sage [2008/05/23(金) 22:08:18 ID:???] >>802 disabled属性の切り替えとか?
805 名前:Name_Not_Found mailto:sage [2008/05/23(金) 22:28:50 ID:???] >>804 もとから属性あったんですね ありがとうございました
806 名前:Name_Not_Found mailto:sage [2008/05/24(土) 10:35:54 ID:???] テキストボックスに漢字・かな・カナ・全角数字以外が入っているかチェックするスクリプトを作ったのですが、うまく動きません。 if(str.match(/[^一-龠ぁ-ヴァ-ヾ0-9]/)){ へんなの入ってるよー } という関数を作ったのですが、なぜかUnicodeの3095〜30a0にあるひらがなとカタカナの間にある文字にはmatch
807 名前:806 [2008/05/24(土) 10:37:33 ID:t89PUxdH] 途中送信してしまいました・・・以下続き matchが反応しません。どこか間違った指定をしているのでしょうか
808 名前:Name_Not_Found mailto:sage [2008/05/24(土) 10:47:36 ID:???] >>806 >>703
809 名前:806 mailto:sage [2008/05/24(土) 10:54:39 ID:???] >>808 一応そのレスを参考にIMEパッドのUnicode一覧から選択したんですが、うまくいかないのです。 追記:今見直してから気付きましたが、ぁ−ヴの部分はヴではなくう"(ひらがなのうに濁点)です。申し訳ないです…
810 名前:Name_Not_Found mailto:sage [2008/05/24(土) 11:04:14 ID:???] >>809 マルチバイトをASCIIに置き換えてみてはどうか あと真偽値が欲しいだけなら reg.test な
811 名前:Name_Not_Found mailto:sage [2008/05/24(土) 13:15:25 ID:???] >>810 だからもう、治ってるだろ。 ぁ−ヴにしていたせいで、3095〜30a0もひっかかっちまったんだが、「う"」にすることで修正出来たと。
812 名前:Name_Not_Found mailto:sage [2008/05/24(土) 13:46:32 ID:???] 809==811
813 名前:Name_Not_Found mailto:sage [2008/05/24(土) 18:48:44 ID:???] ようつべ見ようと思ったんですがJavaScriptがオフになってると言われて困ってます パソコンにはぜんぜん詳しくないのでどうすればいいからないのです 誰でもいいのでJavaScriptをオンにする方法を教えてくださいお願いします
814 名前:Name_Not_Found mailto:sage [2008/05/24(土) 19:15:30 ID:???] >>813 このスレはそういうスレではない。そもそも制作板は あんたの来るところではない。インターネット板へ行け。
815 名前:Name_Not_Found mailto:sage [2008/05/24(土) 19:18:47 ID:???] >>813 Yahoo!知恵袋 - ブラウザ、プラグインに関する質問 ttp://search.chiebukuro.yahoo.co.jp/dir/list/d2078297443/
816 名前:Name_Not_Found mailto:sage [2008/05/24(土) 21:17:30 ID:???] >>801 かわいそうになるくらい理解力が低いなおまえw
817 名前:Name_Not_Found [2008/05/24(土) 22:50:47 ID:wxX4+di8] フォームコントロール名と同じものをdomのidに設定しています フォームコントロールが配列になるとき、名前に[]が含まれますが、 domのidに[]が含まれるのは文法的に正しくないようです(tidyに注意される) domのidで、配列的なものを表現するには どうしたらいいのでしょうか?
818 名前:Name_Not_Found mailto:sage [2008/05/24(土) 23:31:16 ID:???] >>817 何言ってんだかわかんないからソース出して。
819 名前:Name_Not_Found mailto:sage [2008/05/25(日) 03:49:51 ID:???] [] を含めなきゃいい JavaScript となんの関連もない
820 名前:Name_Not_Found mailto:sage [2008/05/25(日) 07:33:38 ID:???] iframe で表示しているページになる メソッドを呼び出したいと思っています。 決めうちで書いた場合に以下のように書いた場合は、OnCancel という命令を 呼ぶことができました。 window.parent.Iframe0.OnCancel(); これをループでまわして呼ぶようにしたいのですが、どのように記述すれば よいでしょうか?
821 名前:Name_Not_Found mailto:sage [2008/05/25(日) 08:32:45 ID:???] >>820 日本語でおk
822 名前:Name_Not_Found mailto:sage [2008/05/25(日) 09:10:37 ID:???] DOM要素をドラッグ&ドロップする方法はいくつかあると思いますが、一般的なアルゴリズムというか、 基本的な考え方を教えてください
823 名前:Name_Not_Found mailto:sage [2008/05/25(日) 11:54:20 ID:???] >>822 ググってソースみればよいのでは? ソースみても分からない人間にアルゴリズムの説明をしても理解でき るとは到底思えないし。
824 名前:Name_Not_Found mailto:sage [2008/05/25(日) 12:13:18 ID:???] >>823 わからないなら黙ってればいいと思うよ
825 名前:Name_Not_Found mailto:sage [2008/05/25(日) 12:16:06 ID:???] >>824 教えてもいいが態度が気に入らない。
826 名前:Name_Not_Found mailto:sage [2008/05/25(日) 12:32:01 ID:???] >>825 pc11.2ch.net/test/read.cgi/hp/1207202319/67
827 名前:Name_Not_Found mailto:sage [2008/05/25(日) 12:35:49 ID:???] でっていう
828 名前:Name_Not_Found mailto:sage [2008/05/25(日) 12:58:41 ID:???] 基本的な考え方を文章で書くというのはなかなか難しい話だけど、 なんとかするとしたら、まず、誰かが「たたき台」を書かねばなるまい。 1.左ボタンを押したまま、マウス移動開始の瞬間に、 カーソルの下にある要素から「ドラッグ元」を特定。 「ドラッグ元」が移動可能だと判断したとき「ドラッグ開始」。 2.マウス移動中は必要があれば、マウスカーソルの形状を変えるなどの工夫をする。 3.左ボタンを離した時に、カーソルの下にある要素から「ドロップ先」を特定する。 「ドロップ先」がドロップ可能だと判断出来たときは、対応する動作をさせる。 ドロップ不可能だと判断した場合、ドロップしない。
829 名前:Name_Not_Found mailto:sage [2008/05/25(日) 13:06:41 ID:???] で、それをコードで書くとどうなりますか? ってのが、次の質問かな?
830 名前:Name_Not_Found mailto:sage [2008/05/25(日) 13:07:49 ID:???] >>822 クチで説明しても分からんよね。こういうまとめサイト見た方が… ttp://www.clipmarks.com/clipmark/4B4758A3-40A5-48FD-902A-D9F35A3FF904/
831 名前:820 mailto:sage [2008/05/25(日) 13:11:58 ID:???] >>821 複数のページに OnCancel() という 命令を実装し、 一度にまとめて呼び出したいとおもっています。 以下のように iframe の ID を arrayID という 変数に保持して 呼び出したいのですが、どのように記述すれば良いかわかりません。 for (var n = 0; n < arrayID; n++) { var id = arrayID[n]; /* ifarame の OnCancel() を呼び出す。*/ } すみませんが、教えていただけませんか? よろしくお願いします。
832 名前:Name_Not_Found mailto:sage [2008/05/25(日) 15:15:24 ID:???] >>820 FAQ >>3 のQ8/A8を100回読め。それで分からんのなら誰に 教わっても分からんと思うよ。つかFAQ読めない奴は来るな。
833 名前:Name_Not_Found mailto:sage [2008/05/25(日) 15:29:50 ID:???] >>832 わからないなら黙ってればいいと思うよ
834 名前:Name_Not_Found mailto:sage [2008/05/25(日) 15:32:27 ID:???] >>833 わからないなら黙っていればいいと思うよ。
835 名前:Name_Not_Found mailto:sage [2008/05/25(日) 15:36:42 ID:???] まぁ、なんでもFAQに結び付けるのもどうかと思うな。
836 名前:Name_Not_Found mailto:sage [2008/05/25(日) 15:41:37 ID:???] >>835 何いってんだ。FAQそのものだから言われてるに決まってるだろ。
837 名前:Name_Not_Found mailto:sage [2008/05/25(日) 15:44:09 ID:???] >>836 どこがだよw FAQ8はform部品のことを言ってるが、>>831 はiframeのことだろ。
838 名前:Name_Not_Found mailto:sage [2008/05/25(日) 15:46:01 ID:???] >>837 だからそうとしか思えない奴は教えても無駄だっての。 はい、以後スルーで。
839 名前:Name_Not_Found mailto:sage [2008/05/25(日) 15:59:27 ID:???] いちおうサービスで。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><title>???</title> <script type="text/javascript"> function test() { for(var i = 0; i < 4; ++i) { window.frames['f'+i].location.href = 'www.yahoo.com '; } } </script> </head><body> <h1>Test</h1> <button onclick="test()">Test</button><br> <iframe name="f0" src="about:blank"></iframe> <iframe name="f1" src="about:blank"></iframe> <iframe name="f2" src="about:blank"></iframe> <iframe name="f3" src="about:blank"></iframe> </body></html>
840 名前:Name_Not_Found mailto:sage [2008/05/25(日) 16:00:56 ID:???] つまり、>>820 がうまくいくというなら、 window.parent[id].OnCancel(); でうまくいくだろう。>>832 はそう思ってるということか。
841 名前:Name_Not_Found mailto:sage [2008/05/25(日) 16:01:23 ID:???] >>831 for (var n = 0; n < arrayID; n++) { var id = arrayID[n]; /* ifarame の OnCancel() を呼び出す。*/ window.parent[id].OnCancel(); }
842 名前:Name_Not_Found mailto:sage [2008/05/25(日) 16:52:02 ID:???] 以前、メディアプレイヤーの埋め込みについて質問させていただいたものです。 メディアプレイヤーについては、 document.MPlayer.Controls.Play(); にて現在ボタンによる再生が可能な状態になっているのですが、 指定したURL+指定ポートを開くにはどのようにやったらよろしいのでしょうか。 というのは、メディアプレイヤーを起動した状態で「ctrl+u」を押して 入力する情報と同様の情報をJAVASCRIPTにて与えてやりたいと思って いるのですが、 document.MPlayer.URL= にて、同様の入力値を与えてみても、ポート番号の指定で引っかかっているのか、 正常に動作しません。 ポート番号の指定はできないものでしょうか。
843 名前:822 mailto:sage [2008/05/25(日) 16:55:28 ID:???] >>828 遅くなりましたがレスありがとうございます やはりmousemoveとmouseup時にインスタンス内の環境を監視・操作するのが普通なんですね 参考になりました
844 名前:822 mailto:sage [2008/05/25(日) 16:56:29 ID:???] >>828 遅くなりましたがレスありがとうございます やはりmousemoveとmouseup時にインスタンス内の環境を監視・操作するのが普通なんですね 参考になりました
845 名前:Name_Not_Found mailto:sage [2008/05/25(日) 16:59:19 ID:???] >>842 http://ホスト:ポート番号/... のようにURLに埋め込んでポート指定するんじゃ駄目なの?
846 名前:Name_Not_Found [2008/05/25(日) 17:07:57 ID:V7gQvpl9] テキストエリアでホイールなどを使ってスクロールをする場合 中途半端に文字が見切れた位置ではなく数行分ごとにピッタリ合わせるには どうすればいいですか?
847 名前:Name_Not_Found mailto:sage [2008/05/25(日) 18:31:39 ID:???] XMLHttpRequestでテキストファイルの中身を取得しているのですが、 文字コードが違うのか文字化けします。 どのようにすれば解決できますか?
848 名前:828 mailto:sage [2008/05/25(日) 18:33:37 ID:???] >>843 「1」については、「ドラッグ元」特定がmousedownのタイミングで 「ドラッグ開始」がmousemoveのタイミングがよいかもしれない。 >インスタンス内の環境を監視・操作するのが普通 現状はどのライブラリでもそうしているハズ。 だれか、ブラウザ側がこれについて改善する対策を打とうとしているかどうかご存じですか?
849 名前:Name_Not_Found mailto:sage [2008/05/25(日) 18:36:17 ID:???] >>847 >>351
850 名前:Name_Not_Found mailto:sage [2008/05/25(日) 18:41:04 ID:???] >>846 ブラウザの設定とかではなかったと思うので、 1行の縦サイズを決めるor求めて、自前でスクロール制御をすればいいと思う。
851 名前:Name_Not_Found mailto:sage [2008/05/25(日) 19:15:30 ID:???] >>849 サーバーからのレスポンスヘッダがどこにあるのかわかりません。
852 名前:Name_Not_Found mailto:sage [2008/05/25(日) 19:32:34 ID:???] 仕方ねえな。一度しか言わないぞ。 まず>>6 を見ろ。そこにMSDN Libraryのリンクがあるな?飛べ。 「DHTML Object」という項目を見つけたか?飛べ。 そこにXMLHttpRequestがあるな?飛べ。 Methodを見てみろ。お望みのものがあるな?よかったよかった。 使い方が分からない?説明に飛べ。例文までばっちりだ。 もう一人でできるな?さよなら。
853 名前:Name_Not_Found mailto:sage [2008/05/25(日) 19:43:04 ID:???] xmlhttp.setRequestHeader('Content-Type', 'text/html;charset=Shift_JIS'); とすると未定義のエラーとか言われるんですが・・・
854 名前:Name_Not_Found [2008/05/25(日) 19:53:01 ID:V7gQvpl9] >>850 サンクス。調べてみる
855 名前:Name_Not_Found [2008/05/25(日) 19:53:02 ID:3sa/tweh] URLを up.pandoravote.net/index.php?id=000024137 を up.pandoravote.net/img/pandora000024137.jpg に書き換える方法を教えてください。 document.write("URL:"+location.href); しか分かりません。
856 名前:Name_Not_Found mailto:sage [2008/05/25(日) 19:53:39 ID:???] それ、投げる時のを設定しようとしてるぞw サーバが返却する応答に正しいContentTypeをつけてもらうようにしないと。 メソッド呼べばどうにかなる問題じゃない。
857 名前:Name_Not_Found [2008/05/25(日) 19:55:07 ID:3sa/tweh] >>855 をただ置き換えるのではなくて、 「000024137」が毎回違って、 000024137の場合は、pandora000024137.jpg に置き換えたいんです。 他の場合は、他のに置き換えたいんです。 000024137とかをpandora000024137.jpg とかに置き換える方法を教えてください。 数字はいつも違います。 お願いします。
858 名前:Name_Not_Found [2008/05/25(日) 19:56:19 ID:3sa/tweh] >>855 はちなみに、greasemonkeyで使おうと思っています。
859 名前:Name_Not_Found mailto:sage [2008/05/25(日) 19:59:05 ID:???] >>855 >>857 >>858 エロ張るなよ。まぁ、多分こんな感じでいけるだろ。 var a = document.getElementsByTagName("a"); for(var i = 0; i < a.length; i++){ var el = a[i]; el.href = el.href.replace(/index.php\?id=(\d+)/, "/img/pandora$1"); }
860 名前:Name_Not_Found mailto:sage [2008/05/25(日) 20:00:10 ID:???] >>855 ,857 var url = location.search.substring(1).split("="); if(url[0] == "id"){ var id = url[1]; } alert("up.pandoravote.net/img/pandora "+id+".jpg");
861 名前:Name_Not_Found mailto:sage [2008/05/25(日) 20:03:13 ID:???] >>852 他国語理解不能です
862 名前:Name_Not_Found mailto:sage [2008/05/25(日) 20:09:41 ID:???] さあ>>855 よ。 >>859 か>>860 どっちを選ぶんだ。
863 名前:822 mailto:sage [2008/05/25(日) 20:35:15 ID:???] >>862 おねんねの時間
864 名前:Name_Not_Found mailto:sage [2008/05/25(日) 20:41:01 ID:???] >>863 言いたいことはわかるがコテは関係ないだろw
865 名前:Name_Not_Found mailto:sage [2008/05/25(日) 23:49:54 ID:???] ホストオブジェクト関係なく文字列操作だけすればこうなる。メソッド拡張は省略。 var replaceMyURI = function (getId) { var RFC3986 = /^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/; var PATH = '/img/pandora'; var E = '.jpg'; return function (href) { var ms = String.match(href, RFC3986); return typeof ms[7] == 'string' ? (ms[1] || '') + (ms[3] ||'') + PATH + getId(ms[7]) + E + (ms[8] || '') : ''; }; }( function (findId) { var P = /[&;]/; return function (q) { var m = Object(); return String.split(String.split(q, P).some(findId, m)) ? m.id : ''; }; }( function () { var D = '='; var N = 'id'; return function (param) { var name_value = String.split(param, D); if (name_value[0] == N) { this.id = name_value[1]; return true; } return false; }; }()));
866 名前:Name_Not_Found mailto:sage [2008/05/26(月) 01:03:18 ID:???] PHPスレに書き込んだら、こちらのほうへ案内されたので、質問させてください。 情報を新しいウィンドウに渡すのは、できるようになったのですが。(JavaScript併用にて) そのウィンドウから値を戻す方法がわかりません。 <script> function openWindow(form){ form.target = window.open("about:blank", "win" + new Date().getTime() ).name; form.submit(); } </script> ---------略------------ <form method="POST" action="値の送り先.php" ENCTYPE="MULTIPART/FORM-DATA"> <input type="text" name="sendtext"> <input type="button" value="送る" onClick="openWindow(this.form)"> </form> ---------略------------ 上記のようなソースで新しいウィンドウを開く&情報渡しをしているのですが。 たとえばこの開かせる側のページに <input type="text" name="modori" value=""> という部分があったとして。 新しく開いた 値の送り先.php から、その部分に値を入れるにはどう書けば良いのでしょうか。 値の送り先.phpのフォームタグのAction部分に、既に開いているウィンドウを指定したいと思ったのですが どうにもやり方がわからないもので・・・。 フォームターゲットにwindow.openerを指定しても、また別のウィンドウが・・・。
867 名前:Name_Not_Found mailto:sage [2008/05/26(月) 01:11:29 ID:???] accordion.jsをつかってみたんですが、デフォルトで一番上のアコーディオンが 開いた状態になっています。 最初に開いた状態になるのが何番目のアコーディオンかを指定する方法なんかは ネット上に情報がありましたが、サイトを開けた時に全部閉じた状態にする方法がわかりません たぶんこの辺あたりのところ↓で指定出来ると思うのですが、なんて書けばいいのか教えてください、おながいします jQuery('#list1a').accordion({ autoheight: false, header: '.head', navigation: true, animated: 'easeslide', speed: 'fast' });
868 名前:Name_Not_Found mailto:sage [2008/05/26(月) 01:26:32 ID:???] >>866 ごめん、誘導先微妙に間違ったかも。一応自分が分かる範囲で。 値の送り先.php のレスポンスの onLoad か何かで、 windows.opener.フォーム名.modori.value = ほげほげ; を呼び出すようにすれば良いと思う。
869 名前:Name_Not_Found mailto:sage [2008/05/26(月) 05:59:25 ID:???] >>867 質問とは関係ないけどひとつ開いておかないとアクセシビリティが低下すると思うよ
870 名前:Name_Not_Found mailto:sage [2008/05/26(月) 07:25:00 ID:???] >>868 それで出来ました。ありがとうございました。