1 名前:まず >>2-5 読め! 続いて過去スレ全集を検索! mailto:sage [2008/05/29(木) 12:18:09 ID:???] ━━━本スレに書く事を許される者は以下の通り━━━━━ 一、JavaScriptはJavaとは別物であると知っている者 −、自ら学んでJavaScriptコードを書く意思を持つ者 −、ユーザに迷惑となるスクリプトを書かない者 −、質問をきちんと分かる日本語で説明できる者 −、トラブルを再現する最小限のサンプルを貼れる者 −、テンプレ+FAQ>>2-10 /過去ログ/関連資料を読める者 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 自力で書く気がない人は他のスレへ(テンプレ末尾参照)。 前スレ pc11.2ch.net/test/read.cgi/hp/1208140663/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/05/29(木) 12:18:51 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/05/29(木) 12:19:41 ID:???] 【FAQその1】 Q1. 開いた別窓/フレームの内容にアクセスできないのですが… A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。 Q2. JavaScriptでローカルファイルを読み/書きたいのですが… A2. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに… Q3. 同じタグの中でonclick="foo()"とonclick="bar()"を同時に使いたいのですが… A3. セミコロンで複数の文を区切れます。onclick="foo();bar();"としましょう。 Q4. document.write(...)でページ内容を追加したいのですが… A4. 一度ページ表示完了後にwrite()すると内容はクリアされちゃいます。 部分的に内容変更するには(1)他フレーム/iframe/別窓への表示、 (2)textarea等への表示、(3)DOMでノード挿入、(4)innerHTMLのどれかで。 innerHTMLは非標準ですがIE、Opera、Safari、Gecko(N6/N7/Firefox等)で対応済。 Q5. table/tbody/tr要素のinnerHTMLを書き換えるのがうまく行かないのですが… A5. IEはそれらの要素のinnerHTMLは変更不能。DOMを使って書き換えるか <div><table>...</table></div>とでもしてdivのinnerHTMLを書き換えましょう。 Q6. DOMでtable要素にtr要素を追加しても表示されないのですが… A6. DOMでは(XHTML 1.x除く)tbody要素にtr要素を追加する必要があります。 tbody要素はtbodyタグを書いていなくても自動的に作成されます。 またはtable.insertRow()/tbody.insertRow()を使いましょう。 Q7. 変数w1、w2…を順にループで(番号をiに入れて)設定/参照したいのですが… A7. グローバル変数はwindowのプロパティだからwindow['w'+i]を読み書きすれ。 Q8. フォーム部品名を変数にした「...myform.変数名.value」が動きません… A8. 「document.forms.myform.elements[変数名].value」でどぞ。 JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。 Q9. Aタグのonclickで動作指定してるのですが時々動きません… A9. 「onclick="...;return false"」としないとページ移動しちゃうから。
4 名前:まず >>2-5 読め! 続いて過去スレ全集を検索! mailto:sage [2008/05/29(木) 12:20:40 ID:???] 【FAQその2】 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が置き換え前の文字列全体になります。 Q16. input type="file"の値を設定(参照)できないのですが… A16. セキュリティ制約のため設定は絶対に不可。参照はブラウザにより不可。 Q17. getElementById('ID名')や$('ID名')で要素が取れないのですが… A17. コード実行時点でHTMLがそこまで読まれてない。onload中でやるとか。
5 名前:まず >>2-5 読め! 続いて過去スレ全集を検索! mailto:sage [2008/05/29(木) 12:21:56 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/05/29(木) 12:26:25 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/05/29(木) 12:28:24 ID:???] 【チュートリアルサイト・サンプルサイト】 規格が読めないならまずはチュートリアル。サンプルサイトも沢山ある。 (とほほは間違いが多いためこのスレでは批判的意見が多い) (以下は精選すべきとの議論あるが進んでいないので玉石混淆) MetaGraphic Cell → www2u.biglobe.ne.jp/~oz-07ams/prog/ どら猫本舗のリファレンスカウンター → www.doraneko.org/ はぎさんちのページ Mozilla's DOM Sample Project → cgi.din.or.jp/~hagi3/JavaScript/JSTips/Mozilla/mds.cgi オブジェクトなJSの基礎講座 → chaichan.web.infoseek.co.jp/src/2ndthema.htm 【関連スレ】 板違い、スレ違いに注意!サーバ側での処理はWebProg板へどぞ! Webサイト制作初心者用質問スレ Part 197 → pc11.2ch.net/test/read.cgi/hp/1210081559/l50 CSS /* CSS・スタイルシート質問スレ 上級者用【71th】 */ → pc11.2ch.net/test/read.cgi/hp/1205680031/l50 CSS/DHTMLバグ辞典スレッド 【第5版】 → pc8.2ch.net/test/read.cgi/hp/1144494359/l50 役に立つ書籍は? 4冊目 → pc11.2ch.net/test/read.cgi/hp/1172823674/l50 JavaScript手取り足取りスレッド → pc11.2ch.net/test/read.cgi/hp/1199354032/l50 1行javascriptプログラミング → pc11.2ch.net/test/read.cgi/hp/1066750037/l50 WSH(・∀・)スレッド! Part 3 → pc11.2ch.net/test/read.cgi/tech/1208948450/l50
8 名前:Name_Not_Found mailto:sage [2008/05/29(木) 12:49:09 ID:???] あとこういうのを用意したんだけど>>7 の行数が一杯で。 あった方がよければ次から何とか入れるようにします? 【各種フレームワーク】←テクニックの宝庫なので一度参考にぜひ。 Prototype.js → prototypejs.org/ script.aculo.us → script.aculo.us/ JQuery → jquery.com/ Yahoo! UI Library (YUI) → developer.yahoo.com/yui/ Mootools → mootools.net/
9 名前:Name_Not_Found mailto:sage [2008/05/29(木) 13:13:37 ID:???] >>1 おつかれ。 日本の JavaScript ユーザのためのハブサイト js-users.jp/ ここも参考になると思うので追加。
10 名前:42 [2008/05/29(木) 19:35:57 ID:XHep3Czc] >>1 乙でーす
11 名前:Name_Not_Found mailto:sage [2008/05/29(木) 23:25:49 ID:???] >>7 手取り足取りスレのURLが違うような気が。
12 名前:Name_Not_Found mailto:sage [2008/05/30(金) 00:01:57 ID:???] JS終了にまだ気付けない>>1 がかわいそうすぎる。おつかれさま。
13 名前:Name_Not_Found mailto:sage [2008/05/30(金) 02:13:01 ID:???] >>9 間違っています。 以上。 ↓次どうぞ
14 名前:Name_Not_Found [2008/05/30(金) 04:09:22 ID:Jct6WDVf] ____ /_ノ ヽ、_\ . / (● ) (● )\ こっこれは別に>>1 乙なんかじゃなくてただズレてるだけなんだからっ / /////(__人__)///\ 変な勘違いしないでよね! | | \ /  ̄ ̄ ̄ ̄ ̄ ̄
15 名前:Name_Not_Found [2008/05/30(金) 06:14:23 ID:7OkfQ9LB] www.sam.hi-ho.ne.jp/cgi-bin/user/ike3/suntack.cgi こんな感じでランダムに択一の問題を表示していく方法ってjavascriptでできますか?
16 名前:Name_Not_Found mailto:sage [2008/05/30(金) 06:45:57 ID:???] >>15 問題数が数百くらいなら大丈夫と思うよ。ただし全部 ブラウザに持って来るので始まるまでの時間はのろいと 思うが。
17 名前:Name_Not_Found mailto:sage [2008/05/30(金) 06:56:32 ID:???] データ量が少ないなら全ての問題をJavaScriptファイルに記述し<script>で読み込み、 それでなければAjaxでまとめて数問づつ取得、とか。
18 名前:Name_Not_Found mailto:sage [2008/05/30(金) 09:55:01 ID:???] >>8 , >>9 要らんことすんな。 それらサイトになんらかの場はあるだろ。 何をトチ狂って我田引水やってんだ? もし、設置できませんなどの悩みにボランティアで答えたいのなら、個人でやれ。迷惑だ。
19 名前:Name_Not_Found [2008/05/30(金) 11:29:50 ID:ba8tyd41] しつもん。 a.php→b.phpの流れでb.phpはリファラでa.php以外からのアクセスを遮断します。 IEだとlocation.href等で飛ばすとリファラが空になってしまうわけですが、 www.teria.com/~koseki/memo/referrer/ なんか代替方法ありませんかね? divブロック内どこからでも飛ばせるようにしたいので<a>使えってのは無しの方向で。
20 名前:Name_Not_Found mailto:sage [2008/05/30(金) 12:03:05 ID:???] ?ref=a
21 名前:Name_Not_Found mailto:sage [2008/05/30(金) 12:22:16 ID:???] >>19 ファイル分けないで、同じファイルで全部処理すれば! 画面遷移毎にワンタイムパスとか発行して、ユーザの一意性を確保すればいいんだよ
22 名前:Name_Not_Found mailto:sage [2008/05/30(金) 12:34:56 ID:???] >>18 日本語でおk
23 名前:Name_Not_Found mailto:sage [2008/05/30(金) 12:49:45 ID:???] いや。>>18 は正しいよ。余計なリンク貼るな、ボケ。 テンプレ議論で出すべき。
24 名前:Name_Not_Found mailto:sage [2008/05/30(金) 13:08:00 ID:???] 余計なリンクwww -users.jpが余計なリンクwwww
25 名前:Name_Not_Found mailto:sage [2008/05/30(金) 13:33:03 ID:???] >>23 お前がevalの議論に夢中で気付かなかっただけだろ 956 名前:Name_Not_Found[sage] 投稿日:2008/05/29(木) 02:13:19 ID:??? テンプレ追加推奨 js-users.jp/ この板でYAPCからの一連の流れを知らんとは
26 名前:Name_Not_Found [2008/05/30(金) 14:06:14 ID:ba8tyd41] >>21 単に他所からリクエスト要求されるのを防ぎたかっただけで、 一意性とかそこまで厳重なことは考えてなかったわけですよ。 リファラ偽装してまでアクセスするような内容でもないけど、 少々重いので何の対策もしないのはどうかと思ったので。 まあ手っ取り早くセッションでものっける方向で行きたいと思います。
27 名前:Name_Not_Found mailto:sage [2008/05/30(金) 14:08:46 ID:???] 新しいサイトなら無条件でテンプレに載せるべきか? お前らが積極的にjs-users.jpにコミットして 名実ともにハブサイトにしてくれるっていうなら構わんけど
28 名前:Name_Not_Found mailto:sage [2008/05/30(金) 14:12:59 ID:???] >>19 display:block;
29 名前:Name_Not_Found mailto:sage [2008/05/30(金) 14:18:04 ID:???] YAPCってなんですか?
30 名前:Name_Not_Found mailto:sage [2008/05/30(金) 14:26:18 ID:???] Yet Another Perl Conferenceの略。 この間東京で開かれたYAPC::Asiaで偉い人が 「お前らSEOに有利などメインとって初心者向けの際と作れ」 といったのを受けて、Perl以外でも自称ハブサイトが乱立する事態に。 個人的にはほとんどが一過性のもので自然消滅するんじゃないと思ってるし、 YAPC自体ここにいる連中が知らなくてもおかしくないものだと思う。
31 名前:Name_Not_Found mailto:sage [2008/05/30(金) 14:26:36 ID:???] >>29 conferences.yapcasia.org/ya2008/ 動画はここに上がってる conferences.yapcasia.org/ya2008/
32 名前:Name_Not_Found mailto:sage [2008/05/30(金) 14:27:04 ID:???] ミスった www.nicovideo.jp/tag/yapcasia2008
33 名前:Name_Not_Found mailto:sage [2008/05/30(金) 14:46:04 ID:???] 今スレのテンプレはあくまでも>>1-7 で、その先は議論でしょ。 それで、関連スレ等(要するに>>7 だね)は次回どうするの? 別に洩れは今のままでも構わんと思っているけどね。
34 名前:Name_Not_Found mailto:sage [2008/05/30(金) 14:48:30 ID:???] >>27 見てみたけど、現状は内容スカスカの単なる(立ち上げ人関連の)微妙ブログ宣伝サイトのようなので、 テンプレ入りさせるのは時期尚早では。 js-users.jpでググってみたら、ハブサイトを目指すというより、 *-users.jpに便乗し、なんとなくお友達サークルサイトを立ち上げてみましたという雰囲気だし。
35 名前:Name_Not_Found [2008/05/30(金) 14:51:24 ID:jAS1vCjM] ホイール回転やスクロールバーをクリックしたときに動く量を 取得したり設定したりするにはどうすればいいですか?
36 名前:29 mailto:sage [2008/05/30(金) 14:53:13 ID:???] >>30 解説ありがとうございました。ヤマハがパソコン作ったのかと思いました。 最後のお言葉に勇気付けられました。それにしても>>27 さんはリアルでも 感じの悪い人なのでしょうが酷く高圧的な発言には皆さん気分を害してい る方が多いのではないでしょうか。
37 名前:Name_Not_Found mailto:sage [2008/05/30(金) 15:10:17 ID:???] >>34 主要リンクがまとまってるだけでも十分だと思うが まあとりあえず950辺りまで保留でいいだろうな。
38 名前:Name_Not_Found mailto:sage [2008/05/30(金) 16:01:59 ID:???] >>30 >個人的にはほとんどが一過性のもので自然消滅するんじゃないと思ってるし、 誰でも思ってるよ。またか、ってね。 それを長寿スレ(長寿の意味が違うが)のテンプレにいきなりのせようとするなんて、キチガイかと思った。 ついでにはっきり言っておくが、YAPCのえらいさんどもは、俺からすれば年下だし、社会的地位は低いし、JS初心者でもある。ありがたがるなら俺をありがたがれ。
39 名前:Name_Not_Found mailto:sage [2008/05/30(金) 16:24:42 ID:???] じゃあお前は大腸菌レベルだな
40 名前:Name_Not_Found mailto:sage [2008/05/30(金) 17:30:54 ID:???] >>38 ぜひ住所とお名前を
41 名前:Name_Not_Found mailto:sage [2008/05/30(金) 17:32:34 ID:???] >>38 > YAPCのえらいさんどもは、俺からすれば年下だし、社会的地位は低いし、JS初心者でもある。 これが何を意味してるかよくわからない 自分を誇示したいの?それこそこのスレにいらないだろ
42 名前:Name_Not_Found mailto:sage [2008/05/30(金) 17:33:17 ID:???] >>38 どうやらJS終了君が遂に発狂したようで。
43 名前:Name_Not_Found mailto:sage [2008/05/30(金) 19:00:01 ID:???] >>38 これじゃ友達いないわけだ。ホラ以外何もない寂しい中高年かよ。
44 名前:Name_Not_Found mailto:sage [2008/05/30(金) 19:18:13 ID:???] ここにいる人たちの中で "過去スレッド" に目を通した人がどれだけいることだろう ? 60% 以上が無意味な書きこみであることをどう思う ? 余談ながら初期の "テンプレ" は極めてシンプルであった. だが, テンプレ論争は皆無であった !!!
45 名前:Name_Not_Found mailto:sage [2008/05/30(金) 19:26:21 ID:???] >60% 以上が無意味な書きこみであることをどう思う ? オマエモナーと思う。
46 名前:Name_Not_Found mailto:sage [2008/05/30(金) 19:28:12 ID:???] >>46 すまぬ !!!
47 名前:Name_Not_Found mailto:sage [2008/05/30(金) 19:42:47 ID:???] ほらね
48 名前:Name_Not_Found mailto:sage [2008/05/30(金) 20:04:27 ID:???] 2ちゃんはもとより玉石混淆なわけだから 情報の密度を求めてもしょうがないんじゃないか?
49 名前:Name_Not_Found mailto:sage [2008/05/30(金) 20:13:21 ID:???] >>47 すまぬ !!! ただ... あんまりな流れだったので つい...
50 名前:Name_Not_Found mailto:sage [2008/05/30(金) 20:24:29 ID:???] ま、たま〜に光るのがあるからいいんでない?中身が薄いから こそ65巻も続くわけで、遊びがないハンドルは運転しづらい。 量はある意味質も内包しているわけで。これでいいと思うよ。
51 名前:Name_Not_Found mailto:sage [2008/05/30(金) 21:23:13 ID:???] つまりそんなことをいちいち指摘するやつが野暮だってことだ
52 名前:Name_Not_Found mailto:sage [2008/05/30(金) 21:33:02 ID:???] >>51 結局, 同じ流れなのね (ぎゃぼ〜) まっ, お好きに おやんなさい ! (おいら は 白根)
53 名前:Name_Not_Found [2008/05/30(金) 22:16:20 ID:W5n2x0f3] ラジオボタンがクリックされた時に関数で ラジオボタンのnameとvalueを取得したいのですが、 どのように値を関数に渡せばいいのでしょうか?
54 名前:Name_Not_Found mailto:sage [2008/05/30(金) 22:21:31 ID:???] >>53 関数名(this) でいいんじゃないか?
55 名前:Name_Not_Found mailto:sage [2008/05/30(金) 22:22:23 ID:???] オブジェクト指向としてのJavaScriptを勉強したいのですがお薦めの本はありますか?
56 名前:Name_Not_Found mailto:sage [2008/05/30(金) 22:35:26 ID:???] テキストボックスのすぐ下にレイヤーを表示したいのですが、どのようにすればいいでしょうか。 レイヤーの座標をCSSで指定すればできるんですが、<BR>タグなどがテキストボックスの前に入ると調整が必要になってしまいます。 特定のテキストボックスのすぐ下にレイヤーをだしたいのです。 ブラウザはIE限定です。
57 名前:53 [2008/05/30(金) 22:51:13 ID:W5n2x0f3] thisの使い方を調べてみたらうまくいきそうです。ありがとうございました。
58 名前:Name_Not_Found mailto:sage [2008/05/30(金) 23:19:11 ID:???] >>56 テキストボックスの位置と大きさをoffsetTop/Left/Width/Height で調べてレイヤーを出す位置を計算すればいいんじゃないの? >>55 サイ本(オライリーのJavaScript本)とかMy UNIXシリーズのJavaScript本。
59 名前:Name_Not_Found mailto:sage [2008/05/31(土) 00:46:47 ID:???] function unescapeHTML(str){ str = str.replace(/&/g,"&"); str = str.replace(/"/g,'"'); str = str.replace(/'/g,"'"); str = str.replace(/</g,"<"); str = str.replace(/>/g,">"); return str; } var text = "あいう<br>えお"; alert(unescapeHTML(text)); こんな感じのソースで あいう えお と表示させたいのですが、 あいう<br>えお となってしまいます。 どうすればいいのでしょうか
60 名前:Name_Not_Found mailto:sage [2008/05/31(土) 00:48:26 ID:???] unescapeHTML関数の置き換えされる側には実態参照が入っているのですが ここだと普通に戻るんですね
61 名前:Name_Not_Found mailto:sage [2008/05/31(土) 01:02:32 ID:???] >>59 この変換処理に意味がみだせない漏れオワタ(^^)/
62 名前:Name_Not_Found mailto:sage [2008/05/31(土) 01:07:33 ID:???] >59-60 自己解決できました。
63 名前:Name_Not_Found mailto:sage [2008/05/31(土) 02:14:41 ID:???] 前スレでの話題になった未解決問題のうち重要そうなものの漏れ用メモっす。 番号は全て前スレのものなので注意。 >>82 Dripのrefsの数値の謎について >>86 IEでトップレベル関数の列挙方法 >>127 addEventListenerの「使える」イベント一覧 >>143 IEのメモリーリーク問題でDOM同士、JSオブジェクト同士の相互参照がリークしないことの確認方法 >>505 IEでプライベートメソッドを実現する際の性能劣化しない方法の有無 >>515 elementFromPointの実用性はどの程度? >>581 IEで「属性」(イベントではなく)をコピーせずにノードのクローンを作成する方法 >>799 JSでクロスドメイン通信を実現する手段が実は沢山あることと、 今後もサポートされそうだということについての是非
64 名前:Name_Not_Found [2008/05/31(土) 02:46:55 ID:gE3lRTdY] radioボタンに対して、 関数内でnameとvalueを指定して、一致している物にチェックしたいのですが、 どのようにすれば可能でしょうか? getElementByIdを使用すればnameを指定することが出来ますけど、 valueを指定する方法が分からなくて困っています。
65 名前:64 [2008/05/31(土) 02:54:25 ID:gE3lRTdY] getElementsByNameですね。 少し書き間違えました
66 名前:Name_Not_Found [2008/05/31(土) 02:56:26 ID:95Ate0Mn] アドベのアクロバットのフォームの作成で、各項目にカーソルを移すと強制的に、 全角や半角入力になるよう作成したいんですがどうすればいいでしょか? 例えば、氏名欄は自動的に全角、電話番号欄は半角に、などです。 都・道・府・県などをクリックすると○で囲むような時は下記の記述でできるのですが、 質問の場合の記述が全く分かりません。 var i = event.target.buttonGetIcon(); event.target.buttonSetIcon(event.target.buttonGetIcon(1)); event.target.buttonSetIcon(i,1);
67 名前:Name_Not_Found mailto:sage [2008/05/31(土) 08:13:40 ID:???] >>66 Web制作じゃないじゃん。 >>64 そのnameのボタン群に対してループしてvalueが一致するものを探す。
68 名前:Name_Not_Found mailto:sage [2008/05/31(土) 10:06:17 ID:???] 質問です。for文でインクリメントは整数の範囲とするという場合、 for(i=1;i<L;i++)ですか、それともfor(i=0;i<L;i++)ですか? あと自然数はfor(i=0,i<L,i++)でよいのでしょうか?
69 名前:Name_Not_Found mailto:sage [2008/05/31(土) 10:51:03 ID:???] for(i=1;i<L;i++) 正の整数 for(i=0;i<L;i++) 自然数
70 名前:64 [2008/05/31(土) 13:11:23 ID:gE3lRTdY] >>67 やはりループくらいしかないですか。分かりました
71 名前:Name_Not_Found mailto:sage [2008/05/31(土) 14:02:39 ID:???] 以下のコードはテキストボックスに改行を含む文字をtextnodeを作成して出力する場合と、 valueプロパティーに代入する場合の違いを検証するコードです。 一番上のテキストボックスに改行を含む文字列を入力してボタンを押してください。 真ん中のテキストボックスにはtextnodeを作成して出力した場合の結果が 一番下のテキストボックスにはvalueに代入した場合の結果が出ます。 IE6でこれを試すと、真ん中のテキストボックスには改行後の行の行頭に空白が挿入されます 一番下のテキストボックスには一番上のテキストボックスと同じ内容のテキストが出力されます FireFox2では真ん中も下も一番上のテキストボックスと同じ内容のテキストが出力されます これは何故ですか <html> <head> <script langueage="JavaScript"><!-- function $(id){ return document.getElementById(id); } function kenshou(){ temp=$("ta1").value; $("ta2").appendChild(document.createTextNode(temp)); $("ta3").value=temp; } // --></script> </head><body> <TEXTAREA id="ta1" cols="40" rows="6" wrap="off"></TEXTAREA><br> <TEXTAREA id="ta2" cols="40" rows="6" wrap="off"></TEXTAREA><br> <TEXTAREA id="ta3" cols="40" rows="6" wrap="off"></TEXTAREA> <button type="button" onclick="kenshou();">click</button> </body></html>
72 名前:Name_Not_Found mailto:sage [2008/05/31(土) 17:27:11 ID:???] >>69 0は自然数じゃないだろって思ったけど、 0を含める流儀と含めない流儀との2つがあるんだな。 初めて知った。 ja.wikipedia.org/wiki/%E8%87%AA%E7%84%B6%E6%95%B0
73 名前:Name_Not_Found mailto:sage [2008/05/31(土) 18:27:25 ID:???] >>71 改行は\r\nになっていて ta2の場合、\r=改行、\n=半角スペースになるようです。なぜか知らん。 ta3の場合は、valueプロパティ経由だとそこら辺は空気読んでくれるんじゃね。
74 名前:68 mailto:sage [2008/05/31(土) 20:00:23 ID:???] >>69 ご回答ありがとうございます。やはりそうなるんですかね。 >>72 お時間ありがとうございます。そうなんです。深く分かって ると余計に混乱してしまうということありますよね。
75 名前:Name_Not_Found mailto:sage [2008/05/31(土) 20:50:47 ID:???] あるフレームにページが読み込み完了したことを、他のフレームから知るには どうしたらいいですか?
76 名前:Name_Not_Found mailto:sage [2008/05/31(土) 21:24:27 ID:???] >>73 そうなってるみたいですね 謎ですね
77 名前:Name_Not_Found mailto:sage [2008/05/31(土) 21:41:10 ID:???] >>67 adobe関連スレで聞いたら、JavaScriptの質問はここで聞けと言われたもので・・・。 なんとか教えてもらえんでしょうか?┏oペコッ
78 名前:Name_Not_Found mailto:sage [2008/06/01(日) 00:51:38 ID:???] web製作上のJavaScriptでアクロバットのDOM(?)を知ってる奴を期待されても……。 buttonGetIconもbuttonSetIconもないしなあ webでのIM制御であっても、IEのCSS独自拡張弄るくらいしか思いつかないな。 value要素みたいなのが弄れるなら、ベタに文字置き換える関数でも挟んだらいいんじゃね?
79 名前:Name_Not_Found mailto:sage [2008/06/01(日) 04:14:27 ID:???] sage
80 名前:Name_Not_Found mailto:sage [2008/06/01(日) 20:59:28 ID:???] いくつかの iframe を 切り替えて表示するようにしています。 iframe のページを切り替えたときに、 切り替える前のページのfocus情報が残ったままになってしまいます。 focus を リセットする方法はありませんでしょうか?
81 名前:Name_Not_Found mailto:sage [2008/06/01(日) 23:07:15 ID:???] focusってOS上に1つという概念じゃなかったっけ。 もしかしてmouseoverとかで自分で管理してるの? その場合は、documentのblurイベントとか拾わないといけないんじゃないかなぁ。
82 名前:Name_Not_Found mailto:sage [2008/06/01(日) 23:11:22 ID:???] >>66 2chのどこにも該当するスレなさそうだね。 ブラウザ以外のJavaScript用のスレ立てる手もあるが、人こないだろうなぁw
83 名前:Name_Not_Found mailto:sage [2008/06/01(日) 23:32:49 ID:???] というか今時ウェブページでJSをほとんど使わないだろ。 終わってんだよ。 気付けアホ、何回言わせんだ。 AS使え。 JSの使いどころはWindowsのいわゆるバッチ処理か、 XULなんちゃらに限られている。 もしかしたらPDFとかAdobe製品で使っても便利だろう。
84 名前:Name_Not_Found mailto:sage [2008/06/01(日) 23:34:47 ID:???] 元気そうでなにより
85 名前:Name_Not_Found mailto:sage [2008/06/01(日) 23:50:56 ID:???] >>83 JSってJavaScriptのことをいってる? だとしたらアホはお前だ。
86 名前:Name_Not_Found mailto:sage [2008/06/02(月) 00:14:03 ID:???] >>85 いや。JS終わった君が言ってるのはいつもJSであってJavaScriptではない。 これ重要。もしこの後言い方を変えたらそいつはニセ者。
87 名前:Name_Not_Found mailto:sage [2008/06/02(月) 00:16:08 ID:???] >>86 だから君のいうJSとはなんぞや?
88 名前:Name_Not_Found mailto:sage [2008/06/02(月) 00:17:58 ID:???] >>38 =>>83 かな? >>52 とか、このスレには真性っぽいのが現れるから面白いね。
89 名前:87 mailto:sage [2008/06/02(月) 00:29:06 ID:???] >>87 だから君のいうJSとはなんぞや? だって? そんなの知るか。JSなんて言語はどこにもないだろ。 何の意味でJSといっているかなんて本人にも分からんのじゃないかな。 Javaだのジャバだのという白痴と同類だろ。
90 名前:Name_Not_Found mailto:sage [2008/06/02(月) 00:35:30 ID:???] WEB制作板でJSっつったら、JavaScriptにきまってんだろ^^; ttp://ja.wikipedia.org/wiki/Js
91 名前:80 mailto:sage [2008/06/02(月) 00:38:29 ID:???] >>81 レスありがとうございます。 iframe の切り替えというのは、 複数のiframe を用意しておき display パラメーターで 表示非表示を変えている状態です。
92 名前:Name_Not_Found mailto:sage [2008/06/02(月) 00:59:33 ID:???] >>91 まず、iframeに残ってるのは、focusじゃなくて、active要素だと思ってる。 active要素はフレーム単位で残るから。 何を見て「focus情報が残ったまま」だと判断したのか知りたいんだけど、 どちらにしてもdisplayを切り替えるタイミングで、 該当のiframeのcontentWindow(windowオブジェクト)にくっつけたメソッドを呼べば解決出来ると思うよ。
93 名前:Name_Not_Found mailto:sage [2008/06/02(月) 01:08:49 ID:???] >>90 ジャック・スパロウ
94 名前:80 mailto:sage [2008/06/02(月) 01:10:55 ID:???] >>まず、iframeに残ってるのは、focusじゃなくて、active要素だと思ってる。 active要素はフレーム単位で残るから。 iframe を 非表示にしても、focusを当てた位置でカーソルが点滅してい います。 >>該当のiframeのcontentWindow(windowオブジェクト)にくっつけたメソッドを呼べば解決出来ると思うよ。 すみません、 くっつけたメソッドって何でしょうか?
95 名前:Name_Not_Found mailto:sage [2008/06/02(月) 01:23:11 ID:???] 話がかみ合ってないような気が フォームなんかのカーソルなら focus() でなんとかなるような でも個人的にフォーカスって聞くと キーボードオペレーションの時にアクティブになる項目の方が 先に頭に浮かぶな
96 名前:80 mailto:sage [2008/06/02(月) 01:40:16 ID:???] iframe の表示を切り替えたときに window.focus(); を呼ぶようにしたら カーソルの 点滅が表示されなくなりました。
97 名前:Name_Not_Found mailto:sage [2008/06/02(月) 01:46:52 ID:???] >>96 うぃー。よかったな。 今度から必要最低限のソースの提示とターゲットブラウザの指定をよろしく。
98 名前:96 mailto:sage [2008/06/02(月) 02:08:48 ID:???] 相談にのっていただきましてありがとうございました。
99 名前:Name_Not_Found mailto:sage [2008/06/02(月) 13:58:47 ID:???] 関数内で次のように書きました。 if(aa >= 0){ // 入力中以外はキーを受け付けない evt.returnValue = false; evt.keyCode = 0; return; } evtは引数でeventオブジェクトを渡されています。 しかし、evt.keyCode = 0;でアクセスが拒否されました。 というエラーが出てしまいます(毎回けでは無く突然突発 的に出ます)。 どうやったらエラーがでないようにできるでしょう XP SP2でIE6です。
100 名前:Name_Not_Found mailto:sage [2008/06/02(月) 14:23:16 ID:???] >>99 try { ... } catch(e) { } で囲んでおけばいいんじゃないの?
101 名前:Name_Not_Found mailto:sage [2008/06/03(火) 01:11:50 ID:???] >>99 イベントはkeydownとか? こっちの認識では、returnValue=falseだけで十分だと思ってる。 「突然突発的」ってのがなんとか理由突き止めたいが。 あと、eventオブジェクトのクローン作るとかどう? var ret = {}; for(var p in evt){ ret[p] = evt[p]; }
102 名前:Name_Not_Found mailto:sage [2008/06/03(火) 02:52:23 ID:???] msdn.microsoft.com/en-us/library/ms536390 (VS.85).aspx www.w3.org/TR/DOM-Level-2-Events/events.html#Events-DocumentEvent www.w3.org/TR/DOM-Level-3-Events/events.html#Events-DocumentEvent
103 名前:Name_Not_Found mailto:sage [2008/06/03(火) 07:04:23 ID:???] HTML(HTA)埋め込みWMP7+(clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6)で ShoutcastのAAC+のストリーミング再生は可能でしょうか? 例: www.shoutcast.com/sbin/shoutcast-playlist.pls?rn=9631&file=filename.pls MP3は問題ありません。 ↓のプラグインを入れてローカルのWMPではAAC+ストリーミングを再生できる状態です。 www.orban.com/plugin/ ただローカルプレーヤでもCtrl-UでURLで開こうとするとコーデックエラーが出ますが Ctrl-Oでファイルとして開くと再生できます。 WMP10、WMP11で同様の挙動です。 Ctrl-UとCtrl-Oで内部の再生処理が違うためだとは思いますが、 埋め込みプレーヤでは MP.URL = url; MP.controls.play(); という処理で再生しているのでURLとして開いている状態なのかもしれません。 埋め込みプレーヤでCtrl-Oと同じ開き方ができれば なんとかなりそうな気がしますが、そんな方法はありますか?
104 名前:Name_Not_Found mailto:sage [2008/06/03(火) 08:28:12 ID:???] WSH(HTA)スレは別にあるんだけど。テンプレ見てね。
105 名前:Name_Not_Found mailto:sage [2008/06/03(火) 18:29:57 ID:???] return a とreturn(a)はちがいますか? 私は非常に初心者です。71026
106 名前:Name_Not_Found mailto:sage [2008/06/03(火) 20:45:51 ID:???] >>105 まったく同じ。「return 式;」が文の文法で、式は丸かっこで 囲んでも囲まなくても結果は同じだから。
107 名前:Name_Not_Found mailto:sage [2008/06/03(火) 21:09:29 ID:???] JavaScriptって、セミコロンが無くても 改行すると式として成り立っちゃうから厄介だよな return a と return a じゃ違うもんな
108 名前:105 mailto:sage [2008/06/03(火) 21:25:00 ID:???] >>106-107 さん とても示唆に富んだお答えありがとうございます。同じなんですか。 書いた後に思い出したのですがなんでも後の方のは評価がどうしたと か難しいことを言ってました。自分でも実験したんですがやってみた 結果は同じだったので、この2つは結局同じなのかな、と思った次第 です。分かったようなことを言っていますが私は非常に初心者です。
109 名前:Name_Not_Found mailto:sage [2008/06/03(火) 21:43:22 ID:???] で?
110 名前:Name_Not_Found mailto:sage [2008/06/03(火) 21:51:36 ID:???] 下一桁の前に.を入れることはできるでしょうか? 例) 534 = 53.4 64 = 6.4 8643 = 864.3
111 名前:Name_Not_Found mailto:sage [2008/06/03(火) 22:07:32 ID:???] MAS JScript> Echo(String(534).replace(/([0-9])$/, ".$1")) 53.4 MAS JScript> Echo(String(64).replace(/([0-9])$/, ".$1")) 6.4 MAS JScript> Echo(String(8643).replace(/([0-9])$/, ".$1")) 864.3 js> String.replace(534, /(?=[0-9]$)/, '.') 53.4 js> String.replace(64, /(?=[0-9]$)/, '.') 6.4 js> String.replace(8643, /(?=[0-9]$)/, '.') 864.3
112 名前:Name_Not_Found [2008/06/03(火) 22:34:44 ID:xhJdrQ39] setAttributeはIEで保証されていますか?使って大丈夫でしょうか?
113 名前:Name_Not_Found mailto:sage [2008/06/03(火) 22:50:36 ID:???] >>111 String.replaceのようにstatic関数として使えるとは知らんかったね。 とりあえず現状で動くのはGeckoだけ?か。
114 名前:Name_Not_Found mailto:sage [2008/06/03(火) 23:37:17 ID:???] >>112 保証されているとは言い難いね。使わない方が無難。
115 名前:Name_Not_Found mailto:sage [2008/06/04(水) 00:11:38 ID:???] >>112 W3C-DOMのElement#setAttributeとは別物で互換性がないことを踏まえた上で 自分で判断しろ。 >>113 JavaScript 1.6
116 名前:Name_Not_Found mailto:sage [2008/06/04(水) 00:36:17 ID:???] String.prototype.replaceならECMAとしては保証されてなかったか?
117 名前:Name_Not_Found mailto:sage [2008/06/04(水) 00:45:05 ID:???] >>110 ,111 num/10 ではなぜダメなの?
118 名前:Name_Not_Found mailto:sage [2008/06/04(水) 00:46:27 ID:???] >>63 の中のaddEventListenerのやつを解決したい。 DOMFocusIn、Out、Activate以外にHTMLで使えないイベントは本当に無いの? 実は他にもいくつかあるんじゃないの?
119 名前:Name_Not_Found mailto:sage [2008/06/04(水) 00:48:02 ID:???] >>117 割り算を思いつくなんて天才すぐる。いや、まじで。
120 名前:Name_Not_Found mailto:sage [2008/06/04(水) 01:06:15 ID:???] >>117 10,200,3000とか。
121 名前:Name_Not_Found mailto:sage [2008/06/04(水) 01:49:02 ID:???] 例を3つも挙げてるのに、そこの仕様はあいまいだよな。
122 名前:117 mailto:sage [2008/06/04(水) 06:50:38 ID:???] >>120 あぁ!なるほど! じゃあ (a/10) + ((a % 10) ? '' : '.0') とかかって思ったけど明らかに>>111 の方が綺麗だな こういうのが綺麗に出てこないからコード量が増えるんだな
123 名前:Name_Not_Found mailto:sage [2008/06/04(水) 10:12:35 ID:???] >>111 ってMS臭い書き方だよね。美しくない。Stringを静的にする必要など ないしオブジェクト指向に逆行している希ガス。1.6はよいのもあるがこれ は頂けないね。
124 名前:Name_Not_Found mailto:sage [2008/06/04(水) 10:49:15 ID:???] ジェネリクスでググレカス
125 名前:Name_Not_Found mailto:sage [2008/06/04(水) 11:24:45 ID:???] >>124 安い医薬品と出ました。それが何か?
126 名前:Name_Not_Found [2008/06/04(水) 14:34:45 ID:Nb3aWEU+] web制作板のみなさんお世話になります。 中国の災害が予言されていたということで、大変興味を持ちました。 マスコットが不吉な揃い方をしているとかも言われていますが、特に日付に 関しては、チベット暴動と四川大地震については、発生した日付の10の位 と1の位と月の数字を足すとそれぞれ8になることから中国人の間では不安 が拡大して「五輪開幕日の8月8日が災いの根源」との説があるとのことで す。この日付の関係式をjavascriptの日付関数で解けますか?javascriptの ことは少し分かる程度です。よろしくお願いします。
127 名前:Name_Not_Found mailto:sage [2008/06/04(水) 16:39:56 ID:???] 結局は何がしたいの?
128 名前:Name_Not_Found mailto:sage [2008/06/04(水) 21:40:22 ID:???] リラックスしたい
129 名前:Name_Not_Found mailto:sage [2008/06/04(水) 22:19:23 ID:???] >>123 モジラのトップがOCamlとPythonに傾倒しているからこうなる。 というかおぶじぇくとしこうにぎゃっこうとか、1.6から数年後に拒絶反応とかwww初心者ならブログでも書いとけよwww
130 名前:help [2008/06/04(水) 22:38:03 ID:GSbMkkT5] 2進数 1111111111111111111111111111111 (31桁の2進数) を10進数に変換するプログラムを書き、桁とその桁の値に該当 する10進数(例えば、4桁目は2の3乗で8である)および変換された 10進数を表にして出力せよ。
131 名前:help [2008/06/04(水) 22:45:45 ID:GSbMkkT5] 130の続きです。 書き出しからまったくわかりません;; ヒントだけでも教えてください。 javascriptでお願いします。
132 名前:Name_Not_Found mailto:sage [2008/06/04(水) 22:54:44 ID:???] alert(parseInt("1111111111111111111111111111111", 2)); 後半 >該当する10進数および変換された10進数 の意味が分からん
133 名前:Name_Not_Found mailto:sage [2008/06/04(水) 23:05:56 ID:???] >>132 つまり各桁のべき乗を掛けて表わした数(つまり10進数)ってことだろ。 くだらん。
134 名前:Name_Not_Found mailto:sage [2008/06/04(水) 23:10:22 ID:???] さすがに学校の課題かバイトの採用試験の答えを求めるような質問はNGだろ。
135 名前:Name_Not_Found mailto:sage [2008/06/04(水) 23:10:32 ID:???] >>132 吹いたw 確かにそうだけど 出題の意図としては違うんだろうな
136 名前:Name_Not_Found mailto:sage [2008/06/05(木) 00:00:18 ID:???] >>130 var a="1111111111111111111111111111111"; var b=0; var c= new Arry(); for(var i=0;i<a.length;i++){ c[i]= Math.pow(2, i); if(a.charAt(a.length-i) == "1"){ b+= Math.pow(2, i);} } 初心者の俺はこれで限界。参考にならんと思うけどがんばって
137 名前:Name_Not_Found mailto:sage [2008/06/05(木) 00:07:36 ID:???] >>136 >>132
138 名前:Name_Not_Found mailto:sage [2008/06/05(木) 00:17:00 ID:???] >>136 みたところそのcは何なの?ま、でなくても動きそうもないコードだなw
139 名前:Name_Not_Found mailto:sage [2008/06/05(木) 01:31:27 ID:???] キー操作の停止について、 下記のソースはfirefoxでは動かなく出来るのですが、 IEでは無視されてしまいます。 IEでも同じようにキー入力を禁止するにはどうすれば良いでしょうか? document.onkeypress = enter; function enter() { return false; }
140 名前:Name_Not_Found mailto:sage [2008/06/05(木) 01:33:59 ID:???] やめてください
141 名前:139 mailto:sage [2008/06/05(木) 01:43:18 ID:???] onkeydownもやればOKでした。 自己解決すみません。
142 名前:Name_Not_Found mailto:sage [2008/06/05(木) 10:37:39 ID:???] ついでにonmouseoverもやっとけ。 敵を逃がすな、onblurで身動きできなくしてしまえ。
143 名前:Name_Not_Found mailto:sage [2008/06/05(木) 12:16:24 ID:???] やめてください
144 名前:Name_Not_Found mailto:sage [2008/06/05(木) 14:31:16 ID:???] いいじゃないか。な、オレのこと、好きなんだろ?
145 名前:Name_Not_Found mailto:sage [2008/06/05(木) 14:58:08 ID:???] いえ、これと言って好きではありません。
146 名前:Name_Not_Found mailto:sage [2008/06/05(木) 15:22:01 ID:???] 妹が大事なら黙って言う事をきけ。
147 名前:Name_Not_Found [2008/06/05(木) 15:56:21 ID:qlY8JUcB] JavaScriptでURLからGETメソッドでパラメータを渡したいのですが可能ですか? 例えばtest.jsというファイルの中に、 function funcTest(a, b) { c = a + b; document.write(c); } という関数があるとします。 このaとbの値をURLからGETで受け渡して結果cを表示するようなことをしたいのですが、 JavaScript単体で可能でしたらどのようにやればよいかアドバイスお願いします。 それともhtmlから呼び出さないと無理でしょうか?
148 名前:Name_Not_Found mailto:sage [2008/06/05(木) 16:19:52 ID:???] >>147 location.queryにGETのパラメータ入ってるから。 「HTMLから呼び出す」というのが何を意味しているのか不明だけど。 ついでにdocument.write()については FAQ>>3 のQ4/A4を読んでおいた 方が幸せになれるかも知れない。
149 名前:Name_Not_Found [2008/06/05(木) 17:59:54 ID:qlY8JUcB] >>148 少し手惑いましたが上手くいきました。 location.searchなんて便利なものがあったんですね。 matchと組み合わせて値の検査もうまくできました。 document.writeの件は了解です。頭に入れときたいと思います。 解決しましたどうもありがとうございました。
150 名前:Name_Not_Found mailto:sage [2008/06/05(木) 19:07:08 ID:???] ごめん、ついlocation.queryとか打ってしまうんだよなー。 まあ解決したんならよかったけどー。
151 名前:Name_Not_Found [2008/06/06(金) 00:37:03 ID:HA+zQTrr] nameが"一定のルール+変数"であるラジオボタンが複数あります。 そして、このnameと同じIDのDIVがあります。 onlord時に、ラジオボタンのvalueで出し分けしたいのですが、どうすれば良いでしょうか? Javascriptは適当ですが、こんな事をしたいわけです…。 ("abc"が一定のルールです) -HTML- <input type="radio" name="abc_123" value="0" checked>ボタン1 <input type="radio" name="abc_123" value="1">ボタン2 <div id="abc_123">hogehoge</div> <input type="radio" name="abc_456" value="0">ボタン3 <input type="radio" name="abc_456" value="1" checked>ボタン4 <div id="abc_456">hogehoge</div> -JavaScript(jQuery)- $(function(){ var i = $("input[@type='radio']:checked").val(); if(i == 0){ hide(); }elseif(i == 1){ show(); } });
152 名前:Name_Not_Found mailto:sage [2008/06/06(金) 00:49:15 ID:???] starts-with(@id, 'abc')
153 名前:Name_Not_Found [2008/06/06(金) 01:03:25 ID:HA+zQTrr] >>152 ありがとうございます。 しかし、検索しても「XPath」というものしか出てきません。 個人的にはmatchあたりを使用して判断するのかと思っていましたが、もうちょっとヒントをいただけないでしょうか?
154 名前:Name_Not_Found mailto:sage [2008/06/06(金) 01:15:46 ID:???] めんどうだから<select>にしてはいかがか
155 名前:Name_Not_Found mailto:sage [2008/06/06(金) 01:21:18 ID:???] >>151 スクリプト、テキトーすぎでしょww 意外と難しいな
156 名前:Name_Not_Found mailto:sage [2008/06/06(金) 01:45:10 ID:???] <script type="application/javascript; version=1.7"> [e for (e in function (x) { while (true) { let e = x.iterateNext(); if (e) yield e; else throw StopIteration; } }(document.evaluate("descendant::input[@type='radio' and @name and starts-with(@name, 'abc_')]", document.body, document.createNSResolver(document.documentElement), 5, null))) if (e.checked) ].forEach(function (e) { document.getElementById(e.name).style.setProperty('display', e.value == '1' ? 'block' : 'none', ''); }); </script>
157 名前:Name_Not_Found mailto:sage [2008/06/06(金) 01:49:21 ID:???] これは凄い
158 名前:Name_Not_Found mailto:sage [2008/06/06(金) 01:55:51 ID:???] >>151 こんな感じ? $(function(){ var name_prefix = "abc_"; $("input[type=radio][name^="+name_prefix+"]:checked").each(function(){ var self = $(this), name = self.attr("name"); $("#"+name).css("display", (self.val() == 0 ? "none" : "display")); }); });
159 名前:Name_Not_Found mailto:sage [2008/06/06(金) 02:05:44 ID:???] >>158 display値間違ってる > $("#"+name).css("display", (self.val() == 0 ? "none" : "display")); $("#"+name).css("display", (self.val() == 0 ? "none" : "block"));
160 名前:Name_Not_Found mailto:sage [2008/06/06(金) 02:42:07 ID:???] >>158 >>156 おまえらもまだまだだなぁ。( ´ー`)y--┛~~ formタグ(id:f1)で囲む。ラジオボタンはもちろん漢の2択な。 var list = ["abc_123", "abc_456"]; var divs = document.getElementsByTagName("div"); for(var i = 0; i < list.length; i++){ var colum = list[i]; if(document.forms["f1"].elements[colum][0].checked){ for(var j = 0; j<divs.length; j++){ if(divs[j].id == colum){ divs[j].style.display = "none"; }}}}}
161 名前:Name_Not_Found mailto:sage [2008/06/06(金) 02:53:11 ID:???] >>160 変数って言ってるんだからそれはダメでしょww
162 名前:Name_Not_Found mailto:sage [2008/06/06(金) 07:37:33 ID:???] jQuery使ってるならこんな感じかな $(function(){ $("input[@type='radio']:checked").each(function() { var id = '#' + this.name; (this.value == 1) ? $(id).show() : $(id).hide(); }); }); と、書いた後に>>158 で既に出てたことに気づいた。
163 名前:Name_Not_Found mailto:sage [2008/06/06(金) 08:46:48 ID:???] >>154-162 皆様、本当にありがとうございました。 大変参考になりました。 安易なコピペをせず、1つ1つ理解しながら使用したいと思います。 本当にありがとうございました。
164 名前:Name_Not_Found [2008/06/06(金) 12:12:07 ID:bbRuoLWJ] フレームを使って画面を左右2つに分割しているんですが、 左側フレームから右側フレームの読み込みが完了した事を知るためには どのようにすればよろしいでしょうか?
165 名前:Name_Not_Found mailto:sage [2008/06/06(金) 12:16:07 ID:???] bodyの末尾にalert('終わったよ')でいいんじゃない?
166 名前:Name_Not_Found mailto:sage [2008/06/06(金) 12:44:34 ID:???] >>164 右フレームの「HTMLが」読み終わったことを知る?それとも 中に含まれている「画像なども」全部読み終わったことを知る? 前者なら右フレームのbody末尾に <script type="text/javascript">finished = true;</scirpt> とか入れておいて左からは if(parent.frames.右フレーム名.finished) ... とかで判定すればいいんじゃないかなー。試してないけど。
167 名前:Name_Not_Found [2008/06/06(金) 14:30:22 ID:bbRuoLWJ] >>166 「右フレームの「HTMLが」読み終わったことを知る」の方になります。 166さんのコードで試してみたら判定できました。 違うフレームの変数へのアクセスの仕方を知らなかったのでとても参考になりました。 >>165 >>166 body末尾に判定用の何かを用意してあげなくちゃ実現できないのですね。 読み込み完了を知る術がjavascriptに用意されているわけじゃないのですね。 勉強になりました、ありがとうございます。
168 名前:Name_Not_Found mailto:sage [2008/06/06(金) 15:38:47 ID:???] テキストエリアのフォーカスについて おうかがいしたいことがありやってまいりました。 よろしくお願いします。 1. ページ上部にフォーカスのあたったテキストエリアがあります(このページをAとします)。 2. このAページは縦に長いため、画面右にはスクロールバーが表示されています。 3. Aページ全体ではありますがページ下部の方にも、別ページへリンクしている部分いくつかあります。 4. その別ページへのリンクは同じウィンドウで行われ、新しいウィンドウで表示はさせません。 5. このAページの一番下にあるリンクから、別ページ(これをBとします)を開きます。 6. A・Bは同じウィンドウなので、 ブラウザの「戻る」または右クリック「前に戻る」でBからAに戻るとします。 7. 通常ならば、Aに戻ると一番下にあったリンクからBへ移動したので、 そのリンクのあったページ下部が画面に表示されると思いますが、 Aページ上部にあるテキストボックスにフォーカスをあてているため、 そのテキストボックスのあるページ上部が画面に表示されます。 私としては上の例BからAに戻ったときに、 移動する前のままページ下部が表示されてほしいのです。 そこでお聞きしたいのですが、 ページ上部のテキストボックスにフォーカスをあてたままで、 かつ、BからAに戻ったときに移動前のページ下部を表示させる、 ということは可能でしょうか。 もちろん、Aページ中央からCページに移った場合、 CからAに戻るとすると、移動前の中央ページのままであることはお分かりかと思います。 お知恵、ご意見お聞かせください。
169 名前:Name_Not_Found mailto:sage [2008/06/06(金) 18:19:50 ID:???] >>168 再現しないなあ。というか、下部のリンクをクリックしたときに クリックしたことによってそのリンクにフォーカスが当たり テキストエリアのフォーカスが外れるような気がするんだけど、 何か勘違いしている?
170 名前:Name_Not_Found mailto:sage [2008/06/06(金) 18:25:19 ID:???] >>167 IE以外の主要ブラウザには普通にある ttp://d.hatena.ne.jp/flick-flick/20080409
171 名前:Name_Not_Found mailto:sage [2008/06/06(金) 18:26:14 ID:???] >>167 IE以外の主要ブラウザには普通にある ttp://d.hatena.ne.jp/flick-flick/20080409
172 名前:Name_Not_Found mailto:sage [2008/06/06(金) 18:26:34 ID:???] ミスったすまん
173 名前:Name_Not_Found mailto:sage [2008/06/06(金) 20:12:02 ID:???] >>170-172 10年前からIEにあったreadyStateと、9年前からIEのHTCにあったondocumentreadyなどを参考に他のベンダが真似ただけ。
174 名前:Name_Not_Found mailto:sage [2008/06/07(土) 12:36:42 ID:???] IE6で、下記の設定すると、 別のウィンドウがアクティブ時に スクリプトを記入したブラウザにマウスを乗せると、 ブラウザのタクスバーが点滅するんですが、 させないようにする何か良い方法ありませんか? <body onMouseOver="window.focus();"> firefoxでは大丈夫みたいです。
175 名前:Name_Not_Found mailto:sage [2008/06/07(土) 12:52:19 ID:???] >>174 HKEY_CURRENT_USER\Control Panel\Desktop\ForegroundLockTimeout=0
176 名前:174 mailto:sage [2008/06/07(土) 23:04:50 ID:???] >>175 すみませんありがとうございます。 確認してみます。助かりました。
177 名前:Name_Not_Found mailto:sage [2008/06/07(土) 23:26:37 ID:???] <script type="text/javascript"> var TEST = function(){ this.data = "asdf"; this.a = function(){ console.log(this.data) } } var test = new TEST(); test.a(); setInterval(test.a,3000); </script> こういうコードを書いてFirefox2+firebugで実効してみたところ asdf undefined undefined undefined 以下,ずっとundefinedと出力されます. setIntervalで呼び出す場合,this.dataでクラスのプロパティを参照出来ないみたいなんですが, 何か方法はないのでしょうか?よろしくお願いします.
178 名前:Name_Not_Found mailto:sage [2008/06/07(土) 23:28:10 ID:???] FAQ嫁としか言いようがない
179 名前:Name_Not_Found mailto:sage [2008/06/07(土) 23:54:27 ID:???] 質問です。 生成した要素にそれぞれ <div id="t1" onclick="test(1)"> <div id="t2" onclick="test(2)"> <div id="t3" onclick="test(3)"> ... とHTMLで書いた時と同じに動くように 繰り返し処理でイベントを追加していきたいのですが、 どうしてもうまくいきません。 obj.setAttribute('onclick', 'test(' + i + ');'); なら期待通りの動作が可能ですが、これではIEで動きませんし、 obj.addEventListener('click', function (event) {test(i);}, false); などでは、それぞれのイベントの引数が同じになって?しまいます。 どうしたらいいのでしょうか・・・?
180 名前:Name_Not_Found mailto:sage [2008/06/08(日) 00:12:07 ID:???] >>178 ありがとうございます.解決しました.
181 名前:Name_Not_Found mailto:sage [2008/06/08(日) 00:36:53 ID:???] >>179 let
182 名前:Name_Not_Found mailto:sage [2008/06/08(日) 00:44:57 ID:???] >>179 バブルするイベントタイプには、アホ外人が俗に言うイベントデリゲーションを使え。なんべん言わせるんだ。
183 名前:Name_Not_Found mailto:sage [2008/06/08(日) 00:47:31 ID:???] >>179 いわゆるイベントハンドラーの引数は、イベントオブジェクト1つにするよう決めておけ。欲しい値はイベントオブジェクトに問え。なんべん言わせるんだ。
184 名前:Name_Not_Found mailto:sage [2008/06/08(日) 01:26:01 ID:???] >179です。 IE用とそれ以外用の処理を振り分ける形で解決しました。 - IE用 - obj.setAttribute('onclick', new Function('test(' + i + ');')); - その他用 - obj.setAttribute('onclick', 'test(' + i + ');'); >>181 let・・ううむ。ブロックやらスコープやら意味の分からない言葉が。 プログラミング経験のない自分には理解が難しそうです。 >>182 イベントデリゲーション・・・親要素でイベントを監視する? すみません、何度言われても基礎がないので理解できませんでした。 具体例を見比べて感覚的に理解するのがやっとのレベルです。 >>183 イベントオブジェクトから値を得る・・・。 そのイベントオブジェクトとやらが、なぜこちらの望む値を知っているのでしょうか・・・? 質問したものの、自分の知識不足で回答も理解できなくて申し訳ありません。 答えて下さった皆さんに感謝します。本当にありがとうございました。
185 名前:Name_Not_Found mailto:sage [2008/06/08(日) 08:42:22 ID:???] FAQ から setAttribute に関する Q&A が欠落してる ? >>184 振り分けは美しくないと思う. なぜって UA の判定によって無駄に長くなるし, 判定方法によっては誤動作発生の可能性が広がる. ではどうするか ? この場合は... obj.onclick=function(){test(i);} てな感じで解決する. お試しあれ.
186 名前:Name_Not_Found [2008/06/08(日) 10:05:44 ID:nfOmMZGh] すみません誰か教えてください フィールドに数値を入力すると 自動的にカンマ編集してくれるJavascriptをOnKetupに設定しました。 ですが、”カンマ編集なし”フィールドにフォーカスがある状態でSHIFT+TABキーを押したとき ”カンマ編集つき”のフィールドにフォーカスが移っているようなのですが カーソルが表示されていません。 Onkeyupの処理の後にthis.focus();をいれても同様です。 フォーカス移動後、カーソルが正しく表示されるにはどうしたらいいのでしょうか。 ============================================================ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="ja"> <head> <meta http-equiv="content-type" content="text/html; charset=Shift_JIS"> <title>634 - JavaScript - 数値のカンマ編集を行う</title> <script language="Javascript"> <!-- function addComma(value){var i;value=value.split(",").join(""); for(i = 0; i < value.length/3; i++){ value = value.replace(/^([+-]?\d+)(\d\d\d)/,"$1,$2");} return value;} //--> </script> </head> <body> カンマ付き<input type="text" name="aaa" onkeyup="this.value=addComma(this.value)"> カンマなし<input type="text" name="bbb"> </body> </html>
187 名前:Name_Not_Found mailto:sage [2008/06/08(日) 11:10:04 ID:???] ファイル選択の際に拡張子xxxのみを選択させるようなフィルタをかけたいのですが、どのように記述すると良いでしょうか? 現在は拡張子xxxファイル以外を選択し実行すると「xxxファイルを指定してください」というメッセージを出しているのですが やはり選択時にxxxファイル以外を選択できないようにしたいです いい方法ありませんか? ------------------------------------------------------------------------------------------- <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" language="JavaScript"> <!-- function subMit() { var name = document.xxxUploadForm.xxxFile.value; var fileTypes = new Array(); fileTypes = name.split("."); var fileType = fileTypes[fileTypes.length-1].toLowerCase(); if (fileType != "xxx") { alert('xxxファイルを指定してくだい'); return false; } return true; } //--> </script> </head> <body> <form name="xxxUploadForm" method="post" action="upload.do" enctype="multipart/form-data"> <fieldset> <legend>xxxファイルの転送</legend> <input type="file" name="xxxFile"><br> <input type="submit" value="アップロード" onClick="return subMit();"> </fieldset> </form></body></html>
188 名前:Name_Not_Found mailto:sage [2008/06/08(日) 11:25:06 ID:???] ブラウザが対応しているかどうか知らんが 一応input要素にはaccept属性というものがある
189 名前:Name_Not_Found mailto:sage [2008/06/08(日) 11:31:21 ID:???] >>188 それは試しましたがIE、Firefoxでもダメでした やはりしょうがないのですかね? こういう比較的単純なものはすぐにできそうだと思ったのですが
190 名前:Name_Not_Found mailto:sage [2008/06/08(日) 13:06:10 ID:???] input type=fileはセキュリティ上の問題が起きやすいので ガチガチに制約されていてどうにもならないことが多い。
191 名前:Name_Not_Found mailto:sage [2008/06/08(日) 13:10:06 ID:???] >>187 Flashを使うしかない
192 名前:Name_Not_Found [2008/06/08(日) 13:16:32 ID:fYNUydwk] function sendVideoLink(videoId){ var url = '/contact/sendlink?obj=v&id='+videoId; checkLogin(MM_openBrWindow,url,'','scrollbars=yes,width=695,height=490,resizable=yes'); } <a charset="400-002-2-4" href="javascript:sendVideoLink('XMjc3MDQ1MzI=','0200640400482D864C5AE000AEF6647CED502D-7AA2-9D39-9256-82A8FD7CC8D9');">??</a> この場合sendVideoLinkには引数2つが送られるんですよね? それともvdeoIdというのは配列変数としてみなされて2つともそこに入るんですか? でも var url = '/contact/sendlink?obj=v&id='+videoId; この使い方だとどうもスカラ変数っぽいですし。 よろしくお願いします。
193 名前:Name_Not_Found mailto:sage [2008/06/08(日) 13:21:15 ID:???] HTMLとかHTTPとかURIの勉強をするのが先だろ。
194 名前:192 [2008/06/08(日) 19:47:11 ID:fYNUydwk] どなたもいませんか?
195 名前:Name_Not_Found mailto:sage [2008/06/08(日) 19:49:39 ID:???] 華麗にスルーされてると思わないとね。あまりに厨房だから 皆引いてるんでしょ。
196 名前:192 [2008/06/08(日) 20:21:54 ID:fYNUydwk] >>195 具体的にどこが失礼な質問なのでしょうか?
197 名前:Name_Not_Found mailto:sage [2008/06/08(日) 20:44:13 ID:???] >>192 配列では無く、videoIdには一番目の引数(XMjc3MDQ1MzI=)だけが渡される。 >>196 このスレにはテンプレ脳な暇潰しのカスが常駐しているようなのでスルーでおk。
198 名前:Name_Not_Found mailto:sage [2008/06/08(日) 21:27:52 ID:???] >>192 JavaScriptに慣れるとわかるけど、関数の引数の数は呼び出す側の数と一致しなくても良くて、 関数の方が少ないなら呼び出した引数の先頭から順に入る。 なので、この場合は>>197 が言ってる通り2番目の引数は無視される。 sendVideoLink(videoId1, videoId2){} とかにして2つとも受け取るようにするか、 呼び出す側をsendVideoLink(['XMjc3MDQ1MzI=','0200640400482D864C5AE000AEF6647CED502D-7AA2-9D39-9256-82A8FD7CC8D9']) って配列にして、関数側でvideoId[0],videoId[1]で使い分けるか、 あとは関数側でargumentsって配列に引数が全て入ってるからそれを使うか。 ということで、テンプレ見て勉強するといいと思うよ
199 名前:192 [2008/06/08(日) 21:28:37 ID:fYNUydwk] >>197 ありがとうございます! やはり配列ってことにならないんですね。 sendVideoLink関数の方でargumentsを使えば一応は2個目の引数も受け取れるようですね。IE7動作。 でもどうもsendVideoLink関数でarguments関数を使ってないんですよね。 それだと何の為の2つの引数なのかまったくわかりません。 何かの裏技なのでしょうか。 もしくはsendVideoLink関数内で別関数を呼んで、 そっちの別関数からsendVideoLink.argumentsをいじることができるんでしょうか? function gest(){ return(goueki.arguments[2]) } function goukei(a) { return(gest()) } document.write(goukei(1,2,3,4,5)); これIE7で試しても何も表示されないんです。なのでやはり別関数からいじる事はできないんですよね? 一体この作者はどういう意図で2つ渡してるのそれを使ってないのでしょうか? いや、やはりどうにかして使ってると思うのですが・・・・
200 名前:192 [2008/06/08(日) 21:31:43 ID:fYNUydwk] >>198 ありがとうございます! すいません>>192 はyoukuのソースなんです。 一体どうやってフラッシュを表示してるのかを調べてるんです。 URLひとつで実際には4つを順々に表示してるんです。 いや、4つではなくて、動画によって数は違うんですけどね。 で、youkuがわざわざ引数2つを渡してるのに2個目は実際には何にも使わないなんてことはないはずだけど、 使ってる形跡を見つけられないんですよ。
201 名前:Name_Not_Found mailto:sage [2008/06/08(日) 21:44:55 ID:???] ks
202 名前:189 mailto:sage [2008/06/09(月) 00:51:37 ID:???] >>190 何か別の方法でファイルを選択できますか? >>191 例えばどのようにFlashを使うのでしょう?
203 名前:Name_Not_Found mailto:sage [2008/06/09(月) 01:57:44 ID:???] >>190 type="file" の時はおまえみたいな非常に浅い理解で具体的に何が出来て何が出来ないかを示せない馬鹿が必ず出てきて鬱陶しいよね。
204 名前:Name_Not_Found mailto:sage [2008/06/09(月) 02:06:41 ID:???] >>199 >goueki
205 名前:Name_Not_Found mailto:sage [2008/06/09(月) 02:46:22 ID:???] 正直203のが鬱陶しいけどな
206 名前:Name_Not_Found [2008/06/09(月) 06:25:01 ID:vGF9cdNm] 複数のブログやサイトのRSSを用いて↓のサイトのように、 ブログタイトル、記事タイトル、更新日を表示させる方法をお願いします。 www.webmemo.jp/star/update.php
207 名前:Name_Not_Found mailto:sage [2008/06/09(月) 08:16:45 ID:???] >>206 できない。JavaScriptは元鯖からのデータしか読めないから。 HTAとかならできるのかも知れないがスレ違い。
208 名前:Name_Not_Found mailto:sage [2008/06/09(月) 08:56:37 ID:???] >>206 つ「Google AJAX Feed API」 ttp://code.google.com/apis/ajaxfeeds/ 日本語の解説・サンプルもいっぱい転がってるから、必要なら 「rss」あたりの単語と組み合わせてググってね。 >>207 ↑はJavaScript以外で拾ってくるけど処理はJavaScript側だし、 スレ違いってわけでもないよな。
209 名前:Name_Not_Found mailto:sage [2008/06/09(月) 11:11:53 ID:???] なるほどー、ライブラリ/フレームワークをどうするんだという 話が前にあったけど、さまざまなAPIをどうするんだという話も あるわけね。
210 名前:Name_Not_Found mailto:sage [2008/06/09(月) 12:52:59 ID:???] APIの使い方なんて簡単だろ。自分のコードを晒してする質問と何ら変わらん。
211 名前:168 mailto:sage [2008/06/09(月) 13:23:15 ID:???] >>169 亀レスでもうしわけなし。私が勘違いしてるのか・・・。たとえば単純に書くと、 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "www.w3.org/TR/html4/loose.dtd "> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>たとえば</title> </head> <body onLoad="document.form.kensaku.focus()"> <form action="#" name="form"> <p>なんか入力:<input type="password" name="kensaku" size="18"></p> </form> <hr> 1: 【お知らせ】2ちゃんねるサーバ停止のお知らせ【台数半分にすっぞ】 (1) 2: 【倒産】VS(ベンチャーソリューション)を語る (49) ・・・・・(省略)・・・・・・・ 99: アクセスしてきた奴の自鯖を晒すスレ (41) 100: 壁紙のダウンロード方法って・・・? (246) <hr> <a href="www.2ch.net/ ">2ちゃんねる</a> </body> </html> ↑一番上、入力欄下のデータ部に(省略)とありますが、スクロールバーが出るくらいデータが入っているとします。 ページ下部のリンクで別ページを開いたのち、「戻る」で、この「たとえば」ページに戻ると、 画面は、ページ上部フォーカスのあたっている入力欄のところが表示されている(はず)。 そうではなく、戻ったらページ下部のリンクがあった画面が表示されてほしい、のです。 入力欄のフォーカス指定をはずすと、そうはなるのですが、 フォーカスはあてたまま、戻るとリンクのあるページ下部が画面に表示される、 という状態にしたいのです。 これも説明になってないか・・・。もうしわけない。
212 名前:Name_Not_Found mailto:sage [2008/06/09(月) 13:29:55 ID:???] >>211 それが分からないんだけど、「ページ下部のリンクで別ページを開く」 ってそのリンクをクリックすることじゃないの?クリックしたらその リンクにフォーカスが行って入力欄のフォーカスは外れそうに思える (自分で簡単なサンプルを作ってやってみるとそうなる)んだけど、 何が違うのかな?
213 名前:168, 211 mailto:sage [2008/06/09(月) 13:53:03 ID:???] >>212 >「ページ下部のリンクで別ページを開く」ってそのリンクをクリックすることじゃないの? クリックします。 そのあとがいまいちよくわからないのですが・・・。 たとえば、「2ちゃんねる検索」も検索用テキストボックスにフォーカスがあたっていますよね。 で、javascriptをキーワードに検索します。 それで現時点で一番下にある「PHPとjavascriptの連携 (48) - WebProg板@2ch」を 「クリックして」「ページを開く」「PHPとjavascriptの連携」ページ確認、そして「戻る」をすると、 検索結果のページトップというか、カーソルが点滅している検索用テキストボックスのところがトップになっている画面が表示される。 そうではなくて、5秒前まで見てた「PHPとjavascriptの連携 (48) - WebProg板@2ch」があったページ下部が表示されてよ、 うまい指定の仕方で、常時、検索欄でカーソルはチカチカしてるけど、 「戻る」したらページ移動前に見ていた画面が表示される、 ということは可能か、というのが質問していることなんですが・・・。 >クリックしたらその >リンクにフォーカスが行って入力欄のフォーカスは外れそうに思える >(自分で簡単なサンプルを作ってやってみるとそうなる)んだけど ここか。だれかここを理解できるよう橋渡ししてください・・・(涙)。
214 名前:Name_Not_Found [2008/06/09(月) 14:01:24 ID:a/ZdMAN2] 下のように、マウス座標をページに表示しようとしているのですが IE6でうまくいきません。Firefoxだと出来たのですが、原因は何なのでしょうか? <script type="text/javascript" src="./prototype.js"></script> <script type="text/javascript"> <!-- document.onmousemove = function(event) { $("result").innerHTML = "(x, y) = (" + Event.pointerX(event) + ", " + Event.pointerY(event) + ")"; } // --> </script>
215 名前:Name_Not_Found mailto:sage [2008/06/09(月) 15:11:42 ID:???] >>214 FxとIEではイベントオブジェクトの渡され方が違う。とりあえず、 関数の入口(1行目と2行目の間)に if(!event) event = window.event; を入れてみたら動くかも知れない。prototype.js使ってないから どうなるか分からないんだけどね。
216 名前:Name_Not_Found mailto:sage [2008/06/09(月) 17:01:44 ID:???] Prototype.js関係ないだろ。環境にある識別子と同じ名前を引数に付けて乗っ取るから悪い。 ところで、1999年後半以降からの結果論だが、=関数名 は、NN3、=関数式 は、IE4, NN4 らのために一時凌ぎで実装されたもの。 マイナーどころでは、Opera6またはそれ以前は、この書き方しか受け付けないが、まあ、これはどうでもいい。 つまり、これが本当に有効だったのは、1998年前後の1年間ほどの期間に過ぎない。 1999年秋にはattachEvent()を使えたし、同じ頃にモジラもaddEventListener()が使い物になっていた。 本来なら、過去5年で、イベント処理に限っては、 =関数式(or 関数名) は消えたはずだとおもうが、 非イベントオブジェクト(MS用語)であって、副作用を伴う他のプロパティと同列の、onreadystatechangeとの混同が起きたと考えられる。 この混同のせいで、=関数式(or 関数名) という暫定処置が、何と、2008年の今でもバリバリ現役のままである。 匿名関数または関数本体以外からは参照不可能な名前付き関数式を使えば、 attachEvent(), addEventListener()されたハンドラをdetachEvent(), removeEventListener() することは出来ない。 そして、ハンドラにはイベントオブジェクトが引数1つだけ渡される。 (MSにとってこれはドキュメント化されていない実装に過ぎないが、変更されることはありえないのが現実というものだ。) HTMLのイベント属性として書けば、...innerHTML = ...innerHTML.replace(...) みたいな豪快な書き換えでも残る場合が多い。 そして、eventという共通の名前でイベントオブジェクトを参照できる。 ところが、=関数式(or 関数名) はあっさりと消え去る。 それが便利なのか不便なのかは条件次第だが、 意図せず消してしまうトラブルを防ぐために、もうこれはなるべく使わない方が賢明だろう。 何度も言うが、まとめるとこうだ。こうしておけば、eventという名前の引数にしておいてトラブルことは無い。 *バブルするイベントタイプは、アホ外人が俗に言うイベントデリゲーション。attachEvent(), addEventListener() で待ち構える。 *バブルしないイベントタイプは、HTMLのイベント属性値として書く。ブサイクでもそうする。
217 名前:Name_Not_Found mailto:sage [2008/06/09(月) 18:14:06 ID:???] user.js用にマウスストーカー作ってるんだが アイコン程度じゃなくてリンク情報とかを表示するから結構サイズ大きめになり、サイズも毎回変わります popup = document.createElement('div') document.body.appendChild(popup); てしてdocument.onmousemove時にwindow.event.clientYでマウスカーソルの位置を取得して動かしてるんですが 画面の端から飛び出してしまったり、Flashに重なって見えなくなってしまうことがあってなかなか見やすいマウスストーカーが出来ません その辺ひとまとめにしたサンプル合ったら教えて下さい
218 名前:Name_Not_Found [2008/06/09(月) 18:31:50 ID:0upt6Yhx] パソコンをリカバリーした後、急にyoutubeやニコニコ動画(動画を見る時、画面だけ表示されない)が見れなくなってしまいました。 youtubeには『JavaScriptがオフになっているか、古いバージョンのAdobe Flash Player を使用しています。』 と表示されました。 『最新のFlash Playerを入手してください。』とあったんですが、たぶんこれは関係ないと思います。 JavaScriptをオンにする方法を教えて下さい。 回答宜しくお願いします。
219 名前:Name_Not_Found mailto:sage [2008/06/09(月) 18:45:25 ID:???] スレ (´∀`( ´∀`) チガイ
220 名前:Name_Not_Found mailto:sage [2008/06/09(月) 19:38:21 ID:???] 変な user.js 入れてると見れなくなったりするけどな
221 名前:Name_Not_Found [2008/06/10(火) 12:49:34 ID:dW29imBv] イメージマップからform送信をしたいんですけど、 <form action="---" name="a"> <input name="b"> </form> <img〜 <area href="javascript:document.a.b.value='x';document.a.submit();"〜> とかで動きません。 どーすりゃいいっすか?
222 名前:Name_Not_Found mailto:sage [2008/06/10(火) 14:03:32 ID:???] >>221 アンタが勝手にOKと思って省略したとこに失敗があるんだろ。 サンプル作ってみたが動くよ。貼って試せる例を作って貼れボケ。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><title>???</title> <script type="text/javascript"> function test() { document.forms.f0.elements.t0.value = 'xx'; document.forms.f0.submit(); } </script> </head><body> <h1>Test</h1> <form name="f0" action="#"><div><input type="text" name="t0"></div></form> <img src="t0.png" usemap="#m0"><map name="m0"> <area shape="rect" coords="10,10,40,40" href="javascript:test()"> </map></body></html>
223 名前:Name_Not_Found [2008/06/10(火) 14:48:12 ID:CRyogfYR] ttp://d.hatena.ne.jp/Kishi/20071219/1198069464 マウス座標を取りたいのですが、 このスクリプトをjavascriptから実行するにはどうしたらよいでしょうか?
224 名前:Name_Not_Found mailto:sage [2008/06/10(火) 14:56:24 ID:???] 初歩的な質問ですみません、、 onClick="myChgPic('画像データ')"でサムネイルをクリックすると 別の場所で画像が大きく表示されるのをを作ったのですが ワタシのPCでは動作したのですが クリックしても無反応なPCがいくつかあります。 考えられる原因とは何でしょか?
225 名前:Name_Not_Found mailto:sage [2008/06/10(火) 14:59:38 ID:???] >>224 考えられる原因は数限りなくあるから、とりあえずサンプルコードを貼るといいと思うよ
226 名前:Name_Not_Found mailto:sage [2008/06/10(火) 15:06:35 ID:???] >>225 レスありがとうございます。。 とりあえず要点だけまとめたサンプルコード張ります。 <SCRIPT language="JavaScript"> <!-- function myChgPic(myPicURL){ document.images["myBigImage"].src = myPicURL; } // --> </SCRIPT> <A href="javascript:void(0)" onClick="myChgPic('test.jpg')">test</A> これぐらいで分かるものでしょうか・・?
227 名前:Name_Not_Found mailto:sage [2008/06/10(火) 16:11:13 ID:???] >>226 document.images["myBigImage"]が何意味してるのかわからないよ と思ったら www.red.oit-net.jp/tatsuya/java/image3.htm これ参考にしたのか。 この通りなら動くと思うけど、クリックしても無反応なPCってOSとブラウザ何? とりあえず、myChgPicの中にalert(document.images["myBigImage"])とかを追加して ちゃんと取れてるか確認してみたら? あと、このサイトの書き方が古いからあんまり参考にしない方が良いと思う
228 名前:Name_Not_Found mailto:sage [2008/06/10(火) 16:17:55 ID:???] >>223 そのページに全部書いてあると思うが。何が分からないんだか こっちに分からないんで説明のしようがないという感じ。
229 名前:Name_Not_Found mailto:sage [2008/06/10(火) 16:43:15 ID:???] >>227 一応["myBigImage"]は認識されているみたいです。 実は動作しないPCというのが手元にないもので ちょっとOSやブラウザを確認してきます。 どうもありがとうござました!
230 名前:223 [2008/06/10(火) 17:29:12 ID:CRyogfYR] そのページでは <a href="javascript:void(0);" onclick="pos(event)">マウス座標を得る</a> からpos(event)を呼んでますが、そうではなく、他のjs たとえばfunction hoge(){.....} からpos(event);を呼びたい場合は hogeのなかになんと書けばよいでしょうか? ということです。
231 名前:Name_Not_Found mailto:sage [2008/06/10(火) 17:45:18 ID:???] >>230 クリックも何もしない時はマウスの座標取れないから。
232 名前:Name_Not_Found mailto:sage [2008/06/10(火) 18:53:03 ID:???] ニコニコのwrapperをボタンで切り替えようとして、以下のようなnicocache_nl用のscriptを作ったのですが、 onのaddVariable("v",getQueryParamValue("v"))のところで、swfobject.jsに書いてあったように引数を指定したのに動きませんでした。 //offの様に、動画のid直打ちだと動きます。何が悪いんでしょうが? var load_btn=document.createElement('input'); document.body.appendChild(load_btn); load_btn.setAttribute('id','reload_btn'); load_btn.setAttribute('type','button'); load_btn.setAttribute('value','Wrapper on/off'); load_btn.addEventListener("click",flv_reload,false); flvs="0"; function flv_reload(){ if(flvs=="0"){ //on var so=new SWFObject("/swf/nicoplayer.swf?ts=1212800400","flvplayer","952","540","9","#FFFFFF"); so.addVariable("v",getQueryParamValue("v")); so.write("flvplayer_container"); flvs="1";} //off else{ var so=new SWFObject("flvplayer_wrapper.swf?ts=1212800400","flvplayer","952","540","9","#FFFFFF"); so.addVariable("v", "sm1672731"); so.write("flvplayer_container"); flvs="0";}}
233 名前:Name_Not_Found mailto:sage [2008/06/10(火) 21:11:25 ID:???] >>230 マウス座標の取得ってのはイベントが起きたときのマウス座標だから 何らかのイベントから呼び出すんだよ
234 名前:Name_Not_Found mailto:sage [2008/06/10(火) 21:15:27 ID:???] >>232 getQueryParamValue("v")の結果をalert()で表示させてみれば。
235 名前:Name_Not_Found mailto:sage [2008/06/10(火) 23:32:08 ID:???] >>232 url=window.location.href; url=url.replace(/.+\//,""); so.addVariable("v",url); こんな感じで解決しました。
236 名前:Name_Not_Found mailto:sage [2008/06/10(火) 23:33:27 ID:???] >>235 >>234 です。
237 名前:Name_Not_Found mailto:sage [2008/06/11(水) 19:55:42 ID:???] 前evalでの議論があったみたいだけど、 AjaxのJSON取得して、eval展開しまくってるのはダメなことなの?
238 名前:Name_Not_Found mailto:sage [2008/06/11(水) 19:56:51 ID:???] 中身が保証されてればいいけど
239 名前:Name_Not_Found mailto:sage [2008/06/11(水) 21:25:24 ID:???] iframe で 呼び出したソース(子供)の中から、iframeを呼んているソース(大人)の メソッドを呼びたいのですが、どのように記述すればよいのでしょうか?
240 名前:Name_Not_Found mailto:sage [2008/06/11(水) 21:27:14 ID:???] window.parent.piyo()
241 名前:Name_Not_Found mailto:sage [2008/06/11(水) 21:58:12 ID:???] >>238 そういう痛い自演似非脆弱性はアホ外人のネタ切れブログで勝手に騒がせとけ。
242 名前:Name_Not_Found mailto:sage [2008/06/11(水) 22:18:09 ID:???] >>240 ありがとうございます。
243 名前:Name_Not_Found mailto:sage [2008/06/11(水) 22:41:46 ID:???] 煽りぽいのは頂けないね。両説それなりに論拠あるんだから ちゃんと自分の主張を述べないと(それとも述べられないかね :-) まあこんなとこでやるより「JSON eval セキュリティ」でぐぐれば十分か。
244 名前:Name_Not_Found mailto:sage [2008/06/11(水) 23:39:05 ID:???] 無駄なレスがいちばんうざい
245 名前:Name_Not_Found mailto:sage [2008/06/12(木) 00:46:38 ID:???] bookmarkletでキーイベント発生させるのって無理なんでしょうか? <body onkeydown="nullpo(event.keyCode);">なページに >> document.onkeydown(0) とかしてみたけど TypeError: document.onkeydown is not a function とか怒られてしまいます。
246 名前:Name_Not_Found mailto:sage [2008/06/12(木) 03:27:32 ID:???] そもそもbookmarklet実行時にdocumentスコープがあるとは思えないんだけど
247 名前:Name_Not_Found mailto:sage [2008/06/12(木) 03:53:37 ID:???] >>245 関数でまるごと取り出すのは無理 属性値の中に書かれているものだけならgetAttributeしてeval ただしthisが違うオブジェクトを指すのに注意 だが広く公開するブックマークレットならevalはやめとけよ
248 名前:Name_Not_Found mailto:sage [2008/06/12(木) 08:38:11 ID:???] 関数とオブジェクトについて質問 var b = {} b.prop = 'property'; と言う感じにプロパティを付けるのは b = { prop : 'property' } と一緒だから、ハッシュということですんなり理解できるのですけど、 var a = function(){} a.prop = 'property'; これってどうなってると考えれば良いですか? a.prototype = {} が指定できるからプロパティを付けることは問題ないのかなと思うのだけど、 この場合のaはfunctionだから違和感がある for (var key in a) { alert(key); // prop, prototype } ってやると確かにaはオブジェクトっぽいけど、理解ができない
249 名前:Name_Not_Found mailto:sage [2008/06/12(木) 09:19:48 ID:???] >>244 「JSON eval セキュリティ」でぐぐってみるというのは 質問者にとって重要な情報。無駄ではない。 アンタにとっては見たくなかった情報だからそりゃうざいだろうさ(w
250 名前:Name_Not_Found mailto:sage [2008/06/12(木) 11:22:12 ID:???] >>248 関数も関数オブジェクトというオブジェクトだから別にいいんでは。
251 名前:Name_Not_Found [2008/06/12(木) 14:46:12 ID:8qjKDFLu] 3.0.1.2.3みたいな数値にドットが混ざってる文字列を、 3.0123のように最初のドットはつけたままで残りを取り払い、 float型に変えたいのですがどのように変えればいいですか? ドットを取り除いてint型にすることはできるのですが、 最初のドットのみを残すといった器用なことができません。 どなたかお助け下さい。
252 名前:Name_Not_Found mailto:sage [2008/06/12(木) 14:58:46 ID:???] >>251 これでどうだ! var str = '3.0.1.2.3' parseFloat(str.replace(/([0-9]*)\.(.*)/,'$1_$2').replace(/\./g,'').replace('_','.') 誰かもっとうまいやり方を教えてください。
253 名前:Name_Not_Found mailto:sage [2008/06/12(木) 15:07:39 ID:???] >>252 なるほど!一度他の文字に置き換えて置くのですね。 とても参考になりました。どうもありがとうございます。
254 名前:Name_Not_Found mailto:sage [2008/06/12(木) 15:13:39 ID:???] ajax(jquery)とGoogleMapでの質問もこちらでよいでしょうか?
255 名前:Name_Not_Found mailto:sage [2008/06/12(木) 15:28:15 ID:???] >>252 置き換えはさすがにどうかと思うなあ。 うまいかどうか知らんが alert( '3.0.1.2.3'.replace(/^(.*?\.)|\.(?=\d+)/g,"$1") );
256 名前:Name_Not_Found mailto:sage [2008/06/12(木) 15:35:53 ID:???] >>251 var c = 0; var x = parseFloat(str.replace(/./g, function(){return (++c>1)?'':'.';})); なんてどうかね。
257 名前:251 [2008/06/12(木) 15:41:09 ID:8qjKDFLu] 皆さん本当にどうもありがとうございます。 正規表現のレベルが高すぎて正直自分には理解できませんが、 >>255 さんのがシンプルそうなのでそれを使わせていただきたいと思います。
258 名前:Name_Not_Found mailto:sage [2008/06/12(木) 22:46:33 ID:???] >>254 もう Google Maps は手軽に AS化できるだろ。これを機会にウェブでJSを使うのを止めてはいかがかな。終わってるから。残ったのはフラッシュだった。
259 名前:Name_Not_Found mailto:sage [2008/06/13(金) 04:00:40 ID:???] またフラッシュバカか。何で粘着してるんだか。未練たらたらなのか
260 名前:Name_Not_Found mailto:sage [2008/06/13(金) 08:01:38 ID:???] 諸君、私は ECMAScript が好きだ JavaScript が好きだ ActionScript が好きだ JScript が好きだ ExtendScript が好きだ QtScript が好きだ Spidermonkey で Tamarin で Ajajaで JavaScriptCore で Rhino で この地上に存在するありとあらゆる ECMAScript が大好きだ 綿密に繋ぎ合わされたプロトタイプチェーンが好きだ プロトタイプが書き換えられ、オブジェクトが拡張される様など心がおどる 複雑に入り組んだ関数スコープが好きだ 関数が呼び出され、 Activation オブジェクトが鎖のように繋がり、樹木のように広がっていく様など胸がすくような気持ちだった with ステートメントが好きだ 幾重にも繋がれたプロトタイプチェーンが、スコープチェーンに追加される様など感動すらおぼえる with したオブジェクトのプロトタイプの関数が書き換えられた時などもうたまらない スコープにプロパティを追加し、変数をすり替えるのは最高だ 複雑そうなオブジェクトを JSON で書き下した時など絶頂すら覚える 諸君 私は ECMAScript を 烈火の様な ECMAScript を望んでいる 諸君 私に付き従う ECMAScript 好きの諸君 君たちは一体何を望んでいる? 更なる ECMAScript を望むか 糞の様な ECMAScript を望むか? プロトタイプの限りを尽くし クラス世界のプレーンを殺す 嵐のような ECMAScript を望むか? ECMAScript !! ECMAScript !! ECMAScript !!
261 名前:Name_Not_Found mailto:sage [2008/06/13(金) 08:40:31 ID:???] >>247 なんかいろいろ厄介そうっすね。 実はコナミコマンドを打つbookmarkletが作れないかと思ったんだけど、やめときます。 もしできるなら誰かお任せ。
262 名前:Name_Not_Found mailto:sage [2008/06/13(金) 09:25:09 ID:???] >>261 それだけでいいなら [1, 1, 3, 3, 0, 2, 0, 2, 29, 28].forEach(function(v){ nullpo(v + 37) })
263 名前:Name_Not_Found mailto:sage [2008/06/13(金) 09:40:46 ID:???] >>260 スレチですけどこちらも支援してくださいな。 サーバーサイドJavaScript総合 pc11.2ch.net/test/read.cgi/php/1210836132/
264 名前:Name_Not_Found [2008/06/13(金) 14:58:46 ID:CJ0ctsvH] 質問です。 任意の個数の引数をとる関数に対して、 func(arg1, arg2, arg3); と同様の結果を期待して arg = [arg1, arg2, arg3]; func(arg); としたらfunc側で引数1個と判断されて失敗しました。 argの要素数が可変として、配列argで func(arg[0], arg[1], .. ,arg[arg.length-]) のようなことはできますか?
265 名前:Name_Not_Found mailto:sage [2008/06/13(金) 15:11:07 ID:???] ttp://d.hatena.ne.jp/lurker/20060712/1152705353
266 名前:Name_Not_Found mailto:sage [2008/06/13(金) 15:11:51 ID:???] >>264 callとかapplyとかについて勉強するといいよ。
267 名前:264 mailto:sage [2008/06/13(金) 15:53:34 ID:???] >>266 func.apply(this, arg); でできました。ありがとうございます。
268 名前:Name_Not_Found mailto:sage [2008/06/13(金) 16:00:55 ID:???] javaスクリプトでパケットをループさせて送信 って可能ですか?
269 名前:Name_Not_Found mailto:sage [2008/06/13(金) 16:49:48 ID:???] >>268 ブラウザ上のJavaScriptではできません。
270 名前:Name_Not_Found mailto:sage [2008/06/13(金) 17:02:32 ID:???] 画像をクリックして違う画像を表示するというものなのですが、 <SCRIPT language="JavaScript"> <!-- imgnum=1; function changeImage(){ if(imgnum==1){ document.myimg.src="gazo/kabe2.gif"; imgnum=2; }else if(imgnum==2){ document.myimg.src="gazo/kabe3.gif"; imgnum=1; } } // --> </SCRIPT> <CENTER> <A href="javascript:changeImage()"><IMG src="gazo/kabe1.gif" name="myimg" border=0></A> </CENTER> 某サイトにありまして、この通りにしたらうまく行ったのですが、これを同じページに 2つ以上いれると画像がクリックしても変わらなくなってしまします。 どこを変えればよいでしょうか?
271 名前:Name_Not_Found mailto:sage [2008/06/13(金) 17:24:38 ID:???] >>270 changeImage()という関数を2つ定義したら多重定義に なるだろ。統一的に名前を変更するとかしたらどうかな。 まあがんばって。
272 名前:Name_Not_Found mailto:sage [2008/06/13(金) 17:58:42 ID:???] >>271 すばやい解説ありがとうございます。 changeImage()を別の名前にしたらいいんですね。早速取り掛かってみます。
273 名前:Name_Not_Found mailto:sage [2008/06/13(金) 17:59:05 ID:???] >>270 どのサイトを参考にしたのかわからないけど、情報古すぎるよ 少なくとも>>1 ら辺にあるテンプレを探していけばサンプルはないにしても もっと有力な情報得られるはず。 function changeImage(elem) { // imgタグのsrcの数字部分を置換 elem.src = elem.src.replace(/([0-9])/, function(num){ // その数字部分に1足したものを3で割った余りを出す return (parseInt(num) + 1) % 3; // 0 or 1 or 2 }); } <img src="gazo/kabe0.gif" onclick="changeImage(this);"> こんな感じで変えれば無駄な変数とかもいらないかな。 aタグはなくして、画像をクリックしたらchangeImageに自分自身を渡す。 なので、他のimgタグがあっても平気。 画像の番号は便宜上0,1,2にした。 3で割った余りを画像の番号にしたため。 ということでがんばって。
274 名前:Name_Not_Found mailto:sage [2008/06/13(金) 18:05:27 ID:???] >>273 アドバイスありがとうございます。さきほど2個といいましたが、 実は50個くらいあるのですが、大丈夫でしょうか?
275 名前:Name_Not_Found mailto:sage [2008/06/13(金) 18:16:54 ID:???] >>273 ど素人なので、へんなこと言ってたらすみません。 それだと、3つの画像を繰り返すことになりますよね。2つの画像を繰り返したいの ですが。 それと、クリックしたら替わる画像を50個くらい設置したいのですが、その 数字は大丈夫でしょうか?
276 名前:Name_Not_Found mailto:sage [2008/06/13(金) 18:53:45 ID:???] >>273 を見て応用できないならあきらめた方が早いよ。
277 名前:Name_Not_Found [2008/06/13(金) 19:52:14 ID:FUCwHHFV] 質問させていただきます。 Aという領域をクリックしたときにBの領域で 複数の画像を使って(パラパラアニメのような)アニメーションをさせる。 ここまでは出来たのですが、 「クリックした時だけそのアニメーションを表示させる。」 「クリックするたびに何回でも表示する。」 っていうもののやり方がどうしても解りません・・
278 名前:Name_Not_Found mailto:sage [2008/06/13(金) 20:08:22 ID:???] アニメーションが一回だけ回る関数を クリック時に呼び出せばいいんじゃないの。 setIntervalでやってるなら、 その中にcount++なんかを入れといて、 if (count == 画像枚数)のときにclearIntervalする。
279 名前:Name_Not_Found mailto:sage [2008/06/13(金) 21:41:15 ID:???] ん。
280 名前:Name_Not_Found mailto:sage [2008/06/13(金) 23:33:47 ID:???] (; ^ω^)
281 名前:Name_Not_Found mailto:sage [2008/06/14(土) 02:57:34 ID:???] onload 後に innerHTMLで、 iframe を 追加しているんですが、 追加した iframe が うまく表示されないときがあります。 IEDevelopper Tool で 値を見ても src に 正しく 設定されています。
282 名前:Name_Not_Found mailto:sage [2008/06/14(土) 03:42:04 ID:???] うむ、さよか
283 名前:Name_Not_Found mailto:sage [2008/06/14(土) 08:53:07 ID:???] >>281 なんで「srcに正しく設定」が問題になるの?怪しいね… もしかしてinnerHTMLに入れてiframeを作った後で window.frames.フレーム名.src に設定している?それは タイミング的に危ういよね。innerHTMLに入れるiframe タグにsrc属性を書いておくのがいいと思う。
284 名前:281 mailto:sage [2008/06/14(土) 13:30:54 ID:???] >>283 iframe タグに src を入れています。 以下のように 文字列を追加しています。 var strDocument = "<iframe title='X' style='display: inline;' width='100%' height='100%' frameborder='0' scrolling='no' "; strDocument += strid + " " + src + " ></iframe>;
285 名前:Name_Not_Found mailto:sage [2008/06/14(土) 14:12:36 ID:???] >>284 alert(strDocument); を実行してその結果を貼ってみれ。
286 名前:Name_Not_Found mailto:sage [2008/06/14(土) 16:09:21 ID:???] >>284 var strDocument = "<iframe title='X' style='display: inline;' width='100%' height='100%' frameborder='0' scrolling='no' "; strDocument += strid + " " + src + " ></iframe>"; ダブルクオートが抜けてた。 その場で試せるFirebugを導入することをお勧めする
287 名前:281 mailto:sage [2008/06/14(土) 16:30:57 ID:???] >>285 alert を表示しました。 <iframe title='X' style='display: inline;' width='100%' height='100%' frameborder='0' scrolling='no' id="hoge" src='ローカルファイル'></iframe>
288 名前:Name_Not_Found mailto:sage [2008/06/14(土) 17:00:55 ID:???] うーんそれでよさそうだよね。ローカルファイルをフレームに 表示させるのはうまくいかないことがあるかも知れないけど。 同じソース、同じURLのままでうまく行ったり行かなかったりする?
289 名前:281 mailto:sage [2008/06/14(土) 17:06:12 ID:???] >>うーんそれでよさそうだよね。ローカルファイルをフレームに >>表示させるのはうまくいかないことがあるかも知れないけど。 うまくいかないことがあるんですか? それはどういう理由からでしょうか?
290 名前:Name_Not_Found mailto:sage [2008/06/14(土) 18:06:35 ID:???] ローカルファイルの場合、鯖がないから鯖が必要なもの(CGIとか) が含まれていると駄目とかね。常に統一的に「こういうページが駄目」 とか分かっていたらそれを書いて相談した方がいいね。もっとも 駄目なものは駄目という他ないとは思うけど。
291 名前:Name_Not_Found mailto:sage [2008/06/14(土) 19:59:12 ID:???] 今気づいたんだけど道場訓撤去しちゃったんだね。アレよかったのに。
292 名前:Name_Not_Found mailto:sage [2008/06/14(土) 20:08:54 ID:???] 魚の話は板からして違うだろ。
293 名前:Name_Not_Found mailto:sage [2008/06/15(日) 01:09:17 ID:???] 洩れも愛着あったしどうかなーと思ったけど >>291 まで誰も 何も言わなかったんでまあOKってことなんじゃないかな?
294 名前:Name_Not_Found mailto:sage [2008/06/15(日) 05:23:32 ID:???] >>263 あ、いや >>260 は転載ですのであしからず・・・
295 名前:Name_Not_Found mailto:sage [2008/06/15(日) 21:13:53 ID:???] 誰も>>1 を読んでいなかったということだな。俺は>>2 からしか読まないから全然気付かなかった。
296 名前:Name_Not_Found [2008/06/15(日) 22:07:53 ID:O3b3UhIy] WinXPPro+FireFox,IE7でWEBサイトの製作を行っております。(+cgiも使っていますが、今回の件とは直接関係ありません。) 画像アップローダを作ろうと思っておりまして、アップロード前に画像の確認表示が出来るようにしたいと思っています。 <div id="testViewDialog"> <img hspace="0" vspace="0" name="testImage" src="/image/blank_image.png" width="250" height="500" align="left" style="margin:0px; padding:0px;"> 画像ファイル<input type="file" accept="image/gif" id="uploadImage" style="position:static;"><br> <button onClick="testView();">←試し表示</button> </div> として、javascriptでtestView()の関数を作ろうと思っております。 ためしに function testView() { document.images["testImage"].src = "file:///G:\WEB\image\test.gif"; } とやったのですが、表示されません。 どのようにしたら、ローカルファイルが上手く表示できるようになるでしょうか。 なお、製作環境はWinですが、出来る限り幅広い環境でテスト表示を行わせたいと考えております。 よろしく、ご教授ください。お願いいたします。
297 名前:Name_Not_Found mailto:sage [2008/06/15(日) 22:26:19 ID:???] >>296 ネットからロードしたページ中にローカル画像は入れられない。 またテンプレ中のFAQにもあるが、input type="file" から ファイル名を取れないブラウザもある。よって、あんたがやりたい ことは不可能だと思うよ。お気の毒だが。
298 名前:Name_Not_Found mailto:sage [2008/06/16(月) 06:03:52 ID:???] >>297 Action Scriptを使えばできる
299 名前:Name_Not_Found mailto:sage [2008/06/16(月) 06:55:02 ID:???] ActionScript で彼女ができました。
300 名前:Name_Not_Found mailto:sage [2008/06/16(月) 09:05:13 ID:???] 総会総会。加藤が知ってたらどんなに喜んだことか
301 名前:Name_Not_Found mailto:sage [2008/06/16(月) 12:33:59 ID:???] >>299 マジレスすると、それは実際によくあることだな。まあ、ちょっとキモい女しかいないがw
302 名前:Name_Not_Found mailto:sage [2008/06/16(月) 14:29:33 ID:???] ActionScriptで身長が8cm伸びました
303 名前:Name_Not_Found mailto:sage [2008/06/16(月) 15:14:44 ID:???] 全国の会員の皆さまから驚きの効果がぞくぞくと寄せら れています。 お申し込みは、今すぐお電話で 0120-194403(アクシヨン3) まで。もちろん2chお友だち価格です。 お便りもお待ちしています。
304 名前:Name_Not_Found [2008/06/16(月) 19:54:37 ID:x0L5x+V2] TRタグのセルの内側で背景クリックを可能とするためのjavascriptを探しています。 Googleのアドセンスのスクリプトをコピーしたら動いたんですが、複雑すぎて、 自分のサイトにもってこれません。 どっかにサンプルとかないでしょうか? 「javascript 背景クリック」でググってもアドセンの広告に関するページしか表示されません。 お願いしますだ
305 名前:Name_Not_Found mailto:sage [2008/06/16(月) 20:05:20 ID:???] >>303 電凸してみた つながらなかった 実在する番号載せるのはやめようぜ
306 名前:Name_Not_Found mailto:sage [2008/06/16(月) 20:15:09 ID:???] javascript内でjavascriptを読み込むにはどう書けばよいのでしょうか ご教授ください
307 名前:Name_Not_Found mailto:sage [2008/06/16(月) 20:17:37 ID:???] >>304 javascript background click で303,000本が待機しているが
308 名前:Name_Not_Found mailto:sage [2008/06/16(月) 20:19:37 ID:???] >>305 KY >>306 お、お久で教授か !=JavaScript
309 名前:Name_Not_Found mailto:sage [2008/06/16(月) 20:25:09 ID:???] >>307 の勘違いぶりが……。
310 名前:Name_Not_Found mailto:sage [2008/06/16(月) 20:28:53 ID:???] //e:Event for (var n = e./*@cc_on @if(1)srcElement@else@*/target/*@end@*/, C = /^T(?:D|H)$/i; n && !C.test(n.tagName); n = n.parentNode); if (n) {...}
311 名前:Name_Not_Found mailto:sage [2008/06/16(月) 21:25:11 ID:???] >>306 var s = document.createElement("script"); s.src = ファイル名; document.getElementsByTagName("head")[0].appendChild(s); こんなんじゃダメ?
312 名前:306 mailto:sage [2008/06/16(月) 22:20:46 ID:???] これでできますた document.write('<script type="text/javascript" src="ふるぱす/ほげ.js"></script>');
313 名前:Name_Not_Found mailto:sage [2008/06/16(月) 23:54:05 ID:???] >>312 それってIE以外だとSCRIPTタグが文書に書き出される(見えないけど)だけで 実際に「ほげ.js」は読み込まれないような気がする。 あと、スクリプト内に書くのなら最後は </' + 'script>'); と分割しておいた方がいいと思う。
314 名前:Name_Not_Found mailto:sage [2008/06/17(火) 00:25:09 ID:???] 世界中の無数のサイトで使われている構文 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
315 名前:313 mailto:sage [2008/06/17(火) 00:29:26 ID:???] > 実際に「ほげ.js」は読み込まれないような気がする。 訂正。普通に読み込まれてた。処理のタイミングの問題みたい。 「ほげ.js」の内容が var str = "hello, world"; で、件の document.write... の次の行が window.alert(str); だとすると、IE だとちゃんとアラートが出るけど、Firefox と Opera では出なかった。 window.setTimeout("window.alert(str)", 1000); と多少遅延させると Firefox と Opera でも無事アラートが出た。
316 名前:313 mailto:sage [2008/06/17(火) 00:31:56 ID:???] > あと、スクリプト内に書くのなら最後は SCRIPTタグ内に書くのなら、ね...。
317 名前:Name_Not_Found mailto:sage [2008/06/17(火) 00:58:00 ID:???] >>313 「</」の方を分割するかしないと ttp://www.asahi-net.or.jp/~SD5A-UCD/rec-html401j/appendix/notes.html#h-B.3.2
318 名前:Name_Not_Found mailto:sage [2008/06/17(火) 01:54:10 ID:???] <select id="list_1"></select>でジョブキューを管理しているのですが、設定出来る値がnew Option("表示される値","裏の値")の二つだけではちょっと足りなくなったので function job(num){ this.search = "検索中その"+num; } function btn_1_c(){//URLを追加ボタンを押した list_1.options[0] = new Option("表示される値","裏の値"); var hoge = new job(1);list_1.options[0].other=hoge; var hoge = new job(2);list_1.options[0].other2=hoge; alert(list_1.options[0].other2.search)//「検索中その2」 } <select id="list_1"></select> このようにしてリストボックス一つ一つの項目に大量のデータを持たせたいのですが、これってjavascript的に想定されている事なのですか? 一応動いたのですが、実はxxするとクリアされる とかだとちょっと困るので質問です
319 名前:Name_Not_Found mailto:sage [2008/06/17(火) 02:26:30 ID:???] >>315 > IE だとちゃんとアラートが出る ほんとに出た?
320 名前:313 mailto:sage [2008/06/17(火) 03:04:59 ID:???] >>317 失敬。分割する箇所が不適切でしたね。 >>319 こちらでは出ました。 各バージョンがいちいち古いんですけど、 Internet Explorer6、Firefox 1.5.0.12、Opera 9.26 で試してみました。 IEだけは setTimeout を使わなくても "hello, world" とアラートが出ました。
321 名前:Name_Not_Found mailto:sage [2008/06/17(火) 03:30:00 ID:???] javascript 動的 でググれ 変なやり方教えるな
322 名前:Name_Not_Found mailto:sage [2008/06/17(火) 03:52:05 ID:???] if(document.getElementById("sample")){ function dell() { document.getElementById("sample").style.display = "none" } window.onload = dell; } idにsmpleがあれば消すということをしたいのですが これだとうまく消えません sampleがあるかないかの判定(if分)がなければうまくいきます ただそれだとsampleがあった場合はいいのですが、ない場合はエラーになります sampleがあるかないかの判定はこれでいいのでしょうか? とにかくやりたいことは<p id="sample">ほげ</p>を消すことで idのない<p>ほげ</p>でもエラーのないようにしたいです よろしくお願いします。
323 名前:Name_Not_Found mailto:sage [2008/06/17(火) 04:06:34 ID:???] IEは、SRC属性があるSCRIPT要素を適当に選んで、SRC属性値を書き換えるだけで、読んで実行しますよ。 //@cc_on@if(1)document.scripts(document.scripts.length - 1).src = "another.js";@end みたいにね。 これは、HTML読み込み中・読み込み後に関係なく動作する。
324 名前:Name_Not_Found mailto:sage [2008/06/17(火) 04:07:59 ID:???] >>323 SRC属性が無くても出来たわ。訂正。
325 名前:Name_Not_Found mailto:sage [2008/06/17(火) 04:10:21 ID:???] >>322 <STYLE ...> とか <LINK REL="Stylesheet ..." HREF="..."> とかを動的に作るればいいだろ。
326 名前:Name_Not_Found mailto:sage [2008/06/17(火) 05:00:57 ID:???] >>322 あるかないかの判定はDOMツリー構築後じゃないとできない しかもそれだとsampleがあってもなくてもIE以外ではエラー出るはず あとloadイベントはそういう用途にはおすすめできない なぜ #sample { display: none; } では駄目なのか
327 名前:Name_Not_Found mailto:sage [2008/06/17(火) 05:55:28 ID:???] if(document.getElementById("sample")){ function dell() { document.getElementById("sample").style.display = "none"; } else { function dell() { }; window.onload = dell; sampleがないときにエラーがでるのはfunction dell()がないからだと思ったのでelseの場合に定義してみましたが エラーはでなくなりましたがsampleが消えなくなりました たとえelseでも同じfunctionは定義できないということでしょうか function dell() { };これをはずしてsampleがあるときはうまくいきます >#sample { display: none; }これが使えるならそうしたいのですが使えない状況なのです >あとloadイベントはそういう用途にはおすすめできない javascriptはあまり詳しくないのですが document.getElementById("sample").style.display = "none"; このように書いてもエラーがでるのでしかたなくwindow.onload = dell; このように書いてます すぐに実行できる書き方はどうすればいいのでしょうか
328 名前:Name_Not_Found mailto:sage [2008/06/17(火) 07:34:31 ID:???] >>327 そのコードのあるscript要素をid="sample"の要素より 後ろに書けばよい。
329 名前:Name_Not_Found mailto:sage [2008/06/17(火) 07:35:23 ID:???] function dell() { var sample = document.getElementById('sample'); if (sample){ sample.style.display = 'none'; } }; dell(); これはどう?
330 名前:Name_Not_Found mailto:sage [2008/06/17(火) 14:16:19 ID:???] 基本的なことですが、 var aa = document.getElementById("test").value; としたとき、aa = 123;でformのvalueに代入できないのは なぜですか。 document.getElementById("test").value=123; でできるのに、と思うのですが。
331 名前:Name_Not_Found mailto:sage [2008/06/17(火) 14:42:50 ID:???] A=B AにBを代入する
332 名前:Name_Not_Found mailto:sage [2008/06/17(火) 16:10:01 ID:???] >>330 あなたのプログラミング言語の理解モデルが間違っているから。 IDがtestという入力部品とtest1という入力部品があったとして document.getElementById("test").value = document.getElementById("test1").value; とかすると以後test1とtestには常に同じものが表示される、とか思えるわけね?
333 名前:Name_Not_Found mailto:sage [2008/06/17(火) 16:28:07 ID:???] >>330 は a=a+1 が理解できないのだろう
334 名前:Name_Not_Found mailto:sage [2008/06/17(火) 16:54:06 ID:???] >>330 aa に入っているのは値だコラっ! 参照じゃないぞ!
335 名前:Name_Not_Found mailto:sage [2008/06/17(火) 18:29:46 ID:???] >>330 おまいさんは一度ポインターを勉強した方がいいな
336 名前:322 mailto:sage [2008/06/17(火) 20:16:56 ID:???] var ss = document.styleSheets[0]; ss.insertRule("#sample {display:none}", ss.cssRules.length); スタイルシートに新しく加えるという方法でできました これならid=sampleがない場合でもエラーはでません ありがとうございました
337 名前:Name_Not_Found mailto:sage [2008/06/17(火) 21:40:04 ID:???] >>336 一つの解法としてそれは正しいのだけど 元の質問の解はこうなる window.onload = function (){ if(document.getElementById && document.getElementById("sample")){ document.getElementById("sample").style.display = "none"; } } そもそも何でエラーが出たかというと document.getElementById("sample") を実行した時点で id="sample" はまだないから
338 名前:Name_Not_Found mailto:sage [2008/06/17(火) 22:10:13 ID:???] >>337 読み込み中または読み込み直後に隠す場合、 一瞬見えて隠したいなんて要望はほとんどない。 単に、DOM-Level-2-(CSS|Style) の知識が無いから、 質問がCSSStyleDeclarationでCSS2Propertiesを操作することだけに偏る。 同様の知識不足で、回答も同様に偏る。 しかし、繰り返すが、ふっつーに考えれば、一瞬見せたいわけではないと感じ取れるだろう。 何が元の質問の解だか。回答の選択肢が少ないだけだろう。笑わせる。
339 名前:Name_Not_Found mailto:sage [2008/06/17(火) 23:02:03 ID:???] うちはわざとそうしてる だって JavaScript オフで見れないページを作ったってしょうがない だから後で隠す
340 名前:Name_Not_Found mailto:sage [2008/06/17(火) 23:24:18 ID:???] >>339 onload(あるいはreadystateを反映)での処理では、一瞬表示されるという問題があるので、 document.write('<style>#sample... か、もしくは>>336 のような方法というように、 CSSへの設定の方がよりスマートだと思うけどね。
341 名前:Name_Not_Found mailto:sage [2008/06/17(火) 23:32:17 ID:???] 自分は id="sample" が閉じた直後に消すな document.write() は個人的にはあまり使わない
342 名前:Name_Not_Found mailto:sage [2008/06/18(水) 01:09:13 ID:???] document.write('<style type="text/css"><!--#sample{display: none}--></style>'); こうすれば簡単だろうけどルール的に駄目なんだよな だから同じようなことするのに>>336 の方法をとったんだろう
343 名前:Name_Not_Found mailto:sage [2008/06/18(水) 02:27:51 ID:???] >>336 window.onload = function() { if(typeof document.getElementById("sample") == "object"){ document.getElementById("sample").style.display = "none" } } これでいいと思うよ。関数が定義されていない場合とかにも応用可能。
344 名前:Name_Not_Found mailto:sage [2008/06/18(水) 02:34:04 ID:???] >>343 さすがに同じIDに対しgetElementByIdを2度実行するのは無駄なので、 それならこうするね。 window.onload = function() { var elm = document.getElementById("sample"); if(elm) elm.style.display = "none" }
345 名前:Name_Not_Found mailto:sage [2008/06/18(水) 02:55:39 ID:???] >>344 それでもよさげだけど、elmが存在しないときに elmにfalseが代入される保証はあるのかな。 エラーを返すブラウザがあってもおかしくない気がする。 typeofの方が安全だと思うよ。 あと、無駄に関してはelmに代入したほうが大きい。
346 名前:Name_Not_Found mailto:sage [2008/06/18(水) 03:09:19 ID:???] >>345 マジレスすると、 getElementByIdで、object(のリファレンス)かnull以外が返される実装があったら教えて下さい。 全面的にコードを書き直す必要があるくらい、かなり興味深い話題なので。
347 名前:Name_Not_Found mailto:sage [2008/06/18(水) 03:11:27 ID:???] そーなんだ。ならそれでいいと思う。
348 名前:Name_Not_Found mailto:sage [2008/06/18(水) 03:14:22 ID:???] 編集中に投稿しちゃった・・・ たぶんnullかfalseを返すと思うし、多分大丈夫だと思うけど、 俺も調べてないからよくわからないや。
349 名前:Name_Not_Found mailto:sage [2008/06/18(水) 03:14:41 ID:???] >>345 > あと、無駄に関してはelmに代入したほうが大きい。 これって検証可能なソース出せるわけ?
350 名前:Name_Not_Found mailto:sage [2008/06/18(水) 03:20:33 ID:???] 元々頭の悪いテンプレ厨が湧いているスレだけど、 >>345 =>>347-348 なら、 これほど適当な発言をする人間はもはや害以外の何物でも無いね。
351 名前:Name_Not_Found mailto:sage [2008/06/18(水) 03:39:06 ID:???] サイト上にある任意の文字を変換したいのですが 例えば あいうえお → かきくけこ にしたいのです書き方がわかりません document.replace('あいうえお','かきくけこ') よくある例文では var str = 'abcd' str.replace("ab", "cd") でstrを指定しているのですがこれがhtml上の場合どのように指定すればよいのでしょうか
352 名前:Name_Not_Found mailto:sage [2008/06/18(水) 03:49:25 ID:???] >>351 イベントハンドラとか消えてもいいなら document.body.innerHTML = document.body.innerHTML.replace("あいうえお", "かきくけこ")
353 名前:351 mailto:sage [2008/06/18(水) 04:52:46 ID:???] >>352 ブラウザがかたまってしまいました・・・
354 名前:Name_Not_Found mailto:sage [2008/06/18(水) 05:05:23 ID:???] >>353 糞スペック乙
355 名前:Name_Not_Found mailto:sage [2008/06/18(水) 13:53:24 ID:???] Firefox3がすげえ
356 名前:Name_Not_Found mailto:sage [2008/06/18(水) 14:06:19 ID:???] JavaScriptに関してならSafariのほうが上だな
357 名前:Name_Not_Found [2008/06/18(水) 15:11:04 ID:rS/mkLH/] 連番画像を切り替える際に function change(){ n++; if(n==4)n=0; document.irg.src="img/pic"+n+".jpg"; とかだと一桁枚数はできるのですが、二桁、例えば20枚の画像を切り替えたい場合は どう表記すればいいのでしょうか?
358 名前:Name_Not_Found mailto:sage [2008/06/18(水) 15:11:46 ID:???] >>344 >>343 はどのように無駄なんでしょうか? elmにリファレンスが入ってるってだけで、 どっちもgetElementByIdを2度実行してると思うのですが。 コードの読みやすさの話ってわけでもなさそうだし。
359 名前:Name_Not_Found mailto:sage [2008/06/18(水) 15:17:25 ID:???] >>357 if(n==4)の4のところを20に変える、って話ではない? >>358 > どっちもgetElementByIdを2度実行してると思う >>343 はしてるが>>344 は1回だぞ >>344 は取得した要素オブジェクトかnullをelmに入れてるんだから 2回実行できようが無い
360 名前:Name_Not_Found mailto:sage [2008/06/18(水) 15:20:15 ID:???] このスクリプトの実行を中止しますか? このページのスクリプトが、Internet Explorer の実行速度を遅くしています。 スクリプトを実行し続けると、コンピュータが反応しなくなる可能性があります。 --------------------------- はい(Y) いいえ(N) --------------------------- を回避する方法は support.microsoft.com/kb/175500/ja に「 5 秒間隔で PeekMessage を呼び出してタイムアウトをリセットする必要があります」って書いてあるけど PeekMessageをjsで呼び出すにはどうしたらいいの? PeekMessage()じゃダメらしい
361 名前:Name_Not_Found mailto:sage [2008/06/18(水) 15:30:27 ID:???] >>359 聞き方が悪かったです。ごめんなさい。 というか、解決しました! function change(){ n++; if(n==?)n=0; document.irg.src="img/pic0"+n+".jpg"; こういう考えでやってたもので・・・n自体に二桁以上が入るのは考えてませんでした。 回線切って電源落として首吊ってきます。
362 名前:Name_Not_Found mailto:sage [2008/06/18(水) 15:58:11 ID:???] >>360 PeekMessageはWindowsAPI。 ActiveXでも使わなければ無理では。
363 名前:Name_Not_Found mailto:sage [2008/06/18(水) 20:51:02 ID:???] www.flickr.com/photos/black_velvet/431402343/ この画像の投稿者はΛl℮Roda®さんですが 「℮」とか「®」とかのunicodeでないと表現出来ない文字を自動的に置き換えてくれるライブラリみたいなの教えて下さい 勿論厳密な置き換えは無理なことは分かっていますので 「℮」→e 「®」→(R) みたいな置き換えで十分です
364 名前:Name_Not_Found mailto:sage [2008/06/18(水) 21:50:08 ID:???] ライブラリ まで読んだ
365 名前:Name_Not_Found mailto:sage [2008/06/18(水) 21:55:00 ID:???] だれか>>363 のリンクで飛んだ?押しても大丈夫?
366 名前:Name_Not_Found mailto:sage [2008/06/18(水) 22:11:19 ID:???] >>365 どうせサロゲートペアまで変換しちゃうどこぞのPerlが得意なキモオヤジの自演だから、放置しとけ。
367 名前:Name_Not_Found mailto:sage [2008/06/18(水) 23:06:42 ID:???] 踏んだよ。フツー なんか風景。BRAZILとかあるからCGかなんかかしら 以下スレチ:flickrでヤバいリンクってあるのかな。 グロとかアップできちゃうサービスという印象もないけど
368 名前:Name_Not_Found mailto:sage [2008/06/18(水) 23:48:46 ID:???] >>363 =自演かw 乙
369 名前:Name_Not_Found [2008/06/19(木) 04:51:53 ID:HjeHeh3z] prototype.jsのトグルで表示・非表示の切り替えをしてるんだけど、 ページを開いた時(初期表示)で非表示状態にするにはどうしたら良いですか? <body onload="hideToggle(idName)"> って感じで非表示トグルを実行しようとしてるんですが、これだと一瞬 隠す部分が画面に映ります 自分なりに調べたんですがわからなかったので誰かご意見ください よろしくお願いします
370 名前:Name_Not_Found mailto:sage [2008/06/19(木) 04:59:14 ID:???] このスレくらい読めばいいと思うよ
371 名前:Name_Not_Found [2008/06/19(木) 11:08:05 ID:YXAbfQDi] >>369 逆に最初非表示にしておいて後から必要な箇所だけ表示するんじゃダメなの?
372 名前:Name_Not_Found [2008/06/19(木) 12:26:54 ID:rbx28/KF] 同サーバ内のテキストファイルを読み込みたい .jsなら>>306-314 、 それ以外ならxmlHttpRequestを使えばできるのですが、 単にテキスト読み込むだけなのにわざわざxmlHttpRequest使うのはどうなんだろうと。 PHPで言うfile_get_contentsみたいなのはないですかね。
373 名前:369 [2008/06/19(木) 12:28:23 ID:HjeHeh3z] >>371 最初非表示にするってどうするんですか? 表示切替ってtoggleでやるものだと思ってたら、cssも併用するんですね そのことを言ってるんでしょうか?
374 名前:Name_Not_Found mailto:sage [2008/06/19(木) 12:29:50 ID:???] >>373 >cssも併用するんですね その方が無難
375 名前:Name_Not_Found mailto:sage [2008/06/19(木) 12:33:59 ID:???] >>372 ない。XmlHttpRequestでresponseTextから取り出せば 別に問題ないじゃん。
376 名前:369 mailto:sage [2008/06/19(木) 12:35:18 ID:???] >>374 本当にありがとうございます cssでのやり方を勉強してみます みなさんありがとう
377 名前:Name_Not_Found [2008/06/19(木) 13:11:58 ID:wVAEkJPX] Javascript の配列は結局のところキーとして0以上の整数を とるハッシュと思って扱えばよいのでしょうか? それとも内部的にまったく異なるものとして扱われているのでしょうか? a[0] と a[10] が何か値を持っているとき、 a[1],...,a[9] が内部でどのように扱われているかについての規定はあるのでしょうか?
378 名前:Name_Not_Found mailto:sage [2008/06/19(木) 13:27:42 ID:???] >>377 ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/15-4_Array_Objects.html によれば、a[10]が存在していればa[0]〜a[9]も自動的に存在する ようになる、と読めるね。
379 名前:Name_Not_Found mailto:sage [2008/06/19(木) 13:35:20 ID:???] >>378 そうか?別段そういうことは書いてないと思うが
380 名前:377 [2008/06/19(木) 14:12:28 ID:wVAEkJPX] builder.japan.zdnet.com/sp/javascript-kickstart-2007/story/0,3800083428,20366751,00.htm この前後の連載を読んで理解しました。 C/C++ ばかりだった自分にとってはずいぶんと違う世界でした。
381 名前:Name_Not_Found mailto:sage [2008/06/19(木) 14:29:59 ID:???] >>379 そうだね、何か勘違いしたようで、申し訳ない。
382 名前:377 [2008/06/19(木) 14:43:49 ID:wVAEkJPX] JSON関係の質問もここで良いですか? JSONでは文字列は「ユニコード」であるとされていますが、 これって非ASCII文字はすべて \uxxxx 形式のエスケープで表記せよ、 ということなのでしょうか? Unicode といわれても表現方法は UTF-8 を含め多数あるので、 その当たりの表現方法については決められているのかなと 思ったのですが、特に規定されていないようでどうしたものかと。
383 名前:377 [2008/06/19(木) 14:58:31 ID:wVAEkJPX] すんません、おちついてRFC読み直してみたら書いてありました。 www.ietf.org/rfc/rfc4627.txt
384 名前:Name_Not_Found mailto:sage [2008/06/19(木) 19:12:47 ID:???] うろ覚えで何て単語で検索して良いのかわからないので確認したいんのだけど、 「ある要素を監視しておき、その要素に他の要素が追加された時にイベント発生」 というような機能なかったでしたっけ? 誰か知ってたりしたら教えてください。
385 名前:Name_Not_Found mailto:sage [2008/06/19(木) 19:20:44 ID:???] >>384 DOMNodeInserted?
386 名前:Name_Not_Found mailto:sage [2008/06/19(木) 21:22:35 ID:???] >>385 ドンピシャだった!ありがとう。
387 名前:Name_Not_Found [2008/06/19(木) 22:57:50 ID:HjeHeh3z] 動的にサーバ上のjpgを読みに行くにはどうしたら良いでしょうか? DWに標準でついてるスワップイメージを最初考えたんですが、 アレだとすり替え用のデフォルトの画像が必要です 完成イメージとしては、チェックボックスをクリックすると、それに応じた 画像が表示され、チェックを全部クリアすると画像が消える感じです すみませんがどなたかアドバイスお願いします
388 名前:Name_Not_Found mailto:sage [2008/06/19(木) 23:02:03 ID:???] >>387 賢い俺が翻訳してやると、画像URIをユーザーが選べるようにしたい、ということかね。
389 名前:Name_Not_Found mailto:sage [2008/06/20(金) 00:18:25 ID:???] >>378 で、多数チェックしたときはどうなるって?
390 名前:Name_Not_Found mailto:sage [2008/06/20(金) 01:55:59 ID:???] ページ上にある特定のスタイル 例えば style="color:red; を ボタンクリックしたら style="color:black; というようにしたいのですが style自体は他にも使われているのでstyleの要素だけでは抜けられないと思います なのでcolor:red; → color:black; というようにテキストを置換する方法を考えていますが どのように書けばいいのでしょうか? document.replace('color:black; ','color:black; ') これだとうまくいきません
391 名前:Name_Not_Found mailto:sage [2008/06/20(金) 02:10:30 ID:???] >>390 <... style="color:red"な要素すべてを<... style="color:black"にする でよしか? var elements = document.getElementsByTagName('*'); for (i = 0; i < elements.length; i++) { if (elements[i].style.color === 'red') { elements[i].style.color = 'black'; } }
392 名前:390 mailto:sage [2008/06/20(金) 03:36:54 ID:???] >>391 ありがとうございます styleの要素が二つのとき style="color:red; font-size: 14px" こう書いたのですがうまくいきません if((elements[i].style.color === 'red') && (elements[i].style.fontSize === '10')){ elements[i].style.color = 'black'; } どのような条件式になるのでしょうか・・・
393 名前:Name_Not_Found mailto:sage [2008/06/20(金) 06:29:30 ID:???] 自己解決しますた
394 名前:Name_Not_Found mailto:sage [2008/06/20(金) 11:10:56 ID:???] 他のページに飛ぶのではなく、同一ページ内で swfの表示サイズ(width=***, high=***)を 閲覧者がポップアップメニューで切り替えられるような スクリプトってありますか? 画像でも同じようなスクリプトがあればswf用に転用出来ると 思うのですが、もしそのようなものがあればご教授ください。
395 名前:Name_Not_Found [2008/06/20(金) 11:47:15 ID:KZpiizg0] 下記のようなフレーム構造で under.html内のjavascript実行(innerTextで文字列を変える)してから top.htmlでsubmit実行すると、under.htmlが別ウィンドウで開いてしまいます。 理由と解決策をご存知でしたら教えてください。 ※JavaScript実行しない場合は正常に動作します。 □test.html <frameset rows="100,*" border="1"> <frame src="top.html" name="top"> <frame src="under.html" name="under"/> </frameset> □top.html <form action="under.html" method="post" target="under"> <input type="submit" value="送信"> □under.html <table> <tr><td>aaa</td><tr> <tr><td>bbb</td><tr> <tr><td>ccc</td><tr> </table>
396 名前:Name_Not_Found mailto:sage [2008/06/20(金) 11:50:02 ID:???] >>395 その問題を起こしているげなスクリプトを貼らずに相談とは いい度胸だね。
397 名前:Name_Not_Found [2008/06/20(金) 12:48:16 ID:KZpiizg0] 仰るとおりです。申し訳ないです。 原因となってるっぽい箇所です↓ onblurでtest()を呼び、計算させて<td></td>の中をinnerTextで書き換えるとい う処理ですが、 この計算実行で既に発生することがわかりました。計算結果は正しいものとなっ ています。 fuction test() { total = 0; for(i=0; i<3; i++){ object = getObject(i,"02"); total += parseInt(object.value); } } function getObject(row,col) { name = "a" + row + "b" + col; return document.フォーム名.elements[name]; }
398 名前:Name_Not_Found mailto:sage [2008/06/20(金) 13:30:09 ID:???] >>397 あのねえ、nameという変数を使いたいのなら「var name = ...」 のようにしてローカル変数にしないと。今はグローバル変数 つまり window.name を書き換えているため、そのフレームの名前が under でなく a0b02 みたいな名前になっていると思われ。
399 名前:Name_Not_Found mailto:sage [2008/06/20(金) 13:53:53 ID:???] >>398 解決しました!ありがとうございます! 特に意識せずに変数名つけてましたがローカルグローバルもちゃんと考えなきゃですねm(__)m 勉強になりました!
400 名前:Name_Not_Found [2008/06/20(金) 16:31:15 ID:UBjOGtUw] ファイルをDLさせたいがそのファイルの生成にすげー時間がかかるんで、 submitボタン連打を5秒間だけ防止したい <input type="submit" name="button" value="push" onclick="return renda();"> var timeout=0; function renda(){ timeout++; if(timeout>5){ timeout=0; document.button.button.disabled = false; return false; }else if(timeout==1){ document.button.button.disabled = true; window.setTimeout("renda();",1000); return true; }else{ window.setTimeout("renda();",1000); return false; } } FFではエラーも検出されずきちんと動作しましたがIEでは動きませぬ。何故でせう。
401 名前:Name_Not_Found mailto:sage [2008/06/20(金) 16:39:48 ID:???] >>400 「動かない」の内容をちゃんと書けって。エラーが出るのか 何も反応しないのか、その時ボタンは押せてるのかとか。
402 名前:Name_Not_Found mailto:sage [2008/06/20(金) 16:40:49 ID:???] document.compatMode=='CSS1Compat' DOCTYPEをこれより少ない文字数で判定する方法はありませんか? IE専でかまいません
403 名前:Name_Not_Found mailto:sage [2008/06/20(金) 17:05:31 ID:???] var d = document, c = d.compatMode; c == 'CSS1Compat'
404 名前:Name_Not_Found [2008/06/20(金) 17:15:02 ID:UBjOGtUw] >>401 そーりー ・5秒間禁止は問題なく動作 (押した直後に押せなくなり、5秒後に押せるように戻る) ・次画面に遷移しない (次画面をテキスト表示だけ、等にしてみたが反応せず) ・function renda(){document.csvDL.button.disabled = true;window.setTimeout("renda();",1000);return true;} とすると動作
405 名前:Name_Not_Found mailto:sage [2008/06/20(金) 17:27:54 ID:???] >>403 すいません、そういうことではなくて 文字総数で少なくしたいので document.compatMode=='CSS1Compat' の33文字より少なくできる方法はありませんか? compatModeプロパティにこだわる必要もないです。
406 名前:Name_Not_Found mailto:sage [2008/06/20(金) 17:34:31 ID:???] 時間待ちをする関数とonclickで呼ばれる関数を一緒くたに したから自分でロジックを追えなくなってるんでしょ。 分けたら。そもそも5秒なんだからタイムアウトを5000で 作ればいいのに。
407 名前:Name_Not_Found [2008/06/20(金) 20:07:31 ID:UBjOGtUw] >>406 Σ(゚□゚;)!!
408 名前:Name_Not_Found mailto:sage [2008/06/20(金) 23:56:55 ID:???] 変数にweb上のHTMLデータを代入したいのですが どのようにすればいいのでしょうか。
409 名前:Name_Not_Found mailto:sage [2008/06/21(土) 00:10:16 ID:???] >408の動作環境を書き忘れました Javascriptを組み込んだHTMLはweb上にあります そのHTML内のJavascriptが読み込みたいHTMLデータもweb上にあります ローカルのファイルは一切いじりません
410 名前:Name_Not_Found mailto:sage [2008/06/21(土) 00:12:35 ID:???] >>409 同じ鯖なのね?それならXmlHttpRequest()で読むんでしょ。
411 名前:Name_Not_Found mailto:sage [2008/06/21(土) 01:22:00 ID:???] >>410 ぉ、お、おおお ありがとうございますm(_ _)m Ajaxって今ではどのブラウザでも標準でついているんですね 前ちょろっと見た時にライブラリが必要なのかなーとか思ってましたが 凄い敷居が低くてありがたいです 別の鯖ですが、別の鯖だと動作しないのでしょうか 2ch全板トーナメントスレが新しくなる度にHPを更新するのが面倒なので 色々考えた末にJavascriptで実装できそうかなーと思って 調べてたのですが結果分からず質問致しました。 スクリプトは塩街にでも置こうと思ってます
412 名前:Name_Not_Found mailto:sage [2008/06/21(土) 01:22:21 ID:???] >>410 大文字小文字
413 名前:Name_Not_Found mailto:sage [2008/06/21(土) 01:25:14 ID:???] 魚の話題はスレ違い。 というか、馬鹿な初心者にははっきり言った方がいいな。 鯖って何ですか?勘弁してください。
414 名前:Name_Not_Found mailto:sage [2008/06/21(土) 01:44:31 ID:???] 俺はプロキシサーバのことを「串」と書く点も厨判定に利用してる。
415 名前:Name_Not_Found mailto:sage [2008/06/21(土) 01:53:21 ID:???] 2chやめとけ
416 名前:Name_Not_Found [2008/06/21(土) 01:55:31 ID:N+PRjJ56] よろしくお願いします。 下記記述で「/」の為、jsが動きません。 「/」は必ず使いたいので、回避方法をご教示いただけませんでしょうか、、、 function checkA(){ var flag = 0; if(!document.iform.果物/りんご.checked) if(!document.iform.果物/みかん.checked) { flag = 1; } if(flag){ window.alert('果物項目がチェックされてません'); return false; } else{ return true; } }
417 名前:Name_Not_Found [2008/06/21(土) 02:41:17 ID:lAfacg6N] JavaScriptでサーバ上にあるXMLファイルを読み込む処理を勉強しております。 参考URL:www.openspc2.org/JavaScript/Ajax/Ajax_study/chapter02/009/ そこで質問です。 以下のXMLファイルで、cacheタグに挟まれているurlタグの中の文字列は出力しないようにし、 resタグ直下のurlタグのみを出力するには、以下のJavaScriptのソースをどう改修すればよいでしょうか? 【XML】 <?xml version="1.0" encoding="UTF-8" ?> <set> <res> <title>タイトル1</title> <url>hogehoge.jp/1/</url> <cache> <url>cache.hogehoge.jp/1/</url> </cache> </res> <res> <title>タイトル2</title> <url>hogehoge.jp/2/</url> </res> <res> <title>タイトル3</title> <url>hogehoge.jp/3/</url> <cache> <url>cache.hogehoge.jp/3/</url> </cache> </res> </set>
418 名前:417 [2008/06/21(土) 02:42:14 ID:lAfacg6N] 【JavaScript(HTML内)】 〜(省略)〜 xmlData = httpObj.responseXML; resTag = xmlData.getElementsByTagName("res"); titleTag = xmlData.getElementsByTagName("title"); urlTag = xmlData.getElementsByTagName("url"); resultTxt = ""; for(i=0; i<resTag.length; i++){ s_title = titleTag[i].childNodes[0].nodeValue; s_url = urlTag[i].childNodes[0].nodeValue; resultTxt += s_title + " : " + s_url + "<br>"; } 〜(省略)〜 【現状の出力結果】 タイトル1 : hogehoge.jp/1/ タイトル2 : cache.hogehoge.jp/1/ タイトル3 : hogehoge.jp/2/ 【期待する出力結果】 タイトル1 : hogehoge.jp/1/ タイトル2 : hogehoge.jp/2/ タイトル3 : hogehoge.jp/3/
419 名前:Name_Not_Found mailto:sage [2008/06/21(土) 02:58:43 ID:???] >>418 urlTag[i].parentNode.tagName !== 'cache' とかで見えんかな
420 名前:Name_Not_Found mailto:sage [2008/06/21(土) 03:31:05 ID:???] JavaScriptでもweb上のファイルを読み込みができるんだな そういうのはいつもPHPでやってたわ そうかリロードしなくても更新ができるとういうわけか
421 名前:Name_Not_Found mailto:sage [2008/06/21(土) 08:25:07 ID:???] >>420 そういうのをAjaxと呼ぶんじゃなかろうか。
422 名前:Name_Not_Found mailto:sage [2008/06/21(土) 08:50:42 ID:???] >>413 テンプレのFAQにも「鯖」が使われているんだけど。 なんでテンプレには文句言わないの? (直すのに反対 してるわけではなくて、なんでテンプレ論議のときに 指摘しないのか不思議なだけ。)
423 名前:Name_Not_Found mailto:sage [2008/06/21(土) 08:57:56 ID:???] >>422 馬鹿な初心者を構っちゃらめ ヌルー汁
424 名前:Name_Not_Found mailto:sage [2008/06/21(土) 11:20:57 ID:???] 【鯖】 スズキ目サバ科の海水魚、マサバとゴマサバの総称。魚体は紡 錘形でやや側扁し、背びれ・尻びれの後方に小さなひれがいく つか並ぶ。世界に広く分布し代表的な食用魚。俳句では夏の季語。 ○―釣や夜雨のあとの流れ汐/蛇笏
425 名前:Name_Not_Found mailto:sage [2008/06/21(土) 11:23:48 ID:???] >>422 一括りにするつもりは無いが、こういう奴はプログラマに本当に多い。 性質上そうなるのかもしれないがリアルで付き合うのはマジ簡便。
426 名前:Name_Not_Found mailto:sage [2008/06/21(土) 11:49:18 ID:???] >>425 プログラマの空気の読めなさはまじで異常だよな あと議論がいつも小学生みたいな揚げ足取りになる 極端な例で言えば「何年何月何日何時何分何秒地球が何回周った時?」とかそんなの
427 名前:Name_Not_Found mailto:sage [2008/06/21(土) 11:59:00 ID:???] プログラマってほんと頭悪い奴の職種なんだな 有能マが可哀想だ
428 名前:Name_Not_Found mailto:sage [2008/06/21(土) 12:05:55 ID:???] スレ違いな話題はよそでやってね。
429 名前:Name_Not_Found mailto:sage [2008/06/21(土) 12:10:01 ID:???] >>413 が激高して多重自演してる様に激藁タよ。
430 名前:Name_Not_Found mailto:sage [2008/06/21(土) 12:16:18 ID:???] HPにアクセスカウンターつけたいんですがどうすればよいのでしょうか? 使ってるソフトはHPビルダ12です ググったところレンタル?するもののようですがいまいち概念がわかりません いま↓のようなところを読んでるのですが Javaスクリプトをhtmlソースに組み込むことでカウンタをレンタルして効果がでてるということなのでしょうか・・・? count.sekkaku.net/hpsoft.html#3
431 名前:Name_Not_Found mailto:sage [2008/06/21(土) 12:17:16 ID:???] おれ高校中退後コンピュータの専門がっこ。会社じゃ目下某服 飾企業のHPのリニューアルPJ参加中。無能なのはよくわかって る。といって他にできるものねぇしなぁ。悪かったな。
432 名前:Name_Not_Found mailto:sage [2008/06/21(土) 12:20:10 ID:???] >>430 そのビルダとかいうのを卒業しないかぎりアンタには無理。
433 名前:Name_Not_Found mailto:sage [2008/06/21(土) 12:20:15 ID:???] >>431 充分有能じゃないか自信もて。 無能ってのは何もできないのに他人を卑下してるやつのこと
434 名前:Name_Not_Found mailto:sage [2008/06/21(土) 13:49:37 ID:???] 裏日本の金沢市でjavascriptの勉強会とか開催したら参加してくれる人 っているもんだろうか?ちょっと考えているのですが集まるかどうか不安。 内容としてはフラナガンの本を読むかprototype.js等のライブラリを読 むかとか考えてます。
435 名前:Name_Not_Found mailto:sage [2008/06/21(土) 15:09:38 ID:???] >>434 <-ちょっとオフトピだがマジレス。 集まるかどうか不安なんて言ってたら何にもできませんぜ。 とにかくやってあんたのひた向きな背中を金沢市内の人間みんなに 見せることだろ。うちの区(東京下町)では区報にワークショップてな コーナーがあって、PCはじめいろんなお稽古事関係が講習や教室を 開いて参加者を募集している。最初はまず人は来ないと思った方が いい。そういうのをやると少しは素っ頓狂な質問も減るかなと思う。 がんばれ。
436 名前:Name_Not_Found mailto:sage [2008/06/21(土) 15:39:09 ID:???] マウスの座標取得で、 event.clientXなどでIEはで来たのですが、FF等で動きません。 クロスブラウザ対応なマウス座標取得はどうすればいいのでしょうか?
437 名前:Name_Not_Found mailto:sage [2008/06/21(土) 15:48:01 ID:???] >>418 var xmlData = httpObj.responseXML; var resTag = xmlData.getElementsByTagName("res"); var titleTag = xmlData.getElementsByTagName("title"); var urlTag = xmlData.getElementsByTagName("url"); var resultTxt = ""; var i = 0, j = 0; while(titleTag[i]){ s_title = titleTag[i].firstChild.nodeValue; if(uriTag[j].parentNode.nodeName == "cache"){ j++; } s_url = urlTag[j].firstChild.nodeValue; resultTxt += s_title + " : " + s_url + "<br>"; } こんな感じかな
438 名前:Name_Not_Found mailto:sage [2008/06/21(土) 15:56:10 ID:???] >>435 確かにそうだな。やってみなけりゃ何も始まらんな。 そういう場所をまず探してゆくか。 ありがとう。
439 名前:Name_Not_Found mailto:sage [2008/06/21(土) 16:05:26 ID:???] >>436 過去スレ全集で検索すればいくらでも見つかるよ。
440 名前:Name_Not_Found mailto:sage [2008/06/21(土) 20:59:33 ID:???] >>436 Event.pointerX(event) Event.pointerY(event)
441 名前:Name_Not_Found mailto:sage [2008/06/21(土) 21:00:45 ID:???] 言い忘れたゴメン 上のはprototype.jsを使ったやつな
442 名前:Name_Not_Found mailto:sage [2008/06/21(土) 21:01:52 ID:???] XSLTってあったな。 今時のサーバとブラウザの世代交代を考慮すると、本番運用できるかもな。 <xsl:output method="text" encoding="UTF-8"/> <xsl:template match="res[child::title and child::url]"><xsl:value-of select="child::title"/> : <xsl:value-of select="child::url"/><xsl:text> </xsl:text></xsl:template> <xsl:template match="node()"><xsl:apply-templates/></xsl:template>
443 名前:377 [2008/06/22(日) 00:12:37 ID:XEoiJWyd] あるテキストファイルがJSONファイルとして正しいかどうかを検証してくれるサイトってありませんか?
444 名前:Name_Not_Found mailto:sage [2008/06/22(日) 02:24:55 ID:???] それはここに書く前に検索した方が比較にならないほど早く解決するだろう。 もしファイルの内容をじかに書かなければならない不便な物しか見つからなかったら、ファイルの内容を投げて結果を調べるコードを書けばいいだろ。これまたそこそこ丁寧に書いても30分以内に書ける。 つまり、オマエが物乞いだということだな。生き恥晒してんじゃねえよ。
445 名前:Name_Not_Found mailto:sage [2008/06/22(日) 04:11:47 ID:???] >>442 ttp://www.wowarmory.com/ 恐らく毎日膨大なPV数であろう、一般ユーザー向けのサイトで使われている興味深い例。 >>443 JSON validatorあたりでググってみる。 >>444 >生き恥晒してんじゃねえよ。
446 名前:Name_Not_Found [2008/06/22(日) 04:17:24 ID:W8+DpW9j] 以下のような<div>でくくったcheckboxが2つあります。 <div id="boxA[]" style="display:none"><input type="checkbox" name="cbA[]" value="1" /></div> <div id="boxB[]" style="display:none"><input type="checkbox" name="cbB[]" value="1" /></div> このdiv二つは、別のプルダウンのoptionの選択の切り替えでdisplayを操作していて、 ・boxAを表示してるときはboxBが隠れている ・boxBを表示してるときはboxAが隠れている ・プルダウンが未選択(デフォルト状態)の時は両方とも隠れている …という形になっています また、この「<div>2つ + 操作してるプルダウン1つ」は3セットあります。 このとき、 ・3セットのうち、2セットをboxBを表示&チェック(boxAはdisplay:none) ・残りの1セットををboxAを表示&チェック(boxBはdisplay:none) してPOST送信するとポストデータに異常が発生します。 boxB、boxAともに、display:none状態のまま送信した分が、データとしてわたらないのです 以下、ポストデータを var_dump($_POST) したものです。 ["cbB"]=> array(2) { [0]=> string(1) "1" [1]=> string(1) "1"} ["cbA"]=> array(1) { [0]=> string(1) "1"} 本来なら、両方とも array(3) となるように、配列が3つわたると思うんですが、 どうしたら解決するでしょうか? memo.hirosiki.jp/article/45836034.html を見ると、この問題に触れてるんですが 送信エラー起こす場合と起こさない場合があるようで、イマイチ答えになりません 対策や意見をもらえたら幸いです よろしくお願いします (ちなみに、データの入力はCHECKBOXでなくプルダウンでも同様になります)
447 名前:Name_Not_Found mailto:sage [2008/06/22(日) 04:54:40 ID:???] チェックボックスは off だとデータ渡らないけどね そういうことじゃなければソースをどっかにうpして 正直読んでてよくわからん
448 名前:Name_Not_Found mailto:sage [2008/06/22(日) 05:46:32 ID:???] >>447 いや、そういうことだと思う 個人的にはidやnameに大かっこ使ってるのが気になってしょうがないけどこれ不正じゃないの?
449 名前:Name_Not_Found mailto:sage [2008/06/22(日) 05:51:59 ID:???] name の方は [] で送ると サーバサイドのスクリプト上では配列として受けれるんだよね id の方はちとマズいだろな
450 名前:Name_Not_Found mailto:sage [2008/06/22(日) 05:58:56 ID:???] なるほど
451 名前:Name_Not_Found mailto:sage [2008/06/22(日) 06:12:03 ID:???] >>446 input要素のvalue属性値をユニークにすれば解決するだろ。つうか、気付けよタコ。 その言語には array_values() や array_flip() などの便利なトップレベル関数があるのだから、それらのどれらかを使える形を整えろ。 あと、CSSのdisplayプロパティとその値は関係ない。 ついでだが、>>449 の言う通り、div要素型(に限らず)、id属性値はNAME・ID型だから括弧は使えない。 (さらについでだが、input要素型のname属性値はCDATAだからだいじょうぶ。)
452 名前:377 [2008/06/22(日) 07:41:29 ID:XEoiJWyd] >>445 THX JSONLint The JSON Validator www.jsonlint.com/
453 名前:377 [2008/06/22(日) 08:06:51 ID:XEoiJWyd] TinyJSON - A Minimalistic JSON Reader Based On Boost.Spirit, Boost.Any and Boost.Smart_Ptr blog.beef.de/projects/tinyjson/ C++好きの自分にはよだれが出る。
454 名前:Name_Not_Found mailto:sage [2008/06/22(日) 09:23:27 ID:???] XMLHttpRequestってIEとFFとかで動作違う? こちらから指定したXMLの内容の一部(中で1から順番に番号を振ってる、その例えば10~20)をXSLTで変換して表示させようとしてるんだけど、IEでうまくいってFFでうまくいかない ほとんど載ってた例文どおりに書いたんだが・・・ どこかわかりやすいサイトとかある?
455 名前:Name_Not_Found mailto:sage [2008/06/22(日) 09:41:34 ID:???] Firebug とか使ったらなんかわからんもんかね?
456 名前:Name_Not_Found mailto:sage [2008/06/22(日) 09:45:22 ID:???] >>453 クロスブラウザ対応のXHRっallabout.co.jp/internet/javascript/closeup/CU20050515A/
457 名前:Name_Not_Found mailto:sage [2008/06/22(日) 09:45:45 ID:???] 失礼安価ミス>>456 は>>454 ね。
458 名前:Name_Not_Found mailto:sage [2008/06/22(日) 09:47:21 ID:???] その例文とやらを乗せるのが一番早いかと
459 名前:Name_Not_Found mailto:sage [2008/06/22(日) 11:13:12 ID:???] >>454 XMLHttpRequestはIE7以上でないと使えない IE6以下はActiveXObject使うしかない 場合分けしる
460 名前:446 mailto:sage [2008/06/22(日) 12:07:53 ID:???] 皆さんありがとうございました、ご意見を参考に頑張ってみます (idの値についてですが、書き間違えでした。ちゃんと boxA1,boxA2,boxA3 boxB1,boxB2,boxB3 となっています >>451 >input要素のvalue属性値をユニークにすれば解決するだろ。つうか、気付けよタコ。 それだと場当たりの処理は出来ますが、「渡されるべき形で配列が渡されない」という 本質的な問題は解決しません それで居心地が悪いので質問させてもらいました ありがとう
461 名前:Name_Not_Found mailto:sage [2008/06/22(日) 12:59:10 ID:???] なんだかヘンな方に議論が行っているような。 display:none だとその部分は「存在しない」のでデータが渡らない。 visibility:hidden だとその部分は「見えないだけ」なのでデータが渡る。
462 名前:Name_Not_Found mailto:sage [2008/06/22(日) 13:20:00 ID:???] > display:none だとその部分は「存在しない」のでデータが渡らない。 君の脳内ブラウザではそうかもしれんが あんまり無責任な発言をしてもらっても困る
463 名前:Name_Not_Found mailto:sage [2008/06/22(日) 14:47:27 ID:???] display:noneもvisibility:hiddenも表示を消す、物は残ってる。 単にその存在分の空白が残るか残らないかって話だけ
464 名前:454 mailto:sage [2008/06/22(日) 14:56:11 ID:???] レスthx サンプルのURL消しちゃってたからもう一度探してくる 下が今弄ってるものなんだけど、いろいろ入れ替えたり書き直してたりしてたらIEでも動かなく・・・orz IE7とFF2(今は3)を使っているから、テスト段階ではXMLHttpRequestだけでいいかと思ってそれしか書いてない 当然あとで書き足す予定 function goend(threadnum,startnum,loop){ var snum = startnum; var fnum = Math.abs(startnum) + Math.abs(loop); var xmlfilename=threadnum + ".xml"; var xmlt = new XMLHttpRequest(); var xslt = new XMLHttpRequest(); xmlt.open("GET",xmlfilename,true); xmlt.onreadystatechange = function(){ if(xmlt.readyState == 4){ var xmld = xmlt.responseXML; xmlt.send(null); } } xslt.open("GET","../xsl.xsl",true); xslt.onreadystatechange = function(){ if(xslt.readyState == 4){ var xsld = xslt.responseXML; xslt.send(null); } } var vali = new Array(); try{ vali=xsld.getElementsByTagName("xsl:variable"); }catch(e){ try{ vali=xsld.getElementsByTagName("variable"); }catch(e){ alert("getElementsByTagName Error"); } } vali[0].text=fnum; vali[1].text=snum; var htmld; htmld = xmld.transformNode(xsld); document.write(htmld);}
465 名前:Name_Not_Found [2008/06/22(日) 15:20:47 ID:XEoiJWyd] JSONって{ "a": "b", "a":"c" } みたいにオブジェクト(ハッシュ)のキーが重複するような データは規格の上で間違っているとされているの? それとも単に eval()で評価すれば後から設定したプロパティ に置き換わるだけなのでそれでよしということなのでしょうか?
466 名前:417-418 [2008/06/22(日) 15:49:19 ID:pf9eXiX0] >>437 dクスです!できました。
467 名前:Name_Not_Found [2008/06/22(日) 15:55:22 ID:pf9eXiX0] Yahoo!検索で一番上に出てくるサイトのリンクを作るプログラムです。IE6で動作確認しています。 「取得」ボタンを押すと、一回目はエラーが必ず出てしまい、もう一度「取得」ボタンを押すとうまくいきます。 一回目からうまくいくようにするにはどうしたらよいでしょうか? 何か、カウント用変数のiとjがおかしいことになってるみたいなんですが…。 ちなみにデバッグ用にalertを3箇所に書いてありますので、アラートいっぱい出てきてOKという方はコメントアウトを外して実行してみてください。 お願いします。 <html><head><title></title> <script type="text/javascript"> <!-- word = new Array("javascript", "ajax"); site = new Array("2ch.net", "jbbs.livedoor.jp"); function createXMLHttpRequest(cbFunc){ var XMLhttpObject = null; try{ XMLhttpObject = new XMLHttpRequest(); }catch(e){ try{ XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e){ try{ XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){ return null; } } } if (XMLhttpObject) XMLhttpObject.onreadystatechange = cbFunc; return XMLhttpObject; } // 下に続く
468 名前:467 [2008/06/22(日) 16:03:24 ID:pf9eXiX0] // 上の続き function loadXMLFile(fName){ httpObj = createXMLHttpRequest(displayData); if(httpObj){ httpObj.open("GET", fName, true); httpObj.send(null); } } function displayData(){ if((httpObj.readyState == 4) && (httpObj.status == 200)){ //alert("デバック用(成功):\ni = " + i + ", j = " + j); xmlData = httpObj.responseXML; Result_Tag = xmlData.getElementsByTagName("Result"); document.getElementById("src_" + i + "_" + j).innerHTML = "<a href=\"" + Result_Tag[i].getElementsByTagName("Url")[0].childNodes[0].nodeValue + "\" target=\"_blank\">" + Result_Tag[i].getElementsByTagName("Title")[0].childNodes[0].nodeValue + "</a>"; }else{ //alert("デバック用(失敗):\ni = " + i + ", j = " + j); document.getElementById("src_" + i + "_" + j).innerHTML = "読み込み中"; } } function SearchResultCount(){ for(i=0; i<site.length; i++){ for(j=0; j<word.length; j++){ //alert("デバック用(正しいカウント):\ni = " + i + ", j = " + j); loadXMLFile("api.search.yahoo.co.jp/WebSearchService/V1/webSearch?appid=YahooDemo&query= " + encodeURIComponent(word[j]) + "&site=" + site[i]); } } } // 下に続く
469 名前:467 [2008/06/22(日) 16:04:46 ID:pf9eXiX0] // 上の続き //--> </script> </head><body> <form><input type="button" value="取得" onClick="SearchResultCount();"></form> ・「javascript site:2ch.net」での検索結果:<b><span id="src_0_0"> </span></b><br> ・「ajax site:2ch.net」での検索結果:<b><span id="src_0_1"> </span></b><br><br> ・「javascript site:jbbs.livedoor.jp」での検索結果:<b><span id="src_1_0"> </span></b><br> ・「ajax site:jbbs.livedoor.jp」での検索結果:<b><span id="src_1_1"> </span></b><br> </body> </html>
470 名前:467 [2008/06/22(日) 16:14:21 ID:pf9eXiX0] -------------------------- 長いソースでスマソ。 ※エラーの詳細 「'document.getElementById(...)' は Null またはオブジェクトでありません。」 displayData()関数で、 i も j も、値は 0 か 1 しか来ないはずなのだが、 なぜか i = 2になったり j = 2になったり。なぜだ??
471 名前:Name_Not_Found mailto:sage [2008/06/22(日) 16:24:30 ID:???] iとjがグローバル変数だからよその関数などで入れた 値と混ざってるんじゃないの。 for(var i = ... for(var j = ... に直してみれば。
472 名前:Name_Not_Found mailto:sage [2008/06/22(日) 16:36:52 ID:???] 学校の課題でスロットを作っています。色々なサイトでスロットのソース見てきたのですが、 どの関数がどのような役割をしているのかがよく理解できませんでした。 ためしに自分でも3つの画像を使ったスロットを作ってみたのですがスタートを押すと 画像が変わる処理が1回で止まってしまい、ゲームになりませんでした;; ソースは次の通りです
473 名前:Name_Not_Found mailto:sage [2008/06/22(日) 16:36:52 ID:???] >>465 RFC 4627 ttp://tools.ietf.org/html/rfc4627 >The names within an object SHOULD be unique. >>467 この状態では、SearchResultCountとdisplayDataとではi,jの値を共有しない為。 <!-- var i,j; word = new Array("javascript", "ajax"); 最初の方にこのように書けば大丈夫だろうけど、i,jのような変数名をグローバルで使うのはお勧めしない。
474 名前:472 mailto:sage [2008/06/22(日) 16:41:56 ID:???] function Setimage() { for(i=0;i<4;i++) { image[i]=new Image(200,150); image[i].src="image"+i+".jpg"; } } function Scroll() { time1=setTimeout("Scroll1()",100); time2=setTimeout("Scroll2()",125); time3=setTimeout("Scroll3()",150); } function Scroll1() { document.photo0.src=image[n].src; n++; if(n>=4) n=0; }
475 名前:472 mailto:sage [2008/06/22(日) 16:43:13 ID:???] function Scroll2() { document.photo1.src=image[n].src; n++; if(n>=4) n=0; } function Scroll3() { document.photo2.src=image[n].src; n++; if(n>=4) n=0; } (中略) <td align="center"><input type="button" name="start1" value=Start! onClick="Setimage();Scroll()"> 多分おかしいところはこのあたりだと思うのですが。。。どうしたら繰り返しの処理が正しく 行われるのでしょうか。
476 名前:Name_Not_Found mailto:sage [2008/06/22(日) 16:51:14 ID:???] なんて汚いソース。 先に配列と引数覚えればもう少しきれいになると思う。
477 名前:472 mailto:sage [2008/06/22(日) 17:20:37 ID:???] >>476 ありがとうございます。 a = new Array("月曜日","火曜日","水曜日","木曜日","金曜日"); b = new Array("1時限目","2時限目","3時限目","4時限目","5時限目","6時限目"); for(i=0;i<a.length;i++) { for(j=0;j<b.length;j++) { var subject = (i+j)%5; if( subject ==0){alert(a[i]+"の"+b[j]+"は数学です")}; if( subject ==1){alert(a[i]+"の"+b[j]+"は国語です")}; if( subject ==2){alert(a[i]+"の"+b[j]+"は英語です")}; if( subject ==3){alert(a[i]+"の"+b[j]+"は社会です")}; if( subject ==4){alert(a[i]+"の"+b[j]+"は理科です")}; } } ↑これが教材でした・・・。このような感じで配列や引数もやったにはやったのですが これ(配列等)をスロットの中でどのように使えばよいのかが分かりませんでした。 理解が全く足りてなかったようですね>< 基礎をもう一度学び直してきます。 長文失礼しました&ありがとうございました。
478 名前:Name_Not_Found mailto:sage [2008/06/22(日) 21:46:49 ID:???] >>473 > i,jのような変数名をグローバルで使うのはお勧めしない。 極論すれば、どうでもいい。 常に初期化する規約を設ける方が、実は、はるかに建設的だ。 毎週2時間かかる1000万レコード超のオラクルデータ更新を、スワップ10Gb以下に抑えながら、 JScriptだけで やっている俺が言うのだから、かなり説得力は高いだろう。
479 名前:Name_Not_Found mailto:sage [2008/06/22(日) 21:57:58 ID:???] >>478 ループ中にi使う関数呼び出されたらどうすんの?
480 名前:Name_Not_Found mailto:sage [2008/06/22(日) 22:14:17 ID:???] >>479 おいおい、まさか、スコープ超えて使うわけないだろ。 因みに、関数をほとんど使わない。とにかく、追加要求がまとまったら、ダラダラとグローバルに追記して実装する。
481 名前:Name_Not_Found mailto:sage [2008/06/22(日) 23:21:17 ID:???] 関数に分けないでひたすらグローバルに書くなんて 40年前のスタイルだね。何箇所かで同じ処理をするときは そのコードを必要なだけコピペするわけ?
482 名前:Name_Not_Found mailto:sage [2008/06/23(月) 00:26:30 ID:???] >>480 だから関数を「まったく」使わないなら全部グローバルは 分かるけど。関数を書く時にその関数の中で使う作業用の変数を グローバル変数にしてるんだったらとんでもないと思うけどね。
483 名前:Name_Not_Found mailto:sage [2008/06/23(月) 00:26:45 ID:???] 関数使わない方が速いっていう利点はあるよね。
484 名前:467-470 [2008/06/23(月) 01:13:26 ID:DzJ84Pjg] >>471 でやっても>>473 でやっても駄目でした。 原因はiやjではなく別にあるような…。
485 名前:Name_Not_Found mailto:sage [2008/06/23(月) 01:15:03 ID:???] 糞ソースを見るとイラっとする俺はもう駄目かもしれん
486 名前:Name_Not_Found [2008/06/23(月) 02:17:08 ID:uInEyN34] >>484 女子高生です あなたセンスがないからもうやめた方がいいよ
487 名前:Name_Not_Found mailto:sage [2008/06/23(月) 02:20:33 ID:???] >>484 漏れも気になって再現してみたがやっぱり最初はだめだな。 デバッカで追っかけてみたが、よくわからんかった。 気持ち悪くて眠れんのだが。
488 名前:Name_Not_Found [2008/06/23(月) 03:13:19 ID:rQMNNzo3] オブジェクトの下にあるオブジェクト(この例ではAjax.Delegate)が存在するかどうかを判定して分岐するにはどうすればよいのでしょうか。 以下のソースをFirefox 3で実行してみると、アラートで[Object Object]と表示され、Ajax.Delegateオブジェクトが存在していることが確認されるのですが、 なぜかf(!Ajax.Delegete){}が実行され、中のalert(Ajax.Delegete);の結果”undefined”がアラートされます。 if(!Ajax){ var Ajax=new Object; } Ajax.Delegate=new Object; Ajax.Delegate.Version="1.0.0.0"; alert(Ajax.Delegate); if(!Ajax.Delegete){ alert(Ajax.Delegete); Ajax.Delegate=new Object; Ajax.Delegate.Version="1.0.0.0"; }
489 名前:Name_Not_Found mailto:sage [2008/06/23(月) 03:50:21 ID:???] スペル
490 名前:Name_Not_Found mailto:sage [2008/06/23(月) 04:46:23 ID:???] >>489 ありがとうございます。 1時間半の苦労がorz
491 名前:Name_Not_Found [2008/06/23(月) 05:34:06 ID:j4JVz+ZB] >>488 こういうミスって識別子の補完機能があるIDEつかっていれば かなり少なくできると思うんだけど、Javascript だと どういう環境があるの?みんなただのエディタ使っているの? 俺はメモ帳とかサクラエディタを使っている。
492 名前:Name_Not_Found mailto:sage [2008/06/23(月) 06:24:24 ID:???] 質問です。 セレクトメニューで選択された項目に対して、変数に文字列を代入するにはどうしたらいいでしょうか。
493 名前:Name_Not_Found mailto:sage [2008/06/23(月) 06:53:39 ID:???] >>491 DashCodeに補完機能あると嬉しいんだけどなぁ Xcodeには補完機能あるのにDashCodeにはない(´・ω・`) Apple頼むよ… Aptena Studioに補完機能あったかもしれないがEclipse系はJava独特のもっさり感があるのでどうも好きになれん。 www.panic.com/jp/coda/ こういうの買えってことなんだろなぁ >>492 homepage3.nifty.com/aya_js/js2/js216.htm
494 名前:Name_Not_Found mailto:sage [2008/06/23(月) 06:58:29 ID:???] ちょい訂正 よくぐぐってみたらcodaは補完いまいちだそうな
495 名前:492 mailto:sage [2008/06/23(月) 07:09:15 ID:???] >>493 ありがとうございます。しかし例がなぜCCS・・・
496 名前:Name_Not_Found mailto:sage [2008/06/23(月) 11:32:28 ID:???] >>484 iとjを持ち回したら? >>471 が言ってる通りforの中でvarで宣言、 loadXMLFileを呼び出すときにiとjも渡す。 loadXMLFileの中でhttpObjのプロパティにセット function loadXMLFile(fName, i, j){ httpObj = createXMLHttpRequest(displayData); httpObj.searchData = {i:i,j:j}; displayData()の先頭でiとjを受け取る var i = httpObj.searchData.i; var j = httpObj.searchData.j; ただ、そもそもhtmlの中に直書きしてある「javascript 2ch.net」とかを javascriptのコードの中に書いてる時点でどうかと思うので全体的に見直した方が良いかも
497 名前:Name_Not_Found mailto:sage [2008/06/23(月) 11:33:11 ID:???] 補完やツールチップ表示なら、Komodoでできるだろうな。デフォでは出来ないから、拡張を取ってくるか作るかせにゃならんだろうが、作るのはJavaScriptだから何とかなるだろ。
498 名前:Name_Not_Found mailto:sage [2008/06/23(月) 11:56:35 ID:???] emacsやxyzzyなら補完なんて当たり前にできるけどな。
499 名前:Name_Not_Found mailto:sage [2008/06/23(月) 14:49:36 ID:???] >>498 emacsって補完できるのかw Mac OS Xに付いてきてるけど使ったこと無い;; 試してみます
500 名前:Name_Not_Found mailto:sage [2008/06/23(月) 14:55:34 ID:???] www.webhtm.net/vim/inputsupport.htm ぐぐったらviにもあった。知らなかった… viメインにするかな…
501 名前:Name_Not_Found mailto:sage [2008/06/23(月) 15:23:14 ID:???] xyzzy の actionscript-mode をjavascript用にデータ変更すれば最強だろ。
502 名前:sage [2008/06/23(月) 17:21:03 ID:VigVkU4t] 教えて下さい。 フォーム内のチェックボックスをラジオボタンのように常に1つだけ選択出来るようにしたいのですが、全く方法がわかりません。 親切な方お願いします。
503 名前:Name_Not_Found mailto:sage [2008/06/23(月) 17:33:37 ID:???] >>502 FF3/Safari3.1で確認。Win起動するの面倒くさいのでIEでは未確認。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "www.w3.org/TR/html4/strict.dtd "> <html lang="ja"> <head> <meta Http-Equiv="Content-Type" Content="text/html;charset=utf-8"> <meta Http-Equiv="Content-Script-Type" content="text/javascript"> <script> var cblist=['a','b','c']; function recheck(c){ for(i=0;i<cblist.length;i++){ if(c!=cblist[i]){ document.f[cblist[i]].checked=false; } } } </script> </head> <body> <form name="f"> <input type="checkbox" name="a" onClick="recheck('a')"> <input type="checkbox" name="b" onClick="recheck('b')"> <input type="checkbox" name="c" onClick="recheck('c')"> </form> </body> </html>
504 名前:Name_Not_Found mailto:sage [2008/06/23(月) 17:38:16 ID:???] >>503 補足 "常に1つだけ"というのが、0個選択も許さないって意味だったら↓ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "www.w3.org/TR/html4/strict.dtd "> <html lang="ja"> <head> <meta Http-Equiv="Content-Type" Content="text/html;charset=utf-8"> <meta Http-Equiv="Content-Script-Type" content="text/javascript"> <script> var cblist=['a','b','c']; function recheck(c){ for(i=0;i<cblist.length;i++){ if(!document.f[c].checked){ alert("最低1個選択してください。"); document.f[c].checked=true; } if(c!=cblist[i]){ document.f[cblist[i]].checked=false; } } } </script> </head> <body> <form name="f"> <input type="checkbox" name="a" onClick="recheck('a')" checked> <input type="checkbox" name="b" onClick="recheck('b')"> <input type="checkbox" name="c" onClick="recheck('c')"> </form> </body> </html>
505 名前:Name_Not_Found mailto:sage [2008/06/23(月) 17:41:58 ID:???] >>502 チェックボックスのonclickハンドラでチェックボックスがONに なるのを検出する。で、その時自分以外のを全部OFFに変更する。 この説明で分からないなら勉強してね(ここは全部書いてあげる スレではないので)。
506 名前:Name_Not_Found mailto:sage [2008/06/23(月) 17:42:44 ID:???] げげ…リロードしてなかったorz
507 名前:Name_Not_Found mailto:sage [2008/06/23(月) 18:11:12 ID:???] >>502 すなおに radio を使え。 >>503-504 NAME属性値が異なっているが、それは>>502 がやりたいことなのか?
508 名前:502 mailto:sage [2008/06/23(月) 18:20:34 ID:???] ありがとございます。 配列作ってってとこまではわかったんですが、渡した引数との整合(?)で躓いていたので本当に助かりました。 もっと勉強してきます。
509 名前:Name_Not_Found mailto:sage [2008/06/23(月) 18:24:58 ID:???] >>507 ググってみたらcheckboxも同じnameで配列でいけるのか;;知らなかった >>504 をする場合は素直にradio使った方が良いと思うが、>>503 のように「0個もしくは1個選択」させる場合はcheckboxのほうが良いと思う。
510 名前:Name_Not_Found [2008/06/23(月) 18:58:20 ID:5YaKTodd] JSONで定義した無名ハッシュのキーリストを取り出すには どういうメソッド/方法を使えばいいんでしょうか。 Perlのkeysみたいなのがないかなと・・・ 最悪、リストを2つ用意してっていうのも考えてはいます。
511 名前:Name_Not_Found mailto:sage [2008/06/23(月) 19:11:40 ID:???] と思ったらまんまkeysでいいのね。ごめん。
512 名前:Name_Not_Found mailto:sage [2008/06/23(月) 20:12:23 ID:???] >>511 それはどこかに定義されているのだろうな。 例えば Firebug の console には keys() も values() もあるが、言うまでもなくページからは使えない。
513 名前:Name_Not_Found mailto:sage [2008/06/23(月) 20:28:19 ID:???] >>509 > 503のように「0個もしくは1個選択」させる場合はcheckboxのほうが良いと思う。 もし <form> の中に name="XXX" だけしかコントロールが無いのなら、JSは要らない。 デフォで何も選択しない状態にしておいて、reset コントロールを書けば済む。 JSが必要な状況は、 * <form> で囲まれていて、他の name 属性値を持つコントロールがある * <form>で囲まれていない の2通りあるが、これも radio コントロールを使って、単純に、...checked=false すれば良い。 結局、radio を使うのが最易。
514 名前:467-470 [2008/06/23(月) 21:49:02 ID:DzJ84Pjg] httpObj.open("GET", fName, true); ↓ httpObj.open("GET", fName, false); このようにopenメソッドの第三引数をtrueからfalseに変えたらうまくいきました。 true … リクエストを送った時点で次の処理へ進む(非同期通信) false … リクエストからの応答があるまで待ってから次の処理へ進む(同期通信) やっぱり、iやjがローカル変数だとかグローバル変数だとかってのは関係なかったみたいです。 っとなると、trueではどう頑張っても無理ですか?? 一応、>>496 のやり方も試しましたがだめでした。
515 名前:Name_Not_Found mailto:sage [2008/06/23(月) 23:52:37 ID:???] このおっさんしつこいなぁ
516 名前:Name_Not_Found mailto:sage [2008/06/24(火) 03:58:37 ID:???] >>512 ご名答、Firebugでした。やっぱりブラウザにはないのね・・・ グリモンで使おうと思ったんだけど、とりあえず使わず済ませました。 Firebugを関数リファレンスと考えちゃいけないとわかったのも収穫。
517 名前:Name_Not_Found mailto:sage [2008/06/24(火) 07:13:21 ID:???] >>513 >デフォで何も選択しない状態にしておいて、reset コントロールを書けば済む。 resetボタンという手があったか そうなると、radioで無理なのは選択できるのが0~2個とか0~3個とかのときだけになるか 大した行数じゃないしjavascript+checkboxでも良い気がするが好みかな
518 名前:Name_Not_Found mailto:sage [2008/06/24(火) 08:31:55 ID:???] >>517 UIの統一感という意味でも、単一項目しか選択出来ないものにはradioを使った方が良いのでは。
519 名前:Name_Not_Found mailto:sage [2008/06/25(水) 06:48:50 ID:???] Class内のattachEventに関して質問です。 <html><head><script> this.eTest = function(){ this.prop = 100; } this.eTest.prototype.showProp = function(){ alert(this.prop); } this.eTest.prototype.setEvent1 = function(){ document.body.attachEvent("onclick",function(x){return function(){x.showProp()}}(this)); } this.eTest.prototype.unsetEvent1 = function(){ document.body.detachEvent("onclick",function(x){return function(){x.showProp()}}(this)); } this.eTest.prototype.setEvent2 = function(){ this.savedFunc = function(x){return function(){x.showProp()}}(this); document.body.attachEvent("onclick",this.savedFunc); } this.eTest.prototype.unsetEvent2 = function(){ document.body.detachEvent("onclick",this.savedFunc); } var inst = new eTest(); </script></head><body> <input type="button" value="setEvent1" onclick="inst.setEvent1()"> <input type="button" value="unsetEvent1" onclick="inst.unsetEvent1()"> <input type="button" value="setEvent2" onclick="inst.setEvent2()"> <input type="button" value="unsetEvent2" onclick="inst.unsetEvent2()"> </body></html> 1, unsetEvent1でイベント解除できないのはattachしたときの関数オブジェクトとは 別の関数オブジェクトだからという認識でいいんでしょうか? 2, こういった場合setEvent2のようにattachEventに渡す関数オブジェクトを保持しておき、detachEventに同じものを渡すというやり方で問題ありませんか? 3, メモリリークですが、detachした時点でメモリが解放されるということでいいですか? 4, 同じことを実現するのにベターな書き方はありますか?
520 名前:Name_Not_Found mailto:sage [2008/06/25(水) 08:03:54 ID:???] >>519 関数式(関数リテラル)は、そこを実行するごとに新しい関数 オブジェクトを生成することになっている。だから確かに attachで渡したものをとっておいてdetachにもそれを渡すように するのが正しそう(試してないけど)。メモリが解放されるのは あくまでもガベージコレクションのタイミング。リークというのは ガベージコレクションしても解放されなくなるという意味。
521 名前:Name_Not_Found mailto:sage [2008/06/25(水) 10:04:09 ID:???] ガベージコレクションがいつまでたっても呼び出せなくなるのがIEのリークなんじゃ?
522 名前:Name_Not_Found mailto:sage [2008/06/25(水) 11:07:30 ID:???] >>521 それは言い方がおかしいと思う。その言い方だとリークが起きたら 以後ガベージコレクションが起こらなくなるという意味になると 思うが、そしたらあっという間にメモリが足りなくなるだろう。 「そのリークしたオブジェクトについてガベージコレクション されない」という意味なら、>>520 でいう「解放」がそれに 相当すると思う。まあ言葉遣いの問題なんだろうけど。
523 名前:Name_Not_Found mailto:sage [2008/06/25(水) 11:20:49 ID:???] デッドロックみたいなもんか
524 名前:Name_Not_Found mailto:sage [2008/06/25(水) 12:04:12 ID:???] >>522 横やりだけど何か違和感だったのでレス。 JavaScriptの場合「参照カウントが0になったらGCされる→メモリが解放される」 だから、「参照が循環するとGCされない(サイ本P.147)→メモリが解放されない」 なので、 >>520 > ガベージコレクションしても解放されなくなる 「GCしても」っていうところがちょっとおかしいかな?と。
525 名前:Name_Not_Found mailto:sage [2008/06/25(水) 12:14:50 ID:???] >>524 JavaScriptのみのオブジェクトの場合、循環参照があっても 解放される。これはマークスイープとかコピー方式のガベージ コレクションを行っているわけだよね。一方、DOMツリーを経由 した循環参照はリークする。これはDOMツリーからたどれるオブジェクト については参照カウントを維持していて、それが0より大きいと 「使用中」とみなされる。循環参照してしまうとどこからも指して ないオブジェクト群でもカウントが1のまま残ってしまうというのが このリークの本質。で、JavaScriptオブジェクトのガベージ コレクションを実行しても、カウントが0より大きいものは回収 しないから「ガベージコレクションを実行しても解放されない」 となる。 単純なリファレンスカウントによるガベージコレクション「だけ」 の場合だと確かに>>524 の言う通りだけど、この場合はそうじゃない と理解しているんだがどうかな。
526 名前:Name_Not_Found mailto:sage [2008/06/25(水) 12:43:32 ID:???] 俺は使い終わったオブジェクトは極力 delete オブジェクト名; するようにしてる。
527 名前:Name_Not_Found mailto:sage [2008/06/25(水) 12:46:14 ID:???] GCの動作を理解してなかった
528 名前:Name_Not_Found mailto:sage [2008/06/25(水) 18:15:09 ID:???] 勉強になる。てか、よく理解できてない俺はやっぱ自分で消そうと思った。
529 名前:Name_Not_Found mailto:sage [2008/06/25(水) 21:13:05 ID:???] >>526 それって var obj = newObject; ・・・何か処理・・・ delete obj; ってしてるってこと? もしそうならnewObjectへの参照は消えてないよ
530 名前:Name_Not_Found mailto:sage [2008/06/25(水) 22:52:29 ID:???] >>529 参照?どういうことだろう… var hoge=function(){}; req=new hoge; req.moge="mogera"; alert(req.moge); delete req; alert(req.moge); //ここで、「Can't find variable: req」/「エラー: req is not defined」などのエラーが出る。 ってことは、参照が消えてるってことではないのかな…
531 名前:Name_Not_Found mailto:sage [2008/06/25(水) 23:06:54 ID:???] アホの会話はかみ合わない
532 名前:Name_Not_Found mailto:sage [2008/06/26(木) 00:13:15 ID:???] 新規openについて質問します。 IE7+右クリック連携で現在開いているhtmlに対し、「選択範囲にあるURL全てを開く」という内容を考えています。 パラメータが違うURLを「別ウインドウの新しいタブ」にまとめて開きたいのですが、 //処理 for(条件で繰り返し)[ window_handle = window.open(url,target,''); } この形式ではIE自体は別プロセスになりますが、1つのタブ内で繰り返し開こうとしてしまいます。 (ポップアップブロックは無効に設定してます) 現在のウインドウ内でも良いので、新しいタブで各URLを開いていくような回避方法がありますでしょうか?
533 名前:Name_Not_Found mailto:sage [2008/06/26(木) 00:21:10 ID:???] targetの代わりに「'_blank'」を指定してみたらどうなる?
534 名前:Name_Not_Found mailto:sage [2008/06/26(木) 00:25:04 ID:???] >>533 for内の条件発生分だけ、IEが新規にopenしてしまいます。
535 名前:Name_Not_Found mailto:sage [2008/06/26(木) 00:34:37 ID:???] >>534 「_blank タブ」でぐぐれ。終了。
536 名前:532 mailto:sage [2008/06/26(木) 01:05:02 ID:???] >>535 IE7の仕様ということみたいですので把握しましたです。 ありがとうございました。
537 名前:Name_Not_Found mailto:sage [2008/06/26(木) 03:25:36 ID:???] >>530 それなら消えるね var req=new hoge; だと消えないというのを言いたかった
538 名前:519 mailto:sage [2008/06/26(木) 09:39:26 ID:???] >>520 ありがとうござます。 メモリリークという言葉を使ったのがまずかったですが クロージャでロックされたローカル変数はdetachしたら 解放されるのかどうかが知りたかっただけです。 プログラマはGCの正確なタイミングは知り得ませんが、 detachすればGCの対象になるのかどうかが知りたいという質問でした。 >>537 DontDelete属性の話でしょうか? eval評価したスクリプト内のvar付き変数は 現状ではdeleteできるようですが。 ECMAScript 4ではDontDeleteつくらしいですね。 すいません話をattachEventに戻していいですか? Class内でattachEventを使う場合は>>519 よりもベターな書き方はありませんか? みなさんどうしてるのか教えてください。 あとどの関数がどのイベントにattachされているかを知ることはできますか? 自分で管理するしかない?
539 名前:Name_Not_Found mailto:sage [2008/06/26(木) 10:18:57 ID:???] ベターな書き方と言われても、自分のインスタンスへの参照が欲しいなら 方法はそれくらいしか無いと思うけどなぁ bindすれば少し読みやすくなるかと イベント発生時の動作をあとから切り替えたいということなら eTest.prototype.setEvent1 = function() { document.body.attachEvent("onclick", (function(x) { return function() { return x.currentFunc.apply(x, arguments); } })(this)); }; これでcurrentFuncをすりかえるだけでいい
540 名前:Name_Not_Found mailto:sage [2008/06/26(木) 14:17:12 ID:???] 質問いたします。 下記のように2ページ先のフォームにあらかじめ用意しておいた値を 自動入力するスクリプトを組みたいのですが何か良いアイデアは有りませんでしょうか。 IDやパスやフォーム入力値を埋め込んだ自PCのhtml "スタートページ" ↓ ↓ 企業のログインページ ← "スタートページ"からonloadでログイン ↓ ↓ 企業のフォームページ ← "スタートページ"のフォーム入力値をセット(この方法が思いつかない)
541 名前:Name_Not_Found mailto:sage [2008/06/26(木) 14:42:41 ID:???] >>540 うん、なるほどね。 あんたがやりたがっていることには企業のなんたらIDを取得しようとそ の攻略法に血道をあげて研究に余念のない悪の諸先輩方がいますよ。 ま、これはその初歩も初歩のかわいい手口ってとこかな。違いは、あん たのがピンポイントで悪の諸先輩方のがランダムで攻撃して来るってと こくらいじゃない。ここでは>>1 の回答拒否に当たるかも。
542 名前:Name_Not_Found mailto:sage [2008/06/26(木) 14:48:19 ID:???] >>541 勝手に悪者扱いされて心外なのですが、どうすればなんたらIDとやらを取得する話になるのでしょうかね。
543 名前:Name_Not_Found mailto:sage [2008/06/26(木) 15:28:15 ID:???] >>541 日本語でおk >>542 エラーくらい読めカス
544 名前:Name_Not_Found mailto:sage [2008/06/26(木) 16:07:30 ID:???] >>543 勝手にカス扱いされて心外なのですが、どうすればエラー出るんでしょうかね。 知ってたら教えてもらえませんか。
545 名前:Name_Not_Found mailto:sage [2008/06/26(木) 16:41:07 ID:???] >>544 てめーのブラウザ名でも添えてggrks
546 名前:Name_Not_Found mailto:sage [2008/06/26(木) 16:48:48 ID:???] ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1012603610
547 名前:Name_Not_Found mailto:sage [2008/06/26(木) 17:23:24 ID:???] システムテストか運用時の定期的な動作テストの為か何かと思うが、 さすがにこのご時世で特に説明も無く>>540 のように書かれたら、 胡散臭く思うのも仕方無い、というか疑って当然。
548 名前:Name_Not_Found mailto:sage [2008/06/26(木) 18:27:26 ID:???] >>544 とりあえず何でそういうことをやりたいか書いてみたら? 同じ方法でなくともやりたいことはgreasemonkeyとかでできるかもだし
549 名前:Name_Not_Found mailto:sage [2008/06/26(木) 22:14:07 ID:???] >>548 できるかもというか、できるだろというか、やってるよ俺は。 IDマネージャなどを使うより便利。gm_scriptsディレクトリはSVN管理してる。 一般にはそういう拡張(アドオン)を入れるのが手軽なんだろうな。 言うまでもないだろうが、実害が発生し得るカード情報などは、全部手入力だけどな。
550 名前:Name_Not_Found mailto:sage [2008/06/26(木) 22:15:35 ID:???] マクロ組めばいいだろっていう
551 名前:Name_Not_Found mailto:sage [2008/06/27(金) 09:31:52 ID:???] おしえてくだされ。参考にしているスクリプトに以下のような部分が あるんですが、if文の中のびっくりマーク二つはどういう意味に なるんでしょうか?一つだと分かるんですが。ググっても分から ないのでお願いします。 var title_nodes = document.getElementById("btAsinTitle"); if(!!title_nodes){
552 名前:Name_Not_Found mailto:sage [2008/06/27(金) 09:46:20 ID:???] >>551 単なるtypoだろ
553 名前:Name_Not_Found mailto:sage [2008/06/27(金) 09:50:20 ID:???] >>551 真偽値に変換するため ちなみにifの場合は勝手に判断してくれるから必要ない
554 名前:519 mailto:sage [2008/06/27(金) 12:14:35 ID:???] >>539 便利な書き方ですね。参考になります。 イベントを中央管理してクロージャなしで書けそうです。 試行錯誤中ですがなんとかなりそうな雰囲気
555 名前:Name_Not_Found mailto:sage [2008/06/27(金) 13:07:20 ID:???] >>554 参考にしたいのでできたらサンプル見せてもらえませんか
556 名前:Name_Not_Found [2008/06/27(金) 15:52:50 ID:iNHOA/2z] あるボタンのonclickに対してイベントを2つ登録して 最初に登録されたイベントの結果によって 次に登録してあるイベントを実行したりしなかったりという制御をしたいのですが どの様にすればよいのでしょうか?
557 名前:Name_Not_Found mailto:sage [2008/06/27(金) 15:55:04 ID:???] >>556 そのサンプル書いてみて。
558 名前:Name_Not_Found mailto:sage [2008/06/27(金) 15:55:53 ID:???] >>556 できたらサンプル見せてもらえませんか
559 名前:Name_Not_Found mailto:sage [2008/06/27(金) 15:56:55 ID:???] >>557 書けたら質問しないだろ
560 名前:556 [2008/06/27(金) 16:00:19 ID:iNHOA/2z] <html> <head> <script type="text/javascript"> function method1() { if (confirm("method2を阻止する?")) { // ここでmethod2の実行を阻止したい。 } else { ; } } function method2() { alert("method2."); } window.onload = function () { document.getElementById("buttonId").attachEvent("onclick", method2); document.getElementById("buttonId").attachEvent("onclick", method1); } </script> </head> <body> <form> <input type="button" value="button" id="buttonId"> </form> </body> </html>
561 名前:Name_Not_Found mailto:sage [2008/06/27(金) 16:06:03 ID:???] >>557-558 なんなのこいつら 日本語も読めない奴は回線切って首吊れよ
562 名前:Name_Not_Found mailto:sage [2008/06/27(金) 16:13:33 ID:???] 何故2つ割り当てるのか分からない
563 名前:Name_Not_Found mailto:sage [2008/06/27(金) 16:22:11 ID:???] >>561 どこまで書けるかってのを知りたかったんじゃないのか
564 名前:Name_Not_Found mailto:sage [2008/06/27(金) 16:30:33 ID:???] >>563 それを知って何になる?
565 名前:Name_Not_Found mailto:sage [2008/06/27(金) 17:19:26 ID:???] IE専なんて試す気にもならないけどこんなところか function Util(id, type) { this.obj = typeof id == 'string' ? document.getElementById(id) : id; if (this.obj) throw 'ハァ(゚д゚)?'; if (!type) throw 'ハァ(゚д゚)??'; this.work = []; this.obj.attachEvent(type, (function(x) { var a = x.work; for (var i = 0, current; current = a[i]; i++) { if (a[i].call(x.obj)) return; } })(this)); } Util.prototype = { attach: function(listener, index) { if (isNaN(index = Number(index))) return this.work.splice(index, 0, listener); if (typeof listener != 'function') return false; return this.work.push(listener); }, detach: function(listener) { if (typeof listener != 'function') return false; var i = this.work.indexOf(listener); if (i < 0) return false; this.work.splice(i, 1); return true; } };
566 名前:Name_Not_Found mailto:sage [2008/06/27(金) 17:19:46 ID:???] var hogeClick = new Util('hoge', 'onclick'); で hoge のクリックを管理するオブジェクトができる hogeClick.attach(function() { return !confirm('バカなの?死ぬの?'); // false を返すとこれより後をキャンセル }) hogeClick.attach(function() { alert('そうかい'); })
567 名前:Name_Not_Found mailto:sage [2008/06/27(金) 17:23:45 ID:???] 見直してたら間違いがあった 9行目 if (a[i].call(x.obj)) return; → if (!a[i].call(x.obj)) break;
568 名前:556 [2008/06/27(金) 18:00:25 ID:iNHOA/2z] 動かしてみて試させていただきました。 > if (this.obj) throw 'ハァ(゚д゚)?'; は if (!this.obj) throw 'ハァ(゚д゚)?'; に直したんですがこれでよいのですか? > for (var i = 0, current; current = a[i]; i++) { > if (!a[i].call(x.obj)) break; > } この辺りで、「種類が一致しません」とエラーがでました。 どうやったらエラーを取り除けるのかわかりませんでした。
569 名前:Name_Not_Found mailto:sage [2008/06/27(金) 18:35:02 ID:???] >>568 あまりにも酷いから書きなおしますごめんなさいごめ(ry
570 名前:Name_Not_Found mailto:sage [2008/06/27(金) 18:44:33 ID:???] >>561 |>>557-558 |なんなのこいつら |日本語も読めない奴は回線切って首吊れよ ってあんた「なんなの」って部分をちゃんとした日本語で説 明してみなよ。拝見するから。結果によっては、てめえで説 明もできねえようなら、人の批評をするなボケって話だろ。
571 名前:Name_Not_Found mailto:sage [2008/06/27(金) 18:47:46 ID:???] >>568 これで動いた。type から on は削っといた function Util(id, type) { this.obj = typeof id == 'string' ? document.getElementById(id) : id; if (!this.obj) throw 'ハァ(゚д゚)?'; if (typeof type != 'string') throw 'ハァ(゚д゚)??'; this.work = []; this.obj.attachEvent('on' + type, (function(x) { return function() { var a = x.work; for (var i = 0, current; current = a[i]; i++) { if (!current.call(x.obj)) break; } }; })(this)); }
572 名前:Name_Not_Found mailto:sage [2008/06/27(金) 18:48:59 ID:???] Util.prototype = { attach: function(listener, index) { if (typeof listener != 'function') return false; if (!isNaN(index = Number(index))) { this.work.splice(index, 0, listener); return index; } return this.work.push(listener); }, detach: function(listener) { if (typeof listener != 'function') return false; var i = this.work.indexOf(listener); if (i < 0) return false; this.work.splice(i, 1); return true; } }; function init() { var hogeClick = new Util('hoge', 'click'); hogeClick.attach(function() { return !confirm('バカなの?死ぬの?'); }); hogeClick.attach(function() { alert('そうかい'); }); } >>570 結局お前はなんの役にも立ってないだろ 無駄なレスすんな
573 名前:Name_Not_Found mailto:sage [2008/06/27(金) 18:50:09 ID:???] おいおい笑とけ笑とけ
574 名前:Name_Not_Found mailto:sage [2008/06/27(金) 20:48:19 ID:???] バブルするイベントタイプは、アホ外人が言うイベントデリゲーションを使え。
575 名前:556 [2008/06/27(金) 21:16:39 ID:iNHOA/2z] >> 571 動作確認しました ちゃんとキャンセルできました まさにこの動きを探してたんです 自分でイベントの管理をするのですね まだ私にはレベルの高い事だったので、とても勉強になりました ありがとうございます
576 名前:551 mailto:sage [2008/06/27(金) 22:29:54 ID:???] >>552 >>553 thanx!
577 名前:Name_Not_Found mailto:sage [2008/06/28(土) 04:25:12 ID:???] ある程度時間をおいてもう一度自分のコードを読むと、少し気持ちわるいとこが見つかるよな if (!current.call(x.obj)) break; → if (current.call(x.obj) === false) break; attach: function(listener, index) { if (typeof listener != 'function') return false; if (isNaN(index = Number(index))) return this.work.push(listener); this.work.splice(index, 0, listener); return index; },
578 名前:Name_Not_Found [2008/06/28(土) 13:13:03 ID:Xx7cgI9V] name="pic[0]"を指定してるアップロードフィールドがあって、そこに入力した中身を 空欄にするスクリプトを書いています(フィールドは"pic[9]"まで10個あります) function clearUploadField(n){ uploadPic = "pic[" + n + "]"; //alert(n); document.mujintouForm.elements[uploadPic].value = ""; } これに対して onClick="javascript:clearUploadField(0)"とすると、 alertで0がただしく表示されるのに、IE6でフィールドがクリアされません firefoxとsafariではクリアされます どこに問題があるでしょうか? スクリプトエラーも表示しない状況です。 どなたかご意見よろしくお願いします
579 名前:Name_Not_Found mailto:sage [2008/06/28(土) 13:41:18 ID:???] ◆◆◆◆◆◆◆◆◆毎日新聞社による日本人への誹謗中傷◆◆◆◆◆◆◆◆◆ ・母親は受験勉強をする息子の学力向上のためにフェラチオをする ・日本人女性の55%は、出会ったその日に男と寝る ・ファストフードは女子高生たちを性的狂乱状態におとしいれる ・ティーンたちはバイアグラを使ってウサギのようにセックスをする ・女子高生は、刺激のためにノーブラ・ノーパンになる ・日本の最新の流行 : 70歳の売春婦 ・老人の売春婦の人気にもかかわらず、日本では小学生の売春婦にも仕事がある ・日本の若い看護婦は売春婦に勝る ・24時間オルガズムが止まらない病気で苦しむ日本人女性の数が増えている ・15未満の子供を対象とした疑似ポルノが日本に蔓延している ・OLの72%が、セックスをより堪能するために何らかのトレーニングを受けている ・人妻は気分転換の目的で昔の恋人に抱かれに行く ・主婦は郊外のコイン・シャワーで売春をしている ・日本男子は柔道や空手の部活で男相手に童貞を捨てている ・ほとんどすべての漁師は海でマンタとSEXしている ・まだ10代の少年から退職した老人までみんな2980円の手コキを利用している ・六本木のあるレストランでは、食事の前にその材料となる動物と獣姦する ※同社が全年齢向けコーナーで七年以上にわたり世界に向けて配信していたものの一部です ※同社の行為は日本人への偏見や人種差別、婦女暴行、幼児虐待を助長するものです ◆毎日新聞の英語版サイトがひどすぎる まとめ@wiki www9.atwiki.jp/mainichiwaiwai/ ◆毎日新聞問題の情報集積wiki www8.atwiki.jp/mainichi-matome/ つまり日本人なら www.vipper.net/vip552788.jpg
580 名前:Name_Not_Found [2008/06/28(土) 15:03:04 ID:ZBMnA16M] リンクをクリックしたとき、そのリンクがサイト上にある全リンクの 何番目かを知るにはどうしたら良いでしょうか? links[]を使って出来るんでしょうか
581 名前:Name_Not_Found mailto:sage [2008/06/28(土) 15:10:43 ID:???] >>580 知らんけどArray.prototypeのindexOfをcallしてみたら?
582 名前:Name_Not_Found mailto:sage [2008/06/28(土) 15:40:35 ID:???] >>581 ありがとうございます。それでやってみます。
583 名前:Name_Not_Found [2008/06/28(土) 17:13:46 ID:jlACv3h8] サイトがhoge.jp/ 、インデックスファイルがindex.phpだった場合、 トップページかを判別する方法として location.href == "hoge.jp/ " || location.href == "hoge.jp/index.php " よりもっと短くする方法はありますか
584 名前:Name_Not_Found mailto:sage [2008/06/28(土) 17:26:01 ID:???] /^http:\/\/(?:www\.)?hoge.jp\/?(?:$|index\.php$)/.test(location.href)
585 名前:Name_Not_Found mailto:sage [2008/06/28(土) 17:27:12 ID:???] >>583 var urip="hoge.jp/ "; location.href == urip || location.href == urip+"index.php"
586 名前:Name_Not_Found mailto:sage [2008/06/28(土) 17:28:00 ID:???] /^http:\/\/(?:www\.)?hoge\.jp\/(?:index\.php)?$/.test(location.href)
587 名前:Name_Not_Found mailto:sage [2008/06/28(土) 17:53:38 ID:???] すみません、どなたか>>578 についてもご意見ください 勝手言ってすみませんがよろしくお願いします
588 名前:Name_Not_Found mailto:sage [2008/06/28(土) 19:04:44 ID:???] >>587 function clearUploadField(n) { var target = document.forms['mujintouForm'].elements['pic[' + n + ']']; target.parentNode.insertBefore(target, target.nextSibling); }
589 名前:Name_Not_Found mailto:sage [2008/06/28(土) 20:31:09 ID:???] >>587 その提出コードだけどそのままIE6で動いたよ。他に問題あるんじゃ ないの?name属性が重複しているとか。
590 名前:Name_Not_Found mailto:sage [2008/06/28(土) 21:02:01 ID:???] ええと、まさかとは思うが「"hoge.jp"は"www.hoge.jp"の略」とか勘違いしている奴居ないよな?
591 名前:Name_Not_Found mailto:sage [2008/06/28(土) 21:08:30 ID:???] >>577 > f (!current.call(x.obj)) break; → if (current.call(x.obj) === false) break; これってどうして===falseにしたの? 元のままじゃダメなの?
592 名前:587 [2008/06/28(土) 21:26:47 ID:Xx7cgI9V] >>588-589 どうもです >>589 動きましたか? 何がおかしいんだろう…と思って試したんですが、 空欄にする対象をアップロードフィールド(type="file")から テキストエリア(type="text")にしたところIEでも空欄に出来ました。 type="file"じゃダメみたいです。 >>589 さんが成功したのって、失礼ですが type="file" だったんでしょうか? >>588 詳しい回答ありがとうございます 参考にしてDOMの勉強もしてみます ほんとにありがとう
593 名前:Name_Not_Found mailto:sage [2008/06/28(土) 21:38:04 ID:???] >>592 >>589 です。試したのはtype="file"じゃなかった。ごめん。 昔からtype="file"の問題はいろいろあるんで自分はこれは 使えないシロモノだとずっと思ってる。
594 名前:Name_Not_Found mailto:sage [2008/06/28(土) 21:43:57 ID:???] 使えないのはtype="file"ではなく、(ry
595 名前:587 mailto:sage [2008/06/28(土) 21:47:32 ID:???] >>593 そうですか それがわかっただけでも良かったです 考えたら参照ボタン以外でアップロードフィールドに値を入れれたら危険ですね submitボタンにスクリプトを仕込んだらどうしようもないかも… ありがとうございました
596 名前:Name_Not_Found mailto:sage [2008/06/28(土) 21:57:32 ID:???] 何がそうですねだ馬鹿。
597 名前:Name_Not_Found mailto:sage [2008/06/28(土) 22:41:29 ID:???] 馬鹿って言った人が馬鹿なんだよね
598 名前:Name_Not_Found [2008/06/28(土) 23:04:03 ID:gI7skb5Z] >>585 短い変数に入れてしまえばいいのですね、ありがとうございます
599 名前:Name_Not_Found mailto:sage [2008/06/29(日) 10:18:54 ID:???] DOMContentLoadedが使えるブラウザならDOMContentLoadedのタイミングで、 使えないブラウザならonload(なり他のタイミングなりで)で 関数を実行させようとしているのですが DOMContentLoadedが実装されているかどうかを調べるスマートな方法ってないでしょうか? ブラウザとバージョンを調べれば簡単なんですがちょっとコードが見苦しくなるので…
600 名前:Name_Not_Found mailto:sage [2008/06/29(日) 11:54:35 ID:???] domready.js
601 名前:Name_Not_Found mailto:sage [2008/06/29(日) 12:05:40 ID:???] >>599 特定のイベントタイプ単体を実装しているか調べる方法が標準に定義されてないから スマートな方法はないと思う
602 名前:Name_Not_Found mailto:sage [2008/06/29(日) 13:33:48 ID:???] parthInt(a - b)とparthInt(a) - parthInt(b)の違いって何でしょうか? var a = "09"; var b = "01"; としたとき、後者の場合結果が-1になってしまいます。
603 名前:Name_Not_Found mailto:sage [2008/06/29(日) 13:53:47 ID:???] 基数
604 名前:Name_Not_Found mailto:sage [2008/06/29(日) 14:05:59 ID:???] >>599 両方に登録して、DOMContentLoadedが実行されたら フラグを立ててloadを実行させなくする方法がよく使われてるね。
605 名前:Name_Not_Found mailto:sage [2008/06/29(日) 14:20:27 ID:???] >>602 0で始まってるから自動的に8進で解釈されてるんだね。 parseInt('09', 10) 前者はNumber()による型変換と同じだね。
606 名前:Name_Not_Found mailto:sage [2008/06/29(日) 16:23:39 ID:???] >>604 目から鱗 存在確かめずに決め打ちでほうり込んでるように見える プログラムをいくつか見たのですがそういうことだったのですね ありがとうございました
607 名前:Name_Not_Found mailto:sage [2008/06/29(日) 19:23:05 ID:???] 質問です。 ある16桁の乱数があって、 (例)qawsedrftgyhujik その中に"sedr"及び"huji"いう文字が含まれているかどうか調べるには どうしたらいいでしょうか。
608 名前:Name_Not_Found mailto:sage [2008/06/29(日) 19:24:04 ID:???] indexOf
609 名前:Name_Not_Found mailto:sage [2008/06/29(日) 20:19:15 ID:???] >>608 ありがとうございました。それでできるんですね 調べてみます。
610 名前:Name_Not_Found mailto:sage [2008/06/29(日) 20:47:49 ID:???] ある配列要素からその要素の前にいくつ要素があるか 調べる方法はないでしょうか 例えばa[3]の前にはa[0]、a[1]、a[2]の3つの要素あるのですが それをa[3]から調べるにはどうしたらいいでしょうか
611 名前:Name_Not_Found mailto:sage [2008/06/29(日) 21:06:35 ID:???] 疎な配列ということなら for (var i = 0, res = 0; i < 3; i++) res += i in a;
612 名前:Name_Not_Found mailto:sage [2008/06/29(日) 21:57:11 ID:???] js> var a = []; js> a[0] = 0; 0 js> a[3] = undefined; js> a[6] = null; null js> a[9] = ''; js> Array.prototype['10'] = NaN; NaN js> Array.reduce(Array.slice(a, 0, 0), function (r) r + 1, 0); 0 js> Array.reduce(Array.slice(a, 0, 1), function (r) r + 1, 0); 1 js> Array.reduce(Array.slice(a, 0, 2), function (r) r + 1, 0); 1 js> Array.reduce(Array.slice(a, 0, 3), function (r) r + 1, 0); 1 js> Array.reduce(Array.slice(a, 0, 4), function (r) r + 1, 0); 2 js> Array.reduce(Array.slice(a, 0, 10), function (r) r + 1, 0); 4 js> Array.reduce(Array.slice(a, 0, 11), function (r) r + 1, 0); 4 js> a[10] = NaN; NaN js> Array.reduce(Array.slice(a, 0, 11), function (r) r + 1, 0); 5
613 名前:Name_Not_Found mailto:sage [2008/06/29(日) 22:16:51 ID:???] IEは早く氏ね
614 名前:Name_Not_Found mailto:sage [2008/06/29(日) 23:55:43 ID:???] >>613 IE8だけはがんばってほしいと思うよ
615 名前:Name_Not_Found mailto:sage [2008/06/30(月) 05:48:35 ID:???] Objectのプロパティを削除するときに var o = {}; o.property = hoge; o.property = null; delete o.property; とする必要はありますか? null入れずに delete o.propertyだけで十分?
616 名前:Name_Not_Found mailto:sage [2008/06/30(月) 08:15:54 ID:???] ・テキストエディタ ・ドラッグした部分の文字色を青く変える機能付き ・ドラッグした部分の文字色を戻す機能付き ・そして、青く変わった部分の文字を切り出し(抽出して)出力する機能付き ・最後に、その出力した部分を保存もしくは、PHPで飛ばす こんなテキストエディタを作りたいのですが、JavaScriptで作れますか? 色変える部分で挫折しそうです。文字サイズはとってこれますが、フォントカラーを取ってきて、出力や保存が出来ません
617 名前:Name_Not_Found mailto:sage [2008/06/30(月) 09:57:58 ID:???] >>615 Operaはバージョンによってはdeleteでエラー。この糞マイナーな手抜きブラウザを無視するなら、deleteだけでよい。
618 名前:Name_Not_Found mailto:sage [2008/06/30(月) 10:54:03 ID:???] >>616 色とかフォントとかいう時点でワープロやがな
619 名前:Name_Not_Found mailto:sage [2008/06/30(月) 15:56:56 ID:???] ブログ、掲示板などの編集画面など、ウェブ上のテキストエディタありますよね あれをJavaScriiptを用いて作ってみたい、改変してみたいと考えています 一番ソースの見やすい、改変しやすいWebテキストエディタありますか? オススメ等ありましたらお願いします
620 名前:Name_Not_Found mailto:sage [2008/06/30(月) 16:09:15 ID:???] >>617 じゃあ念のためnull入れるように習慣付けることにします。
621 名前:Name_Not_Found mailto:sage [2008/06/30(月) 16:19:45 ID:???] >>616 やりたいことは分かったけど質問内容から推察するに 挑戦するにはまだちょっと早いような・・・?
622 名前:Name_Not_Found mailto:sage [2008/06/30(月) 16:32:16 ID:???] >>621 テキスト解析だから、IQに大きく依存する。昨日今日プログラミングを始めた奴でも、IQが高ければいきなり作れるぞ。
623 名前:Name_Not_Found mailto:sage [2008/06/30(月) 17:22:27 ID:???] 色分けなら\u02と\u03で囲んでそれぞれをspanの開始タグと終了タグに置換すればいい、ってばっちゃがいってた
624 名前:Name_Not_Found mailto:sage [2008/06/30(月) 17:42:41 ID:???] >>621 昨日今日プログラミングを始めたIQが高い奴がどんなものを 書くのか・書けるのかぜひ見たい。絶対に作ってUPしたらURI 教えてくれ。
625 名前:Name_Not_Found mailto:sage [2008/06/30(月) 18:39:33 ID:???] IQはどうでも良いが、頭の良い人間なら、 スクラッチから書くのでは無く、ググって似たようなサンプルを見つけ、 そのプログラミング言語に慣れていなくても正常に動作する物を書けそうだけどね。
626 名前:Name_Not_Found mailto:sage [2008/06/30(月) 19:10:57 ID:???] WordPress の投稿画面は結構よくできてる ソースが読みやすいかどうかは知らね
627 名前:610 mailto:sage [2008/06/30(月) 21:11:38 ID:???] >>611 調べるのを開始する配列要素が何番目か分からないので その方法では駄目でした
628 名前:Name_Not_Found mailto:sage [2008/06/30(月) 21:52:45 ID:???] >>627 これは? var a=[,'A',,'B','C',,'D','E']; var res; for (var i in a) { if (a[i] == a[3]) { res = i; break; } } alert(res);
629 名前:Name_Not_Found mailto:sage [2008/06/30(月) 22:55:31 ID:???] >>628 質問とはズレるが、それは疎な配列にならない。undefinedが割り当てられている。求められて仕方なくundefinedを返すのとは違う。というかそのコードを実行して気付かないのか。 >>627 抜けが無いのなら、Array.indexOf() で一発。無ければモジラのサイトのをコピペして使え。 抜けが在るのなら、Array.reduce() などと組み合わせる。無ければモジラのサイトのをコピペして使え。 もし===な比較が邪魔なら、別のArray.indexOfCastValue() を作れ。これもモジラのサイトのをコピペして微修正すればできる。 js> var v = false; js> var a = []; js> a[0] = 0; 0 js> a[3] = null; null js> a[6] = undefined; js> a[9] = ''; js> a[12] = false; false js> a[15] = NaN; NaN js> Array.reduce(Array.slice(a, 0, Array.indexOf(a, v)), function (r) r + 1, 0); 4
630 名前:Name_Not_Found mailto:sage [2008/07/01(火) 06:23:53 ID:???] >>574 イベントデリゲーション興味があります。 onclickのようにバブルするイベントタイプの場合は、 個別のエレメントにハンドラ付けていくのは無駄が多すぎるので、 例えば各エレメントの上位オブジェクトのdocumentにひとつハンドラつけてれば ページのどこでclickされようがイベントがバブルしてきて documentのハンドラでイベントを受け取れると。 で、event.srcElementなりevent.targetなりでイベント発生元エレメントが 取得できるということですよね? で、そこからどうするのかいまいち分からないんですが、 バブルしたイベントを受け取ったdocument.onclick = function(){ ... } 内で イベント発生元エレメントの情報をもとに、あらかじめ構築しておいた対応テーブルを検索して 処理先を特定し処理を振り分ける――ということなんでしょうか? 今のところハンドラの数を減らすテクニックという理解でしかないんですが メリットは他にもあるんですか?
631 名前:Name_Not_Found mailto:sage [2008/07/01(火) 11:17:15 ID:???] >>630 他にもあるというか、コードの読みやすさ・スピード面で有利な場面がいくらでもある obj[event.target.value] とか想像しやすいと思う まあ>>556 のケースではバブリングなんて関係ないけど
632 名前:Name_Not_Found mailto:sage [2008/07/01(火) 15:38:39 ID:???] >>630 イベント対象となりえるエレメントを動的に追加/削除する場合にも、 イベントデリゲーションは有効だね。 >>631 <div id="itemRoot"><div id="item1">item1</div><div id="item2">item2</div></div> のようにevent.target=イベント処理対象エレメントのような単純な構成なら、 スピード面でも有利かもしれないが、 item1に子エレメントが含まれるような場合には、 DOMツリーを遡って対象エレメントを確定する必要がある場合も考えられるので、 一概にスピード面で有利とも言えないのでは。
633 名前:Name_Not_Found mailto:sage [2008/07/01(火) 16:53:10 ID:???] >>632 処理先を特定し処理を振り分ける っていうのは前提として既に>>630 で出てるからいいとして、 極端な例だけど elm.src = obj[event.target.title] っていう場合、タイトルでswitchして・・・とかありえないわけで、メリット以前の問題だろ? 「そういう場面がいくらでもある」のは自明だし、子エレメントとかそんなことは言ってないよ
634 名前:Name_Not_Found mailto:sage [2008/07/01(火) 16:55:44 ID:???] >>540 ttp://www.sponichi.co.jp/society/news/2008/07/01/12.html
635 名前:Name_Not_Found mailto:sage [2008/07/01(火) 20:43:02 ID:???] テキストボックスをjavascriptで作成しました そのテキストボックスの性能は、自分としては文句なしの出来でした 問題はそのテキストボックスへ入力した内容をどう他へ渡すかです PHPのSubmit使おうにも、データの型がわからず、形式もわかりません また、教本等も持っていなく、Web頼りだったのですが、サイトやお薦め教本ありませんか? PHPスレで聞くべきか悩みましたけど、JavaScriptを用いたテキストボックスを使っているのでこちらで聞くことにしました
636 名前:Name_Not_Found mailto:sage [2008/07/01(火) 21:06:34 ID:???] その「文句なしの出来」の性能をもつテキストボックスを作成する JavaScriptを是非ここに載せてもらいたい。
637 名前:Name_Not_Found mailto:sage [2008/07/01(火) 21:17:36 ID:???] いや、自分の想定通りに出来たという意味です 人様に見せれるようなモンじゃありません
638 名前:Name_Not_Found mailto:sage [2008/07/01(火) 21:25:46 ID:???] 見せられる、だろ。すんごくバカに見えるよね。
639 名前:Name_Not_Found mailto:sage [2008/07/01(火) 21:58:53 ID:???] >>638 何だコイツ
640 名前:Name_Not_Found mailto:sage [2008/07/01(火) 22:25:59 ID:???] >>638 なんだこいつ
641 名前:Name_Not_Found mailto:sage [2008/07/01(火) 22:33:12 ID:???] >>638 何だコイツ
642 名前:Name_Not_Found mailto:sage [2008/07/01(火) 23:14:16 ID:???] >>638 どうしたんだオマエ
643 名前:Name_Not_Found mailto:sage [2008/07/01(火) 23:25:09 ID:???] >>639-642 寝ろ
644 名前:Name_Not_Found mailto:sage [2008/07/02(水) 00:30:20 ID:???] >>632 >イベント対象となりえるエレメントを動的に追加/削除する場合 なるほど。書き換える範囲が特定されている場合はその親エレメントに ハンドラをつけていれば中身がどう変化しようと問題がないわけですね。
645 名前:Name_Not_Found mailto:sage [2008/07/02(水) 01:02:54 ID:???] グッナイ! < 欧米か!?
646 名前:Name_Not_Found mailto:sage [2008/07/02(水) 01:40:11 ID:???] >>639-642 ==637==635か つ黄色い救急車
647 名前:Name_Not_Found mailto:sage [2008/07/02(水) 02:15:07 ID:???] >>633 正直日本語でおk過ぎて何を言いたいのか不明。 実際にイベントデリゲーションを利用した実装を行った事があるのなら、 event.targetのエレメントをそのまま使うようなケースの方が少ない、 あるいは対象となるエレメント全てに属性値などを設定するのも非現実的というのは判るだろうけど。
648 名前:Name_Not_Found mailto:sage [2008/07/02(水) 03:33:13 ID:???] 横からすまんが ”日本語でおk過ぎて”とか、日本語としてどうなのよw 軽く解釈悩んだぜ アホな文章を突っつく際でも、2ch独特な慣用句を捏ね回しちゃ反論の連鎖に繋がるよ。
649 名前:Name_Not_Found [2008/07/02(水) 04:01:57 ID:yG7Xr5yG] マルチになってしまいすみません。初心者スレから誘導されました。 この板も初心者なのでお許し下さい。 IDが違うのはアクセス規制かかってて、ダイヤルアップのためです。 本題ですが、ページ内リンクをアイフレーム内でやりたいのですが、 <a name>でやってみたところ、アイフレームはずれるわスムーズにリンク先に 飛ばないわと、とても使い物になりません。 これはどうやら仕様で、どうしようもない現象のようです。 そこで同じようなことをジャバスクリプトでやりたいのですが、 良いサンプルがあれば教えてください。 同一ページ内だけではなく、他ページからのリンクで記事までスクロール してくれるものが良いのですが。
650 名前:Name_Not_Found mailto:sage [2008/07/02(水) 09:45:09 ID:???] 言語をやってる以上なんであれ文法に拘束される言語の正規使用にはセ ンシティブでありたいものだね。よくさ、日本語もロクにできないのが 英語でペラペラになりたいとか言ってるじゃん。母国語も満足に組み立 てられない奴がプロブラミングのシンタックスに厳しいというのはあり 得んと思う。
651 名前:Name_Not_Found mailto:sage [2008/07/02(水) 10:23:32 ID:???] 板違い
652 名前:519 mailto:sage [2008/07/02(水) 15:15:28 ID:???] >>555 できました。 それなりにしっかりしたものになったので「evtmgr.js」として公開することにしました。 URLさらします。 本体 itmst71.googlepages.com/evtmgr.js デモページ itmst71.googlepages.com/evtmgrjs_demo.html ドキュメント itmst71.googlepages.com/evtmgrjs_document.html バグとかとんでもない勘違いとかあるかもしれませんが
653 名前:Name_Not_Found mailto:sage [2008/07/02(水) 15:34:20 ID:???] 質問です。 document.write("<input>"); で作ったインプットボックスに何か入力を行うと、その後F5ボタンでページ更新をかけてもさっきの入力が残ってしまうのは避けられないのでしょうか? 最小再現コードは <html> <head> </head> <body> <script type="text/javascript">document.write("<input value=\"\">");</script> </body> </html> です。 <body onload="clear();"> とし、clear()内でinput.valueを消すようにしたら消えたのですが、なんとも納得のいかないところです。
654 名前:Name_Not_Found mailto:sage [2008/07/02(水) 15:35:12 ID:???] >>653 Firefox?
655 名前:Name_Not_Found mailto:sage [2008/07/02(水) 15:37:11 ID:???] あ、すいませんIEです。 どうもHTMLが更新されないと、キャッシュされるっぽい?です。
656 名前:519 mailto:sage [2008/07/02(水) 16:50:50 ID:???] >>652 これじゃなんのことか分からないことに気づいたのでもう少し説明書いときます。 evtmgr.jsの特徴 ・中央管理型イベントマネージャモジュール。 ・登録イベントをイベントタイプや呼び出し関数などで検索可能。 ・クラス定義コード内でクロージャを使用することなく thisキーワードをそのままインスタンスへの参照としてイベント登録に使える。 ・登録イベントを条件を指定して一括削除可能。 ・ページアンロード時に全てのイベントを削除できるのでメモリリークしない。 ・自動ガーベッジコレクション機能搭載。 ・大体のブラウザで動く。 なんかおかしいところあったら指摘してくれると助かります。 よろしくお願いします。
657 名前:Name_Not_Found mailto:sage [2008/07/02(水) 16:55:44 ID:???] >>656 うん、なかなか便利だね。
658 名前:Name_Not_Found [2008/07/02(水) 17:09:06 ID:CkkLjqVE] FireFoxのマウスジェスチャアドオン用のスクリプトを書こうとしています ジェスチャ実行時に(選択された)テキストなのかそれともリンクなのか判断するif文を作りたいのですが、 どうすればいいでしょうか?
659 名前:Name_Not_Found mailto:sage [2008/07/02(水) 17:54:25 ID:???] var o = new Hoge(); o.onKeyDown = function(c){省略}; クラスを生成後、一部のクラス関数をオーバーライドした上で 省略〜 onkeydown="o.onKeyDown(this);" 〜省略 のように使いたいのですが、可能でしょうか? 少なくとも上の書き方ではうまく動作しませんでしたが・・・
660 名前:Name_Not_Found mailto:sage [2008/07/02(水) 21:31:16 ID:???] 省略部分を超能力で解析した限りは動くみたいだけど <script> var Hoge = function(){}; var o = new Hoge(); o.onKeyDown = function(c){ alert(c.value) }; </script> <input type="text" value="test" onkeydown="o.onKeyDown(this);">
661 名前:Name_Not_Found [2008/07/03(木) 13:03:45 ID:Bn8vIwhr] window.location.reload(); で自動更新させてます。 これだとサイト全部がリロードされるのですが インラインフレームの中だけ動かないようにするのは どうしたらいいでしょうか?
662 名前:Name_Not_Found mailto:sage [2008/07/03(木) 14:35:43 ID:???] インラインフレームの中の呼び出しも添えてリロードすればよいのでは?
663 名前:Name_Not_Found [2008/07/04(金) 00:11:14 ID:BOkDcOnP] 質問です。 ttp://www.hotajax.org/content/view/515/248/ この「ShowCase menu」を応用して画像のギャラリーページを作りたいのですが、 </div></div>で区切って2段に分けても、上下のメニューが連動してしまいます。 1ページ内で完全に切り離して動作させたいのですがどのようにしたら良いでしょうか? よろしくお願いします。
664 名前:Name_Not_Found mailto:sage [2008/07/04(金) 01:39:18 ID:???] どうやってヒモ付けられているか考えながら読めドアホ。質問するようなことじゃねえだろ。ほんと、JS終わってんな。
665 名前:Name_Not_Found mailto:sage [2008/07/04(金) 06:47:43 ID:???] そうそう。そもそもWeb製作板にあることが間違ってる。
666 名前:Name_Not_Found mailto:sage [2008/07/04(金) 10:16:25 ID:???] if(664==DQN)alert('BINGO!!');
667 名前:Name_Not_Found mailto:sage [2008/07/04(金) 11:11:02 ID:???] >>665 JavaScript @ム板 pc11.2ch.net/test/read.cgi/tech/1192182741/ JavaScriptを教えてもらう @WebProg pc11.2ch.net/test/read.cgi/php/1147856117/
668 名前:Name_Not_Found mailto:sage [2008/07/04(金) 11:56:13 ID:???] ム板ならこっちだろ ECMAScript デス 3 pc11.2ch.net/test/read.cgi/tech/1190160481/
669 名前:Name_Not_Found mailto:sage [2008/07/04(金) 12:01:53 ID:???] BINGO!!
670 名前:Name_Not_Found mailto:sage [2008/07/04(金) 13:49:53 ID:???] >>667 ー668 どっちのスレでも板違いって話しが出てるんだが… とりあえず663をどうにかしてやれ
671 名前:Name_Not_Found [2008/07/04(金) 14:46:19 ID:qrZFyUzj] prototype.js使わないで、文字化けさせずにXMLHttpRequestでテキスト取得する方法ってありますか?
672 名前:Name_Not_Found [2008/07/04(金) 15:08:02 ID:y0weF7PE] 曜日ごとに違うJSファイルを呼び出そうとしているのですが document.writeの書き方が悪いらしく "); // -->みたいな文字化け表示がおこってしまいます。 どうかお助けください。 <SCRIPT LANGUAGE="JavaScript"> <!-- dt = new Date( ); d=dt.getDay( ); if (d==0){ JSDoc="xxx.com/xxx.js "} if (d==1){ JSDoc="xxx.com/xxx.js "} if (d==2){ JSDoc="xxx.com/xxx.js "} if (d==3){ JSDoc="xxx.com/xxx.js "} if (d==4){ JSDoc="xxx.com/xxx.js "} if (d==5){ JSDoc="xxx.com/xxx.js "} if (d==6){ JSDoc="xxx.com/xxx.js "} document.write("<script src='+ JSDoc +'></script>"); // --> </SCRIPT>
673 名前:Name_Not_Found mailto:sage [2008/07/04(金) 15:09:08 ID:???] 誰かTinyMCEというJavascriptを使ったWYSIWYGエディタを使ってシステムを構築している人いませんか? IE+IMEで最初に確定した全角文字列が、2番目の文字列を入力しようとすると消えるという事が多発しています。 これってどうにかならないのかな・・・ググってみると結構この症状が出てる人いるみたいだけど、解決策はなしorz また、たまーにTinyMCEを適用したテキストエリアに文章を入れた後、登録(Submit)すると文章が全て消える、という事も起きます。 かなりBuggyなので使わないほうがいいのかな・・・。
674 名前:Name_Not_Found mailto:sage [2008/07/04(金) 15:13:14 ID:???] >>672 document.write('<script src="' + JSDoc + '"></script>');
675 名前:Name_Not_Found mailto:sage [2008/07/04(金) 15:17:11 ID:???] >>672 配列用いた方が楽。 dt = new Date(); d = dt.getDay(); js = ["日.js","月.js","火.js","水.js","木.js","金.js","土.js"]; JSDoc = js[d];
676 名前:Name_Not_Found mailto:無意味にage [2008/07/04(金) 15:22:31 ID:???] >>675 こうすればもっと楽。ファイル名+=曜日にする document.write('<script src="' + JSDoc + (new Date().getDay())'"></script>');
677 名前:Name_Not_Found mailto:sage [2008/07/04(金) 15:25:54 ID:???] >>676 意味わからん。 document.write('<script src="' + JSDoc + (new Date().getDay()) + '"></script>'); とりあえずこうだし、もしこれでやるなら月曜日.js1とかになると思うが。
678 名前:Name_Not_Found [2008/07/04(金) 15:26:44 ID:y0weF7PE] どうもありがとうございます。 早速試してみます。
679 名前:Name_Not_Found mailto:sage [2008/07/04(金) 15:26:51 ID:???] '<' + '/script>'
680 名前:Name_Not_Found mailto:sage [2008/07/04(金) 16:03:43 ID:???] >>672 ちゃんとelseを使えボンクラ。
681 名前:Name_Not_Found mailto:sage [2008/07/04(金) 16:20:34 ID:???] 簡単なコードの問題だと人が群がる群がるw いままでどこにいたの君たち
682 名前:Name_Not_Found mailto:sage [2008/07/04(金) 16:52:51 ID:???] >>671 もお願いします
683 名前:Name_Not_Found mailto:sage [2008/07/04(金) 16:56:11 ID:???] >>682 ログ嫁
684 名前:Name_Not_Found mailto:sage [2008/07/04(金) 17:34:05 ID:???] >>670 もお願いします
685 名前:Name_Not_Found [2008/07/04(金) 17:46:02 ID:sMXmNVPt] 背景を操作するってどうしたらいいんでしょう? 既存の背景の画像のポジションを動かしたいんですが、以下だとダメみたいです document.getElementById("tab").style.background-position = 0 -31; cssのスレで聞いたほうが良いのかな? よろしくお願いします
686 名前:Name_Not_Found mailto:sage [2008/07/04(金) 17:48:45 ID:???] >>685 JavaScriptだとCSSの-が使えないので大文字になる backgroundPosition で検索すると結構サンプル出るよ。
687 名前:Name_Not_Found mailto:sage [2008/07/04(金) 18:04:05 ID:???] >>684 上段も下段もshowCaseってclassにしちゃってるんじゃないの? どういう状況かわからないけど、上段と下段でclass名変えてあげれば上手くいかない?
688 名前:Name_Not_Found mailto:sage [2008/07/04(金) 20:46:19 ID:???] >>687 cssのコードをコピーしてclass名を「#showCaseContainer2」のように全てに2を付加して変えてみたところ 下段だけ動かなくなったのですが、Javascriptの方もコピーするんですか?
689 名前:Name_Not_Found mailto:sage [2008/07/04(金) 21:22:45 ID:???] >>688 あのさあ、何十時間あった? そんだけありゃあ、意味が分からなくとも、全文字を読めただろ。 どことどこに関連性がありそうか、それでも気付かなかったのなら、質問しろ。
690 名前:Name_Not_Found mailto:sage [2008/07/04(金) 21:50:13 ID:???] >>689 スイマセン。 showCases = document.getElementsByClassName('showCase'); // fetch showcase objects が関係あるところまでは分ったのですが、ClassName('showCase');のところを ClassName('showCase1'); ClassName('showCase2'); ClassName('showCase3'); のように複数個指定したいのですがどうしたらよいでしょうか? 1ページに3段表示したいのですが、それぞれを分けてjsファイルを3つ作るしかないのでしょうか?
691 名前:Name_Not_Found [2008/07/04(金) 22:18:02 ID:nd85SJMq] document.clearで自分自身をクリアし、スクリプトでHTMLを書き出したいのですが フォント化けたり、ボタンの幅が変化したりしてしまいます。 どこを直せばいいんでしょうか? <HTML> <HEAD> <SCRIPT type="text/javascript" charset="Shift_JIS"> function g_execute(){ document.open(); document.clear(); document.write('<HTML>\n'); document.write(' <BODY>\n'); document.write(' <A href="dummy.html">てすと<\/A>\n'); document.write(' <HR>\n'); document.write(' <INPUT type="button" value="動的ページ" onClick="g_execute();"><BR>\n'); document.write(' <\/BODY>\n'); document.write('<\/HTML>\n'); document.close(); } </SCRIPT> </HEAD> <BODY> <A href="dummy.html">てすと</A> <HR> <INPUT type="button" value="動的ページ" onClick="g_execute();"><BR> </BODY> </HTML>
692 名前:Name_Not_Found mailto:sage [2008/07/05(土) 01:08:49 ID:???] >>691 環境を書いてもらわないと何とも言えないな Fx+Linuxだがこっちは全然>691の言う問題は発生してない >691の環境に合わせてcontent-typeの文字コードを変えてみてくれ <HTML> <HEAD> <SCRIPT type="text/javascript" charset="Shift_JIS"> function g_execute(){ document.open(); document.clear(); document.write('<HTML>\n'); document.write('<HEAD>\n'); document.write('<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\n'); document.write('</HEAD>\n'); document.write('<BODY>\n'); document.write('<A href="dummy.html">てすと<\/A>\n'); document.write('<HR>\n'); document.write('<INPUT type="button" value="動的ページ" onClick="g_execute();"><BR>\n'); document.write('</BODY>\n'); document.write('</HTML>\n'); document.close(); } </SCRIPT> </HEAD> <BODY> <A href="dummy.html">てすと</A> <HR> <INPUT type="button" value="動的ページ" onClick="g_execute();"><BR> </BODY> </HTML>
693 名前:Name_Not_Found [2008/07/05(土) 03:15:49 ID:KHN7dJbI] >>692 環境はWindowsXP+IE6
694 名前:Name_Not_Found [2008/07/05(土) 03:15:57 ID:KHN7dJbI] です。
695 名前:Name_Not_Found [2008/07/05(土) 10:38:39 ID:vP1fWKeU] XHTMLRequest には same-origin ポリシーがあるけど, JSONP にはそういうのないよね? DOM 操作で <script> タグ生成して src で動的に読みたい放題になりそうな気がするんだけど, それは「穴」として認識されいるの? それともそれは仕様で今後制限されることはないの?
696 名前:Name_Not_Found mailto:sage [2008/07/05(土) 10:46:49 ID:???] >>695 それがJSONPの特徴だから。
697 名前:Name_Not_Found [2008/07/05(土) 11:11:41 ID:vP1fWKeU] >>696 まぁFlashでもクロスサイトできたりするし, それでいいのかもしれないけど,だったらなんで XHTTPRequest (さっき書き間違えた)では あんなに厳しく same-origin ポリシーがかかってるんだと・・ 正直抜け穴放題なら全然意味ないじゃん,っておもた
698 名前:Name_Not_Found [2008/07/05(土) 11:15:55 ID:vP1fWKeU] XHTTPRequest ではリクエストヘッダを設定できたり 認証情報を自由に設定できたりするからってこと? JSONPではそこまでの自由度がない,と.
699 名前:Name_Not_Found mailto:sage [2008/07/05(土) 13:45:44 ID:???] 他ドメインのスクリプトだって他ドメインのリソースを読めるわけじゃないだろ
700 名前:663 mailto:sage [2008/07/05(土) 14:02:04 ID:???] スイマセン。 cssのshowCaseContainer関連項目をコピーしてshowCaseContainer1〜3を作成。 showcase.jsも同様にコピーして、showcase1〜3.jsを作成。 showcase.js内の11行目showCases = document.getElementsByClassName('showCase');もそれぞれ1〜3に変更。 「showcase1.js」 「showcase2.js」 「showcase3.js」をhtmlで読み込んでみたのですが、 (上から)3段目しか動作いたしません。 いろいろ試してはいるのですが、どうしても上手く動作しません。 どなかた解決策を教えてくださいm(_ _)m
701 名前:Name_Not_Found mailto:sage [2008/07/05(土) 15:06:50 ID:???] 質問させてください。 下記のようなリンクがが複数(可変)あります。 −−−−−−−−−−−−−−− |画像1A|画像1B|テキスト1|←この行で一つのリンクとなります。 −−−−−−−−−−−−−−− |画像2A|画像2B|テキスト2|←この行で一つのリンクとなります。 −−−−−−−−−−−−−−− |画像3A|画像3B|テキスト3|←この行で一つのリンクとなります。 −−−−−−−−−−−−−−− 画像1A、画像1B、テキスト1のどれかにマウスオーバー時、画像1Bの画像とテキスト1の文字色を変更したいと思います。 単純にテキスト1をマウスオーバー時にテキスト1の文字色を変えるならcssのa:hover、画像1Bをマウスオーバー時、画像1Bの画像を差し替えるならJavaScriptで出来たのですが、 例えば、画像1Aをマウスオーバー時、画像1Bの画像を差し替えつつ、テキスト1の文字色を変える方法が分かりませんでした。 その為、何かアドバイスいただける方はご指導いただければと思います。 なお上記の画像などの中身には下記が入ります。 画像1A・・・花の写真 画像1B・・・矢印画像 テキスト1・・・花の名前 そして、画像1Aの花の写真のサイズは不定となっております。 よろしくお願いします。
702 名前:Name_Not_Found mailto:sage [2008/07/05(土) 15:21:22 ID:???] a.foo:hover { color: red; } a.foo:hover > img.bar { display: none; } a.foo:hover > img.baz { display: inline; } a.foo > img.baz { display: none; }
703 名前:Name_Not_Found mailto:sage [2008/07/05(土) 18:30:01 ID:???] >>702 レスありがとうございます。 >>702 を参考に書いてみたのですが、マウスオーバーしても画像に変化はありませんでした(テキストは変化しました)。 下記がそのソースですが、どのあたりに問題があるかご指導いただければと助かります。 <html> <head> <title>title</title> <style type="text/css"> <!-- a.foo:hover { color: yellow; } a.foo:hover > img.bar { display: none; } a.foo:hover > img.baz { display: inline; } a.foo > img.baz { display: none; } --> </style> </head> <body> <a href="index.html" class="foo"><img src="img/kiku.jpg" alt="キク" width="200" height="100"> <img src="img/arrow.gif" alt="" width="13" height="13" class="bar baz">キク</a> </body> </html> それと本件はCSSのみで対応可能ですか? それならスレ違いになるので、どうしようかとおもったので。
704 名前:Name_Not_Found mailto:sage [2008/07/05(土) 18:36:39 ID:???] JavaScriptとは何の関係もない.
705 名前:Name_Not_Found mailto:sage [2008/07/05(土) 18:38:46 ID:???] >>704 了解です。 CSSのみで実現可能みたいなので、CSS系のスレに移行することにします。 どうもありがとうございました。
706 名前:Name_Not_Found [2008/07/05(土) 18:54:13 ID:H/bbPOMN] Javascriptでタイマー機能を作成しています。 チャットのように30秒ごとに画面が切り替わるという仕組みなのですが、 サイトやサーバが重い時、30秒以上時間がかかります。 (カウントのスタートがされない) Javascriptはクライアントサイドの技術なので、 自分のパソコンや回線の問題でしょうか?
707 名前:Name_Not_Found mailto:sage [2008/07/05(土) 20:37:31 ID:???] >>706 エスパーはいません ソース貼れ
708 名前:Name_Not_Found mailto:sage [2008/07/05(土) 21:23:03 ID:???] 【外部リンクさせたjavascriptが上手く作動しない?】 最初、HTML内に記述されたjavascriptを、外部ファイルとしてリンクさせたんだが、 どういう訳か文字化けをおこしてしまう。原因がわからないので是非ご教示いただきたい。 実際のページを用意している。 <javascriptを外部リンクさせて、文字化けしてしまうページ> xrea151.s151.xrea.com/index.html <javascriptをhtml内に記述して、うまく動いているページ> xrea151.s151.xrea.com/index2.html もちろん、javascriptの内容は全く同じ。 外部リンクさせた時のjavascriptのファイル名はmenu.js。
709 名前:708 mailto:sage [2008/07/05(土) 21:28:32 ID:???] 補足 IE6では文字化けはしないが、javascriptがうまく動かない。 IE7だと文字化け+javascriptがうまく動かない。 なぜだ・・・。
710 名前:Name_Not_Found mailto:sage [2008/07/05(土) 21:39:34 ID:???] menu.jsがシフトJISみたいだけど?
711 名前:706 mailto:sage [2008/07/05(土) 21:43:49 ID:???] >>707 すみません。以下のソースです。 <script type="text/javascript"> timerID = ""; function jump() { window.self.location.href= "timer.html"; } function init() { timerID = setTimeout("jump()", 30000); document.getElementById('mess').innerHTML = "30秒後に移動"; } </script> <body onLoad="init()"> <div id="mess"></div>
712 名前:706 mailto:sage [2008/07/05(土) 21:49:39 ID:???] 何度も済みません。古い方のソースを貼ってしまいました・・。 以下が問題のタイマーです。 timerID = ""; count = 30; function jump() { window.self.location.href= "timer.html"; } function init() { if(count>=0){ count--; document.getElementById('mess').innerHTML = count+"遘貞セ後↓遘サ蜍"; } timerID = setTimeout("init()", 1000); }
713 名前:708 mailto:sage [2008/07/05(土) 22:12:59 ID:???] >>710 Unicodeで作り直したら直った・・・。 ありがとう、、これで家に帰れるよ・・・。 本当にありがとうございました。
714 名前:Name_Not_Found mailto:sage [2008/07/05(土) 22:34:20 ID:???] >>695 , >>697 , >>698 どうすればそれだけ間違え続けられるんだ?痴呆老人の会話じゃねえか。
715 名前:Name_Not_Found mailto:sage [2008/07/05(土) 22:43:06 ID:???] >>706 コード的には問題ない カウンタがスタートするのはonLoadのタイミング、文書構造を読み込んでからなので 遅いサーバからだとカウンタがスタートしてないように見えるんじゃないだろか あとTimerIDとかいらないので書き直した <script type="text/javascript"> function init() { document.getElementById('mess').innerHTML = "30秒後に移動します"; setTimeout(function() { window.self.location.href = "timer.html"; }, 30000); } </script> <body onLoad="init();">
716 名前:Name_Not_Found mailto:sage [2008/07/05(土) 22:47:15 ID:???] ttp://orera.g.hatena.ne.jp/miya2000/20080211/p0 にあるuser.jsのようなことをやりたいと考えています。 例えばhoge.com内のhogeディレクトリ以下、つまりhoge.com/hoge/ 以下にあるファイルを別のブラウザで開きたいのです。 そこで当初は変数TARGET_URL内に「hoge.com/hoge/ 」を記述していたのですが、hoge.com内にあるファイルにはリンクが相対パスで張られているものも多く、 これではそのリンクに対して期待した動作をしてくれません。 何か良い解決策はあるでしょうか。 具体的にはニコニコ動画の再生ページだけFirefoxで開こうと考えています。現在は一つのjavascriptで書く方法が思い浮かばなかったので、以下のような2つのjavascriptで使っていますが、 スマートじゃなくて気持ち悪い。。。 よろしくお願い致します。
717 名前:716 mailto:sage [2008/07/05(土) 22:48:04 ID:???] 一つ目のjavascript。 * に対して有効とするjavascriptです。 (function() { var MIME_TYPE = 'application/x-open-firefox-html'; var TARGET_URL = [ 'www.nicovideo.jp/watch/ ', ]; for (var i = 0; i < TARGET_URL.length; i++) { TARGET_URL[i] = 'starts-with(@href,"' + TARGET_URL[i] + '")'; } var target_xpath = '//a[' + TARGET_URL.join(' or ') + ']'; function main() { var targetLinks = document.evaluate(target_xpath, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); for (var i = 0; i < targetLinks.snapshotLength; i++) { var link = targetLinks.snapshotItem(i); link.addEventListener('click', function(e) { e.currentTarget.href = 'data:' + MIME_TYPE + ';charset=utf-8,' + encodeURIComponent('\n<meta http-equiv="refresh" content="0; url=' + e.currentTarget.href + '">'); e.currentTarget.removeEventListener('click', arguments.callee, false); }, false); } } document.addEventListener('DOMContentLoaded', main, false); })()
718 名前:716 mailto:sage [2008/07/05(土) 22:49:14 ID:???] 二つ目のjavascript。 nicovideo.jp/* に対して有効とすjavascriptです。(つまり相対リンク対策) (function() { var MIME_TYPE = 'application/x-open-firefox-html'; var TARGET_URL = [ '\/sm', '\/nm', ]; for (var i = 0; i < TARGET_URL.length; i++) { TARGET_URL[i] = 'contains(@href,"' + TARGET_URL[i] + '")'; } var target_xpath = '//a[(' + TARGET_URL.join(' or ') + ') and not(starts-with(@href,"www.nicovideo.jp/ "))]'; function main() { var targetLinks = document.evaluate(target_xpath, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); for (var i = 0; i < targetLinks.snapshotLength; i++) { var link = targetLinks.snapshotItem(i); link.addEventListener('click', function(e) { e.currentTarget.href = 'data:' + MIME_TYPE + ';charset=utf-8,' + encodeURIComponent('\n<meta http-equiv="refresh" content="0; url=' + e.currentTarget.href + '">'); e.currentTarget.removeEventListener('click', arguments.callee, false); }, false); } } document.addEventListener('DOMContentLoaded', main, false); })()
719 名前:Name_Not_Found mailto:sage [2008/07/05(土) 23:39:56 ID:???] getAttribute
720 名前:Name_Not_Found [2008/07/06(日) 00:32:01 ID:bq72WUba] すいません、質問です。 求人サイトを制作しています。 「コンビニのレジ」 「プールの監視員」 「チラシのポスティング」 ・・・といった求人情報がずらずら並んだページがあります。 各求人情報のブロックにはそれぞれ「この仕事に応募する」ボタンが配置されています。 ここで、 「コンビニのレジ」という求人情報のブロックに設置されたボタンをクリックすると (1)応募フォームが開き、 (2)開かれた応募フォームの「応募する仕事」のセルには「コンビニのレジ」が表記されている 以上が実現できるjavascriptの書き方を教えてください。 求人情報のページ→応募フォームというように、二つのページにまたがる場合の表記方法が よく分かりません。 同一ページ内のHTML書き換えであれば、 document.getElementById('jobtype').innerHTML = hogehoge で実現できるのですが・・・。
721 名前:Name_Not_Found mailto:sage [2008/07/06(日) 00:32:07 ID:???] >>716-718 アホ外人が俗に言うイベントデリゲーションを使うべき典型例だろ。リンク全舐めとか、ええ加減にせえよボケ。全舐めしても、使うのは、ふつう、たった一つだ。気付けアホンダラ。
722 名前:Name_Not_Found mailto:sage [2008/07/06(日) 00:37:08 ID:???] >>716 Firefoxに移行して URL Relay
723 名前:716 mailto:sage [2008/07/06(日) 00:55:17 ID:???] みなさんレスありがとうございます。 >>719 なるほど、getAttributeを使うと絶対パスが返ってくるんですね〜 てことは、XPathを使わずにgetAttributeでhrefを抽出し、それにイベントを付けるんでしょうか? なにぶんjavascriptを初めていじるもので、全然違うことを言っていたら申し訳ありません。 >>721 リンク全舐めというのはXPathでの抽出という意味でしょうか? イベントデリゲーション。。。上の方にも出てきてるみたいですね。 しかし、なんかよく理解できません。出来れば例を示して頂けると幸いなのですが… >>722 なんと。Firefoxにはそんな便利なアドオンがあったのですね。 けど、どうしてもOperaでの結果をFirefoxに渡したいのです。 引き続きよろしくお願い致します。
724 名前:Name_Not_Found mailto:sage [2008/07/06(日) 01:16:38 ID:???] あれ?むしろgetAttributeが属性値をそのまま返すんじゃなかったっけ >>723 documentのclickでtargetがaならhrefをごにょごにょする d.hatena.ne.jp/brazil/20070103/1167788352
725 名前:Name_Not_Found mailto:sage [2008/07/06(日) 02:57:36 ID:???] >>720 引数付きでURL渡す。 form.html?コンビニのレジ みたいな感じ
726 名前:716 mailto:sage [2008/07/06(日) 03:56:41 ID:???] >>724 レスありがとうございます。 流れとしては、クリックイベントが起きたときにgetAttribute("href")でリンク先の絶対URIを取得し、それがwww.nicovideo.jp/watch/ から始まるかどうか判定、真ならMIME_TYPEの変更を 行うといった感じでしょうか? う〜ん。。。流れは合ってたとしても実装方法が全然わからんすorz もうちょっとだけヒントくださいTT
727 名前:Name_Not_Found mailto:sage [2008/07/06(日) 04:16:59 ID:???] addEvantListener event.target tagName.toLowerCase つかOperaのhrefはちゃんと絶対パスを返すはずだが。知らんけど
728 名前:Name_Not_Found mailto:sage [2008/07/06(日) 05:05:49 ID:???] >>726 a.hrefなら相対リンクとか関係なく絶対URI(絶対パスじゃなく)が返るから こんな感じでいけると思う (function() { var MIME_TYPE = 'application/x-open-firefox-html'; var TARGET_URL = [ 'www.nicovideo.jp/watch/ ', ]; // メタ文字のエスケープしてない var rTARGET_URL = new RegExp("^"+TARGET_URL.join("|^")); // ページ内のクリックを拾う(OperaはEnterキーもクリック相当) document.addEventListener('click', function(e){ // a > imgのときはimgがtargetになってしまったりするのでターゲットフェーズから上方向にアンカーを探す // (selectSingleNodeはOperaが対応しているMSXML由来の非標準メソッド) var t = e.target.selectSingleNode('ancestor-or-self::a[1]'); if (t && rTARGET_URL.test(t.href)) { e.preventDefault(); location.href = 'data:' + MIME_TYPE + ';charset=utf-8,' + encodeURIComponent('\n<meta http-equiv="refresh" content="0; url=' + t.href + '">'); } }, true); })()
729 名前:Name_Not_Found mailto:sage [2008/07/06(日) 05:09:16 ID:???] ターゲットフェーズじゃねーや ターゲットノードだ
730 名前:716 mailto:sage [2008/07/06(日) 05:10:53 ID:???] >>727 すいません、正直javascript全然わかんないです。 一応↓のように書いてみたんですが、期待した動作をするわけありませんよね^^; 個人的にはe.target.hrefにデータを代入しようとしている当たりが相当無理な気がするのですが。。。他にもイベント関係が全くわかりませんでした。 やりたかったことは、クリックイベントが発生したらmain()にイベントが渡って、そのイベントが持っているtarget(ここではドキュメント?)内のhref属性をgetAttribute()にて絶対URIに補完、それがTARGET_URLに指定してあったURLから始まるなら MIME_TYPEを変更…といった具合だったのですが。。。 それと、今回は小文字への正規化(727で教えて頂いたtagName.toLowerCase?)は省略してます。 (function() { var MIME_TYPE = 'application/x-open-firefox-html'; var TARGET_URL = [ 'www.nicovideo.jp/watch/ ', ]; function main(e) { for (var i = 0; i < TARGET_URL.length; i++) if(!getAttribute("href",e.target).indexOf(TARGET_URL[i])) { e.target.href = 'data:' + MIME_TYPE + ';charset=utf-8,' + encodeURIComponent('\n<meta http-equiv="refresh" content="0; url=' + e.target.href + '">'); break; } } document.addEventListener('click', main, false); })()
731 名前:716 mailto:sage [2008/07/06(日) 05:12:42 ID:???] >>728 あれ、すいませんレスがついてるのを確認せずに書き込んじゃいました。 730は無かったことに^^; 728さんのソース試させてもらってきます!!
732 名前:716 mailto:sage [2008/07/06(日) 05:29:21 ID:???] 連投失礼します。728さんのソースを以下のようなnico_open.jsとして保存し、UserJS用フォルダに入れたのですが、残念ながら相対パスで書かれているリンク先も、絶対パスで書かれているリンク先もFirefoxでは開かれませんでした。ううん、引き続きよろしくお願い致します。 以下nico_open.js // ==UserScript== // @name open in firefox // @description open specified link(absolute href) in Firefox. // @include * // ==/UserScript== (function() { var MIME_TYPE = 'application/x-open-firefox-html'; var TARGET_URL = [ 'www.nicovideo.jp/watch/ ', ]; // メタ文字のエスケープしてない var rTARGET_URL = new RegExp("^"+TARGET_URL.join("|^")); // ページ内のクリックを拾う(OperaはEnterキーもクリック相当) document.addEventListener('click', function(e){ // a > imgのときはimgがtargetになってしまったりするのでターゲットノードから上方向にアンカーを探す // (selectSingleNodeはOperaが対応しているMSXML由来の非標準メソッド) var t = e.target.selectSingleNode('ancestor-or-self::a[1]'); if (t && rTARGET_URL.test(t.href)) { e.preventDefault(); location.href = 'data:' + MIME_TYPE + ';charset=utf-8,' + encodeURIComponent('\n<meta http-equiv="refresh" content="0; url=' + t.href + '">'); } }, true); })()
733 名前:Name_Not_Found [2008/07/06(日) 07:58:41 ID:jUWoErVU] >>714 > >>695 , >>697 , >>698 > どうすればそれだけ間違え続けられるんだ?痴呆老人の会話じゃねえか。 何の事かと思ったらXHRのフルスペルの事か
734 名前:Name_Not_Found mailto:sage [2008/07/06(日) 14:15:03 ID:???] >>732 こっちでは一応どっちもfirefoxで開けているから エラーコンソールからそのnico_open.jsがどんなエラーを出してるか見てみて それでsyntax errorが出ている場合は UTF-8Nで保存 するか 日本語のコメントを全部削除 するといいと思う エラー出してなかったらコードのMIME_TYPEの前あたりにalert(1)とか置いて ダイアログ出るか確認してみて
735 名前:716 mailto:sage [2008/07/06(日) 16:44:09 ID:???] >>734 SUGEEEEEEEEEEE!!!!!!! 仰るとおり、syntax errorが出ていたので、UTF-8で保存し直したところ見事に動きました!! 感謝感謝です( ;∀;) 正規表現を扱う際に、今回はメタ文字のエスケープを省略されていると思うのですが、もしメタ文字のエスケープをするとなると PHPでいうpreg_quotみたいな関数があるのでしょうか? 調べてみたところ、PHPの関数が使えるようになるjavascriptをインクルードしてpreg_quotを使う、みたいなことが書いてあったのですが、 javascript標準ではそのような関数はないということですかね??
736 名前:Name_Not_Found mailto:sage [2008/07/06(日) 18:36:28 ID:???] >>735 JavaScript(ECMAScript)にはそういうのはないな Stringのreplace()で文字列置換が出来るからそれで自分の欲しい関数つくったらいいと思う サンプル出すならこんな感じかな // . \ + * ? [ ^ ] $ ( ) { } = ! | をエスケープ function reEscape(s) { return s.replace(/([\.\\\+\*\?\[\^\]\$\(\)\{\}\=\!\|])/g, "\\$1"); } var rTARGET_URL = ""; // 全部一気にエスケープすると必要なものもエスケープしてしまうのでforで回して個別にエスケープ // (Opera 9.50 以降ならネイティブでJavaScript 1.6のArrayのmap()があるのでもうちょっとシンプルに書ける) for (var i = 0, len = TARGET_URL.length; i < len; i++) { rTARGET_URL += "|^" + reEscape(TARGET_URL[i]); } rTARGET_URL = new RegExp(rTARGET_URL.slice(1));
737 名前:716 mailto:sage [2008/07/06(日) 19:45:28 ID:???] >>736 map()ってPHPでいうarray_walkみたいなやつなんですね! 当方Opera9.51を使用しておりますので、こんな感じでかけばいいのかな?↓ function reEscape(s) { return s.replace(/([\.\\\+\*\?\[\^\]\$\(\)\{\}\=\!\|])/g, "\\$1"); } var rTARGET_URL = '^' + TARGET_URL.map(reEscape).join('|^'); rTARGET_URL = new RegExp(rTARGET_URL);
738 名前:Name_Not_Found mailto:sage [2008/07/06(日) 21:00:51 ID:???] >>737 それでおっけー まとめて1行で書いても良いけど あ、エスケープする関数jp.php.net/preg_quote 見て適当に書いたから 必要ない文字もエスケープしてた return s.replace(/([\.\\\+\*\?\[\^\]\$\(\)\{\}\|])/g, "\\$1"); くらいでいいや
739 名前:716 mailto:sage [2008/07/06(日) 23:43:39 ID:???] >>738 なるほど。ありがとうございますm(__)m これを機にjavascriptの勉強してみようと思うんですけど、なんかお奨めの本とかってないですか?
740 名前:Name_Not_Found mailto:sage [2008/07/07(月) 00:09:20 ID:???] >>739 >>7
741 名前:Name_Not_Found mailto:sage [2008/07/07(月) 00:26:33 ID:???] >>739 JavaScriptの本読んだことないんだけど オライリーの奴(サイ本)とか標準DOMスクリプティングとかがいいような気がする >>6 にあるようなECMAScript仕様とかDOM仕様とかMSDNとかMDCとかも見つつ
742 名前:Name_Not_Found mailto:sage [2008/07/07(月) 01:02:12 ID:???] SE14年の俺の経験だと、ネットにいくらでも情報があるのに、当たり前のように書籍を求めようとするクラシカルなアホは、仕事に追いつけなくて、半年以内に惨めな評価で辞めていく。
743 名前:716 mailto:sage [2008/07/07(月) 01:06:17 ID:???] レスありがとうございます。 OperaはUserJSが書けると非常におもしろいと思うのでコツコツ勉強して、何か便利なJSを書いてみようと思います。 本当にお世話になりました。
744 名前:Name_Not_Found mailto:sage [2008/07/07(月) 04:30:14 ID:???] ある文字列を改行コード\nを含めて先頭から指定された任意個の文字ずつ 区切って配列に格納していきたいのですが どうすれば軽くなりますか? charAtで前から順番に処理していくと重すぎます。 対象の文字列は全角文字・半角文字・タブなどが含まれる普通のテキストです。
745 名前:Name_Not_Found mailto:sage [2008/07/07(月) 06:02:14 ID:???] その重すぎるコードを貼って
746 名前:Name_Not_Found mailto:sage [2008/07/07(月) 09:56:32 ID:???] charAtってだけで見なくても想像つくだろ
747 名前:Name_Not_Found mailto:sage [2008/07/07(月) 11:13:02 ID:???] >>744-746 とりあえずsubstringで作ってみた。手元のマシンで813msec. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><title>???</title> </head><body> <pre><script type="text/javascript"> var s = 'x'; for(var i = 0; i < 20; ++i) s = s + s; // 1M var t1 = new Date().getTime(); var a = mysplit(s, 10); var t2 = new Date().getTime(); //document.writeln(a.join('\n')); document.writeln('time = ' + (t2-t1)); function mysplit(s, n) { var a = [], l = s.length, p = 0; while(p+n < l) { a.push(s.substring(p, p+n)); p += n; } a.push(s.substring(p)); return a; } </script></pre> </body></html>
748 名前:Name_Not_Found mailto:sage [2008/07/07(月) 12:31:29 ID:???] 全く同じコード a.push 約400msec a.[a.length] 約300msec
749 名前:Name_Not_Found mailto:sage [2008/07/07(月) 12:32:30 ID:???] a[a.length]
750 名前:Name_Not_Found mailto:sage [2008/07/07(月) 12:48:46 ID:???] Fx3でまったく同じコード a.push 110msec a[a.length] 111msec https://bugzilla.mozilla.org/show_bug.cgi?id=385393
751 名前:Name_Not_Found mailto:sage [2008/07/07(月) 13:15:33 ID:???] 一般の結論として、a[a.length] を使え、っつうことだな。
752 名前:Name_Not_Found mailto:sage [2008/07/07(月) 14:17:28 ID:???] >>748-751 確かに… しかしsubstringの方は改良できないもんかね?
753 名前:Name_Not_Found [2008/07/07(月) 14:48:15 ID:0mvzN4Gt] Ajaxを使ったauto complete機能を使っているんですが、日本語文字列のauto completeを しようとすると、日本語版Firefox3 (Windows版) でだけ問題が発生しており、困っています。 たとえば「日本代表」という文字列をテキストフィールドに入力したとします。 このとき、ほとんどのブラウザでは変換中の文字が確定されたときに、Ajaxでその文字列がサーバに送信されます。 しかし日本語版Firefox3(win)では、ローマ字入力の「にほ」が入力された時点で送信されてしまいます。 それだけならまだしも、変換して確定したあとの文字列はサーバに送信されません。 こんな現象で困っているんですが、ほかに似たような現象にあたった人はいませんか。 ぐぐってもそれらしいのがでてこず、困っています。 なお使っているのは Scriptaculous.js 1.8.1 (現時点での最新版)です。 動作確認をしたブラウザは 日本語IE6 (windows), 日本語/英語Firefox3 (Mac), 日本語/英語Safari3 (Mac) です。 これらはうまく動いています。
754 名前:Name_Not_Found [2008/07/07(月) 17:10:08 ID:durcaHzQ] alertで二次元配列データを等間隔に見やすく表示したいのですが タグはそのまま表示されてしまいますし、 \tだと文字の長さによってずれてしまいます。 なにかいい方法はないでしょうか?
755 名前:Name_Not_Found mailto:sage [2008/07/07(月) 17:24:48 ID:???] >>754 ありません。 Fxなら、いったんxmlタイプにして、置換して戻せば、うまくいくかもしれません。 しかし、そもそも、スペースパッディング用にシステムのフォントを取得しなければならないことに変わりはありません。 そして、仮に思い通りに整形できたとして、メリットはありませんよね。 メリットが無くて面倒で……一体誰が回答するでしょうかねえw あ、つまり自分が面倒だから、だれかに作らせようとしてんのか。ひどい人ですねえ。
756 名前:Name_Not_Found [2008/07/07(月) 17:37:30 ID:durcaHzQ] >>755 簡単な方法がないならないでそれで十分です。ども
757 名前:Name_Not_Found mailto:sage [2008/07/07(月) 20:14:53 ID:???] window.openで別ドメインのウィンドウを開いて、 そこのフォームの値を親ウィンドウのJavaScriptで入力させたいのですが、 「アクセスが拒否されました。」というエラーになってしまいます。 別ドメインのウィンドウを弄ることは不可能なのでしょうか?
758 名前:Name_Not_Found mailto:sage [2008/07/07(月) 20:23:36 ID:???] むりぽ
759 名前:Name_Not_Found mailto:sage [2008/07/07(月) 21:02:36 ID:???] >>752 正規表現
760 名前:757 mailto:sage [2008/07/07(月) 22:00:11 ID:???] >>758 そうですか。 ブックマークレットでやるしかないですね。
761 名前:Name_Not_Found mailto:sage [2008/07/07(月) 23:09:41 ID:???] return s.match(new RegExp('[\\s\\S]{1,'+n+'}','g')) 注)遅い
762 名前:Name_Not_Found mailto:sage [2008/07/08(火) 00:45:44 ID:???] RegExpをインスタンス作成してから使う人ってまだ残ってるんだ
763 名前:Name_Not_Found mailto:sage [2008/07/08(火) 00:54:59 ID:???] ヒント:n
764 名前:Name_Not_Found mailto:sage [2008/07/08(火) 13:28:25 ID:???] >>762 変数使う場合とかどうしてるの? 使い分けたりしない?
765 名前:Name_Not_Found mailto:sage [2008/07/08(火) 14:40:45 ID:???] そっとしといてやれよ。「今は後悔している」と思うよ。
766 名前:Name_Not_Found [2008/07/08(火) 16:14:58 ID:y9/A9Vhv] Prototype Window Classを使って、ブックマークレットを作っているのですが、フレームを使ったページで上手く動作しません。 フレームを使っていないページだとウィンドウが正常に開きます。 フレームを使ったページだとなにも起きていないように見えます。(エラーもなし) ブラウザはIE6です。 ■ブックマークレット(外部.js読み込み) javascript:(function(){var%20url='host/foo.js ';if(!url.match(/\?/))url+='?t='+(new%20Date()).getTime(); var%20d=document;var%20e=d.createElement('script');e.charset='utf-8';e.src=url;d.getElementsByTagName('head')[0].appendChild(e);})(); ■foo.jsの中身 //prototype.js, window.js, default.css, alphacube.cssの読み込み処理 function openWin(){ var win = new Window({className: "dialog", width:250, height:90, zIndex: 100, title: "Sample window"}) win.getContent().update("<h1>ウィンドウ1</h1>"); win.showCenter(); } openWin(); ↓のようにフレーム名を指定すればウィンドウは開きますが、特定のフレーム内でなくフレームの上位レイヤーとして開きたいのです。 ■ブックマークレット(外部.js読み込み) javascript:(function(){var%20url='host/foo.js ';if(!url.match(/\?/))url+='?t='+(new%20Date()).getTime(); var%20d=window.top.frame1.document;var%20e=d.createElement('script');e.charset='utf-8';e.src=url;d.getElementsByTagName('head')[0].appendChild(e);})();
767 名前:Name_Not_Found mailto:sage [2008/07/08(火) 16:25:53 ID:???] ブックマークレットからユーザがどのフレーム内を見ていたかなんて 分かるんだろうか…
768 名前:質問 [2008/07/08(火) 19:37:12 ID:D8ry5O82] 質問です。 送信ボタンを2回押さないとframe2へ出力されなくて困っています。 Javascriptで送信ボタンを1回押すだけで出力できるような方法があれば教えてください。 javascriptを使用しなくても出来るのであれば、なおうれしいです。 現在の構成ですが、 A.cgi <form action="B.cgi" target="frame2"> と作成しています。 A.cgiではチェックリストを作って、選択したデータ(装置名)を取得するようにしています。 送信ボタンを押すとB.cgiが実行されてその結果をframe2へhtmlで出力するようにしています。 vi B.cgi @取得したデータをCファイルへ書き込み A取得したデータをhtmlで出力 B ` D.pl` を実施 vi D.pl D.plがすでに起動していれば、改めてD.plを実行しない(多重起動防止) Cファイルに何も記録がなければD.pl自体を終了させる while(-s Cファイル){ Cファイルに何か書き込みが有る場合、 Cファイルを読み込んでその装置へデータをsnmpで取得しに行く sleep 30; } 状況としては、チェックリストで項目を選択し送信ボタンを押すと、1回目のB.cgiが実行されるわけですが、 B.cgi内でD.plを走らせている為、D.plが終了しない限りB.cgiが終了しないので frame2への出力がされないようです。 次に送信ボタンを押すと、1回目のD.plがすでに起動しているので2回目のD.plは終了し、2回目のB.cgiは終了し、 frame2へも出力されます。
769 名前:766 mailto:sage [2008/07/08(火) 19:45:29 ID:???] >>767 このブックマークレットは特定のページで使うものなので、フレームの構造は最初から知っているものとしてOKです。
770 名前:Name_Not_Found [2008/07/08(火) 20:15:59 ID:LoBf1cvz] JavaScriptでHTMLを吐き出したいんですが あらかじめIDを指定しておき、innerText = "1234" みたいに書くとうまくいくのに document.write("1234"); みたいに書くと、文字が化けるというかUTF-8になってしまいます。 ちゃんと、charset="Shift_JIS"と指定しているはずなんですが 何か他に原因があるんでしょうか?
771 名前:Name_Not_Found mailto:sage [2008/07/08(火) 23:23:34 ID:???] document.writeは使うべきではない。 innerTextも使うべきではない。 innerHTMLかDOMをお勧めするが、とりあえずスクリプトの文字コードは?
772 名前:Name_Not_Found mailto:sage [2008/07/09(水) 01:48:06 ID:???] document.write()はDOMだがね。一応
773 名前:Name_Not_Found mailto:sage [2008/07/09(水) 03:19:47 ID:???] >>766 framesetのページ自体になんか書き込んでも反映されないだろ。 何か重ねたいんだったら全体をiframeで囲っちゃうとか。
774 名前:Name_Not_Found mailto:sage [2008/07/09(水) 06:27:12 ID:???] 木ごと破壊するinnerHTMLよりはinnerTextの方が安全 DOM-3のtextContentでもいい SCRIPT要素の文字コードとDocumentの(デフォルト)文字コードは無関係 \uXXXXに直せ
775 名前:Name_Not_Found mailto:sage [2008/07/09(水) 06:40:22 ID:???] >>774 何か勘違いしている気がするが、innerTextもtextContentもDOM木を破壊する。
776 名前:Name_Not_Found mailto:sage [2008/07/09(水) 10:44:26 ID:???] >>775 あんまよくわかってないんだけど appendChildとかinsertAdjacentHTMLとかは破壊しない系?
777 名前:Name_Not_Found mailto:sage [2008/07/09(水) 18:20:28 ID:???] IE8やらで実装されるとかいうSelectors APIに関する質問です Selectors APIが普通のgetElementsBy…系のメソッドより高速なら 使える環境では使ってみようと思って実験してみたのですが IE8β1をダウンロードして if(!document.querySelector) document.write("実装されてないよ"); と書いたhtmlを読ませると「実装されてないよ」と出力されました。 β1ではまだ実装されてないのでしょうか? 詳しい方がいらっしゃったら教えてください
778 名前:Name_Not_Found mailto:sage [2008/07/09(水) 19:41:22 ID:???] >>777 されてるはず ttp://d.hatena.ne.jp/amachang/20080306/1204787459
779 名前:777 mailto:sage [2008/07/09(水) 22:06:08 ID:???] 原因が分かりました querySelectorはレンダリングモードがIE8になっていないと使えないようです 実験用に単純なdoctype宣言も無い適当なhtmlを使っていたのですが そのせいでレンダリングモードがquerySelectorの使えないQuirksに設定されてしまい、 !document.querySelectorがtrueになった…という事のようです
780 名前:Name_Not_Found mailto:sage [2008/07/09(水) 22:20:42 ID:???] ふ〜ん。まだ使ってない俺にとっては良い情報だ。ありがとう。
781 名前:Name_Not_Found [2008/07/09(水) 22:22:05 ID:nIU5j9ym] aタグのhref属性からURLを取ってきたいのですが、 @は問題なし、Aは文字化けしてしまいます。 そこで、escape関数でかぶせてみると、 Aは元に戻りましたが、@は二重にescapeされてしまいます。 どちらもそのままのURLで取り出す良い方法はありますでしょうか。 if文で条件を考えようとしましたが、わかりませんでした。 <html> <head> <title></title> <script type="text/javascript"> <!-- function urlCopy(){ atag = document.links; alert("■escapeなし■\n\n" + atag[0].href + "\n" + atag[1].href); alert("■escapeあり■\n\n" + escape(atag[0].href) + "\n" + escape(atag[1].href)); } //--> </script> </head> <body onLoad="urlCopy();"> <a href="search.yahoo.co.jp/search?p=%E6%98%A0%E7%94%BB ">search.yahoo.co.jp/search?p=%E6%98%A0%E7%94%BB</a> …@<br> <a href="ja.wikipedia.org/wiki/%E6%98%A0%E7%94%BB ">ja.wikipedia.org/wiki/%E6%98%A0%E7%94%BB</a> …A<br> </body> </html>
782 名前:Name_Not_Found mailto:sage [2008/07/09(水) 22:26:18 ID:???] マル数字を使っていわゆる文字化けの質問をするアホ
783 名前:781 mailto:sage [2008/07/09(水) 22:48:07 ID:???] 機種依存文字を使用してしまうという初歩的なミスをしてしまい、大変失礼致しました。書き直します。 aタグのhref属性からURLを取ってきたいのですが、 (1)は問題なし、(2)は文字化けしてしまいます。 そこで、escape関数でかぶせてみると、 (2)は元に戻りましたが、(1)は二重にescapeされてしまいます。 どちらもそのままのURLで取り出す良い方法はありますでしょうか。 if文で条件を考えようとしましたが、わかりませんでした。 <html> <head> <title></title> <script type="text/javascript"> <!-- function urlCopy(){ atag = document.links; alert("■escapeなし■\n\n" + atag[0].href + "\n" + atag[1].href); alert("■escapeあり■\n\n" + escape(atag[0].href) + "\n" + escape(atag[1].href)); } //--> </script> </head> <body onLoad="urlCopy();"> <a href="search.yahoo.co.jp/search?p=%E6%98%A0%E7%94%BB ">search.yahoo.co.jp/search?p=%E6%98%A0%E7%94%BB </a> …(1)<br> <a href="ja.wikipedia.org/wiki/%E6%98%A0%E7%94%BB ">ja.wikipedia.org/wiki/%E6%98%A0%E7%94%BB </a> …(2)<br> </body> </html>
784 名前:Name_Not_Found mailto:sage [2008/07/09(水) 23:36:53 ID:???] document.link.protocol+"//"+document.link.host+escape(document.link.pathname)+document.link.search 冗談
785 名前:Name_Not_Found mailto:sage [2008/07/10(木) 02:03:52 ID:???] すみません。板違いかもしれませんが、 ソースががjavascriptで書かれていますのでこちらで質問させて頂きます。 設置が中国の鯖なんですが、 某サイトにiframeで仕込まれています。 googleによると、 「このサイトはコンピュータに損害を与える可能性があります。」 とあるのですが、どういった中身なのかわかる方がいらっしゃればお聞きしたです。 ソースチェッカーでは特に問題は出てきませんでした。 ttp://61.155.8.157/iframe/wp-stats.php
786 名前:Name_Not_Found mailto:sage [2008/07/10(木) 04:29:30 ID:???] >>781 MSIE6が勝手にURLデコードする問題? goungoun.dip.jp/app/blog/index.php/2006/08/27/19/ .getAttribute('href', 2) でおkらしい。
787 名前:Name_Not_Found mailto:sage [2008/07/10(木) 11:05:39 ID:???] 下記のスクリプトでTDタグにvalign = "top"を設定しているのですが、中の文字が上に行ってくれません。 なにが問題なのでしょうか? <script type="text/javascript"> <!-- function foo(){ for (i = 0; i < document.all.tags("TD").length; i++) { elm = document.all.tags("TD")(i); elm.valign = "top"; } } // --> </script> <TABLE border=1 cellspacing=0 cellpadding=3> <TR> <TD>a<BR>dd </TD> <TD>b </TD> </TR> <TR> <TD>c </TD> <TD>d </TD> </TR> </TABLE> <form action="#"> <input type="button" value="Click Me!!" onclick="foo()"> </form>
788 名前:Name_Not_Found mailto:sage [2008/07/10(木) 11:46:09 ID:???] >>787 エラー出てるんじゃないの。エラーも見られないのなら 向いていないよ。
789 名前:Name_Not_Found mailto:sage [2008/07/10(木) 11:54:22 ID:???] >>788 それを言うならこのスレのほとんどが(ry
790 名前:Name_Not_Found mailto:sage [2008/07/10(木) 12:05:19 ID:???] >>788 IE7ではエラーは出ていません。
791 名前:787 mailto:sage [2008/07/10(木) 12:09:32 ID:???] valignを vAlignにしたら動きました。 ありがとうございました。
792 名前:Name_Not_Found mailto:sage [2008/07/10(木) 12:16:52 ID:???] valign → vAlign
793 名前:Name_Not_Found mailto:sage [2008/07/10(木) 23:09:31 ID:???] >>785 魚の話をする板を知らないから案内さえできない。
794 名前:Name_Not_Found mailto:sage [2008/07/11(金) 01:22:31 ID:???] >>292 >>413 >>424 >>793 よく飽きもせず同じことを書き込むものだw
795 名前:Name_Not_Found mailto:sage [2008/07/11(金) 01:34:47 ID:???] >>793 鯖って言うのは、サーバーの略ですよ
796 名前:Name_Not_Found [2008/07/11(金) 08:34:50 ID:PgnGjJV/] iflameはいずれ非推奨になるの?
797 名前:Name_Not_Found mailto:sage [2008/07/11(金) 08:46:03 ID:???] >>794 それたぶんbotの書き込みだよ あとJS終了とアホ外人と
798 名前:Name_Not_Found mailto:sage [2008/07/11(金) 08:51:50 ID:???] >>796 strict系 DTD(4.01s, X1.0s X1.1 ...)を選択するなら存在しない transitional系 DTD(4.01t, X1.0t. 5...)を選択するならある
799 名前:Name_Not_Found mailto:sage [2008/07/11(金) 10:51:38 ID:???] >>785 具体的なコードは文字化けして解析できなかったけど、目的は SQLインジェクションを引き起こして、攻撃を行うこと。 ソースチェッカーなんて単なる気休め程度のおもちゃだと考えて、 安全性の基準にしないでね。それと、googleの言うこと守って、 そういう場所には近づかないこと。興味本位で足を踏み入れると 自分だけじゃなくて他人にも迷惑をかけることになるからね。
800 名前:Name_Not_Found mailto:sage [2008/07/11(金) 10:54:34 ID:???] SQLインジェクションは攻撃者→サーバへの攻撃手法であって クラックされたサーバ→閲覧者への攻撃手法じゃないだろ
801 名前:Name_Not_Found mailto:sage [2008/07/11(金) 10:59:57 ID:???] >>796 iflameって何だ? iframeなら知っているが(w
802 名前:Name_Not_Found mailto:sage [2008/07/11(金) 11:17:17 ID:???] >>785 >>800 失礼、余計なこと書いたようだな。中身はこれだろう。 [ScanNetSecurity - セキュリティホール情報<2006/01/26>] ttps://www.netsecurity.ne.jp/1_5709.html ▽ WP-Stats WP-Statsは、wp-stats.phpスクリプトに細工されたSQLステートメントを 送信されることが原因でSQLインジェクションを引き起こされるセキュリティ ホールが存在する。この問題が悪用されると、リモートの攻撃者に データベース上のデータを修正されたり削除される可能性がある。 危険度:中 影響を受けるバージョン:2.0未満 影響を受ける環境:UNIX、Linux、Windows 回避策:公表されていません
803 名前:Name_Not_Found [2008/07/11(金) 12:48:05 ID:x9UFDhk6] <a href="javascript:void(0);" onclick="HTML('<a href=www.example.com/> ');">HTML;</a> 引数にタグを渡したいのですが、「"」でかこっても「'」でかこってもタグがおかしくなります。 エスケープができてないと思うのですが、エスケープはどうすれば良いのでしょうか? \"や\'でもできませんでした
804 名前:Name_Not_Found mailto:sage [2008/07/11(金) 13:12:10 ID:???] まずHTMLとしてパースする。その結果をJSに渡す。 < >
805 名前:783 mailto:sage [2008/07/11(金) 15:17:34 ID:???] >>786 ありがとうございます。 getAttributeに第二引数があったとは知りませんでした。 atag = document.links; str = ""; for(i=0; i<atag.length; i++){ str += atag[i].getAttribute("href", 2) + "\n"; } alert(str); これでうまく取れました。
806 名前:Name_Not_Found mailto:sage [2008/07/12(土) 07:10:50 ID:???] >>802 本当にありがとうございます。 某企業の関連サイトにあった物でしたが、 悪意を持った第三者によってタグが追加されたものとのことでした。 また、私の書き込みで不快な思いをされた方々には大変申し訳ありませんでした。
807 名前:Name_Not_Found mailto:sage [2008/07/12(土) 10:45:07 ID:???] すんごい初歩的な質問になるんですが、HTML内の、 <script>document.write('hoge');</scirpt> を>>3 Q4.A4で言うところの(3)DOMでノード挿入or(4)innerHTMLで書き換えるにはどう書けばいいんでしょうか? 要はスクリプトのある“その時点のその場所”への挿入です。 Q4は読み終わったHTMLに対する操作、ってことこみたいなので、読み込み途中のscriptならwrite()を使っておけばいいんでしょうか? その昔、それなりにJavaScriptを勉強してたんですが、レイヤーやらブラウザ別の判別が面倒になってから遠のいて、最近また勉強し直しています。
808 名前:Name_Not_Found mailto:sage [2008/07/12(土) 10:46:37 ID:???] もう一点、昔、あまり意味もわからず書いた↓こういうのも、 function ToggleDisplay(funcId) { if (document.all) { if (document.all(funcId).style.display == 'block') { document.all(funcId).style.display = 'none'; } else if (document.all(funcId).style.display == 'none') { document.all(funcId).style.display = 'block'; } } else if (document.getElementById) { if (document.getElementById(funcId).style.display == 'block') { document.getElementById(funcId).style.display = 'none'; } else if (document.getElementById(funcId).style.display == 'none') { document.getElementById(funcId).style.display = 'block'; } } return; } 最近のブラウザなら↓で充分って認識であってますか? function ToggleDisplay(funcId) { var obj = document.getElementById(funcId); if (obj.style.display == 'block') { obj.style.display = 'none'; } else if (obj.style.display == 'none') { obj.style.display = 'block'; } return; }
809 名前:Name_Not_Found mailto:sage [2008/07/12(土) 13:17:11 ID:???] これで充分。 function ToggleDisplay(id) { var node = document.getElementById(id); node.style.display = (node.style.display == "none") ? "block":"none"; return; }
810 名前:Name_Not_Found mailto:sage [2008/07/12(土) 13:38:09 ID:???] >>809 return いらなくね?
811 名前:Name_Not_Found mailto:sage [2008/07/12(土) 14:20:58 ID:???] これで充(ry function ToggleDisplay(id) { var ns = document.getElementById(id).style; ns.display = (ns.display == "none") ? "block":"none"; return; }
812 名前:Name_Not_Found mailto:sage [2008/07/12(土) 14:26:50 ID:???] >>807 > 書き換えるには document.write()はその位置に文字を書き込むけど DOMとかの場合書き込みたい位置を特定したりしないといけないから文脈によるなー > 読み込み途中のscriptならwrite()を使っておけば 読み込み途中(scriptじゃなくてHTMLね)ならおっけー >>808-809 >>811 自分はこんな感じの方が好きだze function ToggleDisplay(id /*, initialDisplay*/) { var initialDisplay = arguments[1] || "block"; var node = document.getElementById(id); var cstyle = (typeof getComputedStyle == "function") ? getComputedStyle(node, null) : node.currentStyle; // >>4 Q10 + IE node.style.display = (cstyle.display == "none") ? initialDisplay : "none"; }
813 名前:Name_Not_Found mailto:sage [2008/07/12(土) 17:00:39 ID:???] >>807 HTMLならdocument.write()使っとけばいいとおもいますが。 document.writeをDOM仕様にする nyarla.net/blog/javascript-tips1
814 名前:Name_Not_Found mailto:sage [2008/07/12(土) 17:51:38 ID:???] >>776 ノードの追加・挿入なので木ごと破壊することはない innerHTML/innerText/textContentは内容置換 (与えられた文字列をDocumentFragmentとかTextに変換して DOM Rangeでノードの内容deleteContents()してからinsertNode()するようなもん)
815 名前:Name_Not_Found mailto:sage [2008/07/12(土) 18:18:20 ID:???] javascriptでHTMLの構造を表示するライブラリとかサンプルはないですか? イメージとしては下のようなものや、エクスプローラーのフォルダビューのような感じです。 ttp://blog.livedoor.jp/cola_papa/archives/27571118.html
816 名前:Name_Not_Found mailto:sage [2008/07/12(土) 19:32:03 ID:???] 言っとくけど、innerHTMLってオブジェクトノードの中のHTMLだよ? alert(node.innerHTML); とかやってみ
817 名前:Name_Not_Found mailto:sage [2008/07/12(土) 20:10:45 ID:???] > エクスプローラーのフォルダビューのような感じです。 Firefox の DOM Inspector なんかは?
818 名前:Name_Not_Found mailto:sage [2008/07/12(土) 20:12:39 ID:???] ああ、これを JavaScript で実現したいって話か。
819 名前:815 mailto:sage [2008/07/12(土) 20:39:08 ID:???] >>817 まさにそれです! でもFirefox用なんですね。 HTML 解析でググったら下を見つけました。(今までHTML 構成でググってましたorz) DOM Inspectorより情報は少ないですけど使えそうです。 ttp://d.hatena.ne.jp/ajiyoshi/20050618/p1 どうもありがとうございました!
820 名前:Name_Not_Found mailto:sage [2008/07/12(土) 20:52:33 ID:???] >>816 set時の話なんだが…
821 名前:Name_Not_Found [2008/07/12(土) 21:46:04 ID:ncdTQD9O] cssのスレで質問したらこちらに誘導されました すみませんが質問させてください 昔は、フラッシュの部分にjavascriptのプルダウンメニューがかかると メニューが表示されなかったですが、最近はちゃんと表示されてる例があるようです アレはどうやって実現するんでしょうか? cssではないんですよね javascriptでどうやってるのか、、 やり方を簡単にでいいので教えてください (もし解説してるページを紹介してもらえたらすごく嬉しいです、見つけられなかったので)
822 名前:Name_Not_Found mailto:sage [2008/07/12(土) 21:48:06 ID:???] レイヤーで前にもってくればいいだけじゃないの?
823 名前:Name_Not_Found mailto:sage [2008/07/12(土) 22:52:34 ID:???] >>809-813 レスありがとうございます。 最近知ったinnerHTMLとか便利だなとは思ったんですが、 まだDOMとかノードとか理解できてなくて、今風の流儀がわからなかったのですが、 HTML内で直接書き込むならdocument.writeでかまわないみたいなので安心しました。 条件演算子は知っているのですが、質問の主旨ではなかったのでコピペで手を抜いてしまいました。 returnはPerl書くときの癖で必要なくても付けちゃってます。 (Perlでreturnナシだと意図しない結果になることがあるので、無いとなんとなく不安なんです) >>812 の後半や>>813 に至っては自分にはまだ高度すぎます(汗) ちょっとググってみたけど、今は無理でした。 いずれはわかるようになりたいです。
824 名前:Name_Not_Found [2008/07/12(土) 23:20:28 ID:ncdTQD9O] >>822 ありがとうございます レイヤーを前に持ってくるというのは以前やったことが あるんですが、失敗した覚えがあります。 やり方がまずかったのかもしれないですが、、 実際によく作ってるよ という方いないかなー
825 名前:Name_Not_Found mailto:sage [2008/07/12(土) 23:29:25 ID:???] wmode="opaque"
826 名前:Name_Not_Found [2008/07/12(土) 23:50:38 ID:ncdTQD9O] >>825 ありがとうございます! ほんとに助かりました 感謝します どうもありがとう
827 名前:Name_Not_Found [2008/07/13(日) 17:55:04 ID:C5JpZrNa] すみません。 送信ボタンをクリックしたら、xxx.plというプログラムを実行させたいのですがどうしたらいいですか? <input onclick="xxx.pl">じゃあうまくいかなかったので困っています。
828 名前:Name_Not_Found mailto:sage [2008/07/13(日) 17:58:17 ID:???] xxx.pl というプログラムはサーバーで動かすんじゃないんですか。 だったらサーバーにそう言わないとわかんないでしょう。
829 名前:Name_Not_Found mailto:sage [2008/07/13(日) 18:09:44 ID:???] >>827 普通に(GETの場合) <form method="GET" action="xxx.pl"> <input type="submit"> </form> でいいと思うんだが(どうしてもonclickで動かしたいのでなければ)
830 名前:Name_Not_Found mailto:sage [2008/07/14(月) 01:42:40 ID:???] >>829 に追記 もしinput type=buttonのみでやりたい場合は onclick="location.href=xxx.pl"とすればおk window.hrefなど色々指定方法はあったと思うからそれは自分で調べて
831 名前:Name_Not_Found mailto:sage [2008/07/14(月) 07:07:59 ID:???] >>828-830 thxです。早速今日チャレンジしてみます
832 名前:Name_Not_Found mailto:sage [2008/07/14(月) 18:48:54 ID:???] つーかこのスレにいる人はジャバスクで今までにどんなものを作ったことがあるの?
833 名前:Name_Not_Found mailto:sage [2008/07/14(月) 19:17:38 ID:???] ほとんどゲームかな。 シューティングとかパズルが多い。
834 名前:Name_Not_Found mailto:sage [2008/07/14(月) 20:14:53 ID:???] ジャバスクってなに?
835 名前:Name_Not_Found mailto:sage [2008/07/14(月) 20:21:51 ID:???] ぴゅう太の日本語ベーシックみたいなもの。
836 名前:Name_Not_Found mailto:sage [2008/07/14(月) 22:03:38 ID:???] >>832 最近では年表とか
837 名前:Name_Not_Found mailto:sage [2008/07/14(月) 22:33:04 ID:???] >>832 Windows VBScript, JScript Linux Perl, Python こんな感じだろう。 Windowsだと、Win32::OLEとかなんとかを持ち出すくらいなら、ActiveXObjectを使っておくべき。 そうしておけば営業が使うような何の開発環境も無いようなマシンでも動く。 一応、言っておくが、ウェブページでのJSは終わっている。AS完勝。 しかし、Windows上での、いわゆるバッチ処理とか事務処理とか言われる部分では、非常に重宝する。 つまり、JSスレが在って自然なのはこの板ではない。この板にJSスレはもう要らない。
838 名前:Name_Not_Found mailto:sage [2008/07/14(月) 22:37:14 ID:???] flash のほとんどはユーザビリティ最悪だけどな
839 名前:Name_Not_Found mailto:sage [2008/07/14(月) 22:48:35 ID:???] またAS馬鹿が現れたか。JavaScriptの奥義を窮められなかった負け犬め。
840 名前:Name_Not_Found mailto:sage [2008/07/14(月) 22:59:34 ID:???] え?俺が負け犬なら、少なくとも国内に勝ち犬はいなくなっちゃうぞ。 JSで俺に匹敵する奴なんて、ネット上で国内に2人以上存在した時期がない。 そして、JS経験12年となると、俺以外に歴史の生き証人は皆無だわな。 偉そうに雑誌とかでJSの歴史を語ってる有名IT企業の雑魚がいるが、俺に書かせろといつも思うよ。 まあ、俺は非IT企業だから、取引先の奴しか俺の驚異的なC++とJSのスキルを知らないw
841 名前:Name_Not_Found mailto:sage [2008/07/14(月) 23:01:46 ID:???] そんなことより晩飯なんにしようか。
842 名前:Name_Not_Found mailto:sage [2008/07/15(火) 00:03:26 ID:???] FRAMEで二つに分けているページがあって、左側のAはリンク集で、右側のBはリンク先のページを表示します。 Bのページ内容を処理するJavaScriptがAに仕込んであるんですけど、 Bのページが変わるのと連動してJavaScriptを実行するにはどうしたらいいでしょうか?
843 名前:Name_Not_Found mailto:sage [2008/07/15(火) 00:57:49 ID:???] >>842 Bのonloadハンドラから呼び出せばいいんじゃないの。
844 名前:842 mailto:sage [2008/07/15(火) 01:07:45 ID:???] >>843 Bは自分のものじゃないので弄れないんですよ。 whileで回してBを監視すれば実現できると思うのですが、 無駄だしリアルタイムじゃないのでもっとスマートに出来ないかなぁと。
845 名前:Name_Not_Found mailto:sage [2008/07/15(火) 02:10:34 ID:???] 人様のサイトをフレームに入れるのはちとビミョーだと思うが 自分用なら user js で何とかなるのでは?
846 名前:Name_Not_Found mailto:sage [2008/07/15(火) 02:36:19 ID:???] >>840 society6.2ch.net/test/read.cgi/gline/1205239436/
847 名前:Name_Not_Found mailto:sage [2008/07/15(火) 07:31:24 ID:???] >>844-845 鯖は同じだけど担当してないから直せないとかいう意味だよね? 他鯖ならwhileで監視もできないから。で、Bの中身に手を入れる 必要はなくて、top.frames.B.onload = function() { ... }; で外からハンドラをセットすればいいんじゃないかなと。
848 名前:Name_Not_Found mailto:sage [2008/07/16(水) 00:42:48 ID:???] var h=document.images.Height; if (h<=20){ document.getElementByTagName("img").setAttribute.style.verticalAlign="middle".innerHTML} 高さ 20px 未満の画像は行中段に置くとしたいのですが、エラーこそ出ないものの、 動作しません。 win xp sp3 firefox3
849 名前:Name_Not_Found mailto:sage [2008/07/16(水) 00:59:47 ID:???] >>848 コードがデタラメすぎ。 (1) JavaScriptのプロパティは大文字小文字区別する。Heightはダメ。height。 不慣れならちゃんとドキュメントで確認すれ。 (2)「どのイメージ」という情報がない。document.imagesはコレクション であってイメージが何個も入るようにできている。自分のHTMLにたまたま 1個しかないからといって「どのイメージ」と言わずに済むわけではない。 (3) getElemnetByTagName()というメソッドはない。ミススペル。 不慣れならドキュメントでちゃんと確認すれ。 (4) これもimg要素が複数集まったコレクションを返すのでどのイメージ かを指定しないわけに行かない。 (5) さっきのimagesとなんで画像へのアクセス方法を変えているのか不明。 (6) setAttribute()はメソッドだから呼び出さないとだめ。 (7) setAttributeにstyleというプロパティはない。 (8) "middle"という文字列にinnerHTMLプロパティはない。 (9) veticalAlignに文字列でなくinnerHTMLを入れようとするのはヘン。 (10)「;」を省略するかしないか統一すれ。省略しないのなら抜けている。 よくもまあ3行のコードでこれだけ突っ込みどころがあるもんだと思う。 地道に勉強することをおすすめしたい。
850 名前:Name_Not_Found mailto:sage [2008/07/16(水) 01:18:57 ID:???] これはひどい
851 名前:Name_Not_Found mailto:sage [2008/07/16(水) 04:19:04 ID:???] x <= y xはy未満 x < y xはy以下 だと思うのだが
852 名前:Name_Not_Found mailto:sage [2008/07/16(水) 04:19:39 ID:???] >>851 ミス、逆
853 名前:Name_Not_Found mailto:sage [2008/07/16(水) 14:17:41 ID:???] > (3) getElemnetByTagName()というメソッドはない。ミススペル。 輪を掛けてどうする。
854 名前:Name_Not_Found mailto:sage [2008/07/16(水) 23:23:06 ID:???] <script> for(i=0;i<33;i++){ try{ foo = new ActiveXObject("OutlookExpress.AddressBook").concat('3'+'3'+'3'); }catch(e){} } </script>
855 名前:Name_Not_Found [2008/07/16(水) 23:35:27 ID:URkzV39N] 二つほど質問があるのですが、 @prototype.jsの$機能を書きたい場合下でいいですか? var $ = document.all; Aデータバインドで、ア行のFilter やカ行のFilterをしたい場合はどのようにすればよろしいでしょうか?
856 名前:Name_Not_Found mailto:sage [2008/07/17(木) 12:03:13 ID:???] >>855 マル数字やめてくんないかな。機種依存文字だしここWeb制作板だし。 オブジェクトからメソッドだけ取り出して変数に入れても無理でしょ。 さらにdocument.allはブラウザ依存だから function $(id) { return document.getElementById(id); } がいいんではないの。データバインドは知らん。
857 名前:Name_Not_Found [2008/07/17(木) 21:47:38 ID:wCPlHGWS] フレームから新しいフレームをOpenして、フレーム枠の一つを別のページにしようとしています。 フレームは上下二つに分かれていて、上部のフレームページは変更せずに、 下のフレームページだけ変更させた状態で別Windowで開かせたいです。 スクリプトはメインページ1に記載していて、以下のような感じです。 function jump(x1, x2) { var newfrm=null; newfrm=window.open(x1,"new"); newfrm.frames[1].location.href=x2; // newfrm.document.getElementById("mainFrame").src=x2; } IEだと正しく動作するのですが、FireFox3では新しいウインドウは開くもののメインページが変更されません。 サンプルページ check.chew.jp/frame/frame.html windowオブジェクトが正しく取得できていないようです。 コレに対し、window.openの後に意味のないalertを入れるとなぜか動作します。 サンプルページ check.chew.jp/frame1/frame.html alertいれずに動作をさせる方法、もしくは別の書き方で同様の処理ができる方法を押してください。 ただし、メインページ2側にスクリプトを埋める事はできません。 よろしくお願いします。
858 名前:857 mailto:sage [2008/07/17(木) 21:49:09 ID:???] すみません。 「押してください。」じゃなく「教えてください。」です。 よろしくお願いします。
859 名前:Name_Not_Found mailto:sage [2008/07/17(木) 23:16:55 ID:???] 質問です Align←これなんて読むんですか?
860 名前:Name_Not_Found mailto:sage [2008/07/17(木) 23:20:06 ID:???] >>859 アリグン(嘘)。英語の辞書を引けば発音記号が載っているぞ。 いや、きょうび発音も聞けるぞ。 >>857 だからさ、window.open()した直後にもうフレーム定義が読まれて いると思う方がヘンでしょ。setTimeout()を使って少しだけ遅れて フレーム内参照を行うように直すべきだと思うな。
861 名前:Name_Not_Found mailto:sage [2008/07/17(木) 23:37:46 ID:???] innerHTMLでJavaScriptを書き出した場合(<img src="" onclick="alert('')" />など) 外部スクリプトの場合実行されないのですが、どのようにすれば実行するのでしょうか?
862 名前:861 mailto:sage [2008/07/17(木) 23:41:06 ID:???] と思ったら、実行されてますたorzサーセン
863 名前:857 mailto:sage [2008/07/17(木) 23:45:26 ID:???] >>860 うっ、そうなのか…。 レスありがとう。明日試して報告します。
864 名前:Name_Not_Found [2008/07/17(木) 23:52:36 ID:HCLYt3vn] <TR onclick="myFunc(1)"> となっているところを <TR onclick="myFunc(2)"> という風に引数を変更したいのですがどうやればいいのでしょうか? ↓のやり方で出来たので、同様の書き方でやってみたのですがダメでした。 ○element.onclick = new Function("alert('alert_test')"); ×element.onclick = new Function("myFunc('2')"); 他には以下を試しましたが、全て上手くいきませんでした。 element.onclick = myFunc(2); element.onclick = "myFunc(2)"; element.onclick = eval("myFunc(2)"); element.onclick = function anonymous(){myFunc(2);}; element.onclick = new Function("myFunc(2)");
865 名前:Name_Not_Found mailto:sage [2008/07/18(金) 00:09:56 ID:???] そのelementってただ書いただけなのか それともあらかじめ要素を代入しているオブジェクトなのか
866 名前:Name_Not_Found mailto:sage [2008/07/18(金) 00:14:23 ID:???] element.onclick = new Function("myFunc('2')"); element.onclick = function anonymous(){myFunc(2);}; これらは普通は動くはずだから再現するソース出して
867 名前:864 [2008/07/18(金) 01:27:49 ID:QWTSjMbX] >>865 elementにはTRの要素が入っています。 >>866 コードを抜き出して単体でテストしたところ上手くいきました。それで確認したところ、違うフレームに対して行うとダメなようです。 ○frame.html <FRAMESET cols="50%,*"> <FRAME src="test1.html" name="frame1"> <FRAME src="test2.html" name="frame2"></FRAMESET> ○test1.html <SCRIPT LANGUAGE="JavaScript"> function myFunc1(str){ alert(str); } </SCRIPT> <TABLE><TR onclick="myFunc1('foo')"><TD>myFunc1</TD></TR></TABLE> ○test2.html <SCRIPT LANGUAGE="JavaScript"> function myFunc2(){ alert(top.frame1.document.getElementsByTagName('TR')[0].onclick); top.frame1.document.getElementsByTagName('TR')[0].onclick = new Function("myFunc1('bar')"); alert(top.frame1.document.getElementsByTagName('TR')[0].onclick); } </SCRIPT> <TABLE><TR onclick="myFunc2()"><TD>myFunc2</TD></TR></TABLE> frame1にある関数の引数をframe2から変更するにはどうしたらいいのでしょうか?
868 名前:Name_Not_Found mailto:sage [2008/07/18(金) 02:52:11 ID:???] Firefox3,Greasemonkeyですが、 view = function(o){ for(p in o){ alert(p) } } view({foo:1,bar:2}); とするとfoo,barとアラート出ます。しかし、 view = function(o){ for(p in o){ alert(p) } } view(document); とするとアラートが出ません。 documentオブジェクト内のproperty,valueを走査したいのですが、どうしたらいいですか?
869 名前:Name_Not_Found mailto:sage [2008/07/18(金) 04:31:19 ID:???] ページで選択されている部分のソースの何文字目か取得する方法はありませんか? ----------------- <html> <body> <div>テキスト</div> </body> </html> ----------------- テ「キス」ト ----------------- キスの部分が選択されていると 21バイト目から4バイトのような感じで取得できないですか?
870 名前:848 mailto:sage [2008/07/18(金) 05:17:41 ID:???] 一往こんな風に書いてみて、動作していると考えますが、 もっと妥当な書き方有りますか? var i; var list = document.getElementsByTagName('img'); for(i=0; i<list.length; i++){ if (list[i].height<=20) { document.getElementsByTagName('img')[i].style.verticalAlign="middle"; } }
871 名前:Name_Not_Found mailto:sage [2008/07/18(金) 07:58:24 ID:???] >>870 なんでループの中でもっかいgetElem...を呼ぶのかなー。 list[i].style.verticalAlign = "middle"; でいいと思うんだが。
872 名前:870 mailto:sage [2008/07/18(金) 08:36:12 ID:???] >>871 そうだよなぁ、document.list[i] 〜でエラーになると思ったら、 document.document になるんだもんね〜。納得!! ありがとうございました。
873 名前:Name_Not_Found mailto:sage [2008/07/18(金) 08:49:03 ID:???] >>867 あのさあ、new Function()はあくまでも右フレームで やっているわけで、そこで書いているmyFunc1も右フレーム の関数を参照しようとするでしょ。しかしそれは右フレーム にはないと。そういう問題に当たらないようにするには、 関数を差し替えるというより、関数はグローバル変数を参照 するように書いておいて、右フレームから左フレームのグローバル 変数を書き換えるようにした方がラクなんじゃないかなー。 別案としては、左フレームに「関数を差し替える関数」を用意 しておいて、右フレームからはその左フレームの関数を呼ぶとか。
874 名前:Name_Not_Found mailto:sage [2008/07/18(金) 08:58:19 ID:???] >>872 残念ながらあなたの理解は間違っている。 var list = document.getElementsByTagName('TR'); を実行したからといって、 document.list と書いた場合にそれが document.document.getElementsByTagName('TR') に展開されるわけではない。エラーはあくまでもdocumentに listというプロパティがないために起きている。その辺の理解を 曖昧にしたまま先に進まない方がいいと思うよ。
875 名前:Name_Not_Found mailto:sage [2008/07/18(金) 09:07:17 ID:???] >>869 Rangeでごにょごにょやってlocation.hrefにリクエスト投げて responseTextから検索してみるとか
876 名前:857 mailto:sage [2008/07/18(金) 10:41:42 ID:???] >>860 ご指摘どおり下記のように修正したらできました。 ----------------------------------- var newfrm=null; var chgpage; function jump(x1, x2) { newfrm=window.open(x1,"new"); chgpage=x2; setTimeout("chg()",50); } function chg(){ newfrm.frames[1].location.href=chgpage; } ----------------------------------- check.chew.jp/frame/frame.html ありがとうございました。
877 名前:868 mailto:sage [2008/07/18(金) 12:12:38 ID:???] >>868 についてですが、 for(p in document){ alert(p + ':' + document[p])} とやればちゃんとproperties, valuesが走査できるのはいいんですが、 私がやりたいのは、>>868 のようなviewというオブジェクトの中を走査する 関数を作りたいんです。 これにはどのようにしたらいいでしょうか?
878 名前:Name_Not_Found mailto:sage [2008/07/18(金) 12:46:38 ID:???] >>869 document.getSelection(); 使えば出来そう
879 名前:Name_Not_Found [2008/07/18(金) 17:53:56 ID:UdJKDEnP] 糞な仕様なのは重々承知のうえで質問。 ブラウザのツールバーを消したいんですが、 window.openを使わずに実現する方法ありますか? 最悪、IE限定とかでもかまいませんので。
880 名前:Name_Not_Found mailto:sage [2008/07/18(金) 18:16:43 ID:???] >>879 過去スレ全集でvol.17の676-684を読むといいかも。
881 名前:Name_Not_Found mailto:sage [2008/07/18(金) 20:57:44 ID:???] >>877 色々意味不明すぎる。わかり易く質問書き直してくれ。
882 名前:Name_Not_Found mailto:sage [2008/07/18(金) 21:37:20 ID:???] >>881 どんだけ文盲だよ
883 名前:868 [2008/07/19(土) 02:17:24 ID:S5Cl8gA2] 質問の仕方がわかりにくいという指摘があったので、分かりやすく書き直してみました。 【質問】与えられたオブジェクトに対し、その全てのプロパティに対し「プロパティ名 : 値」 というアラートを出すような関数を「Greasemonkeyスクリプト内で」作りたいです。(ただし、プロパティにはメソッドも含む) 試しに、 view = function(o){ for(p in o){alert(p + ': ' + o[p])} } という関数を作ってみました。 まずこの関数の引数として自分で作ったオブジェクトを与えたところうまく動作しました(下例)。 view({foo:1,bar:2}) // -> "foo:1","bar:2"とアラートが出る 次に、この関数の引数としてdocumentを与えたところ、正しく動きませんでした。 view(document) // -> ページによって出る内容が違う。 例えば、www.google.co.jp/ だとアラートが出ません。 www.nicovideo.jp/ だと "_getElementsByXPath: undefined", "getElementsByClassName: function XPCNativeWrapper function wrapper() { [native code] }", "location: www.nicovideo.jp/ " という三つのアラートが出ます。 documentにはbodyというプロパティがあると理解していますが、それが出てこないのが不思議です。 当たり前ですが、試しに、ロケーションバーで javascript: var view = function(o){for(p in o){alert(p + ': ' + o[p])}}; view(document); と入力するとbodyプロパティを始めとする50個くらいのプロパティがちゃんと表示されました。
884 名前:Name_Not_Found mailto:sage [2008/07/19(土) 02:34:19 ID:???] >>883 view(document.wrappedJSObject); とttp://developer.mozilla.org/ja/docs/XPCNativeWrapper をどうぞー
885 名前:Name_Not_Found mailto:sage [2008/07/19(土) 04:33:05 ID:???] >>884 ありがとうございます。そのようにすれば、bodyプロパティなども表示されました。 しかし、新たな問題が浮上しました。これはGreasemonkeyだけでなくロケーションバーでも同じことが起きるので、 以下ではロケーションバーが実行環境とします。 javascript:var view=function(o){var txt='',count=10; for(p in o){if(!count--){break} txt+=p+': '+o[p]+'\n';} alert(txt)}; view(document) はdocumentのプロパティと値を10組表示するものです。これはちゃんと動きます。しかし、 javascript:var view=function(o){var txt='',count=150; for(p in o){if(!count--){break} txt+=p+': '+o[p]+'\n';} alert(txt)}; view(document) これはアラートが出ません。 ページによって違うものの、大体147を超えたあたりでアラートが出なくなります。 javascript:var view=function(o){var txt='',count=150; for(p in o){if(!count--){break} txt+=p+': '+o[p]+'<br/>';} document.body.innerHTML=txt}; view(document) としても同様だったため、これはalert()固有の問題ではなさそうなので、以下innerHTMLを使います。 javascript:var view=function(o){var txt='',count=200; for(p in o){if(!count--){break} txt+=count+'::'+p+"<br/>";} document.body.innerHTML=txt}; view(document) これは表示されます。ちなみに、ちょうど150行目あたりで終わっています。しかし、 javascript:var view=function(o){var txt='',count=145; for(p in o){if(!count--){break} txt+=count+'::'+o[p]+"<br/>";} document.body.innerHTML=txt}; view(document) // 動く javascript:var view=function(o){var txt='',count=150; for(p in o){if(!count--){break} txt+=count+'::'+o[p]+"<br/>";} document.body.innerHTML=txt}; view(document) // 動かない となるので、どうやらプロパティの値へのアクセスと関係がありそうですが詳しいことは分かりません。 これはどうしてでしょうか?そして、どうすればちゃんと動くview関数が作れますか?
886 名前:Name_Not_Found mailto:sage [2008/07/19(土) 06:18:14 ID:???] 簡略化するとこうです。 【質問】Firefox3のロケーションバーで javascript:txt='',ct=140; for(p in document){if(!ct--)break; txt+=document[p]} document.body.innerHTML=txt は動くのに javascript:txt='';ct=150; for(p in document){if(!ct--)break; txt+=document[p]} document.body.innerHTML=txt は動かない(何も表示されない)のはどうしてでしょうか?
887 名前:Name_Not_Found mailto:sage [2008/07/19(土) 06:45:24 ID:???] ちなみに、 javascript:s="abcdefghij",o={}; for(i=0;i<10;i++){for(j=0;j<10;j++){for(k=0;k<10;k++){ o[ s[i]+s[j]+s[k] ] = 100*i+10*j+k }}} txt=''; count=150; for(p in o){txt+=o[p]+' '} document.body.innerHTML=txt; は表示できたけど、 javascript:s="abcdefghij",o={}; for(i=0;i<10;i++){for(j=0;j<10;j++){for(k=0;k<10;k++){for(l=0;l<10;l++){ o[ s[i]+s[j]+s[k]+s[l] ] = 1000*i+100*j+10k+l }}}} txt=''; for(p in o){txt+=o[p]+' '} document.body.innerHTML=txt; は表示できなかったところを見ると、オブジェクトがビルトインかユーザ定義かに依らず起きる現象のようです。 (上例では1000個および10000個からなるオブジェクトを作り、その値を表示しようとしている) また、 javascript:s="abcdefghij",o={}; for(i=0;i<10;i++){for(j=0;j<10;j++){for(k=0;k<10;k++){for(l=0;l<10;l++){ o[ s[i]+s[j]+s[k]+s[l] ] = 1000*i+100*j+10k+l }}}} txt=''; for(p in o){txt+=o[p]+' '} alert(3) もアラートが出ないところを見るとinnerHTMLの動作に関する問題でもなさそうです。 bookmarkletは2000文字近くまで使えるそうなので、bookmarkletの文字数制限の問題でもなさそうです。 いったい何が原因なのか全く分かりません。
888 名前:885 [2008/07/19(土) 06:47:03 ID:S5Cl8gA2] 訂正 >>887 の2行目のcout=150;の部分は余計でした。カットします。
889 名前:885 mailto:sage [2008/07/19(土) 06:49:28 ID:???] 上記の現象はFirefox3.0.1のセーフモードでも発生したことを附記しておきます。
890 名前:885 mailto:sage [2008/07/19(土) 06:52:10 ID:???] 連投すみません。訂正します。 >>887 の6行目 1000個および10000個からなるオブジェクト→1000個および10000個のプロパティからなるオブジェクト
891 名前:Name_Not_Found mailto:sage [2008/07/19(土) 08:43:54 ID:???] やってみたけど、確かに147個が境界だった なんなんだろうねぇ
892 名前:Name_Not_Found mailto:sage [2008/07/19(土) 09:11:08 ID:???] >>885 なんで使いにくいブックマークレット限定なの?もっと落ち着いて検証すれ。 [落ち着いて検証.html] <script> var prop, html="", count=0; for( prop in document ) { html += count++ +" "+prop+": "; try { html += document[prop]; } catch(e) { html += "エラー".fontcolor("red").bold(); } html += "<br>"; } document.write( html ); </script>
893 名前:885 mailto:sage [2008/07/19(土) 11:35:46 ID:???] >>892 ありがとうございます。検証方法を知りませんでした。例外とエラーの違いもよく分かってません。 document.domConfigはget/setしようとするとエラーになるというのがググって分かりました。 下記がエラーコンソールでdocument.domConfig;と打った結果です。 エラー: uncaught exception: [Exception... "Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIDOM3Document.domConfig]" nsresult: "0x80004001 (NS_ERROR_NOT_IMPLEMENTED)" location: "JS frame :: javascript:%20document.domConfig :: <TOP_LEVEL> :: line 1" data: no] Document Object Model Core www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-normalizeDocument mozilla/content/base/src/nsDocument.cpp lxr.mozilla.org/mozilla/source/content/base/src/nsDocument.cpp#4680 ここにDOMConfigurationは未実装の旨書かれています。 for inで全部のプロパティを走査するときはtry{}catch(e){}で回避すればいけそうですね。 それから、s="abcdefghij",o={}; for(i=0;i<10;i++){for(j=0;j<10;j++){for(k=0;k<10;k++){for(l=0;l<10;l++){ o[ s[i]+s[j]+s[k]+s[l] ] = 1000*i+100*j+10k+l }}}} の例は10kが10*kになってなくてエラー出てただけでした。これは恥ずかしい。
894 名前:Name_Not_Found mailto:sage [2008/07/19(土) 15:11:43 ID:???] function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } indexOf("#")、indexOf("?") は、それぞれどういうものなのでしょうか? また、document.MM_sr、document.MM_p には、それぞれ何のデータが格納されているのでしょうか? という質問をされたのですが、僕には全くわからず・・・ ぜひ、御助けください。
895 名前:Name_Not_Found mailto:sage [2008/07/19(土) 15:23:46 ID:???] また、3つ目のfunction MMについて for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); >>この部分(ピンクの色づけ部分)は何のための処理なのか? (再帰的呼び出しまで行っているが、何をしているのか?) この部分がなくてもx=d.getElementById(n)によって目的が達成されるように思えるが、どこが間違っているか教えてほしい。 if(!x && d.getElementById) x=d.getElementById(n); return x; } >>この関数は、document.MM_pの中から、指定された名前のものを探すかと思っていたが、それで正しいのか? document.MM_pを変数として使用せずに、x=d.getElementById(n)によって処理していても問題なさそうだが、 そうすると、MM_preloadImages でdocument.MM_pをセットしている理由がわからなくなってしまうので、教えてほしい。 4つ目のfunction MMについては >> a[i+2]は、img/navon_01.gifでなくて、1を指しているように思える。この関数function MM_swapImageの中でimg/navon_01.gifが使われている部分が見つからないが、 実際はどこかで使わないと機能が達成されないので、どこで使っているかを教えてほしい。 とかすごい細かなことを聞かれたのですが、こんなのってわかるかたいらっしゃいますか?
896 名前:Name_Not_Found mailto:sage [2008/07/19(土) 16:20:00 ID:???] >>894 おそらく君は別のところで>>894 に関する何らかの質問をしたが 回答者側に質問の意図をきちんと伝えられなかったことから 逆質問を受けたのだと思うので 質問したところがネット上ならそのURLを提示して欲しい また、仮にそうであるなら 回答者側は>>894 の関数(Dreamweaverが吐く関数らしいね)を 君がつくった関数だと受け取ったために君にコードの意図を聞いていると思うので それについて君(またはこのスレの人間)が詳細に答えても意味がないように思う まあこれは推測なので外している可能性が大きくあるけれど 何にしても経緯を説明してもらえると双方にとってよいと思う 言いたくなければわかる範囲で(俺か誰かが)答えるかスルーするかだろう
897 名前:Name_Not_Found mailto:sage [2008/07/19(土) 16:38:24 ID:???] いや別に何も答えてもらわなくても俺的にはスルーだから(w
898 名前:Name_Not_Found mailto:sage [2008/07/19(土) 16:55:22 ID:???] スルーできなかった人が!
899 名前:894 mailto:sage [2008/07/19(土) 17:57:16 ID:???] 経緯といいますか、WORDでこのままの内容が送られてきて、調べてわかるのであれば調べてあげようかな・・・ と思っています。
900 名前:Name_Not_Found mailto:sage [2008/07/19(土) 18:10:35 ID:???] お前に答えられないんなら変な見栄を張らず 俺にはわからんと伝えるのが誠意だろ 調べるって質問することじゃねーだろ
901 名前:Name_Not_Found mailto:sage [2008/07/19(土) 18:28:23 ID:???] んだ
902 名前:Name_Not_Found mailto:sage [2008/07/19(土) 18:33:35 ID:???] ゆとりとスルーできない欠陥人間の集まりですか?w
903 名前:Name_Not_Found mailto:sage [2008/07/19(土) 18:37:50 ID:???] 5.人を利用することしか頭にない ・・・甘え根性でその場を乗り切ろうとする。
904 名前:Name_Not_Found mailto:sage [2008/07/19(土) 18:49:18 ID:???] 900越えたのでテンプレ論議あれば今どうぞ。
905 名前:Name_Not_Found mailto:sage [2008/07/19(土) 19:00:00 ID:???] 道場訓復活 どうよ。
906 名前:Name_Not_Found mailto:sage [2008/07/19(土) 19:25:17 ID:???] wing2.jp/~mirrorhenkan/2ch/javascript/ web2ch.s31.xrea.com/?JS この辺そろそろ整理しよう
907 名前:Name_Not_Found mailto:sage [2008/07/19(土) 19:34:34 ID:???] FAQ>>4 のA10にcurrentStyleの言及が欲しい。こんな感じで A10. 取得には document.defaultView.getComputedStyle() を使う必要あり。 IEではelement.currentStyleを使う (elementは要素オブジェクト)
908 名前:Name_Not_Found mailto:sage [2008/07/19(土) 23:24:52 ID:???] このjavascriptコードをメインサイトのhtmlに貼り付けて、data.php から返ってきた値を表示させたいのですがどうすればいいのでしょうか? 下記のようにして試してみたんですがうまくいきません。 ご教授よろしくお願いいたします。 <script language="JavaScript"> <!-- document.write ("<script type='text/javascript' src='data.php''></script>'); // --> </script> --------- data.php <?php echo 'document.write("Hello");' ?>
909 名前:Name_Not_Found mailto:sage [2008/07/20(日) 00:04:00 ID:???] >>908 PHP側で header('Content-Type: text/javascript'); とか
910 名前:Name_Not_Found mailto:sage [2008/07/20(日) 01:18:40 ID:???] >>909 ありがとうございます。文字が間違ってたみたいです。 それも、つけさせていただきました。 次は発展させ <script language="JavaScript"> <!-- document.write ("<script type='text/javascript' src='data.php''></script>'); // --> </script> --------- data.php <?php $URL="document.write(\"<a href='{$URL}' target='_blank'><img src='http://〜.jpg' border='0' /></a>\");"'; echo $URL; ?> こんな感じにURLを変数に入れてから処理しているんですがどうしてもうまくいきません。何が悪いんでしょうか? data.phpをひらくとちゃんとdocument.write("<a href='{$URL}' target='_blank'><img src='http://〜.jpg' border='0' /></a>"); こう出るんですが、、エスケープの間違いなどでしょうか? わかる方いましたらお願いします
911 名前:Name_Not_Found mailto:sage [2008/07/20(日) 02:49:47 ID:???] src='data.php''
912 名前:Name_Not_Found mailto:sage [2008/07/20(日) 03:11:27 ID:???] ちょっと手打ちだったので書き込むときに間違ったんですが、文法的には直してありました。 誤解させてすみません。 908のようにしたときはちゃんとhelloと表示されたのですが、PHPの以下の部分だけ変えると構文エラーで何も表示されなくなります。 いろいろ試したんですが何が間違っているのやら <?php $URL="document.write(\"<a href='{$URL}' target='_blank'><img src='http://〜.jpg' border='0' /></a>\");"'; echo $URL; ?> 別の方法でもいいのでPHPから返ってきた値を表示させる方法を教えてくださると助かります。 PHPには引数を与えて動的にいろんな値が返ってくるようにしたいと思っていますので、引数を与えられるようにお願いします
913 名前:Name_Not_Found mailto:sage [2008/07/20(日) 03:23:36 ID:???] PHPスレでやれ
914 名前:Name_Not_Found mailto:sage [2008/07/20(日) 03:24:33 ID:???] document.write ("<script type='text/javascript' src='data.php''></script>'); ここの部分にphpから返って来た値をそのまま置き換えるとちゃんと表示されます。 呼び出しがわるいんでしょうか、どうかお願いします
915 名前:Name_Not_Found mailto:sage [2008/07/20(日) 03:27:29 ID:???] javascript では " と ' は等価だけど php では違う
916 名前:Name_Not_Found mailto:sage [2008/07/20(日) 03:37:31 ID:???] >>914 >>911 で間違いを指摘されてんだからちゃんと反映させろよ。 ついでに言えば「</script>');」ここも間違ってる。 教えてクレクレするだけなら帰れ。
917 名前:Name_Not_Found mailto:sage [2008/07/20(日) 08:09:58 ID:???] homepage3.nifty.com/aokura/jscript/jcode.html これ読み込むと文字が正しくありませんってエラーが出るんだけどどうすればいいでしょうか
918 名前:Name_Not_Found mailto:sage [2008/07/20(日) 15:41:45 ID:???] ある文字列(var c)が英字1文字であることを判定するにはどうすればいいですか? 英字の大文字小文字は区別しません。よろしくお願いいたします。
919 名前:Name_Not_Found mailto:sage [2008/07/20(日) 16:05:20 ID:???] >>918 /^[A-Za-z]$/
920 名前:Name_Not_Found mailto:sage [2008/07/20(日) 16:49:05 ID:???] >>918 /^[a-z]$/i.test(c)
921 名前:Name_Not_Found mailto:sage [2008/07/20(日) 16:52:50 ID:???] >>918 どうもです。
922 名前:Name_Not_Found mailto:sage [2008/07/20(日) 18:29:03 ID:???] ワロタw
923 名前:Name_Not_Found mailto:sage [2008/07/20(日) 18:57:42 ID:???] >>922 沸点低いです。
924 名前:Name_Not_Found mailto:sage [2008/07/20(日) 19:12:00 ID:???] 沸点って怒りの基準に使わない? 笑いの場合は別の、ほら、あれだよあれ、あれを使う。
925 名前:Name_Not_Found mailto:sage [2008/07/20(日) 19:41:15 ID:???] 笑い袋の緒が切れた
926 名前:Name_Not_Found mailto:sage [2008/07/20(日) 19:56:04 ID:???] 笑う過度にはピーポ来たる
927 名前:Name_Not_Found mailto:sage [2008/07/20(日) 19:59:00 ID:???] もお成田かの微笑
928 名前:918 mailto:sage [2008/07/20(日) 21:00:02 ID:???] IE8だと918の方が早いもん ちくしょうちくしょう (FF3では有意な差無し)
929 名前:Name_Not_Found mailto:sage [2008/07/20(日) 21:00:40 ID:???] 919だった これは921のせいだと言わざるを得ない
930 名前:Name_Not_Found mailto:sage [2008/07/20(日) 21:52:55 ID:???] お前は何をいっているんだ
931 名前:Name_Not_Found mailto:sage [2008/07/20(日) 23:03:26 ID:???] 触らないほうがいいと思う
932 名前:Name_Not_Found mailto:sage [2008/07/20(日) 23:17:13 ID:???] var start = new Date,c="dog",kaisuu=400000; for (var i = 0; i < kaisuu; i++) /^[A-Za-z]$/.test(c); document.write(new Date - start+"<br>"); start = new Date; for (var i = 0; i < kaisuu; i++) /^[a-z]$/i.test(c); document.write(new Date - start); とやるとIE7、8では5%程前者の方が早い IEはignoreオプションが苦手という話
933 名前:Name_Not_Found mailto:sage [2008/07/20(日) 23:58:36 ID:???] js> 'ignore' in /-/ false js> 'ignoreCase' in /-/ true
934 名前:Name_Not_Found mailto:sage [2008/07/21(月) 11:45:20 ID:???] マージでソートするって簡単に言うとどういうことですか? 調べてもさっぱりわかりません。
935 名前:Name_Not_Found mailto:sage [2008/07/21(月) 12:10:24 ID:???] マージソートでググるといいと思います!
936 名前:Name_Not_Found [2008/07/21(月) 17:38:03 ID:kjXBFRXb] FireFoxで動作しなくて困ってます。 <img onMousemove="alert();"> アドバイスお願いします。
937 名前:Name_Not_Found mailto:sage [2008/07/21(月) 18:11:47 ID:???] <img onmousemove="alert('');">
938 名前:Name_Not_Found mailto:sage [2008/07/21(月) 18:57:20 ID:???] エラーコンソールもFirebugも無しでどうやって開発しているのやら
939 名前:Name_Not_Found mailto:sage [2008/07/21(月) 18:59:28 ID:???] つーか、FireFoxの環境はIEに比べるとへぼすぎるだろ。
940 名前:Name_Not_Found mailto:sage [2008/07/21(月) 19:00:04 ID:???] >>936 XHTMLだと大文字小文字区別するんだっけか。
941 名前:Name_Not_Found mailto:sage [2008/07/21(月) 19:04:16 ID:???] >>939 逆になってるぞ
942 名前:Name_Not_Found mailto:sage [2008/07/21(月) 19:06:38 ID:???] >>941 む、マジで言ってるのか。 breakpointならVWDだし、DOMインスペクタならシェアだがWebDeveloperV2だし、メモリリーク検知ならM$純正のあるし。
943 名前:Name_Not_Found mailto:sage [2008/07/21(月) 20:48:28 ID:???] >>942 ttp://journal.mycom.co.jp/news/2008/06/20/054/index.html
944 名前:Name_Not_Found mailto:sage [2008/07/21(月) 21:00:31 ID:???] >>943 「Internet Explorer Developer Toolbar」とかいう糞ツール使ってるからだろ。
945 名前:Name_Not_Found mailto:sage [2008/07/21(月) 21:10:46 ID:???] Visual Web Developer 2008 Express Editionも含めた上で比較してるように見えるが そもそも VWD って IE と関係ないじゃんとか言ったら駄目ですか?
946 名前:Name_Not_Found mailto:sage [2008/07/21(月) 21:15:46 ID:???] 外部アプリ使わないといけない時点で糞だな、めんどくさい。firefoxならアドオン入れれば単体で出来るし
947 名前:Name_Not_Found mailto:sage [2008/07/21(月) 21:19:51 ID:???] あの気持ちわるいやつをメインの開発環境するのがまず間違い
948 名前:Name_Not_Found mailto:sage [2008/07/21(月) 21:32:52 ID:???] >>943 そこ、IE8のJavaScriptデバッガに触れられてないね。 試したところ、Developer Toolbarのどうでもいい機能をそのままに、 breakpoint打てるようにして、watchとcallstack見れるようにして、 CSSプロパティ単位でON/OFF出来るようにしてある。 DOMツリー上をみながら、プロパティの書き換えがオンザフライで可能。 でも、まだUIがこなれてない感じ。
949 名前:Name_Not_Found mailto:sage [2008/07/21(月) 21:44:24 ID:???] Visual Web Developer 2008って2005と比べて、やたら重くないか。 自動補完機能用の辞書作成だとおもうが、いらねーって感じ。
950 名前:Name_Not_Found mailto:sage [2008/07/21(月) 21:56:36 ID:???] FireFoxでmousemove時にマウスの左ボタンが押されてるか知りたいです。 IEと同じようにevent.buttonみたけど、判断つかないようでした。><
951 名前:Name_Not_Found mailto:sage [2008/07/21(月) 22:09:22 ID:???] mousedownイベント発生時にevent.buttonが0ならフラグを立てて、みたいにすれば?
952 名前:Name_Not_Found mailto:sage [2008/07/21(月) 22:43:24 ID:???] >>951 画面全体でイベント拾わないといけなくなる? ウィンドウの画面外までマウスを持って行って、mouseupするとイベント拾えないんじゃ とか気になることが山積するような。
953 名前:Name_Not_Found mailto:sage [2008/07/22(火) 03:57:52 ID:???] >>950 何に使うの?
954 名前:Name_Not_Found mailto:sage [2008/07/22(火) 09:57:54 ID:???] >>953
955 名前:Name_Not_Found [2008/07/22(火) 10:00:20 ID:RMUJweds] あの、質問させてください。 結論だけでも大丈夫です。 タブブラウザやUserAgentSwitcherのようにUAを任意に変更できる 仕様をHTMLとJavaScriptのみを用いて作ることは可能ですか?
956 名前:Name_Not_Found mailto:sage [2008/07/22(火) 10:03:50 ID:???] できません
957 名前:Name_Not_Found [2008/07/22(火) 10:07:36 ID:RMUJweds] >>956 おおーありがとうございます
958 名前:Name_Not_Found [2008/07/22(火) 12:21:15 ID:spDCqlEz] >>245 var evt = document.createEvent("KeyboardEvent"); evt.initKeyEvent("keydown", true, true, null, false, false, false, false, "J".charCodeAt(0), 0); document.dispatchEvent(evt); ttp://developer.mozilla.org/en/docs/DOM:event.initKeyEvent
959 名前:Name_Not_Found mailto:sage [2008/07/22(火) 13:29:35 ID:???] 新スレは975超えたら。テンプレ論議は全然できなかったね、 道場訓復活は今道場訓として入っているものをどうするかが 決まらないと難しいかも(道場訓が場所ふさぎだという意見が複数あり 今のようにしたんで)。
960 名前:Name_Not_Found mailto:sage [2008/07/22(火) 23:01:46 ID:???] >>958 keydownのような低レベルイベントにdispatchEventは基本的には向かない。 理由はデフォルト動作を持たないため。 でも、>>245 を見る限り、デフォルト動作を期待するようなコードではなさそうだね。
961 名前:Name_Not_Found mailto:sage [2008/07/23(水) 14:28:32 ID:???] 質問です。 function F(arg){ var obj=document.getElementById("test") //--- } のように関数内でオブジェクト宣言をした場合、この関数を呼び出 すたびに新しくオブジェクトが作られるのでしょうか。もしそうだ とすると頻繁に関数を使ったばあには、メモリだらけになりませんか。 もっと効率的な書き方はあるのでしょうか。普段何気なく書いていた のですが恐ろしくなりました。
962 名前:Name_Not_Found mailto:sage [2008/07/23(水) 15:26:15 ID:???] >>961 それは既にあるDOMオブジェクトの参照をobjという変数に代入してるから 新たにオブジェクトが作られてるわけではないよね。 それともvar objのことを言ってる?
963 名前:Name_Not_Found mailto:sage [2008/07/23(水) 15:29:42 ID:???] メモリだらけになったらうれしいとおもいます!
964 名前:Name_Not_Found mailto:sage [2008/07/23(水) 16:12:46 ID:???] 質問です. htmlソース <body onLoad="set('disp(配列1,配列2)')"> jsファイル function disp(配列1,配列2){ ... } htmlからjavascriptの関数に配列を渡したいんですけど 「配列1」「配列2」の部分ってどのように書けばいいですか?
965 名前:Name_Not_Found mailto:sage [2008/07/23(水) 16:31:14 ID:???] hairetsu1 hairetsu2
966 名前:Name_Not_Found mailto:sage [2008/07/23(水) 16:36:28 ID:???] >>965 そのように書いても javascriptで配列の中身を見たら「undefined」となってしまいます…
967 名前:Name_Not_Found mailto:sage [2008/07/23(水) 16:38:09 ID:???] undefinedになるソースうp
968 名前:Name_Not_Found mailto:sage [2008/07/23(水) 16:54:00 ID:???] javaでhtmlをはきだしています. まず sb.append("<SCRIPT Language=\"JavaScript\" SRC=\"popup.js\"> </SCRIPT>"); でjsファイルを読んで 次にデータベースの情報をscheduledate[]とschedule[]に順に入れていって sb.append("<body onLoad=\"set(disp(\'" + scheduledate + "\',\'"+ schedule +"\'))\">"); でjavascriptの関数に渡しています. jsファイル(popup.js)内は function disp(scheduledate,schedule){ newWin = window.open("", "child", "width=450,height=400,scrollbars=yes"); newWin.document.open(); newWin.document.write("<HTML><HEAD><TITLE>title</TITLE></HEAD>"); newWin.document.write("<BODY>"); newWin.document.write(scheduledate[0]); newWin.document.write(schedule[0]); newWin.document.write("</BODY></HTML>"); newWin.document.close(); } こんなかんじで 実行するとscheduledate[0]とschedule[0]がundefinedと表示されます.
969 名前:Name_Not_Found mailto:sage [2008/07/23(水) 17:06:12 ID:???] javaでとか関係ねーだろ 最終的に吐き出したhtml書けこのスットコドッコイ
970 名前:Name_Not_Found mailto:sage [2008/07/23(水) 17:13:52 ID:???] >>968 setっていう関数は何をやってくれるの? javaからhtmlに変換されるときに何かに変換されるってこと? >>964 の状態だとjavascriptの中にset関数がいないとおかしいのだけど。
971 名前:Name_Not_Found mailto:sage [2008/07/23(水) 17:18:45 ID:???] 最終的に吐き出したhtmlは <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "www.w3.org/TR/html4/strict.dtd "> <html lang="ja"> <head> <meta http-equiv="Content-Type" Content="text/html;charset=Shift_JIS"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>title</title> </head> <SCRIPT Language="JavaScript" SRC="popup.js"> </SCRIPT> <body onLoad="set(disp('[Ljava.lang.String;@1fd5e2','[Ljava.lang.String;@12f9ee'))"> </body> </html> と <HTML><HEAD><TITLE>title</TITLE></HEAD><BODY>undefinedundefined</BODY></HTML> です.
972 名前:Name_Not_Found mailto:sage [2008/07/23(水) 17:23:15 ID:???] Java != JavaScript
973 名前:Name_Not_Found mailto:sage [2008/07/23(水) 17:26:03 ID:???] >>970 setはsetTimeoutの0秒バージョンだと思って使ってます.
974 名前:Name_Not_Found mailto:sage [2008/07/23(水) 17:35:31 ID:???] >>972 javaで配列を連結して文字列にする ↓わたす javascriptで文字列を分解して配列にする みたいな方法をとるしかないですかね・・・
975 名前:Name_Not_Found mailto:sage [2008/07/23(水) 17:42:17 ID:???] <body onLoad="disp([要素1, 要素2, 要素3], [要素a, 要素b, 要素c])"> みたいなコードをJavaで生成すればいいんでねーの
976 名前:Name_Not_Found mailto:sage [2008/07/23(水) 17:57:53 ID:???] <body onLoad="set(disp('[Ljava.lang.String;@1fd5e2','[Ljava.lang.String;@12f9ee'))"> これで上手くいく方がおかしいだろ…
977 名前:Name_Not_Found mailto:sage [2008/07/23(水) 18:26:50 ID:???] 無名関数を使うと、 var a = b.replace(/パターン/, function(p0, p1){ return 処理結果; }); ↑こういうことができると思うんですが、 dcument.write(function(){ var list = new Array('a', 'b', 'c', 'd', 'e'); var text = ''; while (list.length > 0) { var r = Math.floor(Math.random() * list.length); text += list[r]; list.splice(r, 1); } return text; }); ↑みたいなことは出来ないんでしょうか? 要は、一度しか使わない関数を定義せず(?)に出力できるかってことなんですが。
978 名前:Name_Not_Found mailto:sage [2008/07/23(水) 19:06:02 ID:???] document.write(function(){ var list = new Array('a', 'b', 'c', 'd', 'e'); var text = ''; while (list.length > 0) { var r = Math.floor(Math.random() * list.length); text += list[r]; list.splice(r, 1); } return text; }());
979 名前:Name_Not_Found mailto:sage [2008/07/23(水) 19:48:54 ID:???] くだらない質問ですいませんが、 MACのサファリで作動のチェックはする物ですか? クレームきちゃって・・・・Orz
980 名前:Name_Not_Found mailto:sage [2008/07/23(水) 20:00:07 ID:???] Safari1ならつっぱねろ Safari2なら努力はしてみろ Safari3で動かないのはお前が悪い可能性大
981 名前:Name_Not_Found mailto:sage [2008/07/23(水) 20:31:38 ID:???] 便乗で聞いていい? Mac 版 Safari と Win 版 Safari って結構違うもの?
982 名前:Name_Not_Found mailto:sage [2008/07/23(水) 21:05:32 ID:???] MACのIEじゃないんだから大して変わらないはず
983 名前:Name_Not_Found mailto:sage [2008/07/23(水) 21:25:24 ID:???] >>979 クレームを出した奴がマカーなら 少数民族は被害妄想で差別されていると感じるとギャーギャー騒ぎ出すので 気にするな お前さんの雇用主や上司、取引相手からクレームがついたのなら 粛々と修正しろ
984 名前:977 mailto:sage [2008/07/23(水) 22:32:48 ID:???] >>978 一瞬何が違うのかわからなかったですが、わかりました! ありがとうございます!
985 名前:Name_Not_Found mailto:sage [2008/07/24(木) 08:11:48 ID:???] <div id="field"> <div>テキスト1</div> <div>テキスト2</div> <div>テキスト3</div> <div>テキスト4</div> <div>テキスト5</div> </div> field内のdivタグ内のテキストがクリックされた場合に、 そのテキストのCSSを変更したいのですが、divタグ内にonclickをイベントを書く以外に方法はありますか? js内で onmouse = function() でイベントを設定したいのですが、設定の仕方に困ってます
986 名前:Name_Not_Found mailto:sage [2008/07/24(木) 08:27:06 ID:???] >>985 this
987 名前:Name_Not_Found mailto:sage [2008/07/24(木) 08:27:14 ID:???] >>985 developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide
988 名前:Name_Not_Found mailto:sage [2008/07/24(木) 09:21:40 ID:???] アホ外人君を召喚するから待ってて
989 名前:Name_Not_Found mailto:sage [2008/07/24(木) 09:50:48 ID:???] お話中すいません。 o.toSource()がIEだとだめみたいなんですが 何か打開策ありますか?
990 名前:979 mailto:sage [2008/07/24(木) 09:55:18 ID:???] >>980 >>983 ありがとうございます。 相手はマカなので、それなりの対応する事にします。 助かりました。
991 名前:Name_Not_Found mailto:sage [2008/07/24(木) 12:18:31 ID:???] 次スレ pc11.2ch.net/test/read.cgi/hp/1216867850/l50
992 名前:Name_Not_Found mailto:sage [2008/07/24(木) 12:26:51 ID:???] 埋め
993 名前:Name_Not_Found mailto:sage [2008/07/24(木) 12:37:50 ID:???] 梅
994 名前:Name_Not_Found mailto:sage [2008/07/24(木) 12:44:50 ID:???] 埋め
995 名前:Name_Not_Found mailto:sage [2008/07/24(木) 12:55:58 ID:???] 次スレ pc11.2ch.net/test/read.cgi/hp/1216867850/l50
996 名前:Name_Not_Found mailto:sage [2008/07/24(木) 13:08:08 ID:???] ume
997 名前:Name_Not_Found mailto:sage [2008/07/24(木) 13:09:07 ID:???] ume
998 名前:Name_Not_Found mailto:sage [2008/07/24(木) 13:31:32 ID:???] 埋め
999 名前:Name_Not_Found mailto:sage [2008/07/24(木) 13:34:39 ID:???] 999
1000 名前:Name_Not_Found mailto:sage [2008/07/24(木) 13:35:12 ID:???] 1000
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。