元スレ+ JavaScript の質問用スレッド vol.76 +
JavaScript覧 / PC版 /みんなの評価 :
1 = :
━━━本スレに書く事を許される者は以下の通り━━━━━
一、正しい(validな)HTMLとは何か知っており書ける者
一、JavaScriptはJavaとは別物であると知っている者
一、自ら学んでJavaScriptコードを書く意思を持つ者
一、ユーザに迷惑となるスクリプトを書かない者
一、質問を分かる日本語できちんと説明できる者
一、トラブルを再現する最小限のサンプルを貼れる者
一、テンプレ+FAQ>>2-10/過去ログ/関連資料を読める者
━━━━━━━━━━━━━━━━━━━━━━━━━━━
自力で書く気がない人は他のスレへ(テンプレ末尾参照)。
前スレhttp://pc11.2ch.net/test/read.cgi/hp/1259636243/
[必読]過去スレ全集http://www2.atpages.jp/mirror/2ch/javascript/
(閲覧のみ)http://usamimi.info/~mirrorhenkan/2ch/javascript/
(閲覧のみ)http://wing2.jp/~mirrorhenkan/2ch/javascript/
[必読]ガイドhttp://developer.mozilla.org/Ja/JavaScript
(GuideをReferenceに→Netscape版言語仕様。多くの実装が準拠:ECMA-262.ed3)
FAQ・注意・過去ログ・仕様書・関連資料・関連スレ>>1-7
2 = :
【質問を書く上で】
1)ユーザ(閲覧者)に迷惑がかかる性悪スクリプトは回答されない。
例: 別窓開きまくり、閉じる/戻るのを妨害、全画面占有、etcは最悪。
答えさせようと「分からねえんだろ」と煽っても無駄(過去スレが証明)。
2)言葉でぐだぐだ書かずにソースを貼る、ただし要点を整理して。
そのまま貼って動かせると試してもらいやすい(ただし回答者に連結さすな!)
長い(1レスに入らない)場合はアップロードしてURIを貼る。
3)初心者という言葉は危険なので使わない方がよい。
初心者を言い訳に自力で調べない/考えない奴が最悪に嫌われる。
4)自分で調べたこと/試したこときちんと書く(調べもしない奴は最低)。
ただ「動きません」「エラーです」は何も情報がないため嫌われる。
エラーは「どの行で何のエラー」を書く(ブラウザをそのように設定すれ)。
ブラウザの設定すらできんヤシはFFxのJavaScriptコンソールを使え!!!
OS、ブラウザ、バージョン、うまく行かない条件を明記しエラー再現可能に。
5)特に古いバージョン限定の時は必ず明記! 回答もチグハグになり回答者に2度
手間を食わせる可能性大
6)どういう時にどういう動作をさせたいのかを脳内にとどめずきちんと書く。
例:「自動ポップアップしたい」←どういう場合(マウスオーバー、クリック、
ボタン押し、select選択)に何(別窓、レイヤー、その他)が出るのか書け!
7)質問はまっとうな(他人に理解できる)日本語で。
前項の例に限らず、他人に理解できない質問文は煽られるだけで時間の無駄
3 = :
【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"」としないとページ移動しちゃうから。
5 = :
【主張の対立:他人の嗜好は尊重。損得の議論は歓迎】
・仕様を読む:回答者なら仕様の該当部分は読んでいるべき。質問者でも
仕様を読まずうだうだ書く奴は注意されて当然。読み間違いは生温く指摘。
・英文文書:翻訳の努力を惜しむべからず。 読めないなら和訳を探し、
なければあきらめよう。翻訳サイトを知っている人はうまく誘導してあげて。
・IE専用/アンチIE/クロスブラウザ:「○○は不要」「○○だけであと
は無視」は不毛。質問者が分かって選択していれば尊重する。無知か
らIE専なのは指摘してあげると親切。
・標準準拠 vs 使えればよい:標準はブラウザが変わっても維持される
可能性大。非標準機能も損得を分かった上で使うならよい。
・MS vs アンチMS:MS固有の情報はMSのサイトで見ないと分からないが、
そこだけ見ているとIE専になる。あとは上2件と同様。
・別窓、イベント抑止など:一般には迷惑スクリプトだが質問者に正当
な理由があることも。尋ねて分かってないようなら煽っても可(w
・innerHTML vs DOM:それぞれに長所/弱点があるので理解した上で選
択するべき。一概にどちらは駄目、とは言えない。
・on属性 vs addXXX():ハンドラが1つだけと分かっていればon属性
で簡単にハンドラを設定もあり。上書きが心配ならaddXXX()。
7 = :
【チュートリアルサイト・サンプルサイト】
規格が読めないならまずはチュートリアル。サンプルサイトも沢山ある。
(以下は精選すべきとの議論あるが進んでいないので玉石混淆)
MetaGraphic Cell
→http://www2u.biglobe.ne.jp/~oz-07ams/prog/
どら猫本舗のリファレンスカウンター
→http://www.doraneko.org/
はぎさんちのページ Mozilla's DOM Sample Project
→http://cgi.din.or.jp/~hagi3/JavaScript/JSTips/Mozilla/mds.cgi
一撃必殺javascript
→http://www.openspc2.org/JavaScript/
【関連スレ】
板違い、スレ違いに注意!サーバ側での処理はWebProg板へどぞ!
Webサイト制作初心者用質問スレ part216
→http://pc11.2ch.net/test/read.cgi/hp/1262851395/
CSS初心者スレッド=7th=
→http://pc11.2ch.net/test/read.cgi/hp/1251527427/
役に立つ書籍は? 4冊目
→http://pc11.2ch.net/test/read.cgi/hp/1172823674/
1行javascriptプログラミング
→http://pc11.2ch.net/test/read.cgi/hp/1066750037/
WSH(・∀・)スレッド! Part 4
→http://pc12.2ch.net/test/read.cgi/tech/1243095768/
8 = :
----------------テンプレここまで----------------
※書き込みは必ず前スレが埋まってからお願いします
9 = :
スレ立て乙です。
前スレの>>990
ライブラリはわかんないけど、そういうサイト見たことはある。
技術的には特別な感じじゃなくて、単にページのスクロールを監視して、
次々にデータを取得->DOMで追加してってるだけだと思ったな。
ただ、そのページは際限なく次の読み込みを繰り返していたから、
どこまで行っても1ページが終わらず、かえって混乱した覚えも。
ナビゲーション的に見慣れた一般ページと違うし、ページのジャンプとかもなく、
際限なく順番に結果を眺めていくしかない感じで。
このままどこまでも行っても、求める情報が果たしてあるのか、不安になるような感じだった。
まあこれはスクリプティングとは別の話だけど。
11 = :
>>9
こういうんだろ?
http://www.searchmash.com/
12 = :
あ、終了してたw
13 = :
http://www.infinite-scroll.com/
14 :
>>1
いちょつ
スクロール+読み込みは手作りしたことがある。
仕組み自体は難しくないんだけど>>9の言うとおり、
UI的にアレな部分が出てくる。
1ページ分スクロールしたら、最下部にくるくる回るアイコンを
出したり、それっぽくデザインしたりとかで、
「そうなるんですよ」とユーザに伝えることに骨が折れました。
15 = :
オンオフボタンは必須だな
16 = :
twitterやはてダみたいなボタン式で十分
17 = :
スクロールバー掴んでるときに要素が追加されると下まで一気に飛ぶことになるけど
これは実装次第でなんとかなるもんなのかブラウザの問題なのかどうにもならんのか
18 = 14 :
>>17
どうにもならん(と自分は諦めた)。
で、手作りスクロールバーにして、ロード→要素追加時に、
強制的にリリースさせることに。
19 = :
>>18
オレオレスクロールバーはちょっと微妙かなw
これは OS の領分だと思ってるしユーザーにキモがられそうで怖い
20 = :
質問よろしいでしょうか?
function S(){}
S.prototype(){
x:0,
a:function{this.x},
b:function{setInterval(this.a,50)}
};
上の(一応何もしない)コードで、
a=new S();a.a()では問題無いのですが、
a.b()から読んだa.a()ではa.xが取得できないようです。
どうしたら取得できますか?
22 = :
>>20
>S.prototype(){
S.prototype = {
の間違い?
functionのあとの()も省かれてるけどこれ動くのか?
> b:function{setInterval(this.a,50)}
b:function(){setInterval(function(){this.a()},50)}
this.aだけで指定すると先にthisが解釈されるから
var f = this.a; // functionオブジェクト(のみ)を代入
setInterval(f, 50);
と同様になって、関数実行時にはthisのコンテキストが抜け落ちてる
23 = :
あ、結構基本みたいですね。
ありがとうございます。
24 = :
>>22
その辺はただの写し間違いです。ありがとうございます。
25 = :
cloneNodeの引数のtrueというのはどういう意味なので
しょうか。falseも使えますか?
26 = :
>>25
ディープコピーするか否か。
子ノードの処理ね。
27 = :
>>26さん
ありがとうございました。
29 = :
まずは日本語の勉強から
31 = :
1度のサブミットでフォームデータを複数のCGIに送りたいなら、
Ajaxでやった方が簡単じゃないかな。
32 = :
自分は同一 URL に連続して送りたいと読んだけどどうかな?
34 = :
この質問に答えるにはエスパー能力が必要だ
35 = :
このスレの意にそぐわないかもしれないけれど
そういうのはUWSCとか使ってマクロでやったら?
39 = :
>>38
>>B.htmlの中に、A.htmlを開く→form内容の送信→A.htmlを閉じる→A2.htmlを開く→form内容の送信→A2.htmlを閉じる
という記述ができれば、1にも2にも情報を送信できると思います。
WSHでググれ
40 = :
自己解決しそうな感じです。ありがとうございました。
>>39
一応javascript質問スレなので。
レスありがとうございました。
41 = :
送信目的ではない場合でinputのtextボックスを使いたい(動的にvalueの値をやりとりしたい)とき
<form action="URL">
<input type="text">
</form>
な感じにしているのですが、これだとtextボックスにフォーカスしているときに
誤ってキーボードのエンターを押してしまうと、formのactionをしてしまって(action属性を削除していた場合も)
ブラウザが更新中の動作をしてしまうのですが、これを避けたいです
何かうまい方法はありませんでしょうかよろしくお願いします
42 = :
送信目的じゃないなら
<form onsubmit="return false">
43 = :
>>42
できました!
ありがとうございます
44 = :
そもそもform要らないんじゃないか
45 = :
きっとformがないと値の取り方が分からないんだよ。
46 = :
formオブジェクトって階層的に説明されていて必ず書かなきゃなら
ないものみたいに解説しているサイトや本は多いよね。JSって実際
こんなところが難しい気がする。人それぞれみたいな。
47 = :
むしろHTMLの問題じゃね
48 = :
formがないとパーツが現れないブラウザがあったよね。
古いネスケだっけ?
49 = :
うん。
ネスケ4とかでなかった
50 = :
要素のhref属性やsrc属性の値のドメイン部分を取得するには
正規表現で取り出すしかないですか?
document.domain
とか
window.hostname.hostname
とかみたいに
ぱっとお手軽にドメイン部分だけ取り出せないのかなと
Firefox3.6だけで動けばいいのですが
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.96 + (1001) - [97%] - 2012/1/28 23:01
- + JavaScript の質問用スレッド vol.86 + (1001) - [97%] - 2011/5/27 21:50
- + JavaScript の質問用スレッド vol.74 + (1001) - [97%] - 2009/12/1 6:08 ○
- + JavaScript の質問用スレッド vol.75 + (1001) - [97%] - 2010/1/23 1:07 ○
- + JavaScript の質問用スレッド vol.77 + (1001) - [97%] - 2010/5/8 19:06
- + JavaScript の質問用スレッド vol.78 + (1001) - [97%] - 2010/6/25 3:53
- + JavaScript の質問用スレッド vol.79 + (1001) - [97%] - 2010/9/11 6:50
- + JavaScript の質問用スレッド vol.126 + (348) - [95%] - 2023/1/12 17:00
- + JavaScript の質問用スレッド vol.126 + (952) - [95%] - 2015/11/18 13:15
- + JavaScript の質問用スレッド vol.106 + (1001) - [95%] - 2013/7/20 9:30
- + JavaScript の質問用スレッド vol.116 + (1002) - [95%] - 2014/7/1 0:45
- + JavaScript の質問用スレッド vol.136 + (1001) - [95%] - 2019/1/8 11:30
- + JavaScript の質問用スレッド vol.94 + (1001) - [95%] - 2012/1/8 15:46
- + JavaScript の質問用スレッド vol.81 + (1001) - [95%] - 2010/12/10 20:01
- + JavaScript の質問用スレッド vol.82 + (1001) - [95%] - 2011/1/19 7:54
- + JavaScript の質問用スレッド vol.84 + (1001) - [95%] - 2011/3/30 7:32
- + JavaScript の質問用スレッド vol.99 + (1001) - [95%] - 2012/5/7 4:32
トップメニューへ / →のくす牧場書庫について