08/05/29 12:18:51
【質問を書く上で】
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 読め! 続いて過去スレ全集を検索!
08/05/29 12:19:41
【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 読め! 続いて過去スレ全集を検索!
08/05/29 12:20:40
【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 読め! 続いて過去スレ全集を検索!
08/05/29 12:21:56
【主張の対立:他人の嗜好は尊重。損得の議論は歓迎】
・仕様を読む:回答者なら仕様の該当部分は読んでいるべき。質問者でも
仕様を読まずうだうだ書く奴は注意されて当然。読み間違いは生温く指摘。
・英文文書:翻訳の努力を惜しむべからず。 読めないなら和訳を探し、
なければあきらめよう。翻訳サイトを知っている人はうまく誘導してあげて。
・IE専用/アンチIE/クロスブラウザ:「○○は不要」「○○だけであと
は無視」は不毛。質問者が分かって選択していれば尊重する。無知か
らIE専なのは指摘してあげると親切。
・標準準拠 vs 使えればよい:標準はブラウザが変わっても維持される
可能性大。非標準機能も損得を分かった上で使うならよい。
・MS vs アンチMS:MS固有の情報はMSのサイトで見ないと分からないが、
そこだけ見ているとIE専になる。あとは上2件と同様。
・別窓、イベント抑止など:一般には迷惑スクリプトだが質問者に正当
な理由があることも。尋ねて分かってないようなら煽っても可(w
・innerHTML vs DOM:それぞれに長所/弱点があるので理解した上で選
択するべき。一概にどちらは駄目、とは言えない。
・on属性 vs addXXX():ハンドラが1つだけと分かっていればon属性
で簡単にハンドラを設定もあり。上書きが心配ならaddXXX()。
6:まず >>2-5 読め! 続いて過去スレ全集を検索!
08/05/29 12:26:25
【標準規格・リファレンス】
規格を読まずにどうなってるか分からんとか質問しないこと!
まとめサイト
→ URLリンク(web2ch.s31.xrea.com) (消失中)
ECMA-262 ed.3
→ URLリンク(www.ecma-international.org)
→ URLリンク(www2u.biglobe.ne.jp) (和訳)
W3C Document Object Model Technical Reports
→ URLリンク(www.w3.org)
JavaScript 1.5 ガイド / リファレンス (Netscape/Mozilla)
→ URLリンク(developer.mozilla.org) (和訳)
→ URLリンク(developer.mozilla.org)
→ URLリンク(developer.mozilla.org) (和訳)
E4X (ECMAScript for XML)
→ URLリンク(www.ecma-international.org)
→ URLリンク(www.ne.jp) (和訳)
Mozilla Gecko DOM Reference, Netscape devedge
→ URLリンク(developer.mozilla.org)
→ URLリンク(developer.mozilla.org) (和訳)
→ URLリンク(devedge-temp.mozilla.org)
MSDN Library JScript / DHTML (現在日本語版は古杉)
→ URLリンク(www.microsoft.com)
→ URLリンク(msdn2.microsoft.com)
7:まず >>2-5 読め! 続いて過去スレ全集を検索!
08/05/29 12:28:24
【チュートリアルサイト・サンプルサイト】
規格が読めないならまずはチュートリアル。サンプルサイトも沢山ある。
(とほほは間違いが多いためこのスレでは批判的意見が多い)
(以下は精選すべきとの議論あるが進んでいないので玉石混淆)
MetaGraphic Cell
→ URLリンク(www2u.biglobe.ne.jp)
どら猫本舗のリファレンスカウンター
→ URLリンク(www.doraneko.org)
はぎさんちのページ Mozilla's DOM Sample Project
→ URLリンク(cgi.din.or.jp)
オブジェクトなJSの基礎講座
→ URLリンク(chaichan.web.infoseek.co.jp)
【関連スレ】
板違い、スレ違いに注意!サーバ側での処理はWebProg板へどぞ!
Webサイト制作初心者用質問スレ Part 197
→ スレリンク(hp板)l50
CSS /* CSS・スタイルシート質問スレ 上級者用【71th】 */
→ スレリンク(hp板)l50
CSS/DHTMLバグ辞典スレッド 【第5版】
→ スレリンク(hp板)l50
役に立つ書籍は? 4冊目
→ スレリンク(hp板)l50
JavaScript手取り足取りスレッド
→ スレリンク(hp板)l50
1行javascriptプログラミング
→ スレリンク(hp板)l50
WSH(・∀・)スレッド! Part 3
→ スレリンク(tech板)l50
8:Name_Not_Found
08/05/29 12:49:09
あとこういうのを用意したんだけど>>7の行数が一杯で。
あった方がよければ次から何とか入れるようにします?
【各種フレームワーク】←テクニックの宝庫なので一度参考にぜひ。
Prototype.js → URLリンク(prototypejs.org)
script.aculo.us → URLリンク(script.aculo.us)
JQuery → URLリンク(jquery.com)
Yahoo! UI Library (YUI) → URLリンク(developer.yahoo.com)
Mootools → URLリンク(mootools.net)
9:Name_Not_Found
08/05/29 13:13:37
>>1
おつかれ。
日本の JavaScript ユーザのためのハブサイト
URLリンク(js-users.jp)
ここも参考になると思うので追加。
10:42
08/05/29 19:35:57 XHep3Czc
>>1
乙でーす
11:Name_Not_Found
08/05/29 23:25:49
>>7
手取り足取りスレのURLが違うような気が。
12:Name_Not_Found
08/05/30 00:01:57
JS終了にまだ気付けない>>1がかわいそうすぎる。おつかれさま。
13:Name_Not_Found
08/05/30 02:13:01
>>9
間違っています。
以上。
↓次どうぞ
14:Name_Not_Found
08/05/30 04:09:22 Jct6WDVf
____
/_ノ ヽ、_\
. / (● ) (● )\ こっこれは別に>>1乙なんかじゃなくてただズレてるだけなんだからっ
/ /////(__人__)///\ 変な勘違いしないでよね!
| |
\ /
 ̄ ̄ ̄ ̄ ̄ ̄
15:Name_Not_Found
08/05/30 06:14:23 7OkfQ9LB
URLリンク(www.sam.hi-ho.ne.jp)
こんな感じでランダムに択一の問題を表示していく方法ってjavascriptでできますか?
16:Name_Not_Found
08/05/30 06:45:57
>>15
問題数が数百くらいなら大丈夫と思うよ。ただし全部
ブラウザに持って来るので始まるまでの時間はのろいと
思うが。
17:Name_Not_Found
08/05/30 06:56:32
データ量が少ないなら全ての問題をJavaScriptファイルに記述し<script>で読み込み、
それでなければAjaxでまとめて数問づつ取得、とか。
18:Name_Not_Found
08/05/30 09:55:01
>>8, >>9
要らんことすんな。
それらサイトになんらかの場はあるだろ。
何をトチ狂って我田引水やってんだ?
もし、設置できませんなどの悩みにボランティアで答えたいのなら、個人でやれ。迷惑だ。
19:Name_Not_Found
08/05/30 11:29:50 ba8tyd41
しつもん。
a.php→b.phpの流れでb.phpはリファラでa.php以外からのアクセスを遮断します。
IEだとlocation.href等で飛ばすとリファラが空になってしまうわけですが、
URLリンク(www.teria.com)
なんか代替方法ありませんかね?
divブロック内どこからでも飛ばせるようにしたいので<a>使えってのは無しの方向で。
20:Name_Not_Found
08/05/30 12:03:05
?ref=a
21:Name_Not_Found
08/05/30 12:22:16
>>19
ファイル分けないで、同じファイルで全部処理すれば!
画面遷移毎にワンタイムパスとか発行して、ユーザの一意性を確保すればいいんだよ
22:Name_Not_Found
08/05/30 12:34:56
>>18
日本語でおk
23:Name_Not_Found
08/05/30 12:49:45
いや。>>18は正しいよ。余計なリンク貼るな、ボケ。
テンプレ議論で出すべき。
24:Name_Not_Found
08/05/30 13:08:00
余計なリンクwww
-users.jpが余計なリンクwwww
25:Name_Not_Found
08/05/30 13:33:03
>>23
お前がevalの議論に夢中で気付かなかっただけだろ
956 名前:Name_Not_Found[sage] 投稿日:2008/05/29(木) 02:13:19 ID:???
テンプレ追加推奨
URLリンク(js-users.jp)
この板でYAPCからの一連の流れを知らんとは
26:Name_Not_Found
08/05/30 14:06:14 ba8tyd41
>>21
単に他所からリクエスト要求されるのを防ぎたかっただけで、
一意性とかそこまで厳重なことは考えてなかったわけですよ。
リファラ偽装してまでアクセスするような内容でもないけど、
少々重いので何の対策もしないのはどうかと思ったので。
まあ手っ取り早くセッションでものっける方向で行きたいと思います。
27:Name_Not_Found
08/05/30 14:08:46
新しいサイトなら無条件でテンプレに載せるべきか?
お前らが積極的にjs-users.jpにコミットして
名実ともにハブサイトにしてくれるっていうなら構わんけど
28:Name_Not_Found
08/05/30 14:12:59
>>19
display:block;
29:Name_Not_Found
08/05/30 14:18:04
YAPCってなんですか?
30:Name_Not_Found
08/05/30 14:26:18
Yet Another Perl Conferenceの略。
この間東京で開かれたYAPC::Asiaで偉い人が
「お前らSEOに有利などメインとって初心者向けの際と作れ」
といったのを受けて、Perl以外でも自称ハブサイトが乱立する事態に。
個人的にはほとんどが一過性のもので自然消滅するんじゃないと思ってるし、
YAPC自体ここにいる連中が知らなくてもおかしくないものだと思う。
31:Name_Not_Found
08/05/30 14:26:36
>>29
URLリンク(conferences.yapcasia.org)
動画はここに上がってる
URLリンク(conferences.yapcasia.org)
32:Name_Not_Found
08/05/30 14:27:04
ミスった
URLリンク(www.nicovideo.jp)
33:Name_Not_Found
08/05/30 14:46:04
今スレのテンプレはあくまでも>>1-7で、その先は議論でしょ。
それで、関連スレ等(要するに>>7だね)は次回どうするの?
別に洩れは今のままでも構わんと思っているけどね。
34:Name_Not_Found
08/05/30 14:48:30
>>27
見てみたけど、現状は内容スカスカの単なる(立ち上げ人関連の)微妙ブログ宣伝サイトのようなので、
テンプレ入りさせるのは時期尚早では。
js-users.jpでググってみたら、ハブサイトを目指すというより、
*-users.jpに便乗し、なんとなくお友達サークルサイトを立ち上げてみましたという雰囲気だし。
35:Name_Not_Found
08/05/30 14:51:24 jAS1vCjM
ホイール回転やスクロールバーをクリックしたときに動く量を
取得したり設定したりするにはどうすればいいですか?
36:29
08/05/30 14:53:13
>>30
解説ありがとうございました。ヤマハがパソコン作ったのかと思いました。
最後のお言葉に勇気付けられました。それにしても>>27さんはリアルでも
感じの悪い人なのでしょうが酷く高圧的な発言には皆さん気分を害してい
る方が多いのではないでしょうか。
37:Name_Not_Found
08/05/30 15:10:17
>>34
主要リンクがまとまってるだけでも十分だと思うが
まあとりあえず950辺りまで保留でいいだろうな。
38:Name_Not_Found
08/05/30 16:01:59
>>30
>個人的にはほとんどが一過性のもので自然消滅するんじゃないと思ってるし、
誰でも思ってるよ。またか、ってね。
それを長寿スレ(長寿の意味が違うが)のテンプレにいきなりのせようとするなんて、キチガイかと思った。
ついでにはっきり言っておくが、YAPCのえらいさんどもは、俺からすれば年下だし、社会的地位は低いし、JS初心者でもある。ありがたがるなら俺をありがたがれ。
39:Name_Not_Found
08/05/30 16:24:42
じゃあお前は大腸菌レベルだな
40:Name_Not_Found
08/05/30 17:30:54
>>38
ぜひ住所とお名前を
41:Name_Not_Found
08/05/30 17:32:34
>>38
> YAPCのえらいさんどもは、俺からすれば年下だし、社会的地位は低いし、JS初心者でもある。
これが何を意味してるかよくわからない
自分を誇示したいの?それこそこのスレにいらないだろ
42:Name_Not_Found
08/05/30 17:33:17
>>38
どうやらJS終了君が遂に発狂したようで。
43:Name_Not_Found
08/05/30 19:00:01
>>38
これじゃ友達いないわけだ。ホラ以外何もない寂しい中高年かよ。
44:Name_Not_Found
08/05/30 19:18:13
ここにいる人たちの中で
"過去スレッド" に目を通した人がどれだけいることだろう ?
60% 以上が無意味な書きこみであることをどう思う ?
余談ながら初期の "テンプレ" は極めてシンプルであった.
だが, テンプレ論争は皆無であった !!!
45:Name_Not_Found
08/05/30 19:26:21
>60% 以上が無意味な書きこみであることをどう思う ?
オマエモナーと思う。
46:Name_Not_Found
08/05/30 19:28:12
>>46
すまぬ !!!
47:Name_Not_Found
08/05/30 19:42:47
ほらね
48:Name_Not_Found
08/05/30 20:04:27
2ちゃんはもとより玉石混淆なわけだから
情報の密度を求めてもしょうがないんじゃないか?
49:Name_Not_Found
08/05/30 20:13:21
>>47
すまぬ !!!
ただ... あんまりな流れだったので つい...
50:Name_Not_Found
08/05/30 20:24:29
ま、たま~に光るのがあるからいいんでない?中身が薄いから
こそ65巻も続くわけで、遊びがないハンドルは運転しづらい。
量はある意味質も内包しているわけで。これでいいと思うよ。
51:Name_Not_Found
08/05/30 21:23:13
つまりそんなことをいちいち指摘するやつが野暮だってことだ
52:Name_Not_Found
08/05/30 21:33:02
>>51
結局, 同じ流れなのね (ぎゃぼ~)
まっ, お好きに おやんなさい ! (おいら は 白根)
53:Name_Not_Found
08/05/30 22:16:20 W5n2x0f3
ラジオボタンがクリックされた時に関数で
ラジオボタンのnameとvalueを取得したいのですが、
どのように値を関数に渡せばいいのでしょうか?
54:Name_Not_Found
08/05/30 22:21:31
>>53
関数名(this) でいいんじゃないか?
55:Name_Not_Found
08/05/30 22:22:23
オブジェクト指向としてのJavaScriptを勉強したいのですがお薦めの本はありますか?
56:Name_Not_Found
08/05/30 22:35:26
テキストボックスのすぐ下にレイヤーを表示したいのですが、どのようにすればいいでしょうか。
レイヤーの座標をCSSで指定すればできるんですが、<BR>タグなどがテキストボックスの前に入ると調整が必要になってしまいます。
特定のテキストボックスのすぐ下にレイヤーをだしたいのです。
ブラウザはIE限定です。
57:53
08/05/30 22:51:13 W5n2x0f3
thisの使い方を調べてみたらうまくいきそうです。ありがとうございました。
58:Name_Not_Found
08/05/30 23:19:11
>>56
テキストボックスの位置と大きさをoffsetTop/Left/Width/Height
で調べてレイヤーを出す位置を計算すればいいんじゃないの?
>>55
サイ本(オライリーのJavaScript本)とかMy UNIXシリーズのJavaScript本。
59:Name_Not_Found
08/05/31 00:46:47
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
08/05/31 00:48:26
unescapeHTML関数の置き換えされる側には実態参照が入っているのですが
ここだと普通に戻るんですね
61:Name_Not_Found
08/05/31 01:02:32
>>59
この変換処理に意味がみだせない漏れオワタ(^^)/
62:Name_Not_Found
08/05/31 01:07:33
>59-60
自己解決できました。
63:Name_Not_Found
08/05/31 02:14:41
前スレでの話題になった未解決問題のうち重要そうなものの漏れ用メモっす。
番号は全て前スレのものなので注意。
>>82 Dripのrefsの数値の謎について
>>86 IEでトップレベル関数の列挙方法
>>127 addEventListenerの「使える」イベント一覧
>>143 IEのメモリーリーク問題でDOM同士、JSオブジェクト同士の相互参照がリークしないことの確認方法
>>505 IEでプライベートメソッドを実現する際の性能劣化しない方法の有無
>>515 elementFromPointの実用性はどの程度?
>>581 IEで「属性」(イベントではなく)をコピーせずにノードのクローンを作成する方法
>>799 JSでクロスドメイン通信を実現する手段が実は沢山あることと、
今後もサポートされそうだということについての是非
64:Name_Not_Found
08/05/31 02:46:55 gE3lRTdY
radioボタンに対して、
関数内でnameとvalueを指定して、一致している物にチェックしたいのですが、
どのようにすれば可能でしょうか?
getElementByIdを使用すればnameを指定することが出来ますけど、
valueを指定する方法が分からなくて困っています。
65:64
08/05/31 02:54:25 gE3lRTdY
getElementsByNameですね。 少し書き間違えました
66:Name_Not_Found
08/05/31 02:56:26 95Ate0Mn
アドベのアクロバットのフォームの作成で、各項目にカーソルを移すと強制的に、
全角や半角入力になるよう作成したいんですがどうすればいいでしょか?
例えば、氏名欄は自動的に全角、電話番号欄は半角に、などです。
都・道・府・県などをクリックすると○で囲むような時は下記の記述でできるのですが、
質問の場合の記述が全く分かりません。
var i = event.target.buttonGetIcon();
event.target.buttonSetIcon(event.target.buttonGetIcon(1));
event.target.buttonSetIcon(i,1);
67:Name_Not_Found
08/05/31 08:13:40
>>66
Web制作じゃないじゃん。
>>64
そのnameのボタン群に対してループしてvalueが一致するものを探す。
68:Name_Not_Found
08/05/31 10:06:17
質問です。for文でインクリメントは整数の範囲とするという場合、
for(i=1;i<L;i++)ですか、それともfor(i=0;i<L;i++)ですか?
あと自然数はfor(i=0,i<L,i++)でよいのでしょうか?
69:Name_Not_Found
08/05/31 10:51:03
for(i=1;i<L;i++) 正の整数
for(i=0;i<L;i++) 自然数
70:64
08/05/31 13:11:23 gE3lRTdY
>>67
やはりループくらいしかないですか。分かりました
71:Name_Not_Found
08/05/31 14:02:39
以下のコードはテキストボックスに改行を含む文字を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
08/05/31 17:27:11
>>69
0は自然数じゃないだろって思ったけど、
0を含める流儀と含めない流儀との2つがあるんだな。
初めて知った。
URLリンク(ja.wikipedia.org)
73:Name_Not_Found
08/05/31 18:27:25
>>71
改行は\r\nになっていて
ta2の場合、\r=改行、\n=半角スペースになるようです。なぜか知らん。
ta3の場合は、valueプロパティ経由だとそこら辺は空気読んでくれるんじゃね。
74:68
08/05/31 20:00:23
>>69
ご回答ありがとうございます。やはりそうなるんですかね。
>>72
お時間ありがとうございます。そうなんです。深く分かって
ると余計に混乱してしまうということありますよね。
75:Name_Not_Found
08/05/31 20:50:47
あるフレームにページが読み込み完了したことを、他のフレームから知るには
どうしたらいいですか?
76:Name_Not_Found
08/05/31 21:24:27
>>73
そうなってるみたいですね
謎ですね
77:Name_Not_Found
08/05/31 21:41:10
>>67
adobe関連スレで聞いたら、JavaScriptの質問はここで聞けと言われたもので・・・。
なんとか教えてもらえんでしょうか?┏oペコッ
78:Name_Not_Found
08/06/01 00:51:38
web製作上のJavaScriptでアクロバットのDOM(?)を知ってる奴を期待されても……。
buttonGetIconもbuttonSetIconもないしなあ
webでのIM制御であっても、IEのCSS独自拡張弄るくらいしか思いつかないな。
value要素みたいなのが弄れるなら、ベタに文字置き換える関数でも挟んだらいいんじゃね?
79:Name_Not_Found
08/06/01 04:14:27
sage
80:Name_Not_Found
08/06/01 20:59:28
いくつかの iframe を 切り替えて表示するようにしています。
iframe のページを切り替えたときに、
切り替える前のページのfocus情報が残ったままになってしまいます。
focus を リセットする方法はありませんでしょうか?
81:Name_Not_Found
08/06/01 23:07:15
focusってOS上に1つという概念じゃなかったっけ。
もしかしてmouseoverとかで自分で管理してるの?
その場合は、documentのblurイベントとか拾わないといけないんじゃないかなぁ。
82:Name_Not_Found
08/06/01 23:11:22
>>66
2chのどこにも該当するスレなさそうだね。
ブラウザ以外のJavaScript用のスレ立てる手もあるが、人こないだろうなぁw
83:Name_Not_Found
08/06/01 23:32:49
というか今時ウェブページでJSをほとんど使わないだろ。
終わってんだよ。
気付けアホ、何回言わせんだ。
AS使え。
JSの使いどころはWindowsのいわゆるバッチ処理か、
XULなんちゃらに限られている。
もしかしたらPDFとかAdobe製品で使っても便利だろう。
84:Name_Not_Found
08/06/01 23:34:47
元気そうでなにより
85:Name_Not_Found
08/06/01 23:50:56
>>83
JSってJavaScriptのことをいってる?
だとしたらアホはお前だ。
86:Name_Not_Found
08/06/02 00:14:03
>>85
いや。JS終わった君が言ってるのはいつもJSであってJavaScriptではない。
これ重要。もしこの後言い方を変えたらそいつはニセ者。
87:Name_Not_Found
08/06/02 00:16:08
>>86
だから君のいうJSとはなんぞや?
88:Name_Not_Found
08/06/02 00:17:58
>>38=>>83かな?
>>52とか、このスレには真性っぽいのが現れるから面白いね。
89:87
08/06/02 00:29:06
>>87
だから君のいうJSとはなんぞや? だって?
そんなの知るか。JSなんて言語はどこにもないだろ。
何の意味でJSといっているかなんて本人にも分からんのじゃないかな。
Javaだのジャバだのという白痴と同類だろ。
90:Name_Not_Found
08/06/02 00:35:30
WEB制作板でJSっつったら、JavaScriptにきまってんだろ^^;
URLリンク(ja.wikipedia.org)
91:80
08/06/02 00:38:29
>>81
レスありがとうございます。
iframe の切り替えというのは、 複数のiframe を用意しておき
display パラメーターで 表示非表示を変えている状態です。
92:Name_Not_Found
08/06/02 00:59:33
>>91
まず、iframeに残ってるのは、focusじゃなくて、active要素だと思ってる。
active要素はフレーム単位で残るから。
何を見て「focus情報が残ったまま」だと判断したのか知りたいんだけど、
どちらにしてもdisplayを切り替えるタイミングで、
該当のiframeのcontentWindow(windowオブジェクト)にくっつけたメソッドを呼べば解決出来ると思うよ。
93:Name_Not_Found
08/06/02 01:08:49
>>90
ジャック・スパロウ
94:80
08/06/02 01:10:55
>>まず、iframeに残ってるのは、focusじゃなくて、active要素だと思ってる。
active要素はフレーム単位で残るから。
iframe を 非表示にしても、focusを当てた位置でカーソルが点滅してい
います。
>>該当のiframeのcontentWindow(windowオブジェクト)にくっつけたメソッドを呼べば解決出来ると思うよ。
すみません、 くっつけたメソッドって何でしょうか?
95:Name_Not_Found
08/06/02 01:23:11
話がかみ合ってないような気が
フォームなんかのカーソルなら focus() でなんとかなるような
でも個人的にフォーカスって聞くと
キーボードオペレーションの時にアクティブになる項目の方が
先に頭に浮かぶな
96:80
08/06/02 01:40:16
iframe の表示を切り替えたときに window.focus(); を呼ぶようにしたら カーソルの
点滅が表示されなくなりました。
97:Name_Not_Found
08/06/02 01:46:52
>>96
うぃー。よかったな。
今度から必要最低限のソースの提示とターゲットブラウザの指定をよろしく。
98:96
08/06/02 02:08:48
相談にのっていただきましてありがとうございました。
99:Name_Not_Found
08/06/02 13:58:47
関数内で次のように書きました。
if(aa >= 0){
// 入力中以外はキーを受け付けない
evt.returnValue = false;
evt.keyCode = 0;
return;
}
evtは引数でeventオブジェクトを渡されています。
しかし、evt.keyCode = 0;でアクセスが拒否されました。
というエラーが出てしまいます(毎回けでは無く突然突発
的に出ます)。
どうやったらエラーがでないようにできるでしょう
XP SP2でIE6です。
100:Name_Not_Found
08/06/02 14:23:16
>>99
try { ... } catch(e) { }
で囲んでおけばいいんじゃないの?
101:Name_Not_Found
08/06/03 01:11:50
>>99
イベントはkeydownとか?
こっちの認識では、returnValue=falseだけで十分だと思ってる。
「突然突発的」ってのがなんとか理由突き止めたいが。
あと、eventオブジェクトのクローン作るとかどう?
var ret = {};
for(var p in evt){ ret[p] = evt[p]; }
102:Name_Not_Found
08/06/03 02:52:23
URLリンク(msdn.microsoft.com)(VS.85).aspx
URLリンク(www.w3.org)
URLリンク(www.w3.org)
103:Name_Not_Found
08/06/03 07:04:23
HTML(HTA)埋め込みWMP7+(clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6)で
ShoutcastのAAC+のストリーミング再生は可能でしょうか?
例: URLリンク(www.shoutcast.com)
MP3は問題ありません。
↓のプラグインを入れてローカルのWMPではAAC+ストリーミングを再生できる状態です。
URLリンク(www.orban.com)
ただローカルプレーヤでもCtrl-UでURLで開こうとするとコーデックエラーが出ますが
Ctrl-Oでファイルとして開くと再生できます。
WMP10、WMP11で同様の挙動です。
Ctrl-UとCtrl-Oで内部の再生処理が違うためだとは思いますが、
埋め込みプレーヤでは
MP.URL = url;
MP.controls.play();
という処理で再生しているのでURLとして開いている状態なのかもしれません。
埋め込みプレーヤでCtrl-Oと同じ開き方ができれば
なんとかなりそうな気がしますが、そんな方法はありますか?
104:Name_Not_Found
08/06/03 08:28:12
WSH(HTA)スレは別にあるんだけど。テンプレ見てね。
105:Name_Not_Found
08/06/03 18:29:57
return a とreturn(a)はちがいますか?
私は非常に初心者です。71026
106:Name_Not_Found
08/06/03 20:45:51
>>105
まったく同じ。「return 式;」が文の文法で、式は丸かっこで
囲んでも囲まなくても結果は同じだから。
107:Name_Not_Found
08/06/03 21:09:29
JavaScriptって、セミコロンが無くても
改行すると式として成り立っちゃうから厄介だよな
return a
と
return
a
じゃ違うもんな
108:105
08/06/03 21:25:00
>>106-107さん
とても示唆に富んだお答えありがとうございます。同じなんですか。
書いた後に思い出したのですがなんでも後の方のは評価がどうしたと
か難しいことを言ってました。自分でも実験したんですがやってみた
結果は同じだったので、この2つは結局同じなのかな、と思った次第
です。分かったようなことを言っていますが私は非常に初心者です。
109:Name_Not_Found
08/06/03 21:43:22
で?
110:Name_Not_Found
08/06/03 21:51:36
下一桁の前に.を入れることはできるでしょうか?
例)
534 = 53.4
64 = 6.4
8643 = 864.3
111:Name_Not_Found
08/06/03 22:07:32
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
08/06/03 22:34:44 xhJdrQ39
setAttributeはIEで保証されていますか?使って大丈夫でしょうか?
113:Name_Not_Found
08/06/03 22:50:36
>>111
String.replaceのようにstatic関数として使えるとは知らんかったね。
とりあえず現状で動くのはGeckoだけ?か。
114:Name_Not_Found
08/06/03 23:37:17
>>112
保証されているとは言い難いね。使わない方が無難。
115:Name_Not_Found
08/06/04 00:11:38
>>112
W3C-DOMのElement#setAttributeとは別物で互換性がないことを踏まえた上で
自分で判断しろ。
>>113
JavaScript 1.6
116:Name_Not_Found
08/06/04 00:36:17
String.prototype.replaceならECMAとしては保証されてなかったか?
117:Name_Not_Found
08/06/04 00:45:05
>>110,111
num/10
ではなぜダメなの?
118:Name_Not_Found
08/06/04 00:46:27
>>63の中のaddEventListenerのやつを解決したい。
DOMFocusIn、Out、Activate以外にHTMLで使えないイベントは本当に無いの?
実は他にもいくつかあるんじゃないの?
119:Name_Not_Found
08/06/04 00:48:02
>>117
割り算を思いつくなんて天才すぐる。いや、まじで。
120:Name_Not_Found
08/06/04 01:06:15
>>117
10,200,3000とか。
121:Name_Not_Found
08/06/04 01:49:02
例を3つも挙げてるのに、そこの仕様はあいまいだよな。
122:117
08/06/04 06:50:38
>>120
あぁ!なるほど!
じゃあ
(a/10) + ((a % 10) ? '' : '.0')
とかかって思ったけど明らかに>>111の方が綺麗だな
こういうのが綺麗に出てこないからコード量が増えるんだな
123:Name_Not_Found
08/06/04 10:12:35
>>111ってMS臭い書き方だよね。美しくない。Stringを静的にする必要など
ないしオブジェクト指向に逆行している希ガス。1.6はよいのもあるがこれ
は頂けないね。
124:Name_Not_Found
08/06/04 10:49:15
ジェネリクスでググレカス
125:Name_Not_Found
08/06/04 11:24:45
>>124
安い医薬品と出ました。それが何か?
126:Name_Not_Found
08/06/04 14:34:45 Nb3aWEU+
web制作板のみなさんお世話になります。
中国の災害が予言されていたということで、大変興味を持ちました。
マスコットが不吉な揃い方をしているとかも言われていますが、特に日付に
関しては、チベット暴動と四川大地震については、発生した日付の10の位
と1の位と月の数字を足すとそれぞれ8になることから中国人の間では不安
が拡大して「五輪開幕日の8月8日が災いの根源」との説があるとのことで
す。この日付の関係式をjavascriptの日付関数で解けますか?javascriptの
ことは少し分かる程度です。よろしくお願いします。
127:Name_Not_Found
08/06/04 16:39:56
結局は何がしたいの?
128:Name_Not_Found
08/06/04 21:40:22
リラックスしたい
129:Name_Not_Found
08/06/04 22:19:23
>>123
モジラのトップがOCamlとPythonに傾倒しているからこうなる。
というかおぶじぇくとしこうにぎゃっこうとか、1.6から数年後に拒絶反応とかwww初心者ならブログでも書いとけよwww
130:help
08/06/04 22:38:03 GSbMkkT5
2進数 1111111111111111111111111111111 (31桁の2進数)
を10進数に変換するプログラムを書き、桁とその桁の値に該当
する10進数(例えば、4桁目は2の3乗で8である)および変換された
10進数を表にして出力せよ。
131:help
08/06/04 22:45:45 GSbMkkT5
130の続きです。
書き出しからまったくわかりません;;
ヒントだけでも教えてください。
javascriptでお願いします。
132:Name_Not_Found
08/06/04 22:54:44
alert(parseInt("1111111111111111111111111111111", 2));
後半
>該当する10進数および変換された10進数
の意味が分からん
133:Name_Not_Found
08/06/04 23:05:56
>>132
つまり各桁のべき乗を掛けて表わした数(つまり10進数)ってことだろ。
くだらん。
134:Name_Not_Found
08/06/04 23:10:22
さすがに学校の課題かバイトの採用試験の答えを求めるような質問はNGだろ。
135:Name_Not_Found
08/06/04 23:10:32
>>132
吹いたw
確かにそうだけど
出題の意図としては違うんだろうな
136:Name_Not_Found
08/06/05 00:00:18
>>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
08/06/05 00:07:36
>>136
>>132
138:Name_Not_Found
08/06/05 00:17:00
>>136
みたところそのcは何なの?ま、でなくても動きそうもないコードだなw
139:Name_Not_Found
08/06/05 01:31:27
キー操作の停止について、
下記のソースはfirefoxでは動かなく出来るのですが、
IEでは無視されてしまいます。
IEでも同じようにキー入力を禁止するにはどうすれば良いでしょうか?
document.onkeypress = enter;
function enter()
{
return false;
}
140:Name_Not_Found
08/06/05 01:33:59
やめてください
141:139
08/06/05 01:43:18
onkeydownもやればOKでした。
自己解決すみません。
142:Name_Not_Found
08/06/05 10:37:39
ついでにonmouseoverもやっとけ。
敵を逃がすな、onblurで身動きできなくしてしまえ。
143:Name_Not_Found
08/06/05 12:16:24
やめてください
144:Name_Not_Found
08/06/05 14:31:16
いいじゃないか。な、オレのこと、好きなんだろ?
145:Name_Not_Found
08/06/05 14:58:08
いえ、これと言って好きではありません。
146:Name_Not_Found
08/06/05 15:22:01
妹が大事なら黙って言う事をきけ。
147:Name_Not_Found
08/06/05 15:56:21 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
08/06/05 16:19:52
>>147
location.queryにGETのパラメータ入ってるから。
「HTMLから呼び出す」というのが何を意味しているのか不明だけど。
ついでにdocument.write()については FAQ>>3 のQ4/A4を読んでおいた
方が幸せになれるかも知れない。
149:Name_Not_Found
08/06/05 17:59:54 qlY8JUcB
>>148
少し手惑いましたが上手くいきました。
location.searchなんて便利なものがあったんですね。
matchと組み合わせて値の検査もうまくできました。
document.writeの件は了解です。頭に入れときたいと思います。
解決しましたどうもありがとうございました。
150:Name_Not_Found
08/06/05 19:07:08
ごめん、ついlocation.queryとか打ってしまうんだよなー。
まあ解決したんならよかったけどー。
151:Name_Not_Found
08/06/06 00:37:03 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
08/06/06 00:49:15
starts-with(@id, 'abc')
153:Name_Not_Found
08/06/06 01:03:25 HA+zQTrr
>>152
ありがとうございます。
しかし、検索しても「XPath」というものしか出てきません。
個人的にはmatchあたりを使用して判断するのかと思っていましたが、もうちょっとヒントをいただけないでしょうか?
154:Name_Not_Found
08/06/06 01:15:46
めんどうだから<select>にしてはいかがか
155:Name_Not_Found
08/06/06 01:21:18
>>151
スクリプト、テキトーすぎでしょww
意外と難しいな
156:Name_Not_Found
08/06/06 01:45:10
<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
08/06/06 01:49:21
これは凄い
158:Name_Not_Found
08/06/06 01:55:51
>>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
08/06/06 02:05:44
>>158
display値間違ってる
> $("#"+name).css("display", (self.val() == 0 ? "none" : "display"));
$("#"+name).css("display", (self.val() == 0 ? "none" : "block"));
160:Name_Not_Found
08/06/06 02:42:07
>>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
08/06/06 02:53:11
>>160
変数って言ってるんだからそれはダメでしょww
162:Name_Not_Found
08/06/06 07:37:33
jQuery使ってるならこんな感じかな
$(function(){
$("input[@type='radio']:checked").each(function() {
var id = '#' + this.name;
(this.value == 1) ? $(id).show() : $(id).hide();
});
});
と、書いた後に>>158で既に出てたことに気づいた。
163:Name_Not_Found
08/06/06 08:46:48
>>154-162
皆様、本当にありがとうございました。
大変参考になりました。
安易なコピペをせず、1つ1つ理解しながら使用したいと思います。
本当にありがとうございました。
164:Name_Not_Found
08/06/06 12:12:07 bbRuoLWJ
フレームを使って画面を左右2つに分割しているんですが、
左側フレームから右側フレームの読み込みが完了した事を知るためには
どのようにすればよろしいでしょうか?
165:Name_Not_Found
08/06/06 12:16:07
bodyの末尾にalert('終わったよ')でいいんじゃない?
166:Name_Not_Found
08/06/06 12:44:34
>>164
右フレームの「HTMLが」読み終わったことを知る?それとも
中に含まれている「画像なども」全部読み終わったことを知る?
前者なら右フレームのbody末尾に
<script type="text/javascript">finished = true;</scirpt>
とか入れておいて左からは
if(parent.frames.右フレーム名.finished) ...
とかで判定すればいいんじゃないかなー。試してないけど。
167:Name_Not_Found
08/06/06 14:30:22 bbRuoLWJ
>>166
「右フレームの「HTMLが」読み終わったことを知る」の方になります。
166さんのコードで試してみたら判定できました。
違うフレームの変数へのアクセスの仕方を知らなかったのでとても参考になりました。
>>165
>>166
body末尾に判定用の何かを用意してあげなくちゃ実現できないのですね。
読み込み完了を知る術がjavascriptに用意されているわけじゃないのですね。
勉強になりました、ありがとうございます。
168:Name_Not_Found
08/06/06 15:38:47
テキストエリアのフォーカスについて
おうかがいしたいことがありやってまいりました。
よろしくお願いします。
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
08/06/06 18:19:50
>>168
再現しないなあ。というか、下部のリンクをクリックしたときに
クリックしたことによってそのリンクにフォーカスが当たり
テキストエリアのフォーカスが外れるような気がするんだけど、
何か勘違いしている?
170:Name_Not_Found
08/06/06 18:25:19
>>167
IE以外の主要ブラウザには普通にある
URLリンク(d.hatena.ne.jp)
171:Name_Not_Found
08/06/06 18:26:14
>>167
IE以外の主要ブラウザには普通にある
URLリンク(d.hatena.ne.jp)
172:Name_Not_Found
08/06/06 18:26:34
ミスったすまん
173:Name_Not_Found
08/06/06 20:12:02
>>170-172
10年前からIEにあったreadyStateと、9年前からIEのHTCにあったondocumentreadyなどを参考に他のベンダが真似ただけ。
174:Name_Not_Found
08/06/07 12:36:42
IE6で、下記の設定すると、
別のウィンドウがアクティブ時に
スクリプトを記入したブラウザにマウスを乗せると、
ブラウザのタクスバーが点滅するんですが、
させないようにする何か良い方法ありませんか?
<body onMouseOver="window.focus();">
firefoxでは大丈夫みたいです。
175:Name_Not_Found
08/06/07 12:52:19
>>174
HKEY_CURRENT_USER\Control Panel\Desktop\ForegroundLockTimeout=0
176:174
08/06/07 23:04:50
>>175
すみませんありがとうございます。
確認してみます。助かりました。
177:Name_Not_Found
08/06/07 23:26:37
<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
08/06/07 23:28:10
FAQ嫁としか言いようがない
179:Name_Not_Found
08/06/07 23:54:27
質問です。
生成した要素にそれぞれ
<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
08/06/08 00:12:07
>>178
ありがとうございます.解決しました.
181:Name_Not_Found
08/06/08 00:36:53
>>179
let
182:Name_Not_Found
08/06/08 00:44:57
>>179
バブルするイベントタイプには、アホ外人が俗に言うイベントデリゲーションを使え。なんべん言わせるんだ。
183:Name_Not_Found
08/06/08 00:47:31
>>179
いわゆるイベントハンドラーの引数は、イベントオブジェクト1つにするよう決めておけ。欲しい値はイベントオブジェクトに問え。なんべん言わせるんだ。
184:Name_Not_Found
08/06/08 01:26:01
>179です。
IE用とそれ以外用の処理を振り分ける形で解決しました。
- IE用 -
obj.setAttribute('onclick', new Function('test(' + i + ');'));
- その他用 -
obj.setAttribute('onclick', 'test(' + i + ');');
>>181
let・・ううむ。ブロックやらスコープやら意味の分からない言葉が。
プログラミング経験のない自分には理解が難しそうです。
>>182
イベントデリゲーション・・・親要素でイベントを監視する?
すみません、何度言われても基礎がないので理解できませんでした。
具体例を見比べて感覚的に理解するのがやっとのレベルです。
>>183
イベントオブジェクトから値を得る・・・。
そのイベントオブジェクトとやらが、なぜこちらの望む値を知っているのでしょうか・・・?
質問したものの、自分の知識不足で回答も理解できなくて申し訳ありません。
答えて下さった皆さんに感謝します。本当にありがとうございました。
185:Name_Not_Found
08/06/08 08:42:22
FAQ から setAttribute に関する Q&A が欠落してる ?
>>184
振り分けは美しくないと思う.
なぜって UA の判定によって無駄に長くなるし,
判定方法によっては誤動作発生の可能性が広がる.
ではどうするか ?
この場合は...
obj.onclick=function(){test(i);}
てな感じで解決する.
お試しあれ.
186:Name_Not_Found
08/06/08 10:05:44 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
08/06/08 11:10:04
ファイル選択の際に拡張子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
08/06/08 11:25:06
ブラウザが対応しているかどうか知らんが
一応input要素にはaccept属性というものがある
189:Name_Not_Found
08/06/08 11:31:21
>>188 それは試しましたがIE、Firefoxでもダメでした
やはりしょうがないのですかね?
こういう比較的単純なものはすぐにできそうだと思ったのですが
190:Name_Not_Found
08/06/08 13:06:10
input type=fileはセキュリティ上の問題が起きやすいので
ガチガチに制約されていてどうにもならないことが多い。
191:Name_Not_Found
08/06/08 13:10:06
>>187
Flashを使うしかない
192:Name_Not_Found
08/06/08 13:16:32 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
08/06/08 13:21:15
HTMLとかHTTPとかURIの勉強をするのが先だろ。
194:192
08/06/08 19:47:11 fYNUydwk
どなたもいませんか?
195:Name_Not_Found
08/06/08 19:49:39
華麗にスルーされてると思わないとね。あまりに厨房だから
皆引いてるんでしょ。
196:192
08/06/08 20:21:54 fYNUydwk
>>195
具体的にどこが失礼な質問なのでしょうか?
197:Name_Not_Found
08/06/08 20:44:13
>>192
配列では無く、videoIdには一番目の引数(XMjc3MDQ1MzI=)だけが渡される。
>>196
このスレにはテンプレ脳な暇潰しのカスが常駐しているようなのでスルーでおk。
198:Name_Not_Found
08/06/08 21:27:52
>>192
JavaScriptに慣れるとわかるけど、関数の引数の数は呼び出す側の数と一致しなくても良くて、
関数の方が少ないなら呼び出した引数の先頭から順に入る。
なので、この場合は>>197が言ってる通り2番目の引数は無視される。
sendVideoLink(videoId1, videoId2){}
とかにして2つとも受け取るようにするか、
呼び出す側をsendVideoLink(['XMjc3MDQ1MzI=','0200640400482D864C5AE000AEF6647CED502D-7AA2-9D39-9256-82A8FD7CC8D9'])
って配列にして、関数側でvideoId[0],videoId[1]で使い分けるか、
あとは関数側でargumentsって配列に引数が全て入ってるからそれを使うか。
ということで、テンプレ見て勉強するといいと思うよ
199:192
08/06/08 21:28:37 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
08/06/08 21:31:43 fYNUydwk
>>198
ありがとうございます!
すいません>>192はyoukuのソースなんです。
一体どうやってフラッシュを表示してるのかを調べてるんです。
URLひとつで実際には4つを順々に表示してるんです。
いや、4つではなくて、動画によって数は違うんですけどね。
で、youkuがわざわざ引数2つを渡してるのに2個目は実際には何にも使わないなんてことはないはずだけど、
使ってる形跡を見つけられないんですよ。
201:Name_Not_Found
08/06/08 21:44:55
ks
202:189
08/06/09 00:51:37
>>190
何か別の方法でファイルを選択できますか?
>>191
例えばどのようにFlashを使うのでしょう?
203:Name_Not_Found
08/06/09 01:57:44
>>190
type="file" の時はおまえみたいな非常に浅い理解で具体的に何が出来て何が出来ないかを示せない馬鹿が必ず出てきて鬱陶しいよね。
204:Name_Not_Found
08/06/09 02:06:41
>>199
>goueki
205:Name_Not_Found
08/06/09 02:46:22
正直203のが鬱陶しいけどな
206:Name_Not_Found
08/06/09 06:25:01 vGF9cdNm
複数のブログやサイトのRSSを用いて↓のサイトのように、
ブログタイトル、記事タイトル、更新日を表示させる方法をお願いします。
URLリンク(www.webmemo.jp)
207:Name_Not_Found
08/06/09 08:16:45
>>206
できない。JavaScriptは元鯖からのデータしか読めないから。
HTAとかならできるのかも知れないがスレ違い。
208:Name_Not_Found
08/06/09 08:56:37
>>206
つ「Google AJAX Feed API」
URLリンク(code.google.com)
日本語の解説・サンプルもいっぱい転がってるから、必要なら
「rss」あたりの単語と組み合わせてググってね。
>>207
↑はJavaScript以外で拾ってくるけど処理はJavaScript側だし、
スレ違いってわけでもないよな。
209:Name_Not_Found
08/06/09 11:11:53
なるほどー、ライブラリ/フレームワークをどうするんだという
話が前にあったけど、さまざまなAPIをどうするんだという話も
あるわけね。
210:Name_Not_Found
08/06/09 12:52:59
APIの使い方なんて簡単だろ。自分のコードを晒してする質問と何ら変わらん。
211:168
08/06/09 13:23:15
>>169
亀レスでもうしわけなし。私が勘違いしてるのか・・・。たとえば単純に書くと、
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "URLリンク(www.w3.org)">
<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="URLリンク(www.2ch.net)">2ちゃんねる</a>
</body>
</html>
↑一番上、入力欄下のデータ部に(省略)とありますが、スクロールバーが出るくらいデータが入っているとします。
ページ下部のリンクで別ページを開いたのち、「戻る」で、この「たとえば」ページに戻ると、
画面は、ページ上部フォーカスのあたっている入力欄のところが表示されている(はず)。
そうではなく、戻ったらページ下部のリンクがあった画面が表示されてほしい、のです。
入力欄のフォーカス指定をはずすと、そうはなるのですが、
フォーカスはあてたまま、戻るとリンクのあるページ下部が画面に表示される、
という状態にしたいのです。
これも説明になってないか・・・。もうしわけない。
212:Name_Not_Found
08/06/09 13:29:55
>>211
それが分からないんだけど、「ページ下部のリンクで別ページを開く」
ってそのリンクをクリックすることじゃないの?クリックしたらその
リンクにフォーカスが行って入力欄のフォーカスは外れそうに思える
(自分で簡単なサンプルを作ってやってみるとそうなる)んだけど、
何が違うのかな?
213:168, 211
08/06/09 13:53:03
>>212
>「ページ下部のリンクで別ページを開く」ってそのリンクをクリックすることじゃないの?
クリックします。
そのあとがいまいちよくわからないのですが・・・。
たとえば、「2ちゃんねる検索」も検索用テキストボックスにフォーカスがあたっていますよね。
で、javascriptをキーワードに検索します。
それで現時点で一番下にある「PHPとjavascriptの連携 (48) - WebProg板@2ch」を
「クリックして」「ページを開く」「PHPとjavascriptの連携」ページ確認、そして「戻る」をすると、
検索結果のページトップというか、カーソルが点滅している検索用テキストボックスのところがトップになっている画面が表示される。
そうではなくて、5秒前まで見てた「PHPとjavascriptの連携 (48) - WebProg板@2ch」があったページ下部が表示されてよ、
うまい指定の仕方で、常時、検索欄でカーソルはチカチカしてるけど、
「戻る」したらページ移動前に見ていた画面が表示される、
ということは可能か、というのが質問していることなんですが・・・。
>クリックしたらその
>リンクにフォーカスが行って入力欄のフォーカスは外れそうに思える
>(自分で簡単なサンプルを作ってやってみるとそうなる)んだけど
ここか。だれかここを理解できるよう橋渡ししてください・・・(涙)。
214:Name_Not_Found
08/06/09 14:01:24 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
08/06/09 15:11:42
>>214
FxとIEではイベントオブジェクトの渡され方が違う。とりあえず、
関数の入口(1行目と2行目の間)に
if(!event) event = window.event;
を入れてみたら動くかも知れない。prototype.js使ってないから
どうなるか分からないんだけどね。
216:Name_Not_Found
08/06/09 17:01:44
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
08/06/09 18:14:06
user.js用にマウスストーカー作ってるんだが
アイコン程度じゃなくてリンク情報とかを表示するから結構サイズ大きめになり、サイズも毎回変わります
popup = document.createElement('div')
document.body.appendChild(popup);
てしてdocument.onmousemove時にwindow.event.clientYでマウスカーソルの位置を取得して動かしてるんですが
画面の端から飛び出してしまったり、Flashに重なって見えなくなってしまうことがあってなかなか見やすいマウスストーカーが出来ません
その辺ひとまとめにしたサンプル合ったら教えて下さい
218:Name_Not_Found
08/06/09 18:31:50 0upt6Yhx
パソコンをリカバリーした後、急にyoutubeやニコニコ動画(動画を見る時、画面だけ表示されない)が見れなくなってしまいました。
youtubeには『JavaScriptがオフになっているか、古いバージョンのAdobe Flash Player を使用しています。』
と表示されました。
『最新のFlash Playerを入手してください。』とあったんですが、たぶんこれは関係ないと思います。
JavaScriptをオンにする方法を教えて下さい。
回答宜しくお願いします。
219:Name_Not_Found
08/06/09 18:45:25
スレ (´∀`( ´∀`) チガイ
220:Name_Not_Found
08/06/09 19:38:21
変な user.js 入れてると見れなくなったりするけどな
221:Name_Not_Found
08/06/10 12:49:34 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
08/06/10 14:03:32
>>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
08/06/10 14:48:12 CRyogfYR
URLリンク(d.hatena.ne.jp)
マウス座標を取りたいのですが、
このスクリプトをjavascriptから実行するにはどうしたらよいでしょうか?
224:Name_Not_Found
08/06/10 14:56:24
初歩的な質問ですみません、、
onClick="myChgPic('画像データ')"でサムネイルをクリックすると
別の場所で画像が大きく表示されるのをを作ったのですが
ワタシのPCでは動作したのですが
クリックしても無反応なPCがいくつかあります。
考えられる原因とは何でしょか?
225:Name_Not_Found
08/06/10 14:59:38
>>224
考えられる原因は数限りなくあるから、とりあえずサンプルコードを貼るといいと思うよ
226:Name_Not_Found
08/06/10 15:06:35
>>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
08/06/10 16:11:13
>>226
document.images["myBigImage"]が何意味してるのかわからないよ
と思ったら
URLリンク(www.red.oit-net.jp)
これ参考にしたのか。
この通りなら動くと思うけど、クリックしても無反応なPCってOSとブラウザ何?
とりあえず、myChgPicの中にalert(document.images["myBigImage"])とかを追加して
ちゃんと取れてるか確認してみたら?
あと、このサイトの書き方が古いからあんまり参考にしない方が良いと思う
228:Name_Not_Found
08/06/10 16:17:55
>>223
そのページに全部書いてあると思うが。何が分からないんだか
こっちに分からないんで説明のしようがないという感じ。
229:Name_Not_Found
08/06/10 16:43:15
>>227
一応["myBigImage"]は認識されているみたいです。
実は動作しないPCというのが手元にないもので
ちょっとOSやブラウザを確認してきます。
どうもありがとうござました!
230:223
08/06/10 17:29:12 CRyogfYR
そのページでは
<a href="javascript:void(0);" onclick="pos(event)">マウス座標を得る</a>
からpos(event)を呼んでますが、そうではなく、他のjs
たとえばfunction hoge(){.....} からpos(event);を呼びたい場合は
hogeのなかになんと書けばよいでしょうか? ということです。
231:Name_Not_Found
08/06/10 17:45:18
>>230
クリックも何もしない時はマウスの座標取れないから。
232:Name_Not_Found
08/06/10 18:53:03
ニコニコの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
08/06/10 21:11:25
>>230
マウス座標の取得ってのはイベントが起きたときのマウス座標だから
何らかのイベントから呼び出すんだよ
234:Name_Not_Found
08/06/10 21:15:27
>>232
getQueryParamValue("v")の結果をalert()で表示させてみれば。
235:Name_Not_Found
08/06/10 23:32:08
>>232
url=window.location.href;
url=url.replace(/.+\//,"");
so.addVariable("v",url);
こんな感じで解決しました。
236:Name_Not_Found
08/06/10 23:33:27
>>235
>>234です。
237:Name_Not_Found
08/06/11 19:55:42
前evalでの議論があったみたいだけど、
AjaxのJSON取得して、eval展開しまくってるのはダメなことなの?
238:Name_Not_Found
08/06/11 19:56:51
中身が保証されてればいいけど
239:Name_Not_Found
08/06/11 21:25:24
iframe で 呼び出したソース(子供)の中から、iframeを呼んているソース(大人)の
メソッドを呼びたいのですが、どのように記述すればよいのでしょうか?
240:Name_Not_Found
08/06/11 21:27:14
window.parent.piyo()
241:Name_Not_Found
08/06/11 21:58:12
>>238
そういう痛い自演似非脆弱性はアホ外人のネタ切れブログで勝手に騒がせとけ。
242:Name_Not_Found
08/06/11 22:18:09
>>240
ありがとうございます。
243:Name_Not_Found
08/06/11 22:41:46
煽りぽいのは頂けないね。両説それなりに論拠あるんだから
ちゃんと自分の主張を述べないと(それとも述べられないかね :-)
まあこんなとこでやるより「JSON eval セキュリティ」でぐぐれば十分か。
244:Name_Not_Found
08/06/11 23:39:05
無駄なレスがいちばんうざい
245:Name_Not_Found
08/06/12 00:46:38
bookmarkletでキーイベント発生させるのって無理なんでしょうか?
<body onkeydown="nullpo(event.keyCode);">なページに
>> document.onkeydown(0)
とかしてみたけど
TypeError: document.onkeydown is not a function
とか怒られてしまいます。
246:Name_Not_Found
08/06/12 03:27:32
そもそもbookmarklet実行時にdocumentスコープがあるとは思えないんだけど
247:Name_Not_Found
08/06/12 03:53:37
>>245
関数でまるごと取り出すのは無理
属性値の中に書かれているものだけならgetAttributeしてeval
ただしthisが違うオブジェクトを指すのに注意
だが広く公開するブックマークレットならevalはやめとけよ
248:Name_Not_Found
08/06/12 08:38:11
関数とオブジェクトについて質問
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
08/06/12 09:19:48
>>244
「JSON eval セキュリティ」でぐぐってみるというのは
質問者にとって重要な情報。無駄ではない。
アンタにとっては見たくなかった情報だからそりゃうざいだろうさ(w
250:Name_Not_Found
08/06/12 11:22:12
>>248
関数も関数オブジェクトというオブジェクトだから別にいいんでは。
251:Name_Not_Found
08/06/12 14:46:12 8qjKDFLu
3.0.1.2.3みたいな数値にドットが混ざってる文字列を、
3.0123のように最初のドットはつけたままで残りを取り払い、
float型に変えたいのですがどのように変えればいいですか?
ドットを取り除いてint型にすることはできるのですが、
最初のドットのみを残すといった器用なことができません。
どなたかお助け下さい。
252:Name_Not_Found
08/06/12 14:58:46
>>251
これでどうだ!
var str = '3.0.1.2.3'
parseFloat(str.replace(/([0-9]*)\.(.*)/,'$1_$2').replace(/\./g,'').replace('_','.')
誰かもっとうまいやり方を教えてください。
253:Name_Not_Found
08/06/12 15:07:39
>>252
なるほど!一度他の文字に置き換えて置くのですね。
とても参考になりました。どうもありがとうございます。
254:Name_Not_Found
08/06/12 15:13:39
ajax(jquery)とGoogleMapでの質問もこちらでよいでしょうか?
255:Name_Not_Found
08/06/12 15:28:15
>>252
置き換えはさすがにどうかと思うなあ。
うまいかどうか知らんが
alert( '3.0.1.2.3'.replace(/^(.*?\.)|\.(?=\d+)/g,"$1") );
256:Name_Not_Found
08/06/12 15:35:53
>>251
var c = 0;
var x = parseFloat(str.replace(/./g, function(){return (++c>1)?'':'.';}));
なんてどうかね。
257:251
08/06/12 15:41:09 8qjKDFLu
皆さん本当にどうもありがとうございます。
正規表現のレベルが高すぎて正直自分には理解できませんが、
>>255さんのがシンプルそうなのでそれを使わせていただきたいと思います。
258:Name_Not_Found
08/06/12 22:46:33
>>254
もう Google Maps は手軽に AS化できるだろ。これを機会にウェブでJSを使うのを止めてはいかがかな。終わってるから。残ったのはフラッシュだった。
259:Name_Not_Found
08/06/13 04:00:40
またフラッシュバカか。何で粘着してるんだか。未練たらたらなのか
260:Name_Not_Found
08/06/13 08:01:38
諸君、私は 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
08/06/13 08:40:31
>>247
なんかいろいろ厄介そうっすね。
実はコナミコマンドを打つbookmarkletが作れないかと思ったんだけど、やめときます。
もしできるなら誰かお任せ。
262:Name_Not_Found
08/06/13 09:25:09
>>261
それだけでいいなら
[1, 1, 3, 3, 0, 2, 0, 2, 29, 28].forEach(function(v){ nullpo(v + 37) })
263:Name_Not_Found
08/06/13 09:40:46
>>260
スレチですけどこちらも支援してくださいな。
サーバーサイドJavaScript総合
スレリンク(php板)
264:Name_Not_Found
08/06/13 14:58:46 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
08/06/13 15:11:07
URLリンク(d.hatena.ne.jp)
266:Name_Not_Found
08/06/13 15:11:51
>>264
callとかapplyとかについて勉強するといいよ。
267:264
08/06/13 15:53:34
>>266
func.apply(this, arg);
でできました。ありがとうございます。
268:Name_Not_Found
08/06/13 16:00:55
javaスクリプトでパケットをループさせて送信
って可能ですか?
269:Name_Not_Found
08/06/13 16:49:48
>>268
ブラウザ上のJavaScriptではできません。
270:Name_Not_Found
08/06/13 17:02:32
画像をクリックして違う画像を表示するというものなのですが、
<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
08/06/13 17:24:38
>>270
changeImage()という関数を2つ定義したら多重定義に
なるだろ。統一的に名前を変更するとかしたらどうかな。
まあがんばって。
272:Name_Not_Found
08/06/13 17:58:42
>>271
すばやい解説ありがとうございます。
changeImage()を別の名前にしたらいいんですね。早速取り掛かってみます。
273:Name_Not_Found
08/06/13 17:59:05
>>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
08/06/13 18:05:27
>>273
アドバイスありがとうございます。さきほど2個といいましたが、
実は50個くらいあるのですが、大丈夫でしょうか?
275:Name_Not_Found
08/06/13 18:16:54
>>273
ど素人なので、へんなこと言ってたらすみません。
それだと、3つの画像を繰り返すことになりますよね。2つの画像を繰り返したいの
ですが。
それと、クリックしたら替わる画像を50個くらい設置したいのですが、その
数字は大丈夫でしょうか?
276:Name_Not_Found
08/06/13 18:53:45
>>273を見て応用できないならあきらめた方が早いよ。
277:Name_Not_Found
08/06/13 19:52:14 FUCwHHFV
質問させていただきます。
Aという領域をクリックしたときにBの領域で
複数の画像を使って(パラパラアニメのような)アニメーションをさせる。
ここまでは出来たのですが、
「クリックした時だけそのアニメーションを表示させる。」
「クリックするたびに何回でも表示する。」
っていうもののやり方がどうしても解りません・・
278:Name_Not_Found
08/06/13 20:08:22
アニメーションが一回だけ回る関数を
クリック時に呼び出せばいいんじゃないの。
setIntervalでやってるなら、
その中にcount++なんかを入れといて、
if (count == 画像枚数)のときにclearIntervalする。
279:Name_Not_Found
08/06/13 21:41:15
ん。
280:Name_Not_Found
08/06/13 23:33:47
(; ^ω^)
281:Name_Not_Found
08/06/14 02:57:34
onload 後に innerHTMLで、 iframe を 追加しているんですが、
追加した iframe が うまく表示されないときがあります。
IEDevelopper Tool で 値を見ても src に 正しく 設定されています。
282:Name_Not_Found
08/06/14 03:42:04
うむ、さよか
283:Name_Not_Found
08/06/14 08:53:07
>>281
なんで「srcに正しく設定」が問題になるの?怪しいね…
もしかしてinnerHTMLに入れてiframeを作った後で
window.frames.フレーム名.src に設定している?それは
タイミング的に危ういよね。innerHTMLに入れるiframe
タグにsrc属性を書いておくのがいいと思う。
284:281
08/06/14 13:30:54
>>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
08/06/14 14:12:36
>>284
alert(strDocument); を実行してその結果を貼ってみれ。
286:Name_Not_Found
08/06/14 16:09:21
>>284
var strDocument = "<iframe title='X' style='display: inline;' width='100%' height='100%' frameborder='0' scrolling='no' ";
strDocument += strid + " " + src + " ></iframe>";
ダブルクオートが抜けてた。
その場で試せるFirebugを導入することをお勧めする
287:281
08/06/14 16:30:57
>>285
alert を表示しました。
<iframe title='X' style='display: inline;' width='100%' height='100%' frameborder='0' scrolling='no' id="hoge" src='ローカルファイル'></iframe>
288:Name_Not_Found
08/06/14 17:00:55
うーんそれでよさそうだよね。ローカルファイルをフレームに
表示させるのはうまくいかないことがあるかも知れないけど。
同じソース、同じURLのままでうまく行ったり行かなかったりする?
289:281
08/06/14 17:06:12
>>うーんそれでよさそうだよね。ローカルファイルをフレームに
>>表示させるのはうまくいかないことがあるかも知れないけど。
うまくいかないことがあるんですか?
それはどういう理由からでしょうか?
290:Name_Not_Found
08/06/14 18:06:35
ローカルファイルの場合、鯖がないから鯖が必要なもの(CGIとか)
が含まれていると駄目とかね。常に統一的に「こういうページが駄目」
とか分かっていたらそれを書いて相談した方がいいね。もっとも
駄目なものは駄目という他ないとは思うけど。
291:Name_Not_Found
08/06/14 19:59:12
今気づいたんだけど道場訓撤去しちゃったんだね。アレよかったのに。
292:Name_Not_Found
08/06/14 20:08:54
魚の話は板からして違うだろ。
293:Name_Not_Found
08/06/15 01:09:17
洩れも愛着あったしどうかなーと思ったけど >>291 まで誰も
何も言わなかったんでまあOKってことなんじゃないかな?
294:Name_Not_Found
08/06/15 05:23:32
>>263
あ、いや
>>260は転載ですのであしからず・・・
295:Name_Not_Found
08/06/15 21:13:53
誰も>>1を読んでいなかったということだな。俺は>>2からしか読まないから全然気付かなかった。
296:Name_Not_Found
08/06/15 22:07:53 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
08/06/15 22:26:19
>>296
ネットからロードしたページ中にローカル画像は入れられない。
またテンプレ中のFAQにもあるが、input type="file" から
ファイル名を取れないブラウザもある。よって、あんたがやりたい
ことは不可能だと思うよ。お気の毒だが。
298:Name_Not_Found
08/06/16 06:03:52
>>297
Action Scriptを使えばできる
299:Name_Not_Found
08/06/16 06:55:02
ActionScript で彼女ができました。
300:Name_Not_Found
08/06/16 09:05:13
総会総会。加藤が知ってたらどんなに喜んだことか
301:Name_Not_Found
08/06/16 12:33:59
>>299
マジレスすると、それは実際によくあることだな。まあ、ちょっとキモい女しかいないがw
302:Name_Not_Found
08/06/16 14:29:33
ActionScriptで身長が8cm伸びました
303:Name_Not_Found
08/06/16 15:14:44
全国の会員の皆さまから驚きの効果がぞくぞくと寄せら
れています。 お申し込みは、今すぐお電話で
0120-194403(アクシヨン3)
まで。もちろん2chお友だち価格です。
お便りもお待ちしています。
304:Name_Not_Found
08/06/16 19:54:37 x0L5x+V2
TRタグのセルの内側で背景クリックを可能とするためのjavascriptを探しています。
Googleのアドセンスのスクリプトをコピーしたら動いたんですが、複雑すぎて、
自分のサイトにもってこれません。
どっかにサンプルとかないでしょうか?
「javascript 背景クリック」でググってもアドセンの広告に関するページしか表示されません。
お願いしますだ