元スレ+ JavaScript の質問用スレッド vol.78 +
JavaScript覧 / PC版 /みんなの評価 :
1 = :
━━━本スレに書く事を許される者は以下の通り━━━━━
一、正しい(validな)HTMLとは何か知っており書ける者
一、JavaScriptはJavaとは別物であると知っている者
一、自ら学んでJavaScriptコードを書く意思を持つ者
一、ユーザに迷惑となるスクリプトを書かない者
一、質問を分かる日本語できちんと説明できる者
一、トラブルを再現する最小限のサンプルを貼れる者
一、テンプレ+FAQ>>2-10/過去ログ/関連資料を読める者
━━━━━━━━━━━━━━━━━━━━━━━━━━━
自力で書く気がない人は他のスレへ(テンプレ末尾参照)。
前スレhttp://pc11.2ch.net/test/read.cgi/hp/1268206233/
[必読]過去スレ全集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"」としないとページ移動しちゃうから。
4 = :
【FAQその2】
Q10. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A10. 取得には document.defaultView.getComputedStyle() を使う必要あり。
IEでは要素オブジェクトのプロパティcurrentStyleを使う。
Q11. 100*1.15の結果が114.999…998となってしまうのですが…
A11. コンピュータの実数計算は全て近似値だと思え。誤差が嫌なら整数で計算。
Q12. 任意のデータをサーバ(別鯖ではない)から取り寄せたいのですが…
A12. IE7/Gecko/Opera/Safariのnew XMLHttpRequest()、IEの
new ActiveXObject("Msxml2.XMLHTTP.6.0") (または"Msxml2.XMLHTTP.3.0")
を使えばできます。古いブラウザだと隠しフレームに読むなどのワザが必要。
Q13. setAttribute("class","foo")、setAttribute("onclick","bar()")が動きません…
A13. IEではそれは不可。「obj.className="foo"」「obj.onclick=bar」でどぞ。
複数の関数を呼びたいときは obj.onclick=function(){foo();bar();};
という風に無名関数を作りましょう。中に書かれたコードが実行されます。
Q14. タイマーやイベントハンドラに設定するコードにthisを含めたいのですが
「"...this..."」とか「function(){...this...}」ではうまく行きません。
A14. それらが実行されるときはthisは別のもの(window等)を指してしまってる。
「function(x){return function(){...x...};}(this)」のようにthisを別の変数に
束縛しその変数を使って。循環参照によるメモリリーク問題あり(この項記述検討中)
Q15. 文字列の置き換えをするときにコードを使いたい(Perlのs///e)のですが…
A15. string.replace(/.../,function(str,p1,p2,...,offset,s){...})としましょう。
正規表現にマッチした文字列がreturnで返された文字列に置き換えられます。
各引数はstrがマッチした部分文字列、p1,p2,...が1番目、2番目、…の()の中身、
offsetがマッチした位置、sが置き換え前の文字列全体になります。
5 = :
【FAQその3】
Q16. input type="file"の値を設定(参照)できないのですが…
A16. セキュリティ制約のため設定は絶対に不可。参照はブラウザにより不可。
Q17. getElementById('ID名')や$('ID名')で要素が取れないのですが…
A17. コード実行時点でHTMLがそこまで読まれてない。onload中でやるとか。
【主張の対立:他人の嗜好は尊重。損得の議論は歓迎】
・仕様を読む:回答者なら仕様の該当部分は読んでいるべき。質問者でも
仕様を読まずうだうだ書く奴は注意されて当然。読み間違いは生温く指摘。
・英文文書:翻訳の努力を惜しむべからず。 読めないなら和訳を探し、
なければあきらめよう。翻訳サイトを知っている人はうまく誘導してあげて。
・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サイト制作初心者用質問スレ part217
→http://pc11.2ch.net/test/read.cgi/hp/1267851052/
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 = :
改めて読み直してみるとひっでぇテンプレだなw
誰かWiki立てて集約させろよ
10 = :
そう思うなら「誰か」じゃなくて自分でやりなよ
11 = :
言いだしっぺの法則
15 = :
まずreadyStateとは何かを調べて出直せ
17 = :
【FAQその3】
Q16. input type="file"の値を設定(参照)できないのですが…
A16. セキュリティ制約のため設定は絶対に不可。参照はブラウザにより不可。
http://developer.mozilla.org/en/DOM/File
//example = <input type="file"> node
alert(example.files[0].getAsDataURL());
18 = :
>>17
?
19 = :
<script type="text/javascript">
view = function(obj){
var img = document.createElement("img");
img.src = obj.files[0].getAsDataURL();
document.getElementsByTagName("body")[0].appendChild(img);
}
</script>
</head>
<body>
<input type="file" onchange="view(this)" />
<br />
選択した画像 :
</body>
面白いね
20 = :
セキュリティ制約のため絶対に不可。
セキュリティ制約のため設定(参照)は絶対に不可。
なんだろ、>>17のなかでは
21 = :
>>17
これで取得した画像ファイルの情報を、スタイルシートの指定みたいにrepeat, positionの指定をして
特定のDIV要素のbackgroundイメージとして表示させられないでしょうか?
(positionはDIV要素のサイズ変更に伴い後で変更できる必要があります。)
無理ですか?
22 = :
どこがわからないの?
23 = :
[DOMオブジェクト].style.backgroundImage = "url('"+example.files[0].getAsDataURL()+"')";
かな
24 = :
>>23
example.files[0].getAsDataURL() で取得できるのはURLじゃないので、それでは無理では
25 = :
>>24
Data Schemeでググれ
27 = :
自分で探せ
28 = :
今 >>23 で言われたことを試してみましたが、それで出来るんですね。
URL以外は設定出来ないと思い込んでおりました。馬鹿でしたね。
ありがとう!!
29 = :
>>25
data URIってURLなの?
30 = :
スレのレベルが恐ろしく低下してるな
http://www.ietf.org/rfc/rfc2397.txt
31 = :
>>29
全く違います。
32 = :
>>30-31
どっちだよ
33 = :
両方だよ
34 :
>>1おっちんちーん!
35 = 34 :
すみません「ot」って入力して変換されたところでエンター送信しちゃいました…
>>1乙です。
36 = :
釣られないぞ!
38 = :
スレのレベルが恐ろしく低下してるな(笑)
39 = :
訳わからん奴が増えてまともな奴が消えてしまった
40 = :
ブログランキングのリンクをクリックで新規ウィンド表示
それを一瞬にして閉じる。
メインウィンドウの操作で上記方法は可能でしょうか?
クリックした本人はにランキングサイトを見せないで直ぐに閉じるようにしたいんですが。
41 = :
帰れ
42 :
>>40
可能
ただし、見せないレベルで直ぐに閉じたら子Window側の処理が完了するかどうかあやしい
しかもWindowが一瞬でも開いたらユーザーは嫌がるだろうから結果的にアクセス数が減るってのが定説
あとユーザー側のセキュリティでポップアップブロック喰らう
自演で串刺してランキング回した方が効率的
43 = 42 :
>>40
すまん、ユーザー操作で新規Windowあげるならポップアップブロックされないかも
閉じる処理は簡単だから頑張れ
44 = :
そもそもクローズできなくないか?
45 = :
なんで?
46 = :
XMLHttpRequestってブラウザキャッシュがあればキャッシュが使われるんですか?
47 = :
>>46
使われます
48 = :
正規表現って便利だな・・・
今までfor使ってた処理が一行で収まるようになったし非常に高速だ
そこで質問ですが、JavaScriptを書くのに便利なWindows用のフリーのエディタがあったら教えてください
49 = :
ググレカス
50 = :
>>47
どうもありがとう
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.74 + (1001) - [97%] - 2009/12/1 6:08 ○
- + JavaScript の質問用スレッド vol.75 + (1001) - [97%] - 2010/1/23 1:07 ○
- + JavaScript の質問用スレッド vol.76 + (1001) - [97%] - 2010/3/10 4:02
- + JavaScript の質問用スレッド vol.77 + (1001) - [97%] - 2010/5/8 19:06
- + JavaScript の質問用スレッド vol.79 + (1001) - [97%] - 2010/9/11 6:50
- + JavaScript の質問用スレッド vol.88 + (1001) - [97%] - 2011/7/20 7:03
- + JavaScript の質問用スレッド vol.98 + (1001) - [97%] - 2012/4/9 14:46
- + JavaScript の質問用スレッド vol.138 + (1004) - [95%] - 2019/4/20 23:45
- + JavaScript の質問用スレッド vol.128 + (1001) - [95%] - 2016/2/26 6:45
- + JavaScript の質問用スレッド vol.108 + (1001) - [95%] - 2013/9/21 15:16
- + JavaScript の質問用スレッド vol.118 + (1002) - [95%] - 2014/8/29 22:30
- + JavaScript の質問用スレッド vol.94 + (1001) - [95%] - 2012/1/8 15:46
- + JavaScript の質問用スレッド vol.93 + (1001) - [95%] - 2012/1/1 4:46
- + JavaScript の質問用スレッド vol.96 + (1001) - [95%] - 2012/1/28 23:01
- + JavaScript の質問用スレッド vol.95 + (1001) - [95%] - 2012/1/17 4:16
- + JavaScript の質問用スレッド vol.97 + (1001) - [95%] - 2012/3/1 3:31
- + JavaScript の質問用スレッド vol.99 + (1001) - [95%] - 2012/5/7 4:32
トップメニューへ / →のくす牧場書庫について