+ JavaScript の質問用スレッド vol.90 +

このエントリーをはてなブックマークに追加
1Name_Not_Found
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。

■質問を書く上で
(1) 質問にならない投稿はご遠慮ください。(煽り、コード制作依頼など)
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
  (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 長い間連続して質問する場合にレス番を名前にしてあれば、質問の流れが回答者に伝わりやすくなります。
(4) 常に自発的に調べる心構えを持ってください。
  具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
  わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
  ※必ず「問題の事象が再現されること」を確認してください。
   必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。質問テンプレートを活用してみてください。

■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
2Name_Not_Found:2011/09/02(金) 13:08:09.26 ID:???
■前スレ
+ JavaScript の質問用スレッド vol.89 +
http://hibari.2ch.net/test/read.cgi/hp/1311096825/

■過去スレ全集
http://www2.atpages.jp/mirror/2ch/javascript/
http://usamimi.info/~mirrorhenkan/2ch/javascript/ (閲覧のみ)
http://wing2.jp/~mirrorhenkan/2ch/javascript/ (閲覧のみ)

■関連スレ
ECMAScript デス 3
http://hibari.2ch.net/test/read.cgi/tech/1190160481/
Ajaxでも語りませんか Rigel4
http://hibari.2ch.net/test/read.cgi/php/1166751613/
【誰か】jQueryのここがわからない【助けて】
http://hibari.2ch.net/test/read.cgi/tech/1229881548/
1行javascriptプログラミング
http://hibari.2ch.net/test/read.cgi/hp/1066750037/
WSH(・∀・)スレッド! Part 4
http://hibari.2ch.net/test/read.cgi/tech/1243095768/
Webサイト制作初心者用質問スレ part225
http://hibari.2ch.net/test/read.cgi/hp/1308415898/
CSS初心者スレッド=10th=
http://hibari.2ch.net/test/read.cgi/hp/1306489752/
役に立つ書籍は? 4冊目
http://hibari.2ch.net/test/read.cgi/hp/1172823674/
3Name_Not_Found:2011/09/02(金) 13:08:40.92 ID:???
■主要FAQ (全部は http://fiddle.jshell.net/vSqKr/26/show/ )
Q1. 別窓・フレーム内容やローカルファイルを読み書きしたいのですが…
A1. 別サーバのページやファイルの内容はセキュリティ制約でアクセス不可です。
Q2. document.write()でページ内容を追加したいのですが…
A2. 一度表示完了後にwriteするとページ内容が消去されます。DOM等別手段を。
Q3. table内容のinnerHTMLやDOMでの変更がうまく行かないのですが…
A3. IEではtable/tbody/trのinnerHTML書き換え不可です。DOMを使いますが、
  DOMの場合tableの直下にはtbody要素が(作らなくても)あることに注意。
Q4. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A4. 「document.forms.myform.elements[変数名].value」でどぞ。
  JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
  グローバル変数はwindowのプロパティなので「x」と「window['x']」も。
Q5. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A5. 取得には document.defaultView.getComputedStyle() を使う必要あり。
  IEでは要素オブジェクトのプロパティcurrentStyleを使う。
Q6. setAttribute("class","foo")、setAttribute("onclick","bar()")が動きません…
A6. IEではそれは不可。「obj.className="foo"」「obj.onclick=bar」でどぞ。
Q7. タイマーやイベントハンドラに設定するコードにthisを含めたいのですが
  「"...this..."」とか「function(){...this...}」ではうまく行きません。
A7. 実行時にthisが別のものを指してしまってる。以下のようにthisを束縛保存。
  「function(x){return function(){...x...};}(this)」
Q8. input type="file"の値を設定(参照)できないのですが…
A8. セキュリティ制約のため設定は絶対に不可。参照はブラウザにより不可。
Q9. getElementById('ID名')や$('ID名')で要素が取れないのですが…
A9. コード実行時点でHTMLがそこまで読まれてない。window.onload 中でやるとか。
4Name_Not_Found:2011/09/02(金) 13:09:37.18 ID:???
5Name_Not_Found:2011/09/04(日) 11:55:26.12 ID:???
そういや少し前のテンプレから「「分かんねえの?」と煽っても無駄です。」ってフレーズが消えたね
あれテンプレ引用に便利そうに思うけど
6Name_Not_Found:2011/09/04(日) 19:10:44.66 ID:???
>>5
挑発時な文言は消えて良かったと思う
7Name_Not_Found:2011/09/04(日) 23:02:04.34 ID:???
そんなんも分かんねえの?^^;
8Name_Not_Found:2011/09/05(月) 13:31:11.15 ID:???
グーグルの検索バーに検索ワードを入力してエンターを押すと、このスクリプトでエラーが発生しました。

ライン:371 文字27 エラー:'firstChildはNullまたはオブジェクトではありません。
コード:0 URL:http://www.google.co.jp/extern_js/f/CgJqYRICanArMEU4ACwrMFo4ACwrMA4...

このページのスクリプトを実行し続けますか?

とエラーが出ます。

検索するたびに表示されていいえを押すと消えるのですが、原因はなんでしょうか?解決方法はありますか?
また文字打ってる途中でもバグって最初に戻ったり、打てなくなります。
どなたか助けていただけると助かります。
9Name_Not_Found:2011/09/05(月) 14:20:33.61 ID:/QmcSJS7
IE6かと思って、IETesterで見ようとしたら
Google開くとIETesterさん落ちてしまうん…
10Name_Not_Found:2011/09/05(月) 16:37:11.67 ID:iiBEFa73
javascriptやってて
顔がオランウータンで髪型がライオンみたいな有名な人って誰ですか?
この前勉強会でお世話になりました

最初が あ っていう文字で始まったと思います教えてください
11Name_Not_Found:2011/09/05(月) 20:02:55.72 ID:???
オランウータンってa○achangに失礼だろw
12Name_Not_Found:2011/09/05(月) 20:26:37.99 ID:/QmcSJS7
13Name_Not_Found:2011/09/05(月) 20:57:37.72 ID:R148D68r
みなさんこんばんは

<script type="text/javascript">
<!--
document.open();
document.write("000000");
document.close();
// -->
</script>

<input onclick="なんとかかんとか" type="button" value="EEEEEE">
<input onclick="なんとかかんとか" type="button" value="FFFFFF">

000000の部分をボタンで切り替えたいのですが
イメージ的なものはなんとなく上のコードみたいな感じなんですが
やり方教えてください お願いします
14Name_Not_Found:2011/09/05(月) 21:54:43.93 ID:???
>>13
顔がオランウーターンにそっくりで髪型がライオンの超絶イケメンamachangさんに聞いてください
一発で回答してもらえます

顔がオランウータンにそっくりで髪型がライオンのamachangさんのTwitter

http://twitter.com/amachang
15Name_Not_Found:2011/09/05(月) 21:55:21.43 ID:???
僕もあんな顔になりたいです
オランウーターンに似てるってかっこいいじゃないですか
しかも百獣の王のライオンヘッドですよ
かっこいいですね
16Name_Not_Found:2011/09/05(月) 21:58:59.89 ID:R148D68r
いじわるしないで教えてください
17Name_Not_Found:2011/09/05(月) 22:03:06.27 ID:???
>>13
配列化されてんじゃないの
buttonのフォームが
あほだな[0] [1]
18Name_Not_Found:2011/09/05(月) 22:06:31.09 ID:R148D68r
カラーコードで配列じゃねーし
19Name_Not_Found:2011/09/05(月) 22:07:56.57 ID:???
バカすぎて話しにならねーわこいつ
出直して来いジャップ
20Name_Not_Found:2011/09/05(月) 22:15:11.91 ID:R148D68r
お前には難し過ぎたようだなw
回答できる方お待ちしてます。
馬鹿の泣き言は要りません
21Name_Not_Found:2011/09/05(月) 22:19:44.41 ID:???
>>5
22Name_Not_Found:2011/09/05(月) 22:22:28.69 ID:MfNjCeM6
>>13
なんとか、の部分にどう書くか、てこと?

document.body.innerHTML=document.body.innerHTML.replace("000000",this.value);

スマホからだから、間違ってたらすまんこ
23Name_Not_Found:2011/09/05(月) 22:25:10.18 ID:???
ジャップてなんやねんコラ
24Name_Not_Found:2011/09/05(月) 22:52:24.08 ID:R148D68r
うごきません
25Name_Not_Found:2011/09/05(月) 22:56:44.02 ID:???
>>document.body.innerHTML=document.body.innerHTML.replace("000000",this.value);
こんなウンコードでどう見てもうごくわけねーだろ?
ジャップだな貴様は

inputに格納されてる値を取得すればいけんだろ?
お前はバカだな

input[0].
input[1].


プログラミングやってるやつは情弱
26Name_Not_Found:2011/09/05(月) 23:04:21.55 ID:R148D68r
はいジャップです
ちょっと考えてみました

<p id=hoge>
<script type="text/javascript">
<!--
document.open();
document.write("aaaa");
document.close();
// -->
</script>
</p>

<input type="button" onClick=" onclick="document.hoge.innerHTML=document.hoge.innerHTML.replace("bbbb" ,this.value);" value="bbbbに変える">

こんな感じので動くコードお願いします
これはなぜか動きません
僕の頭脳ではせいいいっぱい考えてここまでです
27Name_Not_Found:2011/09/05(月) 23:17:13.77 ID:???
(4) 常に自発的に調べる心構えを持ってください。
  具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
  わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
28Name_Not_Found:2011/09/05(月) 23:24:22.70 ID:???
君にはエスケープという言葉を教えよう。
エラーログ見れば大抵自己解決できるぞ。
29Name_Not_Found:2011/09/05(月) 23:25:08.17 ID:R148D68r
色々ためしたら出来ました☆
ここって2,3年前は即答してくれる人常駐してたのに死んだのかな
30Name_Not_Found:2011/09/06(火) 07:55:22.09 ID:???
>>29
質問者のレベルが落ちたからかな
エスパー待ちが昔より増えた
で、自己解決しても上手くいったコード貼らない質問者も多いしね
31Name_Not_Found:2011/09/06(火) 08:26:06.33 ID:???
>>29
親切な回答者はいるが、2-3年もそのスタイルで回答続けている人はまずいない
自分勝手な質問者に失望して離れていくのがほとんどだ
ここに限らないが年々質問者の質が下がってる気がする
君も回答すればわかるからやってみれ
32Name_Not_Found:2011/09/06(火) 08:29:52.79 ID:???
質問というよりコード制作依頼だから
回答の質は質問の質に比例するよ
33Name_Not_Found:2011/09/06(火) 08:54:17.12 ID:???
身の丈に合わない質問に回答しても大抵は理解されないし、
コード貼ってもらえないことに質問者が失望して逆ギレして終わるケースが多いな
34TreeBoa:2011/09/06(火) 09:47:02.75 ID:???
お前俺よりjavascriptできないくせしてでしゃばるなカスが早く死んでくれ
35Name_Not_Found:2011/09/06(火) 10:39:06.27 ID:F2aHqxar
あんだって?
とんでもねえ、あたしゃ神様だよ
36Name_Not_Found:2011/09/06(火) 12:35:40.86 ID:???
>>29
自己解決しても上手くいったコード貼らないで文句だけは一人前なのは何で?
37Name_Not_Found:2011/09/06(火) 12:38:17.85 ID:???
というか2年もjsに触れてるならこれぐらいできるはずなんだがな
38Name_Not_Found:2011/09/06(火) 12:42:54.51 ID:???
2、3年もjsに触れててdocument.write(笑)
39Name_Not_Found:2011/09/06(火) 17:11:53.87 ID:059RT+7E
いや、別にdocument.writeは問題ないと思うが
40Name_Not_Found:2011/09/06(火) 17:59:16.80 ID:???
なにこいつらサクラ?
41Name_Not_Found:2011/09/06(火) 18:53:09.12 ID:???
>>37
結果だけを求める人にありがちだな
いつまでも進歩しない永遠の初心者
42Name_Not_Found:2011/09/07(水) 18:14:22.61 ID:???
すごい民度低いよねw
43Name_Not_Found:2011/09/07(水) 18:31:25.67 ID:???
質問したタイミングがオランウータンだったのも原因w
44Name_Not_Found:2011/09/07(水) 19:00:51.46 ID:1Rx+ajbi
【環境】Windows 7 SP1 64bit,IE9,Firefox6.0.2,Opera11.51,Chrome13.0.782.220 m
【エラーメッセージ】false
【期待する結果】true
【サンプルコード】http://jsfiddle.net/VqtuZ/
console.log('onload' in XMLHttpRequest.prototype);

上のコードを実行すると IE、Firefox では true が表示されますが、
Opera、Chrome では false が表示されてしまいます

これはどちらの挙動が正しいのでしょうか
また、onload プロパティ対応の有無に関わらず false が表示されるブラウザにおいて
onload プロパティに対応しているかどうかを確認するにはどうすれば良いのでしょうか
45Name_Not_Found:2011/09/07(水) 19:23:03.09 ID:???
chromeだけだけど
console.log('onload' in new XMLHttpRequest());
これならtrueなるよ
46Name_Not_Found:2011/09/07(水) 19:23:51.99 ID:???
ajax通信がしたいことだろうとすると、prototype.jsやjQueryからajax関数を持ってくれば問題無いと思うよ。
根本的解決じゃないけどね
4744:2011/09/07(水) 19:31:00.73 ID:1Rx+ajbi
>>45-46
有り難う御座います
'onload' in new XMLHttpRequest() で、Opera や Chrome でも正常に確認できるようになりました
48Name_Not_Found:2011/09/07(水) 19:34:15.11 ID:???
関係ないけどXMLHttpRequestはIEだけ特別扱いすればライブラリ使うほど難しいものじゃない
49Name_Not_Found:2011/09/07(水) 19:42:01.47 ID:???
携帯は?
50Name_Not_Found:2011/09/08(木) 00:22:46.74 ID:???
jquery-1.6.2.jsとjquery-1.6.2.min.js違いって何ですか?
両方ともjQuery JavaScript Library v1.6.2と書いてありますが、
容量が違うので別物だと思いますが、よくわかりません。
51Name_Not_Found:2011/09/08(木) 01:27:20.60 ID:???
>>50
容量(サイズ)が違うだけ。
52Name_Not_Found:2011/09/08(木) 02:37:57.50 ID:???
>>51
同じ物だったんですか。ありがとうございました。
53Name_Not_Found:2011/09/08(木) 15:32:53.68 ID:???
mixiのつぶやくボタンでURLを渡す際にURLパラメータの「&」のところで
途切れてしまいます。%26で記載してて、Twitterだと大丈夫なんですが
mixiボイスだとダメです。解決法がわかるかたお願いします。
54Name_Not_Found:2011/09/08(木) 19:28:03.80 ID:???
&amp;でも駄目?
55Name_Not_Found:2011/09/08(木) 20:07:41.09 ID:???
mixi利用上の問題なら運営に聞けば
5653:2011/09/08(木) 20:26:46.61 ID:???
レスありがとうございます。
&でやってみましたが同じように
&以降の文字が消えてしまってます。
&を使わないようにURLをどうにかするか、
諦めるかでとりあえず対応いたします。
5753:2011/09/08(木) 20:27:28.65 ID:???
↑ &amp; でやってましたが、です。訂正。
58Name_Not_Found:2011/09/08(木) 21:15:59.52 ID:ZKcnsOFz
ユニコードエスケープの\が\\みたいに二重になっているやつを、
\がひとつしかないときと同じような結果にするにはどうすればいいですか?
javascript:alert("\\u307b\\u3052"); //「\u307b\u3052」と表示される
↑これを↓これと同じ結果になるようにしたい
javascript:alert("\u307b\u3052"); //「ほげ」と表示される←期待する結果

↓これらはうまくいきませんでした
javascript:alert("\\u307b\\u3052".replace(/\\\\/g,"\\"));
javascript:alert("\\u307b\\u3052".replace(/\\\\u/g,"\u"));
javascript:alert("\\u307b\\u3052".replace(/\\\u/g,"\u"));
javascript:alert("\\u307b\\u3052".replace(/\\u/g,"\u"));
javascript:alert("\\u307b\\u3052".replace(/\u/g,"\u"));
javascript:alert("\\u307b\\u3052".replace(/\\\\u(\w+)/g,"\u$1"));
javascript:alert("\\u307b\\u3052".replace(/\\\u(\w+)/g,"\u$1"));
javascript:alert("\\u307b\\u3052".replace(/\\u(\w+)/g,"\u$1"));
javascript:alert("\\u307b\\u3052".replace(/\u(\w+)/g,"\u$1"));

↓\nの場合はこれでいけました
javascript:alert("a\\nb\\nc".replace(/\\n/g,"\n"));
59Name_Not_Found:2011/09/08(木) 21:39:06.70 ID:???
>>58
Unicodeエスケープとして解釈させるには new Function でコードを評価させるしかない
String.fromCharCode で対象の文字に変換する代替手段が妥当だと思う
ちなみに、"\n" は改行コードそのものだから上手くいく
60Name_Not_Found:2011/09/08(木) 21:47:40.48 ID:???
>>59
できました
ありがとうございます
61Name_Not_Found:2011/09/09(金) 01:16:50.75 ID:2Ys/fsBO
こんばんは。

質問させていただきます。

極めて端的な質問なのですが、親ページで取得した値を元に、iframe内のソースを
書き換え、更に書き換えられた状態でiframe内をリロードさせるのは可能でしょうか?
62Name_Not_Found:2011/09/09(金) 02:29:50.69 ID:???
同一ドメイン同士のサイトなら可能です
書き換えられた状態でリロードというのがいまいちよくわかりませんが
まあだいじょぶでしょう
63Name_Not_Found:2011/09/09(金) 03:23:43.73 ID:???
2つのウィンドウがあって、Aのウィンドウのリンクを押すたびに、
Bのウィンドウが更新されて、かつ最前列になる方法が知りたいのですが、教えていただけると助かります。

ぐぐって調べた、onBlur="focus()" では成功しませんでした。

よろしくお願いいたします。

64Name_Not_Found:2011/09/09(金) 09:49:26.36 ID:???
function click(){
var B = document.getElementById('B_id');
B..contentWindow.document.body.innerHTML = 'change';
B.style.zIndex = 大きめの数字;
これで最前面にB(iframe)が表示されないなら設計がおかしい。htmlを勉強したほうがいい。

>更に書き換えられた状態でiframe内をリロード
リロードがF5更新みたいに通信を伴うなら、Cookieとかで変更を記憶してどうにかしないといけない。
65Name_Not_Found:2011/09/09(金) 11:48:52.52 ID:???
他のスレで質問したものですが、
ここで質問したほうが良いのかと思い、
ここで質問しますが、よいでしょうか?
で、下のが、その質問です。


333 :友達の友達の名無しさん:2011/09/09(金) 11:14:58.57 ID:E9CsJGgr0
Twitter は、JavaScript を有効にしないと利用できません。
ウェブブラウザの JavaScript を有効にして、
ページを再読み込みしてください。

って出た。
で、IE使っているので、ツールのインターネットオプションから
セキュリティ、レベルのカスタマイズで
設定変えようとしたけど、ぜんぜん、うまくいかない。
どうしたらよい?

334 :333:2011/09/09(金) 11:43:22.50 ID:E9CsJGgr0
ブラウザが破損でもしたのか?
うまくいきません。
ウェブブラウザの JavaScript を有効にして、
ページを再読み込みしてください。
ってでて、いちおう、ぐーぐって調べた通りにやったのですが。。。
66Name_Not_Found:2011/09/09(金) 11:53:56.99 ID:???
カエレ。そもそも板違い。自分の用さえ足りれば何でもいいという傲慢を
自覚して反省しろ。
67Name_Not_Found:2011/09/09(金) 12:01:08.29 ID:???
>>66
すいません。直接的にはツイッターに関する質問なんですが、
でも、JavaScriptの質問だと思って。。。
IEの設定で普通に、JavaScript使えるように設定したつもりなんだけど
うまくいきません。
もしかして、IEかなんかが破損したとか壊れたとか?
よく分からないんです。
68Name_Not_Found:2011/09/09(金) 12:05:10.97 ID:???
【解決】再インストールか別ブラウザでどうぞ

はい、次の方どうぞ〜
69Name_Not_Found:2011/09/09(金) 20:55:45.16 ID:???
>>67
マジレスすると、ここはjsでプログラムを書く人の質問スレッド。
あなたのは、jsを使ったプログラムをブラウザ上で利用するための質問。
ブラウザのスレか、OSの設定のスレに行きましょう。
70Name_Not_Found:2011/09/10(土) 08:12:30.73 ID:???
formからsubmitするときにmimeタイプ指定する方法ってなんだっけ?

まあやりたいことはvalueにJSONぶちこんで送信したいんだけど
Application/jsonに指定する方法がわからない

もしajaxで同じことができるならそっちも教えて(同期通信)
71Name_Not_Found:2011/09/10(土) 08:13:35.03 ID:ojWvVoIn
非常に馬鹿みたいな質問かも知れないですが、、
最近はじめてjqueryのpost()を使ってajaxの処理を実装してみました
たとえば、野菜というラジオボタンをクリックするとサーバから野菜の一覧を出力する感じです
(そのあとキャベツだのナスだの好きなものチェックして遷移…と)
こんな単純な仕組みなんですが、実際ajaxが失敗する可能性ってどの程度あるんでしょうか
サーバサイドのプログラムなど環境によるというのが答えかも知れないですが
・失敗したときにどんなメッセージを出したら良いのか
・そもそも失敗することがあるのかな
という2点ですごく不安です

本質的には失敗する可能性は同じサーバでのphpでの登録フォームの遷移に失敗するのと同じで、
ajaxだから失敗する可能性が高くなるというようなものではない、という理解で良いんでしょうか?
なれない技術なので不安で質問しました
72Name_Not_Found:2011/09/10(土) 08:17:06.72 ID:???
>>71 ページ遷移しないけど通信自体は普通の場合と同じだから、失敗する確率は普通にリンクとかをクリックしたときと同じだと思われ
7371:2011/09/10(土) 08:26:39.64 ID:ojWvVoIn
>>72
ご意見ありがとうございます、納得できました
あと、jqueryのpost()とajax()の現実的な使い分けについても聞きたいんですが
失敗の捕捉がajax()しかできないということは、クリティカルな要素についてはajax()を使って
失敗時のフォローをした方が良いってことですよね
バナー領域の自動更新みたいなコンテンツとして死活問題にならないのはpost()でいいけど…という感じで
74Name_Not_Found:2011/09/10(土) 08:38:55.88 ID:???
>>73 $.post()とか$.get()は$.ajax()の簡易版みたいな感じやから それでええと思うで
7571:2011/09/10(土) 11:59:36.81 ID:???
>>74
どうもありがとうございました
76Name_Not_Found:2011/09/10(土) 12:25:14.29 ID:???
77Name_Not_Found:2011/09/10(土) 12:53:42.45 ID:???
>>70
つ beforeSend、overrideMimeType
78Name_Not_Found:2011/09/10(土) 14:31:52.99 ID:???
>>70
勉強不足なのかもしれないが…。
ブラウザが受け入れる MIME-Type は Accept ヘッダで指定可能だが、サーバでないブラウザに MIME-Type を送信しないと思ってた。

>>77
overrideMimeType はサーバから送信された MIME-Type を上書きする仕組みだったはず。
7978:2011/09/10(土) 14:44:56.78 ID:???
http://www.studyinghttp.net/cgi-bin/rfc.cgi?1867
ブラウザも Content-Type を送信できるんだな。>>78は忘れてくれ…。
80Name_Not_Found:2011/09/10(土) 14:54:03.77 ID:???
ヘッダの送信はsetRequestHeaderだよ
81Name_Not_Found:2011/09/10(土) 15:06:00.14 ID:???
しかし、サーバで Content-Type を受け取るメリットって何かある?
信頼性が低いと聞いたことがあるし、ファイルの拡張子を見るのと大して変わらない気がする
>>70の要件ならJSONをValidateするだけで事足りるような
82Name_Not_Found:2011/09/10(土) 17:12:11.44 ID:???
>>81
サーバにファイル名が渡るとは限らないでしょ。
83Name_Not_Found:2011/09/10(土) 17:55:33.73 ID:???
>>82
ファイル名を渡さないUAがあるってこと?
84Name_Not_Found:2011/09/10(土) 18:13:30.24 ID:???
>>82
「ファイル名を見るべき」と主張しているわけではなく、ファイル名も Content-Type も同じように信頼性が低いと主張しているわけで
85Name_Not_Found:2011/09/10(土) 18:57:14.98 ID:???
文字コードの指定もできるし送れる場合は送ったほうが良いでしょう
86Name_Not_Found:2011/09/10(土) 18:57:45.65 ID:???
JavaScriptでリンクをすると
検索ロボットにページを拾われないんですか?
87Name_Not_Found:2011/09/10(土) 19:22:44.69 ID:???
>>70 の人です 色々ありがとうございます
僕がなんでわざわざmineを送ろうとしたかはmineを送らなかったらサーバー側でなぜか受け取ったJSONをパース出来なかったからです
JSONをただのフォームデータだと思ったのかな?

サーバー側はnode.jsで、JSON.parse()やるとなぜかそれはJSONじゃねーとエラーが帰ってきました
88Name_Not_Found:2011/09/10(土) 20:54:20.81 ID:???
>>87
JSON.parse に MIME-Type は関係ないはず
JSON.parse は通信が発生するAPIではないから
パースしようとしている文字列がJSON文字列ではなかったからエラーを吐いてると思われる
89Name_Not_Found:2011/09/10(土) 21:01:31.20 ID:???
>>87
JSONじゃねーとエラーが変えるJSONデータを晒すほうが早い
90Name_Not_Found:2011/09/10(土) 22:34:04.02 ID:vlcMCJ4R
>>89
<form method="POST">
<input type="hidden" name="a" value="{'data':{'test':'hello'}}" />
<input type="submit" value="submit" />
</form>

これで送るとapplication/x-www-form-urlencoded で
a:{'data':{'test':'hello'}} というテキストがPOSTされる

んでnode.jsで
req.body.aでPOSTのaの持つ値({'data':{'test':'hello'}})が取得できるんだけど(alertとかで確認した)
いざこれをJSON.parse(req.body.a)すると
SyntaxError: Unexpected token ILLEGAL
at Object.parse (native)
とでる

ちなみにXHRでなんとかapplication/jsonに指定すると
{'data':{'test':'hello'}} がPOSTされて
alert(req.body.data.test) でhelloが出た
mineでJSON指定して送ると、パースしなくても受け取ったオブジェクトの値が参照できた
91Name_Not_Found:2011/09/10(土) 22:45:52.94 ID:???
>>90
試してみればわかることだと思うんだが…。
JSON.parse('{"data":{"test":"hello"}}'); // Object
JSON.parse("{'data':{'test':'hello'}}"); // SyntaxError
92Name_Not_Found:2011/09/10(土) 22:53:58.11 ID:???
>>90
むしろ、XHRで上手くいくことが不思議。
ところで req.body.data って何なんだろ。Node.jsの拡張?
http://www.w3.org/TR/XMLHttpRequest2/#the-xmlhttprequest-interface
93Name_Not_Found:2011/09/10(土) 23:07:35.17 ID:vlcMCJ4R
>>92 >>92 え まじで...
いまちょっと無理やからあとで試してみる

node.js+express
server.on("message",function(req,res){
console.log(req.data);
//
//
});
てな感じでつかう
94Name_Not_Found:2011/09/11(日) 19:07:24.71 ID:XiyvnHw9
事前の準備なしに、DOM構築中なら構築を待ってから実行、構築済みならすぐ実行
って無理ですか?
jQuery.event.special.ready.setup()
って結局はDOM構築前に実行しておかないといけないんですよね?

http://www.google.com/search?hl=ja&q=jQuery.event.special.ready.setup
95Name_Not_Found:2011/09/11(日) 19:28:40.93 ID:KwsWdHlC
JSのサンプルを落として組み込み、DWでバリデートすると
「タグとタグの間に<があります_」との警告が出ます。スクリプトの動作自体は問題ないのですが。
以下の部分の4行目の右端 "Close">の「>」なのですが、本来どうあるべきなのでしょうか。
<script type="text/javascript">
//<![CDATA[
hs.registerOverlay({
html: '<div class="closebutton" onclick="return hs.close(this)" title="Close"></div>',
position: 'top right',
fade: 2 // fading the semi-transparent overlay looks bad in IE
});
96Name_Not_Found:2011/09/11(日) 21:00:43.20 ID:???
>>94
document.readyStateとか見れば
97Name_Not_Found:2011/09/11(日) 21:01:51.08 ID:???
>>95
HTMLとスクリプトの分離
9894:2011/09/11(日) 21:19:24.07 ID:???
>>96
レスどうもありがとうございます
onloadではなくDOM構築のタイミングはdocument.readyStateだと難しいです
バージョンによっても違うかもしれませんが
各ブラウザのdocument.readyStateはこんな感じみたいです↓
firefox ... loading -> (DOMContentLoaded) -> interactive -> (onload) -> complete
safari ... loading -> (DOMContentLoaded) ->loading -> (onload) -> complete
ie ... loading or interactive -> (DOMContentLoaded) -> interactive -> (onload) -> complete

firefoxは3.6以降じゃないとdocument.readyStateは使えないようです
動作対象のブラウザはjQueryが対象としているブラウザと同じがいいです

body要素の最後に任意の要素を配置しておいてそれが取得できるかどうかで判断するとかではなく
Javascriptだけで完結したいです
99Name_Not_Found:2011/09/11(日) 22:07:01.04 ID:2NNNxBWS
下の二つの結果は違ってきます。

var a1 = 'aaa'.split('a')';
var a2 = 'aaa'.split(/a/);

正規表現でも、a1 のような配列を作る表現方法はないでしょうか?
100Name_Not_Found:2011/09/11(日) 22:14:45.04 ID:???
>>99
どっちも配列が返ってくるけど…
101Name_Not_Found:2011/09/11(日) 22:40:29.68 ID:2NNNxBWS
>>100
ホントだ・・。すみません。
一応、この事象は Windows7 の hta環境 で起きたんですけどね。JavaScript(JScript?)のエンジンが古いんでしょうね・・。
102Name_Not_Found:2011/09/11(日) 22:44:55.60 ID:???
IE splitでググればいろいろ出てくるとおもうよ
103Name_Not_Found:2011/09/12(月) 05:07:36.35 ID:???
>>98
3.6より前のFirefoxはセキュリティアップデートとっくに終わってるよ
104Name_Not_Found:2011/09/12(月) 05:35:52.32 ID:BOyWFed+
>>94
$(function(){});

ではいかんの?
105Name_Not_Found:2011/09/12(月) 08:03:48.60 ID:???
>>104
それもDOMContentLoaded以前に呼んどかないといけない
106Name_Not_Found:2011/09/12(月) 11:27:55.84 ID:???
そもそも、DOMontentLoaded 以前かどうかはコードを書く場所で自明じゃないの?
107Name_Not_Found:2011/09/12(月) 12:40:20.15 ID:S0m2e7zf
こういうのは違う?
getScriptがどういう振る舞いなのかよくわかってないですが

<!DOCTYPE html>
<html dir="ltr" lang="ja-JP">
<head>
<script src="_javascript/jquery-1.6.2.min.js"></script>
<script>
$(function(){
    $('button').click(function(){
        $.getScript('test.js');
    });
});
</script>
</head>
<body>
<p id="test">こんにちわ</p>
<p><button>test.js</button></p>
</body>
</html>


test.jsのなかみ ---------------------
$(function(){
    console.log($('#test').html());
});
108Name_Not_Found:2011/09/12(月) 13:13:02.49 ID:???
jQueryの$(function(){});、というかready()はDOMContentLoaded後に呼ばれたら
即時実行するぜ?

http://api.jquery.com/ready/
には↓って書いてある
> If .ready() is called after the DOM has been initialized,
> the new handler passed in will be executed immediately.

基本的には小難しいこと考えずにready()実行しとけばおk
109Name_Not_Found:2011/09/12(月) 17:42:58.53 ID:???
>>98
jQuery はFirefox3.6以降しかサポートしないよ
http://docs.jquery.com/Browser_Compatibility
110Name_Not_Found:2011/09/12(月) 18:57:49.98 ID:???
トップページだとIE 6.0+, FF 2.0+, Safari 3.0+, Opera 9.0+, Chromeだね
111Name_Not_Found:2011/09/12(月) 20:58:17.27 ID:K51yHnKM
失礼します。
スクリプトについて教えて頂きたいのですが、
横の解像度が
1024px以上、1280px以下のときはdesign-1.css
1280未満から上はdesign-2.css
を読み込ませるには、どのようにhtmlへ記述すればよろしいのでしょう?
色々調べてみたのですが、解決できず悩んでおります。
よろしければ記述方法を教えていただけませんでしょうか?

また、調べていたところ
「両方のCSSを読み込んでおいて別々のIDで設定。
bodyまたはhtmlのIDを解像度によって切り替える」
という方法もあるそうなんですが、どちらが最適なんでしょうか?

よろしくお願いいたします。
112Name_Not_Found:2011/09/12(月) 21:21:08.81 ID:???
only IE9 over ,Fx3.x over, Safari 3.x over
<link rel="stylesheet" media="only screen and (min-width: 480px)" href="./480.css">
<link rel="stylesheet" media="only screen and (min-width: 768px)" href="./768.css">
<link rel="stylesheet" media="only screen and (min-width: 1024px)" href="./1024.css">
[CSS]CSS3のMedia Queries(メディアクエリ)の使い方と実装例
http://coliss.com/articles/build-websites/operation/css/css3-media-queries.html
113Name_Not_Found:2011/09/12(月) 21:51:27.24 ID:K51yHnKM
112様
ご回答ありがとうございますm(__)m
大変、助かりました。
早速試してみます。
114Name_Not_Found:2011/09/12(月) 22:22:42.48 ID:???
>>110
過去版も含めれば対応範囲は増えるだろうけど、わざわざ古いバージョン使う理由も思い浮かばないなあ
115Name_Not_Found:2011/09/12(月) 22:54:09.00 ID:???
過去のバージョンが最新ブラウザをサポートしている保証はないから複数バージョンを併用する形になって混乱を招く気がする
ついでに過去のバージョンに対応したpluginも必要だが、今探しても見つかりにくいだろうからかなりの部分で自前実装になるんじゃないかね

Fx2.0から対応すると検証にとんでもない時間がかかることも考慮した方がいい
Fx2, 3, 3.5, 4, 5, 6
Op9, 10, 11, 11.5
IE6, 7, 8, 9
GC9, 10, 11, 12, 13
116Name_Not_Found:2011/09/13(火) 00:22:34.83 ID:???
>>111,113
http://okwave.jp/qa/q7006119.html で解決したんじゃなかったの?
同じ質問をして同じ回答をもらって「大変助かりました」とレスする不思議
117Name_Not_Found:2011/09/13(火) 00:58:05.08 ID:z5bv1WTP
div#sortedを並び替えして、かつappendChildで追加しても
h3はtest1→test2→test'n'の順番でテキストを保持したいのですが
どうすればよいでしょうか?

並び替えはjqueryのsortableを利用します。
追加はappendChildを利用します。


<div class="sorted">
<h3>test1</h3>
<p><input type="text" name="test[]" /></p>
</div>
<div class="sorted">
<h3>test2</h3>
<p><input type="text" name="test[]" /></p>
</div>



<div class="sorted">
<h3>test'n'</h3>
<p><input type="text" name="test[]" /></p>
</div>
118Name_Not_Found:2011/09/13(火) 01:28:07.32 ID:???
>>117
var h3 = jQuery('div.sorted'); // キャッシュしておく
119Name_Not_Found:2011/09/13(火) 01:37:10.46 ID:???
jqueryで取った要素ってlive?
120Name_Not_Found:2011/09/13(火) 03:02:54.65 ID:b7gmRBdg
質問させて下さい。

<script type="text/javascript" src="○○○.js" />
こんな感じでhtml内に記述した外部jsファイルを、
PCでは読み込ませるが、iphone等スマートフォンでは読み込ませない、
と言う方法はあるでしょうか?

cssのケースは見つかったのですがjsの場合がどうしても分からず・・・
よろしくお願いします。
121Name_Not_Found:2011/09/13(火) 03:17:21.30 ID:z5bv1WTP
>>117
アホですみません。よくわかりません。
>>119
liveでは無いですが自分のブラウザでは問題なく動いてます。
122Name_Not_Found:2011/09/13(火) 03:23:02.55 ID:???
>>119
liveじゃない
123120:2011/09/13(火) 04:08:48.04 ID:b7gmRBdg
度々すみません。
あれから色々調べて、ユーザーエージェントで振り分ける方法がある、
と言う事が分かりました。

で、かなり初歩的な質問になってしまうかもしれないのですが・・・
以下のコードを記述したのですが、上手く動作しません。
どこか間違っている部分があるかどうか、ご教示頂いても宜しいですか?

<script type="text/javascript">
var device = navigator.userAgent;
$(function(){
if((device.indexOf('iPhone') > 0 && device.indexOf('iPad') == -1) || device.indexOf('iPod') > 0 || device.indexOf('Android') > 0){
document.write("<script type='text/javascript' src='スマホ用.js'></script>");
}else{
document.write("<script type='text/javascript' src='パソコン用.js'></script>");
}
});
</script>
124Name_Not_Found:2011/09/13(火) 07:01:08.92 ID:3ggxStTT
エラってるの?
125Name_Not_Found:2011/09/13(火) 07:09:59.86 ID:???
$(function(){ })に書いたらDOM構築後に実行されるから
126Name_Not_Found:2011/09/13(火) 12:09:06.58 ID:???
>>121
liveではないからソート前にキャッシュしておけば順序が保持される
127Name_Not_Found:2011/09/13(火) 12:31:36.76 ID:yaFq+xAf
みうの新作キタッ

『グラソフトから見抜いたリダイレクト越し被リンク』
2010年夏まではgoogle検索『クレジットカード』で圏外、2010年12月には1位に登りつめたクレジットカードランキング王国。そのSEO対策はweb in the morningの最新SEO対策理論を駆使してグラソフトが施行していたことを突き止めました。

http://report.seo-miu.com/
128Name_Not_Found:2011/09/13(火) 12:55:49.94 ID:wRqv8xMI
moocheck.jsを使ってラジオボタンを画像に置き換えていますが
同ページ内で一部だけ画像置き換え、残りは普通のラジオボタンに
するにはどうしたらいいでしょうか?
129Name_Not_Found:2011/09/13(火) 13:00:54.94 ID:wRqv8xMI
moocheck.jsを使ってラジオボタンを画像に置き換えていますが
同ページ内で一部だけ画像置き換え、残りは普通のラジオボタンに
するにはどうしたらいいでしょうか?
130Name_Not_Found:2011/09/13(火) 20:47:09.55 ID:???
すっごい初心者で、他サイトのHTML転用していろいろ試してたんですが、
JQUERYの動作がうまくいきません。
下記ソースです。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>簡単にポップアップを実現するjQueryプラグイン「prettyPopin」 | WEBシステム開発 | HAPPY*TRAP</title>
<link rel="stylesheet" href="http://www.happytrap.jp/example/prettyPopin/css/prettyPopin.css" type="text/css" media="screen" charset="utf-8" />
<script src="http://www.happytrap.jp/example/prettyPopin/js/jquery.js" type="text/javascript" charset="utf-8"></script>
<script src="http://www.happytrap.jp/example/prettyPopin/js/jquery.prettyPopin.js" type="text/javascript" charset="utf-8"></script>
</head>

<body>
<p>ポップアップする? <a href="#testid" rel="prettyPopin" >はい</a> / いいえ

<div id="testid">test</div>
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
$("a[rel^='prettyPopin']").prettyPopin({width: 550,followScroll:false});
});
</script>

</body>
</html>

これで、idがふられてるdivの中だけを表示したいんですが、何故か全体が表示されます。
対処法はどうしたらよいでしょうか?
131Name_Not_Found:2011/09/13(火) 21:56:04.66 ID:???
idがふられているdiv以外の部分を表示しないことはどのようにして
実現されているの。
132Name_Not_Found:2011/09/13(火) 22:08:12.97 ID:Va5MbK+1
実現できてるサンプルが見当たりません・・・
133Name_Not_Found:2011/09/14(水) 00:51:22.03 ID:???
>>130
そのprettyPopinてやつについて調べてみると
hrefに設定されてるアドレスを読み込んで表示するもののようなんだが…
href="#testid" のようにページ内のid指定できるってのはどこに書いてあるの?
134Name_Not_Found:2011/09/14(水) 04:19:33.91 ID:???
https://twitter.com/#!/kriskowal/status/85402842650783744
の意味を調べようとしてたんですが、
degenerate array が何のことかわかんないです。
教えてください。
135Name_Not_Found:2011/09/14(水) 09:57:26.45 ID:???
jQueryのScroll Followでスクロールする要素の上マージンを常に5pxとりたいんだけど、どうればいいでしょうか?


136Name_Not_Found:2011/09/14(水) 16:19:28.14 ID:PGmnR7AQ
WinXpSP3 Opera11.51。JavaScriptで正規表現を勉強しているのでよければ教えてください。
{"{bc}","英]"・・・}
上に書いているような、"で囲まれた文字列と,のセットを、可変の数内側に持つ{}のうちの{にマッチする正規表現は作れますか?

内側のセットの数が固定なら下記でいける?
alert('{"{bc}","英]"}'.match(/{(?=\"[^\"]*?\"\,\"[^\"]*?\"\})/g));
内側のセットの数が可変なら正規表現だけでは無理??
137Name_Not_Found:2011/09/14(水) 16:28:15.19 ID:MAsF+0z7
ajaxでencodeURIComponent(document.fm.name.value)で
フォームに入力した値を$_POST['name']で受け取って表示させるの
ですが、<font>とフォームに書いた場合なにも表示されません。
<font>が< font >に変換するのがencodeURIComponentと思ってましがが
<font>をそのまま受け取って、<font>と表示させてるみたいです。
encodeURIComponentって何するものなんですか?
138Name_Not_Found:2011/09/14(水) 18:31:27.15 ID:Zy7OCsez
>>137
encodeURIがやるのはURLエンコードだよ
あなたが期待しているのはHTMLエンティティ化ではないかい?
139Name_Not_Found:2011/09/14(水) 19:07:36.03 ID:kWaVNw/1
aやa.bがundefinedかもしれない場合も含めて
try-catchを使わずa.b.cがundefinedかどうかを一発で判断する方法を教えてください
140Name_Not_Found:2011/09/14(水) 20:01:33.72 ID:MAsF+0z7
>>138
わかりましたURAエンコードですね。
xmlhttp = new XMLHttpRequest();を
xmlhttp.open("GET", 'hello.php?name='+encodeURIComponent(document.fm.name.value),true);
xmlhttp.open("GET", 'hello.php?name='+document.fm.name.value,true);
encodeURIComponentを使っても使わなくても正常に平仮名、漢字が
受け取りがfirefox、文字コードUTF-8で動いてますが、encodeURIComponentの
URLエンコードする意味ってあるのですか?

「ブラウザからサーバに日本語文字列を送信する時の話だが,
普通にHTMLでサブミットする場合は,ブラウザが勝手にその
ページの文字コードかつURLエンコーディングした結果を送信
してくれるので,特に何も考えなくて良いのだが,Ajaxの場合
はエンコードを自前でやらねばならない. 」
とwebサイトにありましたが、URLエンコードしなくても動いてます。
141Name_Not_Found:2011/09/14(水) 20:09:07.92 ID:Zy7OCsez
>>140
>わかりましたURAエンコードですね

ホントにわかった…のか?
まあそれはさておき、POSTしたかったんじゃなかったの?
142Name_Not_Found:2011/09/14(水) 20:18:00.05 ID:MAsF+0z7
URAでなくURLでした間違えました。
postの場合もencodeURIComponentがあってもなくても動きます。
このへんがよく分かりません。
xmlhttp.open("POST", 'hello2.php',true);
xmlhttp.setRequestHeader('content-type','application/x-www-form-urlencoded;charset=UTF-8');
xmlhttp.send('name='+encodeURIComponent(document.fm.name.value));
143Name_Not_Found:2011/09/14(水) 20:19:30.81 ID:Zy7OCsez
動いてるならそれでいいんじゃね?
自分以外の環境でもそうなるなら
144Name_Not_Found:2011/09/14(水) 20:24:35.58 ID:Zy7OCsez
あと最初の自分の質問を見なおしてみたほうがいいかも
そうすると問題点がわかるってのはよくある話


>>137
>フォームに入力した値を$_POST['name']で受け取って表示させるの
>ですが、<font>とフォームに書いた場合なにも表示されません。

どこに表示されないの?

><font>をそのまま受け取って、<font>と表示させてるみたいです。

誰が受け取っているの?
誰がどこに表示させてるの?
表示されないんじゃなかったの?
145Name_Not_Found:2011/09/14(水) 21:36:56.34 ID:Yj+JaE1y
質問です。

(123456789012345678901234567890).toFixed(0)
のように大きな値のtoFixedの返り値を得たとき、IEでは
> 123456789012345670000000000000
と(精度は落ちているものの)整数で表示してくれるのですが、Firefoxだと
> 1.2345678901234568e+29
と指数表示になってしまいます。
これをIEのように整数の形で表示することはできないのでしょうか?

よろしくお願いします。
146Name_Not_Found:2011/09/15(木) 00:24:26.06 ID:???
自作するしかない
テキトーだけど
function 禿(num , fix) {
    var numeric, chank, ret;
    numeric = num.toString();
    if(/^\d+\.?\d*$/.test(numeric)) {
        return num.toFixed(fix || 0);
    }else if(/^(\d+)\.(\d+)e\+?(\d+)$/.test(numeric)) {
        chank = numeric.match(/^(\d+)\.(\d+)e\+?(\d+)$/);
        ret = chank[1] + chank[2] + new Array(Number(chank[3]) - chank[2].length + 1).join("0");
        if(fix) {
            return ret + "." + new Array(fix +1).join("0");
        }
        return ret;
    }
    throw new Error("Illegal Exception, Is NaN")
}
alert(禿(12345))
alert(禿(12345, 2))
alert(禿(123456789012345680000000000000))
alert(禿(123456789012345680000000000000, 2))
147Name_Not_Found:2011/09/15(木) 02:01:39.60 ID:TyMaU8YT
>>133

遅レスですみません。
自分ではそこまで調べられずに、てっきりできるものだと思っておりました・・・
調べていただき、ありがとうございます。

そこで質問なのですが、特定の動作(onkeyup等)をトリガーにして、
ライトボックス風のポップアップウィンドウを表示させるプラグイン
はありますでしょうか?
148Name_Not_Found:2011/09/15(木) 02:03:58.77 ID:???
>>147

追記で、ポップアップさせるのはIDをふった任意の要素だとします。

もしこんなプラグインがあったら、是非教えていただけないでしょうか。
149Name_Not_Found:2011/09/15(木) 02:07:13.60 ID:???
JavaScript を自ら学ぶ人のための質問スレッドです。
150Name_Not_Found:2011/09/15(木) 09:27:09.78 ID:???
JavascriptとcookieでどこまでPCを特定できますか?
151Name_Not_Found:2011/09/15(木) 09:33:50.33 ID:???
152Name_Not_Found:2011/09/15(木) 10:22:22.72 ID:???
ユニークIDを振るって意図なら、ユーザーが手を加えなければ特定はできるけど、
クッキーなんていくらでも改竄可能だよ。
153Name_Not_Found:2011/09/15(木) 10:24:46.56 ID:???
>>152
その場合の「特定」ってのは、一度来訪した人が再び来訪した時に
「来た事のある人だ」って判る程度ね。
「どこそこに住んでる誰々さん」っていう特定はもちろん不可能。
154Name_Not_Found:2011/09/15(木) 14:13:52.63 ID:Ah9k2j7O
javascriptでサイトのリダイレクトの処理を行いたいのですが

http://www.hogehoge.co.jp/hoge=000 ←にアクセスしたら
http://www.hogehoge.co.jp/hoge2=000 に飛ばす。

http://www.hogehoge.co.jp/hoge=001 ←にアクセスしたら
http://www.hogehoge.co.jp/hoge2=001 に飛ばす

上記の様に処理を行うにはどのようにすればよろしいでしょうか?

先輩方宜しくお願い致します。
155Name_Not_Found:2011/09/15(木) 14:17:25.11 ID:???
perlでは?
156Name_Not_Found:2011/09/15(木) 14:20:15.61 ID:???
>>155

どの様にやればいいかさっぱり分かりません・・・。
157Name_Not_Found:2011/09/15(木) 15:08:39.02 ID:???
if (location.href=='http://www.hogehoge.co.jp/hoge=000') location.href='http://www.hogehoge.co.jp/hoge2=000';
if (location.href=='http://www.hogehoge.co.jp/hoge=001') location.href='http://www.hogehoge.co.jp/hoge2=001';

JavaScriptでやること?
158Name_Not_Found:2011/09/15(木) 15:48:23.46 ID:???
↑ちゃんと飛ぶようになったのですが、永久にリダイレクト先へ飛んでしまいます・・・
飛んだ後、F5連打みたいな状態です。

どうすればよろしいでしょうか??
159Name_Not_Found:2011/09/15(木) 16:08:19.43 ID:???
>>158
2つのURLを、目的の物に変えてみそ。
160Name_Not_Found:2011/09/15(木) 16:13:52.19 ID:???
>>159

ほんとすみません、解決しました。
こんな質問に回答頂き
本当にありがとうございました!
161Name_Not_Found:2011/09/15(木) 16:32:59.46 ID:???
【環境】iPhone(Safari5)、Android2.2以降のブラウザ
【質問内容】
テキストを入力するフォームからlocalStorageに登録し、登録したデータを呼び出しテーブルを作成する物を作っているのですが、その場合でもサニタイズは必要なのでしょうか。
【サンプルコード】
var value = document.getElementById(”<input>のID”).value;
var key = localStorage.length + 1;
localStorage.setItem(key, value);

よろしくお願いします。
162Name_Not_Found:2011/09/15(木) 18:39:29.65 ID:???
>>161
値の使い方による。
その3行だけなら必要ないけど、localStorage から取り出した後でサニ
タイズが必要になる可能性はある。

163161:2011/09/15(木) 19:17:57.69 ID:???
すみません。確かに値の使い方を記すのを忘れてました。

for (var i=1; i <= localStorage.length; i++) {
var row = list.insertRow(0);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var item = localStorage.getItem(i);
cell1.innerHTML = i;
cell2.innerHTML = item;
}

localStorage.setItemで保存させた値を単純にテーブルに書き出す物になってます。
サーバーサイドで動かす事は何もしません。
164Name_Not_Found:2011/09/15(木) 19:38:32.09 ID:???
サニタイズとエスケープを一緒にすんな
165Name_Not_Found:2011/09/15(木) 20:36:54.17 ID:???
ユーザーが入力してユーザーしか使わないブラウザで完結するデータならサニタイズは不要
この場合innerHTMLを使わずdocument.createTextNodeとかでテーブルを作ればエスケープも不要
166Name_Not_Found:2011/09/15(木) 20:57:21.11 ID:6bDq/BE/
jQueryを使って制作をしている者です。

初歩的な質問になるかと思いますが、

ある要素をクリックした際に、
別の要素マウスオーバーしている場合、
処理を行う

というようなことを行いたいのですが、
方法はあるでしょうか?

以下のような内容を考えていますが……


$("div#aaa").click(function() {
  if (「div#bbb」にマウスオーバーしているとき) {
    処理
  }
});



よろしくお願いいたします。
167161:2011/09/15(木) 21:01:11.80 ID:???
>>162 >>164 >>165
ありがとうございました!
ブラウザで完結する物なのでcreateTextNodeを使ってみます。
サニタイズとエスケープの違いも、よくわかっていないまま言葉を使っていたので調べてみます。
168Name_Not_Found:2011/09/15(木) 22:21:21.34 ID:???
>>166
マウス何個使ってるの?
169166:2011/09/15(木) 22:39:44.30 ID:6bDq/BE/
マウスは1つだけです。
一般的なパソコンやブラウザの環境で動くようにしたいです。
170Name_Not_Found:2011/09/16(金) 00:01:25.79 ID:???
>>166
div#aaaの子要素(のひとつ)にdiv#bbbがあるって意味なら
イベントのバブリングを調べてみるといいんでは。
jQueryならdelegate()とかlive()で書くことになる
171Name_Not_Found:2011/09/16(金) 01:11:57.90 ID:???
jQueryはevent.targetで捕捉できるけど、意外と知られていないよね
172Name_Not_Found:2011/09/16(金) 11:05:41.66 ID:zEqFxabs
xhrでcsvを読み込んでごにょごにょ・・というコードを書いています。
一部のブラウザでレスポンスのステータスの取得がうまくいきません。

多くのブラウザでは勝手にキャッシュを読んでくれるようですが
ブラウザまかせだとファイルが更新されたことに気づかなかったりするようなので
冗長ですがこのようにしてみました。(実際のリクエスト部分は平凡なので省略)

var loadCsv = function(myHeaders) {
xhr.sendRequest({ //自前のxhrオブジェクト
url: 'hoge.csv',
headers: myHeaders, //任意のヘッダを追加できる
callback: { //どこかで見たような作りのコールバック
success: function(req) { var csv = req.responseText; ... },
failure: function(req) { if (304 === req.status) { loadCsv(); } ... } //304なら引数(追加ヘッダ)なしで再リク
}
});
};
// 最初はヘッダを追加して呼び出し
loadCsv({'If-Modified-Since':'/*Last-Modifiedの値*/', 'If-None-Match':'"/*Etagの値*/"'});
173続き:2011/09/16(金) 11:06:31.49 ID:zEqFxabs
流れはこうなります
(1回目の読み込み)新規取得で200が返りコールバックのsuccessが実行される
(2回目の読み込み)csvが更新されてれば200が返りsuccessが実行、
更新されてなければ304が返りコールバックのfailureが実行される
=>追加ヘッダなしで再リクエストするとブラウザのキャッシュが(あれば)読み込まれる=>successが実行

これはIEなどほとんどのブラウザで意図どおり動作していますが、304が返ったときOperaだけstatusが0になってしまいます。
404など他のエラーはちゃんとしてるのに、304のときはなぜか0・・(undefinedとかじゃなく0です)
サーバーのログで見ても、Operaのアクセスに対してちゃんと304を返しています。
Operaのバージョンは10と11を試しました。

ネットで見るとxhrとキャッシュはややこしいみたいで混乱もあるのですが
statusが0になる理屈が見当つく方いたら、おきかせください。
174172:2011/09/16(金) 11:33:28.47 ID:zEqFxabs
すいません、今見つけたんですがOperaのバグだって話のようです
http://my.opera.com/community/forums/topic.dml?id=676132

とりあえず上記ページを参考に回避するようにしてみようと思いますm(_ _)m
175Name_Not_Found:2011/09/16(金) 12:18:46.72 ID:???
function abc(a,b,elem) {
var c = a+b;
if (typeof(elem) == "object") {
elem.innerHTML = c;
} else {
return c;
}
}

if (typeof(elm) == "object")の所をもっと確実にしたいのですが、どうしたらいいでしょうか
176Name_Not_Found:2011/09/16(金) 13:59:16.64 ID:???
>>175
typeof elem === "object" && elem.nodeType === 1 && typeof elem.nodeName === "string"
177Name_Not_Found:2011/09/16(金) 15:07:07.33 ID:4X8snwj8
http://phpjavascriptroom.com/exp3.php?f=include/ajax/galleryjs/animated_javascript_slideshow.inc&ttl=Animated+JavaScript+Slideshow%E3%81%AE%E8%A8%AD%E7%BD%AE%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB

このページの設置サンプルっていうのをコピペしてDreamweaverのソースのところにコピペしてみたんですがうまく表示されていません。
何か手を加えないといけないんでしょうか
178Name_Not_Found:2011/09/16(金) 15:37:35.69 ID:???
>>176
ありがとう
179Name_Not_Found:2011/09/16(金) 16:42:49.56 ID:???
>>176
nullもobjectだよね?
180Name_Not_Found:2011/09/16(金) 16:48:29.76 ID:???
DOM操作の質問です
<div id="hoge">
アイマス
</div>

の時、先頭に愛媛のを付けたいのですが+=だと後ろについてしまうので
document.getElementById("hoge").innerHTML = "愛媛の"+document.getElementById("hoge").innerHTML
とやっているのですが、どうも効率が悪いような気がしてなりません
先頭に付け加える時いい方法とかってあるんでしょうか?
181Name_Not_Found:2011/09/16(金) 16:53:32.62 ID:???
>>180
var doc = document;
doc.getElementById("hoge").firstChild.insertBefore(doc.createTextNode(愛媛の"));
182Name_Not_Found:2011/09/16(金) 16:59:45.05 ID:???
>>181
ありがとうございます、こういう時につかうんですね
183Name_Not_Found:2011/09/16(金) 17:01:58.27 ID:???
>>175
if (elem && typeof elem === 'object' && elem instanceof Element)
if (elem && typeof elem === 'object' && 'innerHTML' in elem && elem.nodeType === 1)
ところで、a, b は型チェックしなくていいの?
型によって加法演算子の処理が変わると思うけど
184Name_Not_Found:2011/09/17(土) 08:18:34.83 ID:rQkq0Xjw

console.log をファイルに出力したいんだけど、どうしよう。。。
メインはFirefoxですが、なんでもいいです。
セキュリティの関係上、なんかAdd-on なり about:configなりが必要なことはわかってます。
browser.dom.window.dump.enabled
はうまくいきませんでした。
185Name_Not_Found:2011/09/17(土) 10:34:27.42 ID:???
>>181
なにこれ?
186Name_Not_Found:2011/09/17(土) 10:46:39.61 ID:???
docとかなんも意味なさそうな変数宣言してるあたり入門者やな
187Name_Not_Found:2011/09/17(土) 12:04:06.00 ID:???
>>185-186
わからないものは入門者と決めつけない方がいいよ
http://www.hyuki.com/yukiwiki/wiki.cgi?EfficientJavaScript#i9
というか入門者ならローカル変数なんてまず使わない
巷にあるサンプルでローカル変数使っているコードはほとんどない
188Name_Not_Found:2011/09/17(土) 12:22:03.07 ID:???
えっ
189Name_Not_Found:2011/09/17(土) 12:41:45.19 ID:???
>>188
文脈を読めばわかるだろ
煽ることしかできないのか、おまえはw
190Name_Not_Found:2011/09/17(土) 12:51:16.73 ID:???
えっ
191Name_Not_Found:2011/09/17(土) 13:13:04.44 ID:???
> (1) 質問にならない投稿はご遠慮ください。(煽り、コード制作依頼など)
192Name_Not_Found:2011/09/17(土) 13:24:52.26 ID:???
> ■質問を書く上で
> (1) 質問にならない投稿はご遠慮ください。(煽り、コード制作依頼など)
193Name_Not_Found:2011/09/17(土) 13:28:28.02 ID:???
>>192
>なにこれ?
これは質問ですよね
194Name_Not_Found:2011/09/17(土) 13:40:17.21 ID:???
>>193
それは回答がついてるし、「えっ」は質問じゃないだろ
195Name_Not_Found:2011/09/17(土) 15:12:06.58 ID:???
>>184
GM_setValueで保存したデータをprefs.jsから取るとか?
196Name_Not_Found:2011/09/17(土) 15:16:35.15 ID:???
>>184
File APIを使えばいい
http://ascii.jp/elem/000/000/559/559105/
197Name_Not_Found:2011/09/17(土) 15:49:52.69 ID:???
http://ideone.com/zUpcp
今こんな感じなんですが、同じように出力するpageBtn()
をもう少しかっこ良く書いてもらえませんか?人に見せなきゃいけないんで
198Name_Not_Found:2011/09/17(土) 15:58:52.07 ID:5REbP0vF
現在メディアクエリを使いウィンドウサイズごとにCSSを振り分けています。
IE6.7.8に対応させるため、調べた結果「css3-mediaqueries.js」で対応できるそうなんですが、
htmlへ記述しても起動しません。私の記述が間違っているのでしょうか?
どなたか、ご教授のほど、よろしく、お願いいたします。


<title>テスト</title>

<link rel="stylesheet" type="text/css" href="css/size1024.css" media="only screen and (min-device-width: 1024px) and (max-device-width: 1280px)" />

<link rel="stylesheet" type="text/css" href="css/size1280ov.css" media="only screen and (min-device-width: 1281px)" />

<!--[if lt IE 9]>
<script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
<![endif]-->

</head>
199Name_Not_Found:2011/09/17(土) 16:00:38.16 ID:???
他人に見せるならわかりやすく書こう
カッコやインデントを省くのは自己満足、コードがカッコいいとか他人が見ればそんなのどうでもいい
200Name_Not_Found:2011/09/17(土) 16:03:39.78 ID:???
>>199
どれにレスしてんだよ
201Name_Not_Found:2011/09/17(土) 16:05:50.49 ID:???
>>200
文脈を読めばわかるだろ
煽ることしかできないのか、おまえはw
202Name_Not_Found:2011/09/17(土) 17:03:46.64 ID:???
インデントは消えちゃうんだよな。
専ブラでポップアップすると残ってるんだけど。
全角空白でインデントすると、回答してみようかとコピペした時に困る。
203Name_Not_Found:2011/09/17(土) 17:34:58.26 ID:dUaxHKt4
俺はテキストエディタでタブを&amp;に置換してコピペしとるな
204Name_Not_Found:2011/09/17(土) 17:52:13.38 ID:ZUPb0XKt
>>201
わからんわ!どのコードがわかりやすくないんだ?
205Name_Not_Found:2011/09/17(土) 17:58:50.63 ID:???
>>204
コピペは無視していいですよ
206Name_Not_Found:2011/09/17(土) 18:20:03.19 ID:???
>>187
あーえろうすんません入門者は僕でした
documentをキャッシュした方がIEさんが劇的に速い云々いうのは
昔どこかで読んでたけどすっかり失念してましたわ
207Name_Not_Found:2011/09/17(土) 18:24:35.34 ID:???
>>206
お前ダサすぎワロタw
208Name_Not_Found:2011/09/17(土) 19:02:53.44 ID:vr5XGV5L
ちゃんと誤ってるのにそれを罵倒するなんて
209sage:2011/09/17(土) 19:03:13.01 ID:vr5XGV5L
謝ってるのに
210Name_Not_Found:2011/09/17(土) 19:34:39.69 ID:???
>>181 の問題はそこじゃないけどね
211Name_Not_Found:2011/09/17(土) 19:38:27.88 ID:???
>>200,204
>>197のことじゃないかな、多分
文脈云々は関係ないから気にしなくていいと思う

>>210
問題点は具体的に指摘して欲しいんだけどな
わかると思ったからあえて訂正しなかったけど、>>181の " はtypoね
212Name_Not_Found:2011/09/17(土) 19:48:05.31 ID:???
>>211
問題は 2つあるけど、それを指摘されないと分からないようでは、ちょっと…
213Name_Not_Found:2011/09/17(土) 20:08:02.54 ID:???
痛々しい。。。
214Name_Not_Found:2011/09/17(土) 20:14:36.60 ID:???
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

このスレには、知識がなく回答もできず、その悔しさを紛らわすために
他人に噛み付いているだけの人がいます
「質問」および「質問の主旨に対する回答」を含まない書き込みは
スルーしましょう

☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
215Name_Not_Found:2011/09/17(土) 20:16:35.54 ID:???
>>181 みたいに、知識もないのに回答する奴ってどうなの?
216Name_Not_Found:2011/09/17(土) 20:38:31.02 ID:???
&nbsp;使いなすえ。専ブラ以外でコピペしたらええ
217Name_Not_Found:2011/09/17(土) 20:46:29.48 ID:???
>>212
んー、問題点があるってことだけ気にとめておく
ありがとね
218Name_Not_Found:2011/09/17(土) 20:55:33.91 ID:???
ああ、「#hogeがない場合にTypeError」「#hogeの子要素がない場合にTypeError」のことかな
少し迷ったけど>>180の「先頭に付け加える」という要件は満たしていたからスルーしてた
質問の趣旨から逸れてるし、気になる人が指摘すればいい些細な問題だと思う
219Name_Not_Found:2011/09/17(土) 21:02:32.72 ID:???
痛々しい。。。
220Name_Not_Found:2011/09/17(土) 21:03:48.63 ID:???
んー?insertBeforeやろ
親エレメントから実行するメソッドやで
221Name_Not_Found:2011/09/17(土) 21:04:22.35 ID:???
稚拙な書き込みはスルーで
ところで、皆は何のエディタでJavaScript書いてる?
俺は秀丸エディタ使ってる
222Name_Not_Found:2011/09/17(土) 21:09:27.28 ID:???
>>220
ありがとう、完全に間違って覚えてた
http://jsfiddle.net/tEqt2/
223Name_Not_Found:2011/09/17(土) 22:02:51.57 ID:???
引用符もな
つかぐだぐだ言ってないで動作確認くらいしろ
頭でっかちで何も作れない奴になるぞ
224Name_Not_Found:2011/09/17(土) 22:13:15.10 ID:???
とあるサイトにjsを納入する。
そのサイトを書き換えるのにいちいち管理人に指示してやってもらわないといけない。
ajaxを使うからそのページ上じゃないとテストできない。
どうしたらjsだけローカルのに差し替えてテストできる?
225Name_Not_Found:2011/09/17(土) 22:24:25.43 ID:???
ajaxの通信先変えてローカルで試すのでないの?
proxomitronでもページ書き換え&クロスドメイン通信できるけど。
226Name_Not_Found:2011/09/17(土) 22:25:23.80 ID:???
Greasemonkeyを使えばクロスドメインでもへっちゃらさ!
227Name_Not_Found:2011/09/18(日) 00:02:58.15 ID:cYshN7ZR
>>224
仕事だったら仮アップ環境あるでしょ
228Name_Not_Found:2011/09/18(日) 00:31:48.44 ID:???
ローカルに環境構築してからUPするものだと思ってたが、最近は違うのか…
229Name_Not_Found:2011/09/18(日) 01:06:24.31 ID:???
Apacheインストール済みのMacが勝ち組ということだな
230Name_Not_Found:2011/09/18(日) 01:18:10.19 ID:???
ローカルにphp入れてないしソースもないんだよ
proxomitronでサイト上の<script src〜>書き換えてしまうのが一番てっとり早そうだな
サンキュ
231Name_Not_Found:2011/09/18(日) 03:30:28.32 ID:???
一番早いのはChrome入れてコンソール叩くこと
232Name_Not_Found:2011/09/18(日) 16:31:03.63 ID:???
jQueryでの質問です、本当に初歩的なことでここで質問すべきではないかもしれませんが
$("#hoge").animate({"left":"+=240px"},1000);
$("#hoge").animate({"width":"+=20px"},500);
一つの要素でこれを同時に行いたいのですが、方法あるんでしょうか?
上は1秒、下は0.5秒で処理したいのでどうも
233Name_Not_Found:2011/09/18(日) 17:10:24.70 ID:OHc7CxwA
手作りすればいいんじゃないかな
あと、500msで10回繰り返しても、きっちり5秒ってわけじゃないけど
そのへんは問題ない?
234Name_Not_Found:2011/09/18(日) 17:13:14.19 ID:???
問題ないですが、jQueryじゃ無理なんですかね?
一つの要素をバラバラの時間で処理するというのは
235Name_Not_Found:2011/09/18(日) 17:39:24.45 ID:???
500 * 2が1000にならないからきっちり合わせたいってこと?
1行で書きたいってこと?
$("#hoge").animate({"left":"+=240px"},1000).animate({"width":"+=20px"},500);
236Name_Not_Found:2011/09/18(日) 17:41:48.84 ID:???
>>235
それだとleftが1秒かけて240px+された「後」に0.5秒かけて横幅が+20されるので
同時にできたらなーと
237Name_Not_Found:2011/09/18(日) 18:12:37.66 ID:???
$("#hoge").animate({"left":"+=240px", "width":"+=20px"}, 500).animate({"left":"+=240px"},500); 
238Name_Not_Found:2011/09/18(日) 18:18:34.79 ID:???
あ、ごめん。animateを勘違いしてた。

$("#hoge").animate({
"width": "+=20px"
"left": "+=120px"
}, 500).animate({
"left": "+=120px"
}, 500);
こんなの思いついたけど、(線形変化じゃない場合)速度が一定じゃないからダメだな。多分自作がいいんじゃないかと思う。
239Name_Not_Found:2011/09/18(日) 23:28:50.33 ID:???
グリモンの練習中なんですが質問です

window.onload = (function(){
for(i=0;i<=2;i++){
setTimeout("w=window.open*****)",(i*2)*1000);
setTimeout("w.close()",(i*2+1)*1000);
}
})()

概要としてはこの単純なスクリプトですが、これだと同じウインドウがわんさか出て田代砲状態になります
指定されたURLに対してまたwindow.onloadがかかるから、という解釈で合ってますか?
その場合、タブ1に対してのみ実行し、新たにwindow.openされたタブ2に対しては実行しない、
というように動作させるにはどうしたらいいのでしょう
240Name_Not_Found:2011/09/18(日) 23:50:33.75 ID:???
> 指定されたURLに対してまたwindow.onloadがかかるから、という解釈で合ってますか?
違う。

全体的に、コードからして知識不足丸出し。
書き始める前に、少し位、勉強したらどうか。
241Name_Not_Found:2011/09/19(月) 00:49:19.14 ID:???
setTimeoutの第一引数に文字列を渡す必要はないすな
242Name_Not_Found:2011/09/19(月) 01:52:54.43 ID:???
setTimeout("w"+i+"=window.open*****)",(i*2)*1000);
setTimeout("w"+i+".close()",(i*2+1)*1000);

こんなんでいいんじゃね
243Name_Not_Found:2011/09/19(月) 02:00:43.64 ID:???
開くタイミングは 0, 2, 4 秒後、閉じるタイミングは 1, 3, 5 秒後だから、
変数 w を上書きしているせいで、閉じれていないわけじゃない。
244Name_Not_Found:2011/09/19(月) 02:05:04.95 ID:???
なるほど・・・関数にして渡した方がいいみたいですね
>>240氏の言われる通り、下手なtry&errorやるよりちゃんと読みながらやってみますo(_ _o)
245Name_Not_Found:2011/09/19(月) 13:01:52.96 ID:???
サーバーの状況(カウンターなど)をリアルタイムで確認するnode.jsみたいなのが結構ありますが
オススメなのとかってありますか?

Ajaxで2秒毎に更新するとか無茶苦茶なのとかありますが
246Name_Not_Found:2011/09/19(月) 13:23:17.60 ID:???
本当の意味でリアルタイムな状況を取得するにはサーバー側から変化があったことを通知(PUSH)する必要があるね
http://libro.tuyano.com/index3?id=446001
こだわらないならAjaxみたいに一定期間ごとに取得する(PULL)従来のやり方でいいと思うが
247Name_Not_Found:2011/09/19(月) 13:38:21.81 ID:???
2chのdatファイルでやったら鯖が死ぬな
248Name_Not_Found:2011/09/19(月) 13:51:12.89 ID:???
っ Ajax+Comet
249Name_Not_Found:2011/09/19(月) 13:52:38.23 ID:???
node.jsって一時期話題になってリアルタイムチャットが至る所で簡易設置されてたがその後どうなった?
250Name_Not_Found:2011/09/19(月) 23:19:27.96 ID:JbXQ2Isi
javascript使うと
webブラウザで結構な人がactiveXがどうとか
ブロックされましたとか、ポップアップでるよね?
あれって開いたページから強制的に有効へ変更し、
ポップアップが出ないようにするなんてできますか?


あと、最近はwebでポータルみたいなサイト作ろうと思ったら流行りはなんです?
251Name_Not_Found:2011/09/19(月) 23:21:15.89 ID:???
なんて恐ろしいことを・・・
252Name_Not_Found:2011/09/19(月) 23:27:32.17 ID:JbXQ2Isi
そーなんだよね
強制的にそんな事できたらウイルスも
蔓延しまくりなんだろうけど、
内輪だけで使うポータルサイトを作りたくて
253Name_Not_Found:2011/09/19(月) 23:35:17.07 ID:???
iframeとかframe使えばいいんじゃね。
254Name_Not_Found:2011/09/19(月) 23:46:03.39 ID:JbXQ2Isi
うーん
何故scriptを選んだかと言うと
日付と時間が欲しいんだよなぁ
255Name_Not_Found:2011/09/19(月) 23:57:54.45 ID:???
window.open()でポップアップして開くのもtarget=_blankで開くのと同じで、
iframeとかで開くのもウィンドウ(タブ)が増えるか増えないかの違いでしか無い。
すべてにjsでクリック検知をさせることが可能。
多分target=_blankでブロックは無いしjsうまくやれば解決するはず。勉強しといで
256Name_Not_Found:2011/09/20(火) 00:17:05.39 ID:rRpJ8N3P
それってリンクから新しいページ開くのでなく
ショトカとかから起動されたページでも可能なものです?

まぁ少し調べてみようとは思いますけど
257Name_Not_Found:2011/09/20(火) 02:20:45.05 ID:???
>>250
いまどきJavaScript使ったくらいでそんなの出る奴のが少ないやろ
258Name_Not_Found:2011/09/20(火) 08:51:48.64 ID:rRpJ8N3P
>257
俺ie初期設定のままだけど
毎回出ちゃうんだなぁ…
259Name_Not_Found:2011/09/20(火) 12:40:19.69 ID:???
>>258
file:///でテストしている時限定ではなく?
260Name_Not_Found:2011/09/20(火) 17:22:49.05 ID:???
>>249
Node.jsの開発自体はのんびりやってる
WebSocketが固まらないことにはな
Ajaxで乗り遅れたアホどもが今度は乗り遅れまいと騒ぎ立て
愚にもつかないアプリを作ってみただけ
261Name_Not_Found:2011/09/21(水) 07:50:57.94 ID:cD+zIIkg
AS経由で、と時代錯誤なことを言ってみる
262Name_Not_Found:2011/09/21(水) 08:06:58.49 ID:???
内輪だけで使うポータルサイトなら
ポップアップブロックの設定でそのURLを許可しとけばいいじゃん
設定は最初の一回だけで何度も煩わされることはない
263Name_Not_Found:2011/09/21(水) 08:11:03.04 ID:???
×許可しとけばいい
○許可してもらえばいい
ブラウザのポップアップブロックの許可設定するのは内輪のメンバーそれぞれね
強制的にポップアップブロックを無効にする方法とか怖いことを考えるよりは現実的かと
264Name_Not_Found:2011/09/21(水) 19:36:44.27 ID:???
ポップアップじゃなくて、ActiveXと情報バーの話じゃね
265Name_Not_Found:2011/09/21(水) 20:00:54.35 ID:???
IEはローカルゾーンでスクリプトが仕込んであるページを開くと
警告を出すがあれの事かな
つか状況説明が適当すぎて解決する気があるんだか無いんだか
266Name_Not_Found:2011/09/21(水) 22:13:51.79 ID:6ZA3uTAo
var hoge = document.createElement("img");
hoge.src = "画像のURL";
これだけでは必ず「画像のURL」が呼ばれるとは限りませんか?
ドキュメントに挿入しないと駄目ですか?
FirefoxとChromeはドキュメントに挿入せずに上記だけで「画像のURL」にアクセスしてました
267Name_Not_Found:2011/09/21(水) 22:41:18.95 ID:???
質問がわからんが読み込ませるのが目的なら
new Image().src = "URL"が安定
268Name_Not_Found:2011/09/21(水) 22:44:18.31 ID:???
>>267
どうもありがとうございます
269Name_Not_Found:2011/09/22(木) 02:02:47.32 ID:???
「Coda-Slider 2.0」というjavascriptについて質問させていただきます。

これまでshtmlでページを作成し、その中でこのjavascriptを使用していました。
その時には問題なく動作していたのですが、cgiで作成したページの中にこのjavascriptを入れたところ、
「loading...」と表示されたまま動作をしなくなってしまいました。

jsファイルの中身はいっさい変更していません。
cgiが吐き出すhtmlの内容も、shtmlとほぼ同じ(shtmlでSSIを使用していた部分を、直接cgiで吐き出させた)です。
とりあえず、このjavascriptに関係する部分はいっさい変更していません。

他のjavascriptは、cgiで作成したページにおいても正常に動作しています。

何が原因だと考えられるでしょうか?
よろしくお願いいたします。
270Name_Not_Found:2011/09/22(木) 05:02:37.84 ID:???
そのcgiが吐いたページのソースをhtmlとして保存して動くかどうか試してみたらどうでしょう
271Name_Not_Found:2011/09/22(木) 10:57:32.54 ID:???
ちょっとした質問なんですがjQueryで
.css({"background-color":"#FFFFFF"})
を白ではなく設定しない、背景色をナシの状態にしたいのですがどのようにすればいいんでしょうか?
nullとかでは上手くいきませんでした
272Name_Not_Found:2011/09/22(木) 10:59:22.75 ID:???
.css({"background-color":""})

答える側としてはこういう質問は楽でいいな
273Name_Not_Found:2011/09/22(木) 11:05:32.32 ID:???
ありがとうございます!
274Name_Not_Found:2011/09/22(木) 12:52:56.26 ID:HMSOfFyI
jQueryてtransparentてかかなくていいのんか
11文字分勉強になりますた!
275Name_Not_Found:2011/09/22(木) 13:24:15.60 ID:???
function add() {
 var a = document.getElementById('post');

 a.innerHTML += '<input type="text" name="a[]" value="" size="30" /><br />';

}

<div id="post">

 <input type="text" name="a[]" value="" size="30" />
</div>

<input type="button" onclick="add();" value="追加">

項目を追加するスプリクトなのですが追加すると<input type="text">に入力してた内容が全て消えてしまいます。
維持したまま追加するにはどうしたらいいでしょうか
276Name_Not_Found:2011/09/22(木) 15:04:53.01 ID:???
>>275
それは「a.innerHTML = a.innerHTML + '...'」と同等だから。aの中身全体を
書き換えたら消えるのが当り前。DOMで要素を追加していくようにするのが
いいんでは。
277Name_Not_Found:2011/09/22(木) 15:14:55.21 ID:???
>>276
なるほど!
ありがとうございました!
278Name_Not_Found:2011/09/22(木) 22:35:59.83 ID:7bVbNRc6
http://www.scollabo.com/banban/lectur/sample/sample_05.html
このメールフォームを送信した後に
『送信ありがとうございました』
と表示させたいのですがJAVAスクリプトでどうやったらいいですか?

初心者では難しい場合はその『送信しました』と切り替わる部分だけ
業者に依頼したいと思いますが・・・

一番簡単な方法を教えてください
お願いします
279Name_Not_Found:2011/09/22(木) 22:47:57.49 ID:???
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。
280Name_Not_Found:2011/09/23(金) 00:20:16.76 ID:???
form の action 先が mailto: である以上、熟練者でも
送信されたか判定することは無理だと思うよ。
281269:2011/09/23(金) 04:40:35.97 ID:???
>>270
的確なアドバイスありがとうございます。

cgiが吐き出したソースをhtmlで表示させたところ、
「Coda-Slider 2.0」だけがやはり動作しませんでした。
そこで、cgiが吐き出したソースと大元のソースを比較したところ、
大元のソースでは「$(」となっている部分が、cgiが吐き出したソースでは「0」に
変わってしまっていることに気づきました。

「$」の前でエスケープすることで正常に動作することを確認しました。
javascriptの部分はヒアドキュメントで出力していたので、
エスケープシーケンスは必要ないと考えていたのですが・・・自分の思い込み間違いだったかもしれません。
javascriptに関する問題ではなく、perlに関する問題だったようです。

お手数おかけしました。
どうもありがとうございました。
282Name_Not_Found:2011/09/23(金) 12:48:04.40 ID:???
>>278
どんだけマルチポストしてんだよ
283Name_Not_Found:2011/09/23(金) 14:42:05.00 ID:???
284Name_Not_Found:2011/09/23(金) 14:51:56.18 ID:???
マルチポストしてすぐ解決するんなら
1つのスレでgdgdやられるよりよくね?
おまえら面倒臭い質問には答えんしそれだけならいいが
愚痴言ってスレ埋めるだろ
質問者にもそれくらいの権利はある(棒)
285Name_Not_Found:2011/09/23(金) 15:17:19.41 ID:???
筋の通らない論理だな
286Name_Not_Found:2011/09/23(金) 15:53:12.95 ID:???
それを屁理屈という
287Name_Not_Found:2011/09/23(金) 16:38:34.08 ID:???
ここまでコピペ
288Name_Not_Found:2011/09/23(金) 16:43:15.28 ID:???
ここまでコピ屁
289Name_Not_Found:2011/09/23(金) 17:18:54.06 ID:???
もう、本当に素人で許してください。

業務の瑣末なことにちょっとした自分用アプリを作るべくjavascript(Jscript)をいじっているのですが、
どうにもまったく理解がいきません。
MakeExeというソフトを使い、スクリプトを.exe化したい、と思っているのですが、コンパイル?して
実行すると、Hello, world.的なことをしたいと思って
window.ppen()とか
document.write()
などとしても「windowとかdocumentとか変数宣言されてねーよ」的なことを言われます。
たしかにそうだ、と変数にWindowオブジェクトとかDocumentとか宣言したいと思っていろいろ初心者用
参考書をあさるのですが、window.ppen()とかdocument.write()はそういうもんだ、と書いてあるだけで、
コードではいきなり宣言もなしにwindow.ppen()とかdocument.write()とか書かれちゃってます。
WEBのhtml組み込みならhtmlを開いた時点でウインドウが開いているので、それもまあそうなんだろう
と思いますが、このあたりのことがどうにも理解できません。明確にWindowオブジェクトやDocument
オブジェクトを宣言して別ウインドウでHello, world.的なことってどう書けばいいんでしょう?
そしてなぜにこんな糞仕様なんですか?
290うぃんどう.ぺぺん:2011/09/23(金) 17:26:26.55 ID:???
何がやりたいのか、さっぱり分からんのだけど、HTA では駄目なのか?
291Name_Not_Found:2011/09/23(金) 17:36:53.47 ID:???
一貫してwindow.ppenなんだな。
openだぞ。開くんだ。
292Name_Not_Found:2011/09/23(金) 17:46:59.47 ID:???
>>289
windowもdocumentもブラウザの為のものでしょ
あなたがいじろうとしているJScriptにはない概念なんじゃないの?
糞仕様と罵る前に仕様を調べるべきだと思うけど
293Name_Not_Found:2011/09/23(金) 17:54:53.77 ID:???
>>289は、WSHの話だと思うが、>>289のアタマはなぜにこんな糞仕様なんですか?
294Name_Not_Found:2011/09/23(金) 18:01:25.63 ID:???
>>289の仕様です
295window.ppen:2011/09/23(金) 18:28:00.08 ID:???
とりあえず作りたいのは、ファイル名変更ソフト。

1.フォルダをドラッグアンドドロップ
2.中に入っているファイルを正規表現で条件分岐して分類してリネーム
 ・AAAA→BBBB
 ・cccc→dddd
 ・ああああ→いいいい
 ・そのほかのもの→そのまま

的なことをする予定。異常に単純だけど、業務の中で頻繁に、断続的にやる作業なので
パパパっと処理できるものを考えています。フリーのファイル名変更ソフトも探しまくった
のですが、できるものが見つからなかったので、それじゃあ作ってみるかとはじめたところ。
ファイルのパスを与えて分類→リネームまではできたんだけど、ドラッグアンドドロップして
ファイル名(フルパス)を取得してファイル名変更の関数に渡すことがまだできずにいます。

で、いろいろいじっていて、HTAでも実現できればいいんだけど、いろいろ探っていたところ
でexe化してそこにドラッグアンドドロップすればいいんじゃね? と試しにやってみたら
変数宣言しろぉぉぉぉとか言われて、前々から疑問に思っていた「突然document.write」とか
「突然window.ppen」のもうちょっと詳しい意味が知りたくなって質問した次第。

dlg = window.open("", "TestWindow")
のように宣言すりゃ使えるんだよね?? それでコンパイルしようとしてエラー吐くということは
そういうことはできない、ということなんですかね?????

まあ、基本は
296Name_Not_Found:2011/09/23(金) 18:30:12.93 ID:???
スレ違いであることも分からない糞仕様アタマですかね?????
297window.ppen(糞仕様):2011/09/23(金) 18:33:54.61 ID:???
ああ、途中でorz

基本的にはドラッグアンドドロップでファイル名が取得できればいいだけなんですけど、根本的ににはw
まだjavascriptなるものをいじり始めて2週間ですので糞などと名前を付けていただけるだけで光栄ですw
ローカルのファイルの名前変更もjavascriptでは結構大変ということを知り驚いている今日このごろ。
Jscriptバンザァイw
298Name_Not_Found:2011/09/23(金) 18:38:54.24 ID:???
exe 化する意味が分からん。
ファイルかフォルダを必要なだけ .js ファイル上にドロップすれば、
各フルパスが引数として渡る (トータルの引数の長さに上限はあるが)。
それを WScript.Arguments で参照すればいいだけ。
299window.ppen(糞仕様):2011/09/23(金) 18:41:29.98 ID:???
>>296
Web制作スレにすまんこってす。
自分のこれからやりたいことは
・javascriptを使って、アドビ系のアプリのスクリプトを書く
・ちょいちょいある定型雑務のためにスクリプトを書く
の2つなんです。いろいろなスレを回ってみましたが、そういうスレ、ないんですよね……orz
もしいいところがあったら誘導お願いします。
300Name_Not_Found:2011/09/23(金) 18:44:27.09 ID:???
糞仕様に意味などないわ
誘導先が迷惑なので誘導すんな
301window.ppen(糞仕様):2011/09/23(金) 18:47:40.40 ID:???
>>298
jsファイルにドラッグアンドドロップするっていう発想はありませんでした!
アプリにドラッグアンドドロップはするけどファイルにドラッグアンドドロップですか……

いろいろありますね。ありがとうございます。なんかできそうです!
302Name_Not_Found:2011/09/23(金) 19:53:40.59 ID:???
powershell使えpowershell
303Name_Not_Found:2011/09/23(金) 21:53:38.71 ID:???
WSHスレあるんだからWSHの質問はそっち行ってよ。
304Name_Not_Found:2011/09/24(土) 09:52:42.58 ID:gN4HwSWB
激しく初心者ですが、質問させてください。

同じブラウザ環境(IE)で、javascriptが「AxtiveX実行エラー」でポップアップされるサイトとされないサイトがあるのは何故でしょうか。
javascriptのサンプルを置いてくれてるサイトがあって、その見本と同じように組んだら
そのサイトではポップアップされないエラーが私が作成したサイトでは出てしまいます。

【環境】Win IE8
【エラーメッセージ】セキュリティ保護のため、このコンピュータにアクセスする可能性のあるスクリプトやActiveXコントロールを実行しないよう、IEで制限されています云々
305Name_Not_Found:2011/09/24(土) 10:23:25.46 ID:???
自分のパソコンで試してる?アップロードして試してる?
自分のパソコンで試してるならアップロードして試してみて
306Name_Not_Found:2011/09/24(土) 10:58:23.94 ID:???
>>304
そんなエラーメッセージはない。多分下記のどちらかだろうけど。
「セキュリティの設定により、Web サイトによる、このコンピュータにインストールされている ActiveX コントロールの実行は許可されません。そのため、ページは正確に表示されない可能性があります。オプションを表示するには、ここをクリックしてください。」
「セキュリティ保護のため、コンピュータにアクセスできるアクティブ コンテンツは表示されないよう、Web ブラウザで制限されています。オプションを表示するには、ここをクリックしてください。」
http://windows.microsoft.com/ja-JP/windows-vista/Internet-Explorer-8-Information-bar-frequently-asked-questions
http://support.microsoft.com/kb/843017/ja
設定でブロックしている機能を使用しているときに現れるエラーメッセージと覚えておけばいい。
307Name_Not_Found:2011/09/24(土) 11:51:32.64 ID:???
つかきみ>>250ちゃうんかい
なに仕切りなおしとんねん
308304:2011/09/24(土) 12:56:17.14 ID:???
>>305
思いっきり自分のパソコンです。
てかアップロードまだできない環境っす。

>>306
うーん。エラーメッセージはそのままなんです。
やっぱりアップしてないのがダメなんですかね。。。
ちょっとアップして試してみます。ありがとう。
309Name_Not_Found:2011/09/24(土) 13:26:21.77 ID:???
motw
310Name_Not_Found:2011/09/24(土) 14:34:13.41 ID:???
<A HREF="#" onClick="this.innerHTML='Clicked';return false;">innerHTML</A><BR>
<A HREF="#" onClick="this.innerText='Clicked';return false;">innerText</A><BR>
<A HREF="#" onClick="this.text='Clicked';return false;">text</A><BR>
クリックしたリンク文字列の内容を変えたいので上のように試してみました。
innerHTML で大抵のブラウザで期待した動作はしてくれます。
ただ、IEのみ対応の innerText がそれのみで動くのはいいんですが
FireFox3.6 で対応してるはずの text プロパティで同様のことを試しても動いてくれません。
this.text で内容を読むことはできるのでこれは書き込みはできないのでしょうか?
311Name_Not_Found:2011/09/24(土) 15:52:11.79 ID:gMFl8YSH
質問です。
javascriptファイルのコードを人に見れないようにしたく、いろいろと調べたところ、
adobeのExtendScript toolkitなるものを使い、コードをバイナリ化しようとしています。
バイナリ化以前のファイルは問題なく動くのですが、
バイナリ化をしたファイルを動かそうとすると
missing ; before statement
のエラーが出てしまいます。
どのように修正したらよろしいでしょうか?
もしくは他の方法で、コードを見れなくする方法があるのでしょうか?
回答よろしくお願いいたします。
312Name_Not_Found:2011/09/24(土) 16:01:54.27 ID:???
Script.Encode
313Name_Not_Found:2011/09/24(土) 16:46:51.34 ID:???
>>310
innerText は IE のみ対応じゃないし、text は勧告されてないけど Firefox 6 で対応してるし、text と innerText は対応関係にないし、突っ込みどころが多いです
ところで、なんで「FireFox3.6 で対応してるはず」なの?
FireFox じゃなくて Firefox ってのは野暮な指摘?
314Name_Not_Found:2011/09/24(土) 20:43:39.82 ID:???
>>310 >>313 普通にDOMにあるthis.firstChild.nodeValue = ... の方がはるかにマシでは。
315Name_Not_Found:2011/09/24(土) 20:53:25.25 ID:???
firstChildがTextNodeとは限らないし、TextNodeが連続してないとは限らない(normalizeしろ)
316Name_Not_Found:2011/09/24(土) 20:59:10.29 ID:???
function getLooseTextContent (node) {
    switch (node.nodeType) {
        
    case Node.TEXT_NODE :
    case Node.CDATA_SECTION_NODE :
        return node.data;
        
    default :
        if (node.hasChildNodes ()) {
            return Array.prototype.concat.apply ([ ],
                Array.prototype.map.call (node.childNodes, arguments.callee)).join ('');
        }
        return '';
    }
}
317Name_Not_Found:2011/09/24(土) 21:09:48.55 ID:???
>>314
textContent も DOM にあるよ
318Name_Not_Found:2011/09/24(土) 21:17:24.43 ID:???
>>316
textContent未対応UA用に見えるけど、'use strict'; とIEに対応してなくない?
319304:2011/09/24(土) 23:00:50.00 ID:???
>>305,306
ありがとう、アップロードして見たらエラーポップアップ出なかったよ。
アップしない環境でしか出ないエラーなんてあるんだね。
助かった。
320Name_Not_Found:2011/09/25(日) 00:02:09.88 ID:???
馬鹿
321Name_Not_Found:2011/09/25(日) 01:31:24.50 ID:???
エラーメッセージが出たら、その文言そのままGoogleで調べてみるのをおすすめする。
322Name_Not_Found:2011/09/25(日) 04:10:53.78 ID:???
var uri = document.location.href;
var list = [ 'http://*google.*/', 'http://*yahoo.co.jp/' ];

正規表現ではなくワイルドカードでURLを判定したいのですが
どのようにすればいいのでしょうか

関数等のヒントがあればお願いしますm(__)m

323Name_Not_Found:2011/09/25(日) 08:16:00.03 ID:???
>>322
ワイルドカードを正規表現に置換して、メタキャラクタを全てエスケープしてください
324Name_Not_Found:2011/09/25(日) 12:22:45.27 ID:???
作ってやったぞ、カス。

var isMatched = function(url, ary) {
    for (var i = 0, len = ary.length, part, next = 0; i < len; i++) {
        part = ary[i];
        next = url.indexOf(part, next);
        if (next < 0) return false;
        next += part.length;
    }
    return true;
},

func = (function(list) {
    return function(url) {
        for (var i = 0, len = list.length, ary; i < len; i++) {
            if (isMatched(url, list[i].split(/\*/))) return true;
        }
        return false;
    };
})(['http://*google.*/', 'http://*yahoo.co.jp/']);

var url = "http://google.mizutama.lemon.co.jp/";

alert(func(url));
325Name_Not_Found:2011/09/25(日) 12:27:01.66 ID:???
greasemokeyとかそれに類似するものから該当するコードをパクってくればよくね
326Name_Not_Found:2011/09/25(日) 14:34:11.99 ID:???
JAVASCRIPTに関してはズブの素人です。
コチラのサイトを参考に
同様のものをつくろうと思うのですが試しに
ソースをコピーしローカルに保存後確認してみたのですが
画像が全く表示できません
どのようにすれば表示されるのでしょうか?
是非ともご回答をお願い致します。

Simple Controls Gallery - Dynamic Drive DHTML Scripts | 設置サンプル
http://phpjavascriptroom.com/exp3.php?f=include/ajax/jquery_plugin_imagegallery/simple_controls_gallery.inc&ttl=%E8%A8%AD%E7%BD%AE%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB
327Name_Not_Found:2011/09/25(日) 15:16:44.79 ID:???
ひとつ質問させてください
DOMWindow を取得する方法としての
var win1 = window と
var win2 = document.defaultView の違い(特に使い方)は何なのでしょうか

ちなみに win1 === win2 では true が返ってきました

328Name_Not_Found:2011/09/25(日) 15:26:21.00 ID:???
Safariはdocument.defaultViewはviewだけどwindowはviewではない // document.defaultView ≠ window
Firefox, Opera,Chrome, IE9 はdocument.defaultViewはviewでありwindowである // document.defaultView = window
329Name_Not_Found:2011/09/25(日) 15:53:43.94 ID:???
>>328
ありがとうございました
330Name_Not_Found:2011/09/25(日) 16:16:53.86 ID:ur8U8M1b
<a href="javascript:alert(location.href)" target="_blank">hoge</a>
こういうtargetがある場合、スクリプトは新しく開いたウィンドウ内で処理されるんですか?
331Name_Not_Found:2011/09/25(日) 16:20:09.50 ID:???
試してから書け
332Name_Not_Found:2011/09/25(日) 16:23:37.74 ID:???
試したら書かないと思う
書く前に試せと言う
333330:2011/09/25(日) 16:23:47.98 ID:???
レスどうもありがとうございます
一部のブラウザで試しました(新しく開いたウィンドウかどうか確認しやすいようにlocation.hrefをアラートしています)
ほかのもすべて同じと思っていいんでしょうか
334Name_Not_Found:2011/09/25(日) 16:38:11.69 ID:???
ウィンドウという概念のない実装だとどうだかわからんけどそういうのはjavascriptスキーマも認識しない気がする
335Name_Not_Found:2011/09/25(日) 17:44:45.58 ID:???
最近のガラケーでもjavascriptスキーマは認識する
336Name_Not_Found:2011/09/25(日) 18:20:12.57 ID:???
target="_blank"指定してたら自分のドメインで実行されないから
サーバサイド側でスキーマチェックしなくてもいいか
とかそういう話?
337Name_Not_Found:2011/09/25(日) 22:36:30.00 ID:???
>>324
複雑すぎやろ
>>323の方法でええやろ
三行くらいで済むで
338Name_Not_Found:2011/09/25(日) 23:21:15.01 ID:???
実際にマウスをクリックするのと
click() を呼ぶのと
dispatchEvent(マウスイベント) を呼ぶのとはそれぞれどんな違いがありますか?
339Name_Not_Found:2011/09/25(日) 23:46:04.70 ID:???
>>323-324
ありがとうこざいます!
340Name_Not_Found:2011/09/26(月) 00:35:02.84 ID:???
多次元配列の書き方って [ と { どっちでも動くんですが
どちらが合ってるんでしょうか?

[ [1,2,3], [4,5,6], [7,8,9] ];
{ {1,2,3}, {4,5,6}, {7,8,9} };

341Name_Not_Found:2011/09/26(月) 00:48:17.01 ID:???
後者は動かないだろ
342Name_Not_Found:2011/09/26(月) 01:12:12.22 ID:???
ああすみません。
本当は連想配列だったんですが
配列だと [ ] で連想だと { } なんですね
343Name_Not_Found:2011/09/26(月) 01:34:25.55 ID:???
初めてFirefoxのアドオンを作ってます、
今まで簡単なGreasemonkeyスプリクトしか書いたことがなく、書き方がイマイチわかりません
↓のは名前空間を汚さないようにする為(?)なんですが自作関数の呼び出しでエラーが出てしまいます。
他のアドオンのソースを見ても同じ記述でなぜエラーになるのかが分かりません・・・

var aa = {
 init: function()
 {
  window.removeEventListener("load", aa.init, false);
  window.addEventListener("DOMContentLoaded", aa.onContentLoad, false);//新規文書ごとに挙がるイベント
 },

 log: function(aText)
 {
  alert(aText);
 },

 onContentLoad: function()
 {
  // ここまでは実行されてます
  this.log("test"); // エラー: this.log is not a funciton
 }

};
344Name_Not_Found:2011/09/26(月) 01:39:41.49 ID:???
aa.onContentLoad

function(){
aa.onContentLoad();
}
関数内でthisを使いたいときは、〜.メソッド()にしないと〜==thisにならない。
>>3 Q7がちょっと関係アル。

全体を無名関数でくくっても名前空間は汚さないから使い分けるといいよ。
(function(){
//ほにゃらら
})();
345Name_Not_Found:2011/09/26(月) 01:44:56.05 ID:???
>>342
連想配列なんてそんなのはない
346Name_Not_Found:2011/09/26(月) 02:07:18.54 ID:???
>>344
無事出来ました。ありがとうこざいます。
もっと勉強してきます。
347Name_Not_Found:2011/09/26(月) 02:12:38.01 ID:???
>>346
数レス前にもあった話だけど
thisの挙動が呼ばれ方によって色々だからそこは把握しておくと良いよ
348Name_Not_Found:2011/09/26(月) 02:15:17.71 ID:???
あ、数レスじゃなく数スレだった・・・
349Name_Not_Found:2011/09/26(月) 16:43:47.54 ID:???
そんな過去の話はどうでもいいお
350Name_Not_Found:2011/09/26(月) 17:11:07.13 ID:???
過去の話じゃなく現に今のクライアント側JSのthisのふるまいが
どうだったかというよくできたまとめだった。別に熟知してる奴には
どうでもいい(というより当り前の)ことだったが。
351Name_Not_Found:2011/09/26(月) 18:58:42.12 ID:???
>>310
亀だがanchor.textなんてJS1.2の遺物をよくひっぱってきたな
その15年前の参考書をよく見ろread-onlyだろが

>>328
そらSafari1/2の話だろ
Window Object 1.0の時点でWindowがAbstractView(=defaultView)を継承している
HTML5でAbstractViewが事実上廃止されWindowが独立、defaultViewがWindowProxyになった
つまりdocument.defaultView == windowは鉄板
IEならdocument.parentWindowがある

使い道はフレームのとき文書が所属するWindowを得ること
イベントが発生したウィンドウならevent.viewでもいい

>>338
HTMLの仕様書で"Firing a click event"を探して読め
"fire"の定義はDOM4にある
352Name_Not_Found:2011/09/26(月) 19:28:42.02 ID:???
http://miel-c.com/smt/
みたいな横スクロールしてページ移動をしたいのですがうまくできません

つくってるのはこのサイトです
http://more-android.com

うまくUTF-8に切り替えれず文字化けしてますが
353Name_Not_Found:2011/09/26(月) 20:31:45.92 ID:FZOkhgN8
ドキュメントには挿入しない一時的な何らかの要素ノードが必要なんですが
そういう場合はどの要素を使えばいいですか?どれでも同じですか?
プロトタイプのより祖先に近いものの方が無駄がないとかありますか?
354Name_Not_Found:2011/09/26(月) 22:57:32.02 ID:???
>>347-348
具体的にどのスレかいった方がいいと思う
part88はイベント周りのまとめだから違うか…
355Name_Not_Found:2011/09/26(月) 22:59:05.58 ID:???
>>353
用途がないと何ともいえない
ノード集合を作りたいだけならDocumentFragment
356Name_Not_Found:2011/09/26(月) 23:13:33.05 ID:???
DOCUMENT_FRAGMENT_NODEはELEMENT_NODEとは違うでしょ
357Name_Not_Found:2011/09/27(火) 00:58:49.31 ID:???
>>356
それは理解してる
358Name_Not_Found:2011/09/27(火) 01:35:40.71 ID:qkW8sxkg
わかんないけど、inputを作る気には確かになりませんな
359Name_Not_Found:2011/09/27(火) 02:05:24.72 ID:???
要素作って放り込むだけならdocument.createDocumentFragment()だけでよし。

innerHTMLみたいなことするなら
range = document.createRange();
range.selectNodeContents(document.documentElement);
flagment = range.createContextualFragment("<h1>hello world</h1><script>alert('xss')</script>");
// flagment.childNodes[0] = h1
// flagment.childNodes[1] = script
360Name_Not_Found:2011/09/27(火) 03:06:48.25 ID:???
そういうのって配列とか変数にしておくのとどういう用途の違いがあるんですか?
361Name_Not_Found:2011/09/27(火) 07:48:52.09 ID:???
ttp://www.impressjapan.jp/support/aftercare/download/C02_2927.zip
コードが長くて載せられませんでした
このファイルのgrayscale.html
画像をドラッグドロップするとその画像をグレイスケールに変換して
CANVASに出力するというコードなのですが、
getImageDataで取り出したimagedataを
convert_image_to_gray_scale関数に引き渡している所で
代入もreturnも無いのに出力時にデータが更新されているのはなぜでしょうか。
362Name_Not_Found:2011/09/27(火) 09:57:54.41 ID:???
マルチ乙
363361:2011/09/27(火) 11:02:58.38 ID:???
片方を消したのでよろしくお願いします
364Name_Not_Found:2011/09/27(火) 11:44:21.04 ID:???
>>361
var data = { a: 1 };

function hoge(obj) {
var n = obj['a'];
obj['a'] = n + 1;
}

alert(data.a); // 1
hoge(data);
alert(data.a); // 2

これも不思議なコードに見えるかい?

同じようにconvert_image_to_gray_scale関数が受け取ったオブジェクトを
書き換えてるみたいだが。
365Name_Not_Found:2011/09/27(火) 12:05:40.38 ID:???
> data[ i*4 ] = g;
> data[ i*4 + 1 ] = g;
> data[ i*4 + 2 ] = g;

これで貴方の言う「更新」をしてる
366361:2011/09/27(火) 14:53:19.99 ID:???
ご回答ありがとうございます。
>>364
その式で言うと、objを修正するとdataにも反映されるということですか?

>>365
そこで値を変更してなぜ関数の外のimagedataに反映されているのかがわからないんです。
変数だとreturnで返して代入しないと反映されないですよね?
オブジェクト特有なんですか?
367Name_Not_Found:2011/09/27(火) 15:08:38.19 ID:???
> その式で言うと、objを修正するとdataにも反映されるということですか?
Yes.

> 変数だとreturnで返して代入しないと反映されないですよね?
Yes.

> オブジェクト特有なんですか?
Yes.
368Name_Not_Found:2011/09/27(火) 15:12:17.27 ID:???
すいません、ちょっと質問させて下さい。
<a href="javascript:function1(val1,val2,val3);">リンク</a>
っていうコードを記述してIE6では問題なく動作していたんですが、
IE7以降のブラウザを使用するとリンククリック後、リンク色が変わらなくなってしまいました。
どうにかリンク色を変更することはできないでしょうか?
369361:2011/09/27(火) 15:14:41.58 ID:???
>>367
そうだったんですか。。
大変勉強になりました。
本当にありがとうございます。
またよろしくお願いします。
370Name_Not_Found:2011/09/27(火) 17:52:53.90 ID:???
>>368
再現できるコード
371Name_Not_Found:2011/09/27(火) 18:43:06.03 ID:???
<a href="javascript:alert(0)">alert</a>
たとえばこういうのでも、URL「javascript:alert(0)」が訪問済みだ、って意味で:visitedのスタイルが適用されてたのに
って意味じゃない?
そもそもIE6の挙動が普通じゃない気がする
372Name_Not_Found:2011/09/27(火) 19:02:01.38 ID:???
function testfunction() {
document.Form1.submit();
}

<a href = javascript:testfunction()>test</a>

っていう感じです。
>>371さんが記述してあるとおりです。

ただ、visitedになってもらわないと問題がある箇所なので、
どうにか擬似的にでも再現できないかと考えているんですが無理なんでしょうかね?
373Name_Not_Found:2011/09/27(火) 19:13:49.81 ID:???
擬似的で良いならばonclickで色変えるとか好きにすれば良いのでは
374Name_Not_Found:2011/09/27(火) 19:20:20.43 ID:???
>>373
その場合、リンク先に移動した後戻ってきたとき色の変更が戻ってしまいますよね?

今回対象にしている画面の特性上、どこまでリンクを踏んだかを知りたいので、
行って戻ってきたときも色の変更が生きている必要があるんです。
先に言っておくべきでしたすいません。
375Name_Not_Found:2011/09/27(火) 20:06:06.98 ID:???
onclickでどこか開くならそこのURLをhrefに書いて、onclickに処理(ログ収集とかが目的?)書けばいいんじゃね。
そうじゃないなら、各aにid振ってクリックされたらcookieやlocalstorageに記録。
ページが開かれたらそこから情報取得してリンク色変更。

自前の鯖もってるなら、<a target="hoge" href="/dummy.html?id=001" onclick="func()">〜</a>
<iframe name="hoge" style="display:none;"></iframe>をどっかに隠しておけばOK.
404だと無理だったから存在するページにクエリつけてユニーク化。
376Name_Not_Found:2011/09/27(火) 20:25:23.24 ID:???
>>375
なるほど!!
早速やってみます!!
ありがとうございました。
377Name_Not_Found:2011/09/27(火) 20:27:56.40 ID:???
いいかげんhref="javascript:"のようなのは駆逐されるべき
378376:2011/09/27(火) 21:06:37.61 ID:???
報告です。
>>375の一番最後のブラウザをhrefで誤認させる方法で実装できそうです。
どうもありがとうございました。
379Name_Not_Found:2011/09/28(水) 05:24:21.59 ID:???
関数で最後の return; って省略すべき?

380Name_Not_Found:2011/09/28(水) 05:48:18.49 ID:???
もしかしてjsでは ' ' の場合でも \ はエスケープされてしまうんですか?
381Name_Not_Found:2011/09/28(水) 05:50:23.27 ID:???
382Name_Not_Found:2011/09/28(水) 06:03:28.86 ID:???
>>381
ありがとう
戻り値は特にないんで省略します
383Name_Not_Found:2011/09/28(水) 06:12:12.72 ID:???
(1)以下のソースで任意のプロパティを挿入しようとした場合に意図した通りに
  text-shadow:0 0 0 transparent; のプロパティが挿入はされるものの、
  実際にレンダリングには反映されないのはどこが悪いのでしょうか?
(2)サンプルでは指定した任意の要素に対してしかプロパティの挿入ができませんが、
  これを text-shadow のプロパティが含まれる要素すべてに適用させるようにするにはどうしたら良いでしょうか?
(3)サンプルではhtmlソース内に記述したcssに対してしかプロパティの挿入ができませんが、
  これを外部のcssに対しても(2)のようにプロパティの挿入をするにはどうしたら良いでしょうか?


p#normal-sample{text-shadow:0 1px 2px #f00;color:#eee;}

0 0 0 transparent; を先頭に挿入

p#normal-sample{text-shadow:0 0 0 transparent, 0 1px 2px #f00;color:#eee;}
384Name_Not_Found:2011/09/28(水) 06:13:09.88 ID:???
>>383の続き

<html>
<head>
<title>プロパティを挿入する</title>
<style type="text/css">
 body{font-family:MS Pゴシック, sans-serif;background-color:#333;}
 p{font-size:1.5em;}
 p#normal-sample{text-shadow:0 1px 2px #f00;color:#eee;}
 p#fixed-sample{text-shadow:0 0 0 transparent, 0 1px 2px #f00;color:#eee;}
</style>
</head>
<body>
<p id="normal-sample">
The quick brown fox jumps over the lazy dog. 0123456789
</p>
<p id="fixed-sample">
The quick brown fox jumps over the lazy dog. 0123456789
</p>
<script type="text/javascript">
var stylesheet = document.styleSheets.item(0);
stylesheet.insertRule("p#normal-sample { text-shadow:0 0 0 transparent; }", 0);
</script>
</body>
</html>
385Name_Not_Found:2011/09/28(水) 07:07:21.45 ID:???
>>384
DOCTYPEぐらい真面目に書け
(1)先頭に規則を入れたら後ろので上書きされんだろ
(2)全規則を探せ
(3)styleSheetsに外部も含まれることぐらい書いてあったんじゃねーの
386Name_Not_Found:2011/09/28(水) 15:44:49.67 ID:???
アマゾンが書かないから俺も書かないもん!
387Name_Not_Found:2011/09/28(水) 16:37:16.48 ID:???
DOCTYPE書かないとブラウザがquirks modeになって
新しく追加されたものを使えなくなったりするぞ
IE9にとっちゃinsertRuleも新機能なんだし
388Name_Not_Found:2011/09/28(水) 18:20:26.03 ID:???
ついでにIE=edgeも送信しないと場合によって互換モードになる
389Name_Not_Found:2011/09/28(水) 18:34:32.70 ID:???
>>385-388 レスありがとう
>>385
>(1)先頭に規則を入れたら後ろので上書きされんだろ
すみません、どういうことかもう少しヒントだけでもください
(2)、(3)はもう少しググってみます

DOCTYPEは入れてみましたが特に変化はありませんでした。
ちなみにIEでは動作しなくてもかまいません、chromeのwebkitだけで動作すればおkなのですが、、、、
390Name_Not_Found:2011/09/28(水) 18:37:19.73 ID:???
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>プロパティを挿入する</title>
<style type="text/css">
body{font-family:MS Pゴシック, sans-serif;background-color:#333;}
p{font-size:1.5em;}
#normal-sample1{text-shadow:0 1px 2px #f00;color:#eee;}
#normal-sample2{text-shadow:0 1px 2px #0f0;color:#eee;}
#normal-sample3{text-shadow:0 1px 2px #00f;color:#eee;}
#fixed-sample{text-shadow:0 0 0 transparent, 0 1px 2px #f00;color:#eee;}
</style>
</head>
<body>
<p id="normal-sample1">
The quick brown fox jumps over the lazy dog. 0123456789
</p>
<p id="normal-sample2">
The quick brown fox jumps over the lazy dog. 0123456789
</p>
<p id="normal-sample3">
The quick brown fox jumps over the lazy dog. 0123456789
</p>
<p id="fixed-sample">
The quick brown fox jumps over the lazy dog. 0123456789
</p>
391Name_Not_Found:2011/09/28(水) 18:38:02.29 ID:???
>>390の続き

<script type="text/javascript">
var styleSheet = document.styleSheets.item(0);
// CSSルールのリスト
var cssrules;
// W3C DOM準拠ブラウザー
if( styleSheet.cssRules ) {
cssrules = styleSheet.cssRules;
// Internet Explorer
} else if( styleSheet.rules ) {
cssrules = styleSheet.rules;
}
// CSSルールの内容を取り出す
for (var i=0; i<cssrules.length; i++) {
// CSSルールオブジェクト
var rule = cssrules.item(i);
// セレクター (p,li,ol等)
var selector = rule.selectorText;
// スタイルオブジェクト
var sytleObj = rule.style;
// CSS宣言ブロックの内容(プロパティ値)
var text = sytleObj.cssText;
// 要素がtext-shadowなら値を変更
if (selector.match(/^p/i) ) {
styleSheet.insertRule(selector + "{ text-shadow:0 0 0 transparent; }", 0);
break;
}
}
</script>
</body>
</html>
392Name_Not_Found:2011/09/28(水) 18:39:52.10 ID:???
>>390-391のようにしてみましたが
text-shadow:0 0 0 transparent;が<p id="normal-sample3">にしか挿入されず
相変わらず表示も更新されないままです
393Name_Not_Found:2011/09/28(水) 18:48:47.29 ID:???
>>390
DOCTYPEの意味はおろかX/HTMLすら分かってないだろ
そこ消して<!DOCTYPE html>だけ書いとけ

> styleSheet.insertRule(selector + "{ text-shadow:0 0 0 transparent; }", 0);
同じセレクタなら後ろのものが優先されるのがCSSの基本だろ
0番に挿入したって、後ろに同じselectorのものがあれば上書きされるに決まってる

もすこしHTMLとCSSの基礎知識つけとけ
こんな部分で引っかかってたら時間かかるぞ
394Name_Not_Found:2011/09/28(水) 18:49:47.75 ID:???
JSで、引数にファイルへのパスでなくて、データ内容そのものを渡して読み込ませることはできるのでしょうか。

引数にファイル名を渡すモジュールを使っているのですが、
データベースからblob型のデータをファイルに落としてから読み込ませるのは無駄だなぁと思い、質問しました。

395Name_Not_Found:2011/09/28(水) 18:54:35.42 ID:???
data uriに対応しているブラウザならbase64で
対応していないブラウザのことは
↓が答えてくれる
396Name_Not_Found:2011/09/28(水) 19:35:30.15 ID:???
>>391
text-shadowを変更したいruleを識別できたのなら
そのままrule.style.setProperty('text-shadow', ..)すればいいじゃん

もし変更部分を後から消すことで元に戻したいとかなら
0番でなく末尾に規則を入れるんだ

395に関しては
↓が答えてくれる
397Name_Not_Found:2011/09/28(水) 19:36:04.76 ID:???
>>393
>0番に挿入したって、後ろに同じselectorのものがあれば上書きされるに決まってる
cssの仕様として後続の指定が優先されるということなら理解しているつもりです
今回の場合ちょっと特殊な事情があってブラウザのバグをcssで対策する方法をスクリプトで自動化したいという目的で
p {text-shadow:0 1px 2px #00f;color:#eee;}とあった場合に
p {text-shadow:0 0 0 transparent, 0 1px 2px #00f;color:#eee;}
と先頭に 0 0 0 transparent を挿入することで正しく表示されるようになるのです
>>390-391で示したソースでブラウザ内蔵のツールで一旦該当プロパティを手動で無効にしたあと再度有効にすると
ちゃんと表示されるようになるのでどうにかならないものかと、、、、
398Name_Not_Found:2011/09/28(水) 20:28:04.86 ID:???
ちょーっとした質問なんですが
iframeの中から親要素の<div id="a">の部分を取得するには
parent.document.getElementById("a")とかですが

iframeの中から親要素の場所にある関数(function hoge(){〜})を実行させるにはどうしたらいいでしょうか?
399Name_Not_Found:2011/09/28(水) 20:48:13.94 ID:???
documentというのはwindow.document
hoge()というのはwindow.hoge()
400Name_Not_Found:2011/09/28(水) 21:20:59.70 ID:8vLT5zLV
初歩的なことかもしれませんがお願いします。
画像がスクロールして表示されるやつとかスライドショーとかって、
1 すべての画像ぶんの要素を作って一度に挿入する
2 すべての画像ぶんの要素を作って一度に挿入するけど画像は必要になってから読み込む(lazyなんとか)
3 表示されるぶんの要素だけ作って挿入する、必要になるたびに作って挿入、不要になれば取り除く
のどれが常識ですか?どれでもなくさらに別の方法ですか?
読み込みの早さとか処理のスムーズさとかメモリの使い具合とかそういう
401Name_Not_Found:2011/09/28(水) 21:24:00.70 ID:???
>>399
なるほど、windowまで考えるんですね
ということはparent.window.hoge()ですかな?ありがとうございます!
402Name_Not_Found:2011/09/28(水) 21:26:32.29 ID:???
>>398
そんなことできんの?
403Name_Not_Found:2011/09/28(水) 22:01:21.86 ID:???
>>401
おしい。それでも動くけど、parent.hoge();でOK
parentが親のwindowを指すからparent.documentが出来る。hogeも同様

>>402
同じホストならね。逆も可

>>400
1と2はサーバーへの負荷を考えると2になる。2と3の比較は知らん。
最悪試してみて比較すればいいんじゃね。
404401:2011/09/28(水) 22:16:18.71 ID:???
>>403
あざーっす!
超助かります!
405400:2011/09/28(水) 22:23:22.53 ID:???
>>403
どうもありがとうございます
2を書いた時点で1はないな・・・と思ってました
2か3かまたはそれ以外かは
一般常識?になってるほど「これだ!」って方法はないってことですか
406Name_Not_Found:2011/09/29(木) 01:25:49.80 ID:???
フォームボタンを押下した後、次のページに遷移するまで
そのボタンの横で
ビジーのインジケーターをくるくる回すにはどのような手順を踏めばいいかな?
407Name_Not_Found:2011/09/29(木) 01:54:51.92 ID:???
onsubmitでアニメgifでも貼り付けなさい
408Name_Not_Found:2011/09/29(木) 13:11:41.57 ID:ydHAIm6S
こちらで聞くのもあれですが

http://search.twitter.com/search.json
が応答しないのって、落ちてるだけですか?
それとも変わりました?
409Name_Not_Found:2011/09/29(木) 17:18:33.58 ID:???
>>408
サービスに起因する問題を訪ねられてもなあ…
とりあえず、HTTPステータスを確認するとか、Twitter公式サイトで情報を探してみるとか、Twitterスレで聞いてみるとか、切り分けの方法はいろいろあると思うけどどう?
410Name_Not_Found:2011/09/29(木) 18:11:59.20 ID:???
質問です。アクティブデスクトップのウィンドウサイズをスクリプトで変更する方法はないでしょうか?
resizeToやresizeByでは不可でした。
411Name_Not_Found:2011/09/29(木) 19:08:22.03 ID:7JLcE7x3
var a = { b: function() { /* この部分 */ } };
「この部分」から自分自身が入れられたオブジェクトのキー名(関数自身ではなく)を取得できますか?
方法を教えてください。
「b」という文字列を取得したいです
412Name_Not_Found:2011/09/29(木) 19:21:57.02 ID:???
arguments.callee.name
var a = { b: function() { for (var key in this)if(this[key]===arguments.callee)return key; } };
仕様でサポートしてなかったような気もするから調べてみて。
関数名が必要になる作りはおかしいと思うけどな。
413411:2011/09/29(木) 19:36:37.34 ID:???
>>412
> var a = { b: function() { for (var key in this)if(this[key]===arguments.callee)return key; } };
chrome、ie、firefoxのそれぞれ一部のバージョン(最新ではない)で確認してうまくいきました
どうもありがとうございます
414Name_Not_Found:2011/09/29(木) 20:22:40.23 ID:ydHAIm6S
>>409
ステータスは403が返ってくるんで
公式アナウンスを探したんだけど、とくに見つけられなくて
どっかで聞いてみようと思いたち
ツイッタースレよりJSスレの人達のほうが
頼りになりそうかなーと思い聞いて見ました

スレ違いすまんこ
415Name_Not_Found:2011/09/30(金) 02:52:29.55 ID:???
そろそろJavaScriptもそこそこ分かってきたと思うので、
フレームワークに手をだそうかと思うのですが、
最近のJSフレームワークの動向とシェア率っぽいまとめありますかね?
やっぱjQueryの独り勝ちなのかな?
416Name_Not_Found:2011/09/30(金) 11:48:38.18 ID:???
417Name_Not_Found:2011/09/30(金) 16:57:10.06 ID:EkSRfQC4
<html>
<body onload="b(3)">
<script type="text/javascript">
b=function(d){
document.F1.T1.value=d;
d=d+1;
window.setTimeout("b(d)",1000);
}
</script>

<form name="F1" action="#">
<input type="text" name="T1" size=50>
</form>
</body>
</html>

ページが読み込まれた1秒ごとに3からプラス1していった数字を表示したいのですが、
3から数字が変化しません
引数を使わずd=3としてdを表示するようにしていくと正常に動くのですが
引数を使うとなぜ動かなくなるのでしょうか?
418Name_Not_Found:2011/09/30(金) 17:04:38.10 ID:???
window.setTimeout("b("+d+")",1000);
こういうこと?
419Name_Not_Found:2011/09/30(金) 17:37:46.50 ID:???
>>418
うわあああああああ動きましたあああああああ
ありがとうございます
数字や文字や関数名メソッド名は勝手に識別してくれて、
さらに「”」で囲んでいない場合は記述の中に変数は使われていないものと自動で判断、
ただし変数だけは+で繋がなければ文字列として判定される、という認識でいいのでしょうか?
420Name_Not_Found:2011/09/30(金) 18:44:52.46 ID:???
evalだから
421Name_Not_Found:2011/09/30(金) 19:03:30.62 ID:???
ローカル変数を使いたいならこう書きます

window.setTimeout(function(){b(d)},1000);
422Name_Not_Found:2011/09/30(金) 19:07:21.93 ID:???
>>417
実装は整ってないけど、setTimeout には第三引数もあるんだぜ
document.forms['F1'].elements['T1'].value の値を使えばいい気もするけど
423Name_Not_Found:2011/09/30(金) 19:31:48.00 ID:uL/Qm+vu
画像がロード済みかどうかを確認するにはimg要素のonloadで判断するけど
すでにキャッシュされているとIEではonloadが発生しないから固有のクエリを付けて毎回ロードする
ってのはなんか本末転倒のような気がするんですがこの方法しかないんですか?
424Name_Not_Found:2011/09/30(金) 19:41:32.35 ID:???
>>420
ありがとうございます
知らなかったのでググってみて少し謎が解けた感じがしました
VBからC++に移行したときよりもよく理解できない感じがしてたのですが
evalについてググってみたら少しもやもやが解けた気がします

>>421
ありがとうございます
{}の中では使えても、()の中では使えない仕様になっているんですね
難しいですね

>>422
ありがとうございます
たしかにそのやり方もあったのですが、まだまだ勉強段階ですので
問題は回避せずになるべくこの方法でやりたいと思ってたのですが、結局分らず
質問してしまいました。実用するときはそのやり方も検討してみます。ありがとうございます。
425Name_Not_Found:2011/10/01(土) 01:46:48.75 ID:???
>>352
横スクロールなんてしない。
426Name_Not_Found:2011/10/01(土) 07:20:27.87 ID:???
{ 'key': "あ" }
{ key: "あ" }

どちらが推奨されますか?
427Name_Not_Found:2011/10/01(土) 11:12:54.49 ID:???
日ごとに変わるリストをテーブルで表示したいんだけど、
メンテのしやすさを考えてarrayの中に要素を書かず、
外部ファイルに要素だけ並べて書いて、
それを読み込んだ上で配列に入れテーブル表示ってできますか?


表の中身の要素数は変わる事なく、
要素の内容は変わる事あり。
428Name_Not_Found:2011/10/01(土) 11:23:22.99 ID:???
データをタブとかカンマ区切りなどにスレば可能。
XMLHttpRequestでデータ受けてその文字列をsplit("〜〜")で配列になる。
429Name_Not_Found:2011/10/01(土) 11:43:39.09 ID:???
>>426
オブジェクトリテラルならどちらでも良い
前者はシングルクォート、ダブルクォートが統一されていなくて気持ち悪い
JSONならどちら不可
430Name_Not_Found:2011/10/01(土) 13:20:51.96 ID:VMIGeHw3
現在のページのリクエストメソッドを取得する方法はありますか?
通常のGETか、POST(した後のレスポンス)かを判別したいのですが・・
431Name_Not_Found:2011/10/01(土) 13:52:48.06 ID:???
jQueryのtoggle(function1,function2,・・・) に相当する 機能を、
クリック操作以外で実現する方法ないないでしょうか?

今やりたいのはキーイベントで実行する機能をトグルさせることなので、
キーイベントをトグルさせるでも普通のfunction内でトグルするでも構わんとです。
432Name_Not_Found:2011/10/01(土) 13:53:53.10 ID:???
あわわ・・・
×実現する方法ないないでしょうか?
○実現する方法はないでしょうか?
433Name_Not_Found:2011/10/01(土) 14:46:05.34 ID:???
>>430
サーバーサイドで取得して渡す
434Name_Not_Found:2011/10/01(土) 16:14:54.41 ID:???
A.htmlに<iframe src="B.html">が書かれているとして、
そのB.htmlで読み込んだjavascriptの関数や配列をAから呼び出すことはできますか?
またB.htmlからAの配列を書き換えることはできますか?
435Name_Not_Found:2011/10/01(土) 16:40:35.03 ID:???
同じサイト同士ならできます
436Name_Not_Found:2011/10/01(土) 17:20:09.17 ID:???
>>431
クロージャで変数に状態を保持する
437Name_Not_Found:2011/10/01(土) 18:36:38.31 ID:???
クロージャとか無名関数とか使うときにいつもメモリーリークが気になるけど
過去ログや色んなサイトを見ても条件がイマイチ回避する方法が理解できないので
「こうするとなる」ではなく「こうしなければよい」というような形式で教えていただけないでしょうか。
438Name_Not_Found:2011/10/01(土) 18:43:06.87 ID:???
大抵はDOM要素の参照絡みだから要素を直接変数に持たないとか
持っても使い終わったら変数にnullで上書きしたりかな
439Name_Not_Found:2011/10/01(土) 18:54:47.27 ID:???
クロージャとかいってかっこつけてんじゃねーよカス
440Name_Not_Found:2011/10/01(土) 20:20:15.19 ID:???
スジャータ スジャータ
441Name_Not_Found:2011/10/01(土) 20:51:37.26 ID:???
>>431
event.keycode = function(){};
442think49 ◆bKk/qcAKuM :2011/10/01(土) 21:29:50.30 ID:???
>>437
関数からDOMオブジェクトを参照できなくすれば良いです
443Name_Not_Found:2011/10/01(土) 21:48:14.87 ID:???
>>441
?
444Name_Not_Found:2011/10/02(日) 02:41:40.03 ID:???
>>429
ありがとう!
445Name_Not_Found:2011/10/02(日) 05:13:24.45 ID:???
質問させてください IE9以上ではe.style.backgroundColor=rgba(0,0,0,0.44);
IE8以下ではe.style.filter='progid:DXImageTransform.Microsoft.Gradient(GradientType="0", StartColorStr="#70000000", EndColorStr="#70000000")';
としたいのですが、IE9の開発者ツールで後方互換確認をする際にはどのようなバージョン判定をするべきでしょうか
UAや@cc_onなど手段は色々ありますが、このような場合何をもって判定することが推奨されているのでしょうか?
446 忍法帖【Lv=10,xxxPT】 :2011/10/02(日) 07:24:14.89 ID:E9xx5lxs
基本的な質問ですみません。

この記述で"START"と表示させたテキストをマウスクリックで
別のFunctionを処理させたいのですがどうすればいいでしょうか?

function functionStart() {
var startText = new String("START");
window.document.getElementById("start").innerHTML = startText;
document.getElementById("start").onmousedown = functionNext();
}

function functionStart() {
var nextText = new String("NEXT");
window.document.getElementById("next").innerHTML = nextText;
}


以上、よろしくお願いいたします。
447Name_Not_Found:2011/10/02(日) 09:42:24.53 ID:???
>>466
それだとfunctionNextを呼び出して返された結果をonmousedownプロパティに入れている。
呼び出すのではなくfunctionNextそのものを入れるべき。具体的には「()」を書かなければ
よいのでは。
448Name_Not_Found:2011/10/02(日) 12:44:05.31 ID:???
>>431
キーイベントからclick()実行すれば
449Name_Not_Found:2011/10/03(月) 12:19:15.58 ID:???
<iframe>の中の要素がクリックされたことを知る方法ありますか?
450Name_Not_Found:2011/10/03(月) 14:37:33.92 ID:???
ふつうにイベントハンドラ設置すればいいんじゃないの。
451Name_Not_Found:2011/10/03(月) 17:48:38.45 ID:tm2H+6ZT
リアルタイムにネット対戦ができるようにするためにはjavascriptでは無理でしょうか?
簡単なチャット付きのトランプゲームぐらいを想定しています
452Name_Not_Found:2011/10/03(月) 17:58:04.51 ID:???
可能だと思うよ
453Name_Not_Found:2011/10/03(月) 18:02:08.84 ID:???
>>452
すみません、手がかりがつかめないのですがどのような方法を使えばいいのか
手がかりだけでも教えていただけると助かります
454Name_Not_Found:2011/10/03(月) 18:19:56.67 ID:???
自分のサーバーでサーバーサイドスクリプト使わずにってことなら
無理じゃないけど面倒くさいと思うよ
455Name_Not_Found:2011/10/03(月) 18:41:30.01 ID:???
>>454
ありがとうございます
そうなんですか・・・、たとえばデータベースにカードの状況を書き込んでそれを
クライアントは読み込むという方法や、

ttp://www.atmarkit.co.jp/fwcr/rensai2/nodejs01/01.html
この記事を見つけたのですが、サーバーサイドで使えるjavascriptという
このようなものを使えばjavascriptだけでネット対戦をすることも可能になりますか?
456Name_Not_Found:2011/10/03(月) 18:41:32.32 ID:???
サーバサイドなしでチャットって可能なの?
457Name_Not_Found:2011/10/03(月) 18:47:59.28 ID:???
document.activeElementが変化したことを知る方法を教えて下さい
458Name_Not_Found:2011/10/03(月) 19:53:45.21 ID:???
>>456
分らないです・・・
ただ、今はjavascriptを勉強中なのでなるべくjavascriptでできることは極めてから
次の言語に行きたいと思ってるので、できるならネット対戦まで習得したいと思って質問させていただきました
459Name_Not_Found:2011/10/03(月) 19:59:55.15 ID:???
だからサーバサイドでもjs使うってことでしよ。それなら可能だろう。
ただ同じ言語でもサーバサイドとクライアントだと方法論は結構違うんじゃないかな、サーバサイドjsはよく知らないけど。
DBとかIOとかね。
460Name_Not_Found:2011/10/03(月) 20:11:44.71 ID:???
>>459
ありがとうございます
自分も調べていて今日になってサーバサイドjavascriptのことは知ったばかりですが、
これでできる希望があるようでしたらしばらく頑張って勉強してみます
461Name_Not_Found:2011/10/03(月) 20:33:28.39 ID:???
質問です。
JavaScriptにおいて、RubyやPerlのmapメソッドに最も近い感覚で使えるメソッドはどれですか?
foreachとかfilterとかプロトタイプ拡張とか色んなやり方があって整理がつきません.....。

やりたいことを具体的にいうと、
CSVテキストを改行でsplitして更に行ごとにコンマでsplitして、ハッシュにするということです。
こんな感じに書きたいんですが。

var h = text.split('\n').map(function(line){line.split(',')});
462Name_Not_Found:2011/10/03(月) 21:57:01.66 ID:???
463Name_Not_Found:2011/10/03(月) 22:00:34.91 ID:???
あっ、コールバック関数にreturnを書いたら動いた…
これでよかったんですね
464Name_Not_Found:2011/10/03(月) 23:18:59.37 ID:???
>>456
どっかのデータ保存API使えば行けるんじゃね
そんなサービスあるか知らんけど
465Name_Not_Found:2011/10/04(火) 05:34:09.58 ID:???
throw;だとエラーになるんですが throw ""; こうしないといけませんか?
466自演です!:2011/10/04(火) 06:46:30.55 ID:???
Greasemonkeyのスプリクトから訳あってmetaタグでURL転送させたいのですが
単純にdocument.writeで書きだすのと
<head>に innerHTML += '<meta http-equiv="refresh" content="0; url=http://www.google.com/">'

head = document.getElementsByTagName('head')[0];
meta =.document.createElement('meta');
meta.setAttribute('http-equiv', 'refresh');
meta.setAttribute('content', '0;url=http://www.google.com/');
head.parentNode.appendChild(meta);
(合ってるのか分かりませんが・・・)
これを試したのですが転送されません。

なんとか同じウィンドウで転送させることはできないでしょうか
467自演です!:2011/10/04(火) 06:47:13.69 ID:???
>>466
var html = '<html><head><script type="text/javascript"><!--\n'
+ 'document.write(\'<meta http-equiv="refresh" content="0;url='+url+'">\');'
+ '// --><'+'/script></head><body></body></html>';
location.href = 'data:text/html;charset=utf-8,'+encodeURIComponent(html);

これでできました
468Name_Not_Found:2011/10/04(火) 10:19:47.49 ID:???
別々のホストにA.html と B.htmlがあるとして、AからiframeでBを参照してるとき

1)BがAのiframe内で表示されていること
2)そのiframeのdisplayがblockかnoneか

をBからjavascriptで知るにはどうすればいいですか?
469Name_Not_Found:2011/10/04(火) 10:46:29.28 ID:???
みんなテンプレくらいよももうぜもも
もももも
470Name_Not_Found:2011/10/04(火) 11:46:51.25 ID:???
らぶらぶみんきーもも
471Name_Not_Found:2011/10/04(火) 12:53:09.10 ID:???
>>468
window.postMessage
472Name_Not_Found:2011/10/04(火) 17:31:30.53 ID:???
postMessageとか馬鹿のひとつ覚えじゃね
frameElement
473Name_Not_Found:2011/10/04(火) 19:35:42.01 ID:2XynbfgM
ページ内読み込み完了時にそのページ中のリンク全てに操作をしたいです。
body.onloadや、iframeタグがあるときはその要素のonload属性に指定する関数から
document以下の全要素を単純に調べることですべてのDOMをさわることが出来そうなのですが、

http://chaos2ch.com/にあるようなblogrollでは、scriptタグでjavascriptを実行し、
head下にasyncとdeferを指定したscript要素をaddChildして、それによってリンクを読みこんでいるようです。
(javascript初心者がさらっとソースを読んだ程度なので、間違っているかもしれませんが)
このようなケースでリンクのDOM(?)の生成完了を検知して、それからAタグを探すようなことは可能でしょうか?

今回作成しようとしているのはchrome extensionなので、webページ側に工夫を施すことはできません。

よろしくお願いします。
474Name_Not_Found:2011/10/04(火) 19:39:31.68 ID:???
setInterval使えば
475Name_Not_Found:2011/10/04(火) 21:04:20.49 ID:???
window.document.addEventListener("DOMNodeInserted", function(){
    alert("DOMノードが追加されたよ!");
} , false);
476Name_Not_Found:2011/10/04(火) 21:08:00.83 ID:???
DOMNodeInserted
まじでこんなイベントあるのか
477Name_Not_Found:2011/10/04(火) 21:08:29.35 ID:???
478Name_Not_Found:2011/10/04(火) 21:30:54.46 ID:???
>>475
おお、これはまさに、ですね。ありがとうございます。
479Name_Not_Found:2011/10/04(火) 21:39:25.47 ID:???
MutationEventは実装上の問題多くて別のに変わる予定だがな
480Name_Not_Found:2011/10/04(火) 22:08:33.27 ID:???
XMLHttpRequestで、外部ファイルのテキストから
全角を含む文字をカンマ区切りで配列に入れたいんですが、
うまくgetできません。

全てのファイルはwindowsのローカルにあります。

何故でしょう。
481Name_Not_Found:2011/10/04(火) 22:32:31.28 ID:???
Firefoxで onmousemoveイベント中に左マウスボタンのON/OFF状態を確認する方法は無いでしょうか?

マウスイベントを検知し損ねるイレギュラーな操作に対応したいのですが
(例えばマウスボタンを押した後、ウィンドウの外でマウスボタンを離して元の位置に戻ってくるなど)。
event.buttonの値をチェックすることでIEでは確認することができましたが、Firefoxでは駄目でした。
482Name_Not_Found:2011/10/04(火) 22:47:47.60 ID:???
>>480
httpプロトコルによる通信ではないから実装依存
483Name_Not_Found:2011/10/04(火) 23:17:47.51 ID:???
>>482
ごめんなさい
知識不足で意味が理解できないです
もう少し初心者に分かる表現で教えてもらいたいです…
484Name_Not_Found:2011/10/04(火) 23:27:34.40 ID:???
まずどんなコード書いてるの
485Name_Not_Found:2011/10/04(火) 23:42:32.31 ID:???
>>483
XMLHttpRequest はサーバ上のファイルと通信するための機構
ローカルファイルとは通信が発生しないので操作できない
どうしてもローカルファイルとやりとりしたいならローカルサーバをたてるべき
486Name_Not_Found:2011/10/04(火) 23:53:20.06 ID:???
>>481
mousedown を使えばいいのでは
487Name_Not_Found:2011/10/04(火) 23:55:33.80 ID:???
>>486
mousedownイベントが発生した時よりも後の話ですが?
488Name_Not_Found:2011/10/05(水) 00:00:50.02 ID:???
>>487
そこまでわかっていて迷っているところがわからない
mousedown, mouseup でプラグをたてれば解決するのでは?
489Name_Not_Found:2011/10/05(水) 00:03:17.27 ID:???
>>488
だから、ウィンドウの外でマウスボタンを離したらmouseupイベントは発生しないんですってば
490Name_Not_Found:2011/10/05(水) 00:29:52.78 ID:???
表示領域の高さは
document.documentElement.clientHeight;
で取得できますが、eventで表示領域の上からの位置を取得するにはどうすればいいのでしょうか?

event.pageYでイベント座標の高さを取得しますが右下に画面をスクロールすると、この場合スクロールで見えない所も含まれてしまい
表示領域の左上でも座標が(0.0)になりません
491Name_Not_Found:2011/10/05(水) 00:42:48.63 ID:???
・スクロールされてる分を引く。
・表示領域での座標のプロパティから取得
お好きな方をどうぞ。
492Name_Not_Found:2011/10/05(水) 00:43:52.32 ID:???
scrollTopを引いたら?
493Name_Not_Found:2011/10/05(水) 01:02:00.14 ID:???
どれだけスクロールしたかはscrollLeftとかでわかるからそれを色々頭使って
移動した分マイナスさせる

そしてもう一つが単純に
event.clientX/clientY
でクライアント領域の座標取得や

>>491の言ってる事を解りやすくするとこんなもん
494Name_Not_Found:2011/10/05(水) 01:15:28.21 ID:???
あの、まったくもってけしからん質問ですが誰か答えて。




コーディングで楽をしたい。どうするのがいちばん楽? しかも無料で。





HTMLのZen-coding?みたいなのJavaScriptではないんでしょうか。もしくは最初の2-3文字を打つと
それにまつわる後続の文字やカッコがばばばばっっっっと出るとか。
なるべく自分で打つのは少なくしてスペルミス、文法ミスを減らしたいんだけど。
495Name_Not_Found:2011/10/05(水) 01:18:44.79 ID:???
IDEを導入する
496Name_Not_Found:2011/10/05(水) 01:23:17.46 ID:???
googleIMEに登録しちゃえば楽だ
497Name_Not_Found:2011/10/05(水) 01:24:43.10 ID:???
>>491-493
ありがとうございやす!
498Name_Not_Found:2011/10/05(水) 01:33:44.38 ID:???
ちょっとしたコード書いたり、メソッド確認したりする程度ならFirebugとこれか
https://addons.mozilla.org/ja/firefox/addon/firebug-autocompleter/
499Name_Not_Found:2011/10/05(水) 02:16:00.49 ID:???
>>494
emacsで(d)abbrev
500Name_Not_Found:2011/10/05(水) 04:08:59.33 ID:???
>>490>>493
これ、eventなら後者でいいけど
thisみたいな要素だったらどスクロールから引くしかなくね?
501Name_Not_Found:2011/10/05(水) 04:44:07.11 ID:???
イベントを使うのにeventを見ないアホコードを書いてはいけない
502Name_Not_Found:2011/10/05(水) 05:38:14.21 ID:???
エラーがでてしまうのですが理由分かりますでしょうか・・・

var test = {

 main: function(event)
 {
  this.run();  // 呼べる
  this.func(); // 呼べる
 },

 run: function(event)
 {
  this.func(); // TypeError: this.func is not a function

 },

 func: function()
 {
  alert("func");
 }
};

mainはwindow.addEventListener("DOMContentLoaded", function(event) { test.main(event); }, false);
で呼び出してます。
503Name_Not_Found:2011/10/05(水) 05:59:19.92 ID:???
あ実際にはtry { } の中で this.runが実行されてるのですがそれが原因のようです・・
504Name_Not_Found:2011/10/05(水) 06:17:14.65 ID:???
いややっぱりできない・・
this.runの中でthis.funcが呼べない・・
505Name_Not_Found:2011/10/05(水) 06:40:33.57 ID:???
document.addEventListener('DOMContentLoaded', {
  handleEvent: function(e) { this.run(e); this.func(e); },
  run: function(e) { this.func(e); },
  func: function(e) { alert('func'); }
});
506Name_Not_Found:2011/10/05(水) 06:50:57.04 ID:???
>>505
ありがとうこざいます
でも私には理解できそうにないです。。
jsではPHPのクラス感覚でthis使えないのですね
関数は外に置いてみます
507Name_Not_Found:2011/10/05(水) 06:59:59.55 ID:7ZZa31h7
どこで聴いていいかわからないのでここで質問させていただきます。
スレチならすいません。
wmpでアルバムを更新するとこのエラーがでます。

スクリプトエラー
ライン:310
文字:25
プロパティ’btnFinish_onclick’の値はnullまたは未定義で、
Fuctionオブジェクトではありません。

IEを初期化しましたが効果がありませんでした。
解決法がわかるかたはご指南お願いします。
508Name_Not_Found:2011/10/05(水) 07:49:05.69 ID:???
509Name_Not_Found:2011/10/05(水) 08:06:55.62 ID:???
いままでUNIXタイムスタンプって秒数かと思ってた
1000 かけないといけなかったんだな
510Name_Not_Found:2011/10/05(水) 09:40:32.11 ID:???
>>488
plugではなくflagなのでは。
511509:2011/10/05(水) 09:50:58.42 ID:???
ops
javascriptだけがミリ秒含んでるのか
クソッタレめ
512Name_Not_Found:2011/10/05(水) 10:04:37.66 ID:???
>>484
pcからは規制されてて携帯から
頑張って打ち込みます…
半角文字は読み込めている、
動くソースなので以下の打ち間違えは見過ごして下さい

サイトで見付けたサンプルを元に以下記述です。


function test1(){
var XMLhttpObject = null;
if(window.ActiveXObject){
try{
XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
return null;

中略

var req = createXMLHttpReqest();
request.open("GET","test.txt",false);
request.send(null);

var str = request.responseText;
var testarray = str.split(",");
513Name_Not_Found:2011/10/05(水) 10:28:00.81 ID:???
test.txtを文字コードUTF-8で保存する
514Name_Not_Found:2011/10/05(水) 12:10:53.67 ID:???
それが分からないんです…

普通に保存すると何なんでしょう?
515Name_Not_Found:2011/10/05(水) 13:20:31.72 ID:???
親のイベントオブジェクトのプロパティにアクセスしようと試みています
iframeの内側か親のイベントにアクセスします
window.parent.eventなどでは上手く行きませんでした
516Name_Not_Found:2011/10/05(水) 13:30:53.67 ID:m1taAGRi
>>514
テキストエディタのヘルプ見たらええがな
517Name_Not_Found:2011/10/05(水) 15:05:06.82 ID:???
>>515
( ´_ゝ`)フーン
518Name_Not_Found:2011/10/05(水) 16:28:09.65 ID:0An9raD9
質問失礼します

ニコニコ動画の外部ツールを利用しているのですが

縦幅と横幅をw=とh=でサイズ変更しています

これをスクリプトで一括変更出来るようにしたいのですが

何か方法はありませんか?
ググってもわからないのでこちらで質問させて頂きました

スレ違いなら誘導して頂けると嬉しいです。

宜しくお願いします
519Name_Not_Found:2011/10/05(水) 17:54:28.98 ID:???
>>489
発生するだろ
520Name_Not_Found:2011/10/05(水) 20:03:59.56 ID:???
>>518
innerHTML
521Name_Not_Found:2011/10/05(水) 22:08:26.22 ID:???
>>516
できました!
ありがとうございました!
522 忍法帖【Lv=11,xxxPT】 :2011/10/05(水) 23:47:06.93 ID:zTbfj/h6

質問です。

Aという配列の要素の中にBの配列の要素のどれかが含まれるかどうかを
チェックしようとしています(含まれればtrueを返す)。

何かいい方法はありませんでしょうか?
523Name_Not_Found:2011/10/06(木) 00:04:38.08 ID:???
質問です
windowをresizeした場合ではなく、移動させた場合に発動するイベントハンドラは存在するのでしょうか?
524Name_Not_Found:2011/10/06(木) 08:01:20.14 ID:???
>>522 試してないけど。
function contains(a, b) {
var h = {};
for(var i = 0; i < b.length; ++i) { h[b[i]] = true; }
for(var i = 0; i < a.length; ++i) { if(h[a[i]]) return true; }
return false;
}
525Name_Not_Found:2011/10/06(木) 08:09:08.24 ID:???
>>522
Array#some
526Name_Not_Found:2011/10/06(木) 12:31:13.36 ID:???
【環境】Windows7 64, Chrome
【何をしたのか】cssを設定するときエラーがでる。
【エラーメッセージ】Uncaught SyntaxError:
【期待する結果】エラーが出ないようにしたい
【サンプルコード】

$("#menu").css({
margin-top: "40px", // ← Uncaught SyntaxError: Unexpected identifier
float: "right",
width: "200px",
});

原因がわかりませんorz
%とかpxとか使うとエラーが出るような気がします。
アドバイスよろしくお願いします。
527Name_Not_Found:2011/10/06(木) 12:40:24.12 ID:???
>>526
margin-topの部分がUnexpected identifierだから
オブジェクトのプロパティ名にハイフンを使うときは、明示的に文字列リテラルとして与えないと文法違反

具体的には'margin-top'ないし"margin-top"を与える

公式ドキュメントでも
http://api.jquery.com/css/

'background-color' : '#ddd',
'font-weight' : '',
'color' : 'rgb(0,40,244)'

って書いてるぞ?
エラーメッセージの単語くらい、辞書で調べてみようぜ
528Name_Not_Found:2011/10/06(木) 12:47:02.06 ID:???
>>527
ありがとう!!
529Name_Not_Found:2011/10/06(木) 12:49:38.47 ID:???
横からだけど"margin-top"とかのほうがいいのmarginTopってやってたよ
530Name_Not_Found:2011/10/06(木) 12:53:23.57 ID:???
<img> が、画像の読み込みに成功したかどうかを
あとから 調べる方法を教えてください。
531Name_Not_Found:2011/10/06(木) 13:15:38.84 ID:???
あとからっすか
532Name_Not_Found:2011/10/06(木) 18:04:33.02 ID:???
>>529
DOM 2 StyleやCSSOM的にはmarginTopが正解
jQueryのcss()で'margin-top'が許されてるのは、jQueryが裏でmargin-topをmarginTopに変換してるから
どちらのプロパティ名を指定しても、特に問題はないはず

ただ、微々たるものだけどmargin-topをmarginTopに変換するコストはかかってる
実際にプロファイルとってみて、ボトルネックになっているようなら考えなおしたほうがいいけどね
533Name_Not_Found:2011/10/06(木) 18:06:45.39 ID:???
>>532
トン
これだけでも積み重なると速度に差が出てきたりするんだ
534Name_Not_Found:2011/10/06(木) 18:25:55.15 ID:???
>>530
completeプロパティが使えるブラウザなら、それで調べられる
IE6以降、Fx3.6以降、Safari 5.1、Chrome 14、Opera 11.5xでは使える(はず)
ここで書いたのより前のブラウザでは調べてない

もしかしたらブラウザによってはバグあるかもしれないんで、こんなのもあるんだ程度に思っといてもらえるといいかも
535534:2011/10/06(木) 18:28:32.82 ID:???
>>530
あ、でも画像の読み込みに「成功したか」どうかはわからないかも・・・
src属性値での参照先が404だったりしたらどうなるかは調べてない
536Name_Not_Found:2011/10/06(木) 18:31:13.28 ID:???
ぐぐったらonerrorが呼ばれるような場合でもtrueになるとか書いてあるね
537Name_Not_Found:2011/10/06(木) 20:55:53.41 ID:tmS2M3gW
documents.openで引数がhttpではじまるwordファイルを指定した時、フォントスタイルがサーバー上でmsゴシックだったファイルを、クライアントでデフォルトに戻されてしまいます。なおクライアントにmsゴシックはインストールされています。どうすればいいでしょうか?
538Name_Not_Found:2011/10/06(木) 22:33:55.57 ID:???
>>530
リクエストした画像ファイルのファイルサイズ値と実際に読み込んだファイルサイズを比べればいいのでは?
539Name_Not_Found:2011/10/07(金) 08:08:51.46 ID:???
>>537
サーバ側からWSHでWordのデフォルトフォントを設定する
540Name_Not_Found:2011/10/07(金) 08:09:30.88 ID:???
>>537
サーバ側からWSHで各クライアントのWordのデフォルトフォントを設定する
541Name_Not_Found:2011/10/08(土) 11:59:21.65 ID:???
質問なんですが
ブラウザの画面内の左上のスクリーン上の位置(fixedでtop0、left0の位置)を取得するのに
IEでは
window.screenLeft;
window.screenTop;
で取得できるのですが、firefoxで同じようにwindow.screenXを使用して取得すると
ブラウザの画面内ではなく、ブラウザそのもの(フレームやメニューバーを含む)の左上の位置が取得されてしまいます

IEのように表示領域内の左上のスクリーン上の位置を取得したいのですがどのような方法があるのでしょうか?
542Name_Not_Found:2011/10/08(土) 14:40:36.20 ID:???
>>541
試してないけど、document.onmouseover でevent.screenX - event.clientX でどうだろう?
543541:2011/10/08(土) 17:04:58.64 ID:???
>>542
ありがとうございます!
用は頭の使いようでした、やっぱりプログラミングやってる方って発想がいい人なんですね
助かりました
544Name_Not_Found:2011/10/08(土) 17:13:37.37 ID:???
発想が良いっつーか経験
545Name_Not_Found:2011/10/08(土) 17:16:30.17 ID:yVTTlhCs
(.*...*) ←こういうのを正規表現ではなく文字列として認識させて置換をしたいのですが

a = "(.*...*)";
txt = "(.*...*)こんにちは\n(.*...*)元気ですか";
目標 = "(.*...*)<こんにちは\n(.*...*)<元気ですか";

txt.replace(a,a+"<");
だと1回しか置換が起こらないし
複数回やると (.*...*)<<<こんにちは というようになってしまう

aa = new RegExp(a,"g");
putb = txt.replace(aa,"a+"<");
だとaが正規表現扱いになってうまく置き換わらない

どうすればいいのでしょうか?
ちなみにaにはいろんな文字が入るので
a = "\(\.\*\.\.\.\*\)" にするっていうのはダメです
546Name_Not_Found:2011/10/08(土) 17:40:30.61 ID:???
(.*...*)<元気ですよ
547Name_Not_Found:2011/10/08(土) 17:43:38.98 ID:???
つまり\nを
\n(.*...*)<に置換したいって事か?
548Name_Not_Found:2011/10/08(土) 18:39:34.97 ID:???
>>545の例に関しては↓でいけてると思うけどこういう意味じゃなく?
var a="(.*...*)";
var txt = "(.*...*)こんにちは\n(.*...*)元気ですか";
text.split(a).join(a+"<");
549Name_Not_Found:2011/10/08(土) 18:40:44.26 ID:???
ああ・・・訂正
text→txt
550Name_Not_Found:2011/10/08(土) 18:47:07.73 ID:???
>>545
まともにやるなら String#indexOf でインデックス値を得て、0 か 一つ前の文字が改行コードの時に置換するぐらいしか思いつかない
正規表現が一番楽だと思うが、正規表現メタキャラクタをエスケープするのでは駄目なのか?
551Name_Not_Found:2011/10/08(土) 18:53:25.05 ID:???
>>545
txt.split(a).join(a+"<")
552Name_Not_Found:2011/10/08(土) 18:54:34.08 ID:yVTTlhCs
>>548,551
ありがとうございます。その方法でうまくいきました。
replaceを使う方法ばかり考えていたので
その方法は思いつきませんでした。大変参考になりました。
553551:2011/10/08(土) 18:55:02.42 ID:???
ああ、他のレスも見ないで書き込んだが >>548-549 で同じことを書いてるな
554550:2011/10/08(土) 18:58:27.05 ID:???
ああ、split の方がスマートだな
'こんにちは(.*...*)' は置換して良かったのか…
555Name_Not_Found:2011/10/08(土) 19:40:10.24 ID:???
(.*...*)<役に立たなかった回答は完全スルーとはいい性格だな
556Name_Not_Found:2011/10/08(土) 19:43:38.26 ID:???
そんな全レスしなくていいよ
俺のレスがミスってたらこっちとしてもレスしなくていいって感じだし
557Name_Not_Found:2011/10/08(土) 21:17:06.19 ID:???
\(.*...*)/<そうだそうだ
558Name_Not_Found:2011/10/08(土) 21:22:29.56 ID:???
ヒゲなのか
559Name_Not_Found:2011/10/09(日) 00:16:50.56 ID:???
txt.replace(a, '$&<', 'g')
560Name_Not_Found:2011/10/09(日) 00:58:11.47 ID:???
>>559
$&<こんにちは(.*...*)元気ですか
561Name_Not_Found:2011/10/09(日) 01:28:37.70 ID:???
阪神園芸だけに
562Name_Not_Found:2011/10/09(日) 07:26:58.11 ID:dYWU805s
「$uuu」はPHPでMysqlから取り出したデータなのですが、

var aaa = $uuu;

は文法として間違っていますか?

var aaa = {$uuu};

こうでしょうか?間違ってたら教えてください
563Name_Not_Found:2011/10/09(日) 07:40:36.56 ID:???
var aaa = "<?php echo $uuu; ?>";

突っ込むのが面倒臭いからエスパーした
564Name_Not_Found:2011/10/09(日) 07:46:00.24 ID:dYWU805s
エスパーありがとうございます
後出しで悪いのですが、よく考えると
PHPのヒアドキュメントの中にjavascriptを書いたんです
その場合だとどうなりますか?
565Name_Not_Found:2011/10/09(日) 11:23:48.44 ID:HkRfQIGC
$$という変数名(関数名?)を使っているのはなんてライブラリですか?
566Name_Not_Found:2011/10/09(日) 16:39:19.95 ID:???
>>564
echo <<<EOT
var aaa = ~$uuu";
EOT;

なかんじかな。
要は、php上で変数が置き換わったら、javascriptでどうなるかを考えればいい。

$uuu の変数内に、" が入らないようには気をつけて。入るようならばphp側でエスケープ。
567Name_Not_Found:2011/10/09(日) 23:08:03.24 ID:???
>>564
とにかくブラウザの「ソースを表示」で確認して意図した通りのJavaScriptコードに
なっているかチェックする。それだけだろ。どうなるかなんていちいち説明しても
あんたが陥っている問題にズバリ当たるとは思えん。
568Name_Not_Found:2011/10/10(月) 04:14:06.93 ID:???
.replace(/\D/g, '')
.replace(/\D+/g, '')
この2つはまったく同じですよね?
569Name_Not_Found:2011/10/10(月) 06:14:59.81 ID:???
jqueryでcssを操作したいのですが、その変更をアニメーションにする良い方法はありますか?
例えば元々height:50%;だったのをheight:20%;にしたいブロックがあって
$("#hoge").css("height","20%");とやると、その瞬間に変わってしまいますよね
ここをアニメーションにする方法があれば教えてください。よろしくお願いします。
570Name_Not_Found:2011/10/10(月) 07:26:08.27 ID:???
閲覧しづらくなるから、無駄なアニメーションはやめたほうが
571Name_Not_Found:2011/10/10(月) 09:13:07.72 ID:???
それもそうですね・・・
572Name_Not_Found:2011/10/10(月) 13:01:24.00 ID:???
クリック直下の単語を拾いたいのですが
iphoneのブラウザではrangeparentが使えません

iphoneのブラウザでrangeparentのようなことができる
方法はないでしょうか
573Name_Not_Found:2011/10/10(月) 13:44:26.99 ID:EkjQ1E1r
質問させてください

<html>
<head>
<script type="text/javascript">
function closed() {
window.opener.document.getElementById("message").innerHTML+=document.getElementById("message").value;
window.close();
}
</script>
</head>
<body>
<input type="text" id="message" size="50" value="" />
<input type="button" value="閉じる" onclick="closed()" />
</body>
</html>


現在このようにして子ウィンドウから親ウィンドウへ値を渡しています。
input type="text"の部分を"checkbox"に変えて複数の値を子ウィンドウから
親ウィンドウへ渡すにはjavascriptはどのように変更したら良いでしょうか?

<input type="text" id="message" size="50" value="" /> ←これを

↓このように複数の値を選択して渡せるようにしたいです。
<input type="checkbox" id="1" value="1です" />
<input type="checkbox" id="2" value="2です" />

よろしくおねがいします。
574Name_Not_Found:2011/10/10(月) 19:21:14.94 ID:???
URLの中に挿入されたクエリを取得したいのですが、エラーになります。
http://example.com/#1
というURLの1の部分を抽出するために下のコードを作りました。

var temp=document.URL.match(/#[0-9]+/);
temp=temp.replace("#","");
alert(temp);

ところがエラーになってしまいます。
二行目を削除したら"#1"とアラートが出るので二行目が原因だと思っています。

よろしくお願いします。
575Name_Not_Found:2011/10/10(月) 19:23:12.94 ID:???
location.hash
576Name_Not_Found:2011/10/10(月) 19:27:35.77 ID:???
>>575
簡単に出来ました。ありがとうございました。
577Name_Not_Found:2011/10/10(月) 19:43:59.44 ID:???
〜.match(/#[0-9]+/);
の返り値は配列
配列にreplaceメソッドはないからエラーになった。
temp=temp[0].replace("#","");ならOK.
location.hashが一番楽だけど、一応原因も知っておくといい。
578573:2011/10/10(月) 19:45:03.27 ID:EkjQ1E1r
わたしの質問は、やっぱ初心者すぎてスルーですよね(泣
579Name_Not_Found:2011/10/10(月) 19:48:24.13 ID:???
message部分を変えればいい。
ただ、idは数字で始まってはいけない。
580Name_Not_Found:2011/10/10(月) 20:15:58.17 ID:???
location.hash非標準だしブラウザによってバグあるからdocument.URLがいいよ
581Name_Not_Found:2011/10/10(月) 20:18:38.39 ID:???
inputのname属性ってHTML5でも必須なんかな?
582Name_Not_Found:2011/10/10(月) 21:33:18.40 ID:???
ttp://liosk.blog103.fc2.com/blog-entry-64.html
このページで説明されている

> function $FN(fn) {
> return (typeof fn == 'function') ? fn : Function('x', 'return ' + fn);
> }
>引数が関数であればそのまま返し、文字列であれば、function anonymous(x) { return 引数 }という無名関数に変換して返す関数。
となるのはなぜでしょうか?
fn : Function('x', 'return ' + fn) が function anonymous(x) { return 引数 } になるというのが分かりません
583Name_Not_Found:2011/10/10(月) 21:57:16.54 ID:???
何が分からないのかが分からない。 分からないキーワードは全部調べろ
584Name_Not_Found:2011/10/10(月) 22:02:43.77 ID:???
三項演算子 a ? b : c
functionを作る関数Function
(new Date()・String()と似たようなもの)
585Name_Not_Found:2011/10/10(月) 22:43:51.59 ID:???
はじめまして、詰まってしまったので質問させて頂きます。

【環境】
 OS:Windows7 ブラウザ:IE9
【期待する結果】
 XDomainRequestを利用して、外部ドメインにあるPHPファイルにPOST送信をしたいです。
 送信方法はXMLHttpRequestと同様にxdr.send(key=value)としてましたが、PHP側で受信ができていませんでした。
【サンプルコード】
<クライアント側>
if(window.XDomainRequest){
xdr = new XDomainRequest();
if(xdr){
xdr.onload = alert_loaded;
xdr.open("post", PHPファイルパス);
xdr.send("key=value");
}
function alert_loaded(){
alert(xdr.responseText);
}

<サーバ側>
<?php
header("Access-Control-Allow-Origin:*");
header("Access-Control-Allow-Headers:Content-Type");
echo "{$_POST['key']}";
?>
586Name_Not_Found:2011/10/11(火) 00:22:22.62 ID:???
初歩的な質問ですいません
2つのjsファイルの用いる件なんですが、一つ目のファイルで宣言した値を2つ目のファイル
で使うことができません。どうすればいいでしょうか?
2つのjsファイルのうち一つを、いわゆるヘッダファイルみたいに使いたいです。

htmlのコードはこんな感じです。

<script type="text/javascript" src="0.js">
<script type="text/javascript" src="1.js">

</script>
</script>

0.jsで宣言した値を1.jsで使いたいのです。
587Name_Not_Found:2011/10/11(火) 00:24:38.14 ID:???
<script type="text/javascript" src="0.js"></script>
<script type="text/javascript" src="1.js"></script>
588Name_Not_Found:2011/10/11(火) 00:38:07.94 ID:???
>>587さん、できました!ありがとうございます!
そうやれば出来るんですね。助かりました。
返信早くて驚きましたw
589Name_Not_Found:2011/10/11(火) 01:11:50.41 ID:???
>>585
XMLHttpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
を使う必要があるっぽい
でもXDomainRequestではそのメソッドが使えない

だからサーバー側でparse_str関数を使う
590573:2011/10/11(火) 01:14:41.62 ID:o/Yd3VWc
わ、わたくしの質問もお願いします・・・
591Name_Not_Found:2011/10/11(火) 01:15:49.48 ID:???
>>590
回答スルーかよ
592Name_Not_Found:2011/10/11(火) 01:21:46.48 ID:???
>>591
ごめんなさい。>>579さんはわたしへのレスだったのですね^^;
messageをどのように変えたらいいのかわからず、大変申し訳ないのですが
質問の仕方が悪かったようなので質問を変えます。本当に申し訳ありません。
593Name_Not_Found:2011/10/11(火) 01:24:05.87 ID:o/Yd3VWc
度々質問してすみません。

http://questionbox.jp.msn.com/qa4118172.html
↑これをやってるのですが、これを実行すると最初に渡した値が上書きされて消えてしまいます。
最初に渡した値を消さずに残して、新しい値を渡したいのですが。おねがいします。
594585:2011/10/11(火) 02:12:18.77 ID:???
>>589
ご回答ありがとうございます。
知識足らずで申し訳ないのですが、parse_str関数の使い方について質問させてください。
クライアント側はそのままで、POSTしたデータをparse_strに入れれば良いと思い、
parse_str($_POST, $output);
echo $output[0];
としてみたのですが、$outputには何も入っていませんでした。
count($_POST)も値は0だったのですが、parse_str関数を使う、とはこういうことではないのでしょうか。
宜しくお願いします。
595Name_Not_Found:2011/10/11(火) 02:37:38.35 ID:???
スレチ
てかPHPマニュアル見ればわかる
596594:2011/10/11(火) 02:52:57.89 ID:???
>>595
申し訳ありません。確かにスレ違いでした。
PHPマニュアル見て勉強してきます。
597Name_Not_Found:2011/10/11(火) 03:08:43.23 ID:???
>>593
opener.document.getElementById("hoge").value=str;

opener.document.getElementById("hoge").value+=str;
にすりゃいいんじゃね試してないけど
598593:2011/10/11(火) 07:49:37.24 ID:???
>>597
ありがとうございます!
599Name_Not_Found:2011/10/11(火) 10:00:03.60 ID:???
質問です。

あるフォルダにショートカットを入れ、
起動したhtmlからJavaScriptで
そのパスを画面表示&リンク表示したいです。

可能でしょうか?
できれば参考になる分かりやすいサイトか、
コードを頂けると助かります。
600Name_Not_Found:2011/10/11(火) 12:59:06.40 ID:???
質問でござる

cssで位置指定をabsoluteにして、画像を重ねてゲームっぽい画面を作ってるんだけど
重ねられた画像の上をクリックすると、addEventListenerで登録したclickイベントが起きない。
addEventListener
window.addEventListener
document.addEventListener
など色々やってみたんだけど、常に画面のどこでもclickイベント起きるようにするにはどうすれば良いでしょうか?
601Name_Not_Found:2011/10/11(火) 14:10:39.77 ID:???
602Name_Not_Found:2011/10/11(火) 17:39:16.30 ID:???
>>600
document ど通るはずだがなあ
603Name_Not_Found:2011/10/11(火) 20:20:31.52 ID:???
IE6,7,8 使ってたりして。
604Name_Not_Found:2011/10/11(火) 21:01:21.43 ID:???
>>600
マークアップの意識があればbody直下にパーツを並べたりしないだろうから
親要素にイベントリスナー付けてその上にパーツを並べるようにしたらいいんじゃね
605Name_Not_Found:2011/10/11(火) 22:52:43.09 ID:???
自分のサイトからのリンクが対象サイトの逆アクセスにほとんどカウントされてないようなのですが、
制作上何かありがちなミスはありますでしょうか?

1つのサイトだけではなくほぼすべてのサイトの逆アクセスカウントが同じような状態なので、
おそらくうちのサイトに問題があるのだと思います。

リンクはブログロールというlivedoorのjavascriptから主に飛ばしています。
リンク先サイトの逆アクセスはACRwebというサービスのjavascriptがおもに使われています。
意味不明でしたらサイトのソースなど晒させていただきますので、
何か心当たりある方いましたらご教示いただけると幸いです。
606Name_Not_Found:2011/10/12(水) 01:05:42.21 ID:???
スマホでタッチ関連のイベントにstopPropagation使って伝播止めると
元からあるズームみたいな基本操作に影響出る?
607Name_Not_Found:2011/10/12(水) 03:08:56.79 ID:???
>>605
スクリプトで移動すると
ブラウザによってはrefererが飛ばないよ
608Name_Not_Found:2011/10/12(水) 05:21:04.25 ID:19LqkjH7
説明ベタだが、cssで作った四角形の複数の要素を自由に動かせるようにしてるんだが、
ある時点で、ある特定の座標内に四角形要素があるかどうか判定し、ある場合はその要素のIDを取得する方法を教えてください。
609Name_Not_Found:2011/10/12(水) 08:17:59.39 ID:???
>>600とは別人なの?
610Name_Not_Found:2011/10/12(水) 09:05:05.61 ID:???
>>608
全部の四角形について順番に調べるんじゃないの。それで不満?
611Name_Not_Found:2011/10/12(水) 13:27:29.46 ID:???
>>607
ありがとうございます。
このスクリプトを使用する以上は仕方ないんですね…
612Name_Not_Found:2011/10/12(水) 16:31:16.47 ID:???
戻り値の表記
IE6で以下の場合上手くいかないのですが、ダメなのですか?
return num===10?true:false;

613Name_Not_Found:2011/10/12(水) 16:32:47.28 ID:???
num==10
にしてみたら
614Name_Not_Found:2011/10/12(水) 16:38:17.71 ID:???
<script>
alert((function(num) { return num===10?true:false; })(10));
</script>
問題ないけど・・・このコードだとどううまくいかないの
615Name_Not_Found:2011/10/12(水) 16:58:57.06 ID:???
num="10"とかやってないよな?
===は型も比較。
==は型無視。→"10"と10が等しいことになる。

あと、num===10だけで、true / falseになってるから ? : の三項演算子はいらない。
616Name_Not_Found:2011/10/12(水) 17:05:14.41 ID:???
10以外の値が入っててうまくいきませんというオチ
617Name_Not_Found:2011/10/12(水) 17:31:00.87 ID:???
>>612
本題じゃないけど三項演算子いらなくない?
618612:2011/10/12(水) 18:04:54.01 ID:???
型比較は関係ないみたいです

>>617
三項演算子なしで、どうやるんですか?
10なら真
関数の終わりにfalseって事ですか?
619Name_Not_Found:2011/10/12(水) 18:27:57.84 ID:3+r8LT4i
>>618

>三項演算子なしで、どうやるんですか?
return num===10;

コレでいいってことだ。
その辺は好きにしていいと思うが、この場合は三項やや冗長だわな。


>型比較は関係ないみたいです
numの値と型を確認してるのか?
ブレークなりアラートなりで確認してるか?
620Name_Not_Found:2011/10/12(水) 20:58:20.08 ID:???
彼は戻ってこなかった
621612:2011/10/12(水) 21:41:16.98 ID:???
>>619
>return num===10;
10ならtrue、それ以外はbooleanの初期値であるfalseって事ですね?
これは目から鱗でした
ありがとうございます!

>numの値と型を確認してるのか?
>ブレークなりアラートなりで確認してるか?
typeofでnumber型で値もアラートで確認済みなのです
三項演算子でbooleanのflag変数にtrueかfalseを代入してから
return boolFlag;
で上手くいきましたけど>>612のままだと、やっぱり上手くいかないのです
一旦クローズとさせて下さい
解決したらまた明日にでも報告します
出先なのでソースが貼れなくてすいません

JSってbooleanじゃなくてboolでしたっけ?
622Name_Not_Found:2011/10/12(水) 22:50:27.19 ID:???
>>621
boolean の初期値だから false な訳じゃない。
(num===10) という式自体が、true か false の値を返すのである。
(1 + 1) という式が 2 という値を返すのと同じ。
623Name_Not_Found:2011/10/12(水) 23:33:31.67 ID:???
三項演算子ってtrueとかfalseと書いて返せないのはJScriptだけだっけ?
624Name_Not_Found:2011/10/12(水) 23:41:39.97 ID:BJMgM/H+
どなたか>>599の私にもお返事下さい…
625Name_Not_Found:2011/10/12(水) 23:56:28.36 ID:???
>>599
こんにちは、お元気ですか
パスって何のパスですか
これですか

document.write(location.href);

もうちょっと詳しくお願いします
626Name_Not_Found:2011/10/13(木) 02:03:25.50 ID:???
ショートカットってwindowsのショートカットのファイルのことかな?
627Name_Not_Found:2011/10/13(木) 02:20:32.38 ID:???
Windows のショートカットだとしたら、ショートカット先のファイルを開いているだけだから、不可能。
628612:2011/10/13(木) 08:54:02.10 ID:???
>>622
あくまでも計算結果なんですね?
勉強になります


>>624
エスパーすると
window.open('file:///c:/hogehoge.txt');
こんな感じ?
ローカル用の俺俺ファイルマネージャーをhtmlで作りたいなら、これで出来るけど
素直に最強伝説さん使ったら?デフォルトでローカルファイルマネージャーになるんだぜ?
629612:2011/10/13(木) 08:57:34.16 ID:???
>>624
あー、補足
ショートカットを実行したいならhogehoge.lnkね
保存ダイアログで実行すれば多分動く
630Name_Not_Found:2011/10/13(木) 09:13:29.29 ID:???
遅くなりました
ショートカットはwindowsの.lnkのショートカットです
そのファイルを読み込み、
実際のファイルがある絶対パスを取得するのは
無理なんですね
631Name_Not_Found:2011/10/13(木) 09:53:11.76 ID:???
それをブラウザでやらなきゃいかんの?
自分一人で使うの?
HTAにすりゃできると思うが
632Name_Not_Found:2011/10/13(木) 10:27:23.45 ID:???
できれば画面遷移なしで、ユーザーに複数のファイルを自動でダウンロードさせたいと
思っています。
通常のHTMLのダウンロードリンクでは、1アクションで1つのファイルしか
ダウンロードできないと思うのですが、JavaScriptを使えば、
1アクションで複数のファイルをダウンロードさせることは可能でしょうか?
633Name_Not_Found:2011/10/13(木) 11:56:13.70 ID:???
すいません質問させてください。
ブラウザにある画像を貼って、その画像をクリックするとその画像上の座標値が表示されるという
プログラムを作りたいのですが、ブラウザを小さくして縦横にスクロールしてから座標値を表示
させるとスクロール分だけズレてしまいます。
これは、座標値はブラウザの左上からの絶対値として取り出しいるのに対して、画像は
スクロール分だけ移動しているのが原因と考えられますが、スクロールしても画像上の
座標値が取り出せる何か良い対策はないでしょうか?
634Name_Not_Found:2011/10/13(木) 12:21:32.60 ID:???
>>632
っ zip
635Name_Not_Found:2011/10/13(木) 12:23:32.39 ID:???
あれか、サンプル動画か
636Name_Not_Found:2011/10/13(木) 12:33:12.77 ID:???
>>631
自分で使うものの、
リンク先を足したり消したりが
それなりの頻度で発生するので、
メンテがちょっとでも楽になる方法を考えてました。

htaも結局は一つずつファイルパスを書いていかなきゃいけないですよね
637612:2011/10/13(木) 13:05:49.01 ID:???
>>622
すいません
>>612の件は普通に機能しました
document.writeを使ってる別の場所で読み込みに差異が出ていた全然関係場所でのエラーでした
お騒がせしました

>>636
wshでやるといいよ
638Name_Not_Found:2011/10/13(木) 13:40:36.56 ID:???
やっぱり>628みたいにセンスのない人が先にお固い言語やっちゃうと
頭も固くなってJSとかの概念がよく理解できないんだろうな
俺もそうだからよく分かる
639612:2011/10/13(木) 14:05:44.90 ID:???
>>638
全くもって否定できないから困るw
JSの一見トリッキーで理解し難いコードもJSプログラマーからすれば当たり前の記述だったりするんだろうけどね
でもJSのこーゆー柔軟性の高い部分を知るとJSが更に好きになる
嫌いになる人のが多そうだけど
640Name_Not_Found:2011/10/13(木) 14:08:15.61 ID:???
return num===10
これってJSに限った事じゃないだろ・・・
641Name_Not_Found:2011/10/13(木) 14:43:18.00 ID:???
話をおおげさにすることで間抜けさを隠すテクニック
642Name_Not_Found:2011/10/13(木) 16:52:35.02 ID:???
>>636
えーと
結局自分専用のファイル管理アプリを作りたいって話なの?
このスレとあんまり関係ないのでは?

スクリプトでやりたいって事ならやっぱりHTAかWSHスレへ。
643Name_Not_Found:2011/10/13(木) 17:07:54.78 ID:???
>>636
PowerShell使いなさい
644Name_Not_Found:2011/10/13(木) 17:27:42.20 ID:???
>>633
pageX/Y
645Name_Not_Found:2011/10/13(木) 19:43:10.07 ID:???
>>462-463
このスレじゃなかったんですか…自分用というよりは、
共有のサイトを作ろうとしてます。


そもそも初心者なのでhtaもアプリを開くのに使用する、
程度にしか思ってなかったです。

PowerShellやその他機能も探してみます
646Name_Not_Found:2011/10/13(木) 19:49:05.93 ID:???
>>645
クラウドサービスでやればよくね?
手軽に自作したいならWSH
647Name_Not_Found:2011/10/13(木) 23:54:33.60 ID:6lUGtS2/
質問です

http://oshiete.goo.ne.jp/qa/3175334.html

今このページに書いてあることをやってます
そこで質問ですがやりたいことは

「あああ <ここにフォーカスを当てたい!> 2行目」

ボタンを押すと「あああ」と「2行目」の間にフォーカスを当てたいのですがどうしたらいいでしょうか?
648Name_Not_Found:2011/10/14(金) 05:13:27.96 ID:???
thisを固定させる為に↓のように呼んだのですがこれをremoveする時に関数にはどう指定したらいいのでしょうか?
window.addEventListener("DOMContentLoaded", function (event) { func.init(event); }, false);
649Name_Not_Found:2011/10/14(金) 06:56:52.01 ID:???
>644さんありがとうございます
650Name_Not_Found:2011/10/14(金) 07:06:04.69 ID:???
質問させてください。

画像をクリックした時、その画像をマウスの位置まで移動させたいのですが、引数のeventオブジェクトが
受け渡しされません。原因が分かる方いませんか?

以下、画像をクリックすると画像がクリックしたx座標に移動するプログラムです。

〜〜htmlファイル〜〜
<a href = "JavaScript: func(event);">
<img src=".gazo.png" name="gazoX" >
</a>

〜〜jsファイル〜〜〜
function func(event){
x = event.x;
document.gazoX.style.left = event.x;
}

〜〜〜〜
やはり href = "JavaScript:func(event);"ではイベントオブジェクトは
受け渡しできないのでしょうか?
651Name_Not_Found:2011/10/14(金) 07:59:38.48 ID:???
2chに書き込める文字で400進数以上を作りたいんですがどうしたらよろしいんだぜ?
652Name_Not_Found:2011/10/14(金) 08:15:03.23 ID:???
>>650
<a href="#" onclick="func(event)">
653Name_Not_Found:2011/10/14(金) 08:16:45.45 ID:???
漢字使えば?英数記号だけじゃ足らないし
654Name_Not_Found:2011/10/14(金) 09:15:27.23 ID:???
>>651
二文字で一文字扱いにするとかじゃダメなのかなやっぱ
655Name_Not_Found:2011/10/14(金) 09:26:24.95 ID:???
ブラウザの実装の差異を吸収するためにaddRuleやinsertRuleと同じ場所に
addCssRuleを追加したいのですが、どう書いたら実現できますか?
656Name_Not_Found:2011/10/14(金) 09:48:07.91 ID:???
馬鹿な発想はやめておけ
657Name_Not_Found:2011/10/14(金) 12:00:31.30 ID:???
JavaScriptで、htmlのソースコード全体を取得することは可能でしょうか。

getElementByTags('body').innerHTML

とかではなくて、htmlソースの最初から最後までをまるごと取得したいです。
658Name_Not_Found:2011/10/14(金) 12:05:40.67 ID:???
xmlhttprequestで自分自身を取得すれば
659Name_Not_Found:2011/10/14(金) 14:47:03.78 ID:???
オブジェクト指向で各方法がいまいちわかりません

function a(){}
a.prototype.test=function(){
alert(1);
}

var a = {
test:function(){
alert(1);
}
}

っていう2通りの書き方を知ったのですがどっちで書くほうがいいですか?
メリットデメリットってありますか?
660Name_Not_Found:2011/10/14(金) 16:40:01.23 ID:???
>>659
前者は設計図(厳密には違うらしいけどclassって言われてる)。
var b=new a();
で作製してつかう。(いくつでも作れる。)
b.test();//alert

後者はただのオブジェクト
a.test()//alert

aというものが1つだけでいいなら後者。同じ性質のものをいくつも作って使いたいなら前者
661Name_Not_Found:2011/10/14(金) 17:50:21.55 ID:???

function test({a, b, c})
こういう受け取り方ってChromeだとエラーになりませんか?
662Name_Not_Found:2011/10/14(金) 18:04:27.58 ID:???
>>661
{a, b, c}がおかしい
663Name_Not_Found:2011/10/14(金) 18:16:25.58 ID:???
>>662
ここのXHR関数なんです
https://gist.github.com/6981

FXだといけるんですがChromeだとエラーになるんで使わないほうがいいんですね

664Name_Not_Found:2011/10/14(金) 18:39:52.45 ID:???
○[a, b, c] //配列
×{a, b, c} //オブジェクトもどき→JSでは使えない
△{0:a, 1:b, 2:c} //オブジェクト (素直に配列つかえ)
665Name_Not_Found:2011/10/14(金) 18:41:55.58 ID:???
jqueryみたいに$("#test").html();っていうふうに$()の部分はどのように実装しているのでしょうか?
666Name_Not_Found:2011/10/14(金) 18:49:46.20 ID:???
>>665
Selectors API に沿ってセレクタエンジンを実装してる
独自拡張入ってるから純粋なセレクタエンジンじゃないが
667Name_Not_Found:2011/10/14(金) 18:53:26.87 ID:???
Firefoxだと関数の仮引数として使う場合に限って
キーだけで値のない無名オブジェクトが渡せて
さらにarguments[0].aじゃなくてaだけでもアクセスできるね
リンク先のコード自体はFirefox専用(拡張機能用)?みたいだし標準じゃない独自拡張なのかな
668Name_Not_Found:2011/10/14(金) 18:57:01.16 ID:???
このスレでよいのかわかりませんが質問させてください
<div>
<p>a</p>
<p>bbbbb</p>
<p>ccccc</p>
<p>ddd</p>
<p>e</p>
</div>
ってあって、クリックしたpのインデックスを取得するにはどのように実装したらよいでしょうか?
669Name_Not_Found:2011/10/14(金) 19:00:05.18 ID:???
>>668
予め要素に index を埋め込んでおくかclickした時に index を算出する
670Name_Not_Found:2011/10/14(金) 19:25:22.18 ID:J9tF81vM
windowsのfirefoxグリースモンキーで書いたコードをlinuxのopensuseのfirefoxのグリースモンキーにコピーしようと思いました
で、linux側にコードをコピペして、起動てみました。
そうするとunsafewindowの動作がおかしい。

「unsafeWindow.document.forms[0].elements[0]」
は取得できても
forms[0]やelements[0]のところに具体的なnameを指定するとundifinedになる。
これはunsafeWindowが無い時とまるで同じ動作だと思うのだが

ubuntuのfirefoxでも試してみたけど、同じ結果。
linuxとwindowsじゃ、firefoxやグリモンの仕様が違うのだろうか?
671Name_Not_Found:2011/10/14(金) 19:35:58.07 ID:???
そんなわけないw
672670:2011/10/14(金) 19:49:51.59 ID:J9tF81vM
解決のヒントみたいのきぼんbぬ
673Name_Not_Found:2011/10/14(金) 19:59:26.67 ID:SKmLvwh0
674Name_Not_Found:2011/10/14(金) 22:00:35.42 ID:???
insertCellでセルを挿入するとき、この挿入したセルへテキストを素乳するのはどうやるのでしょうか?
t=document.createElementでtdを作ってinnerHTMLで入れているのですがinsertCellでやる場合はどうやってテキストを入れるのですか?
675Name_Not_Found:2011/10/14(金) 22:08:10.79 ID:???
>>674
insertCell の返り値はセル要素ノードだから、テキストノードを appendChild できる
676Name_Not_Found:2011/10/14(金) 22:17:41.80 ID:???
675先生どうもありがとうございます
これで追加できました.appendChild(document.createTextNode('foo'));
677Name_Not_Found:2011/10/14(金) 22:31:14.10 ID:???
たすけてください
document.getElementsByTagName('tbody')[0].deleteRow(0);
r = document.createElement('tr');
t = document.createElement('td');
.innerHTML = "text";
r.appendChild(t);

とやって一番目の行を消した後にtbodyに新たに行を追加したいのですが
削除してから追加をすると、追加の部分が実行できていません
個別に削除だけをやるとちゃんと削除されており、削除のコードをコメントアウトして行の追加のみ実行するとちゃんと追加されてました
削除した後に追加したいのですがこれは何が原因なのでしょうか?
678Name_Not_Found:2011/10/14(金) 22:44:59.77 ID:???
>>677
r を appendChild してないからでは?
あと、innerHTML は t.innterHTML の間違い?
679Name_Not_Found:2011/10/14(金) 23:02:50.85 ID:0YX8hi6k
deleteRow使ってinsertRow使わない理由はリフロー回数を減らすためなのかな
680Name_Not_Found:2011/10/14(金) 23:19:58.44 ID:???
必要最低限再現できるコードを手打ちしてたら動かないコードを張ってしまいました。失礼しました
原因がよくわからないのですがdeleteRowだと挙動がおかしくてremoveChildで消すと安定しました
681Name_Not_Found:2011/10/14(金) 23:41:57.78 ID:MJsn14Q9
iframeのロード完了を知りたくて
iframe.onload=function(){iframe_load = true};
のような事をしているんですが他に良いチェック方法ってありますか?

特に、onloadイベント等を使わずに
特定の変数にアクセスすることでロード完了/未完が予想できると嬉しいのですが。
(imgタグであればnaturalheightで0以外が取得できればロード完了とか。)
682Name_Not_Found:2011/10/14(金) 23:49:17.72 ID:???
onloadで適当な変数に書きこめば?
683Name_Not_Found:2011/10/14(金) 23:54:56.55 ID:???
今そのようにしてて
で、できればonloadは使いたくないんです。
684Name_Not_Found:2011/10/14(金) 23:55:37.14 ID:???
同じhostならiframe.contentWindow.document.readyStateでいけるんじゃないかな。
document.readyStateの仕様は詳しくは知らないから調べてみて。
685Name_Not_Found:2011/10/15(土) 00:15:34.33 ID:???
>iframe.contentWindow.document.readyState
ありがとう。
上記で、同じホストなら解決できそうです。

ただ、やっぱり別ドメインだと方法はさそうでしょうか?
686Name_Not_Found:2011/10/15(土) 00:16:36.17 ID:???
var frameElement; // <iframe>
frameElement.contentDocument.addEventListener("load", function(e) {
    var {target} = e;
    alert(target.src);
});
たまにloadイベントが出ないことがあって困る
687Name_Not_Found:2011/10/15(土) 00:34:29.82 ID:???
>>686
>>472と同じ人?
クロスドメインを解決できてないような
688Name_Not_Found:2011/10/15(土) 00:42:36.57 ID:???
>>685
知る限りではないね
なぜ load を使いたくないのか理由も挙げると誰かが代替手段を掲示してくれるかも
689Name_Not_Found:2011/10/15(土) 00:56:57.42 ID:???
>>685
IE8 ならobject要素にすれば readystate がとれる
690Name_Not_Found:2011/10/15(土) 01:01:40.25 ID:???
>>668
jQueryでわりとかんたんにできたはず。
$("div p") でとって、 $(this).index() でどうかしら
691Name_Not_Found:2011/10/15(土) 01:10:14.99 ID:???
>>663
>function XHR({method,url,headers,data,onload,onerror,onreadystatechange,overrideMimeType,async}){

この書式についてMDNに解説あります?
探したけど見つかりませんれした
692Name_Not_Found:2011/10/15(土) 05:05:13.22 ID:???
version 1.7の分割代入だろ
にしてもメモリーリークのかほりのするあれだな
693Name_Not_Found:2011/10/15(土) 09:18:10.22 ID:???
>>669
>>690
ありがとうございます
jQueryは都合で使えません
HTMLのタグも変えずにやりたいのです
jQueryのindexの仕組みが分ると組めそうな気もするのですがjQuery1.6.4の5335行目ののソースコード読んでもさっぱり
694Name_Not_Found:2011/10/15(土) 09:28:03.90 ID:???
> HTMLのタグも変えずにやりたいのです
JS側で番号振るのも駄目なの
695Name_Not_Found:2011/10/15(土) 11:01:45.19 ID:???
だっせーな
previousSiblingたどってカウントしろ
こんなのにjQueryとか、目玉焼きを陶芸の窯で焼くようなもん
696Name_Not_Found:2011/10/15(土) 11:11:08.13 ID:???
クリックイベントが発生するたびにdiv以下のpのコレクションにループかけて
イベントターゲットとイコールならそのインデックスを返すとか。
ほかの人も言ってるけどあらかじめ番号振っといたほうがいいと思うけど
697Name_Not_Found:2011/10/15(土) 12:03:19.38 ID:???
まじでツリー構造を相対的にたどれない奴が多いんだな
698Name_Not_Found:2011/10/15(土) 14:36:27.16 ID:???
alert(2.03+0.05);の計算結果がおかしいのですがこれをちゃんとした結果にして計算する方法などございませんか?
699Name_Not_Found:2011/10/15(土) 14:44:47.57 ID:???
こうだッ
alert( ( parseInt(2.03.toString().replace(".", ""), 10) + parseInt(0.05.toString().replace(".", ""), 10) ) / 100 );
700Name_Not_Found:2011/10/15(土) 14:50:20.02 ID:???
>>692
ありがとう!
701Name_Not_Found:2011/10/15(土) 14:59:09.33 ID:???
文字列に直して10かけて計算してから割って小数点に戻せばいいのですか
javascriptで電卓がつくりたいのですが
eval(計算式)のような場合はどのように対応したらよいでしょうか?
計算式が例えば以下の場合だと答えが求まりません
str = "(100-50)/2+(3+1)";
eval(str);
702701:2011/10/15(土) 15:12:47.45 ID:???
取り下げます
703Name_Not_Found:2011/10/15(土) 16:28:08.82 ID:???
jQueryでcssのtopやleftなんかに倍率を掛けたい時
top = $("#test").css("top");
$("#test").css("top", top * mult );
と2文でやるか、
$("#test").css("top", $("#test").css("top") * mult );
とやる以外に、短い書き方ってありますでしょうか
704Name_Not_Found:2011/10/15(土) 16:38:20.75 ID:???
>>703
単位あるから両方とも正常動作しない気がする

var test = $("#test"), mult = 2;
test.css("top", (parseFloat(test.css("top")) * mult) + 'px');
705Name_Not_Found:2011/10/15(土) 19:29:16.45 ID:K8hn5PbB
new Function()もeval()と同様に使わないほうがいいんですか?
eval()を使うと問題が出る場面ではnew Function()でも同様の問題が出ます?よね?
706Name_Not_Found:2011/10/15(土) 19:31:32.11 ID:???
eval is evil
707Name_Not_Found:2011/10/15(土) 19:33:18.12 ID:???
evalで威張るな
708Name_Not_Found:2011/10/15(土) 19:52:32.36 ID:???
==、!= も ++、-- も evil です。 ある人によれば
709Name_Not_Found:2011/10/15(土) 19:55:09.98 ID:???
スコープが違う
710Name_Not_Found:2011/10/15(土) 20:15:24.59 ID:???
独自ショートカットを定義するようなクロム拡張を作りたいと思って、
window.addEventListener('keydown', function(e) {console.log('hoge');});
としてみたところ、gmailなどの上だとうまく動作しません。
これはどのような原因によるものだと考えられるでしょうか?
また、どうにかしてgmailの上などでもkeydownを検知することはできないでしょうか?
711Name_Not_Found:2011/10/15(土) 21:02:54.44 ID:???
>>710
普通にイベント取れるぞ
manifestの設定とかがちゃんと出来てないんじゃないの?
712Name_Not_Found:2011/10/15(土) 21:47:06.20 ID:???
セキュリティ保護されたサイトでは無理みたいだね
713Name_Not_Found:2011/10/15(土) 22:10:06.35 ID:???
var s = "a11a22A33";
s.replace(/a/gi, "@");

というコードを実行するとaとAを@に変換します
@11@22@33
という結果になります
これを
var r = a;
s.replace(a, "@");
というふうにパターンの部分を変数に書いたのですが
この場合デリミタ/とgiはどのように書けばよいのでしょうか?
714Name_Not_Found:2011/10/15(土) 22:21:22.33 ID:???
【正規表現】
var r = /a/gi;//このaは文字列のa
s.replace(r, "@");

var a = "a"
var r = new RegExp(a, "gi");//このaは変数
715Name_Not_Found:2011/10/15(土) 23:26:20.36 ID:???
変数に代入するときに""で囲わなくても良かったんですね
前者のほうが量短いのでそのとおりにしてみます
716Name_Not_Found:2011/10/15(土) 23:37:53.22 ID:???
>>713
var reg = new RegExp("a","gi");
s.replace(reg, "@");
717Name_Not_Found:2011/10/16(日) 00:27:29.16 ID:???
forEachってIE8とそれ以外の主要ブラウザの最新版なら使っても問題ないですか?
やめたほうがいいですか?
718Name_Not_Found:2011/10/16(日) 00:44:13.76 ID:???
>>717
特定の環境でしか動かさないのが保証されているなら使えばいいし、
公開して不特定多数の人が動かすのなら使うべきじゃない。
719Name_Not_Found:2011/10/16(日) 01:38:53.89 ID:???
>>711, 712
https://*/*にマッチしたものにスクリプトを実行する設定にして
他のhttps://なサイトで動作を確認したましたが、gmailではやはり動作しませんでした。
keydownの受取り手がdocumentではないのでしょうか?

また、関連して、なんらかのフォーム入力が行われた場合にそれをdocumentの側から取得することはできるでしょうか?
すべてのフォームに、あらかじめeventListnerをセットするしかないでしょうか?
720Name_Not_Found:2011/10/16(日) 01:45:19.34 ID:???
>>719
keydownはバブリング可なのでdocumentで取得できます
721Name_Not_Found:2011/10/16(日) 05:41:47.18 ID:???
>>719
コンソールに入力して確認しただけで詳しいことはわからないけど、これでキーイベントは拾えるみたい。
window[document.getElementById("canvas_frame").name].addEventListener("keydown",function(){console.log("keydown")},false)
722Name_Not_Found:2011/10/16(日) 09:53:00.94 ID:???
>>717
forEachはIE8では使えませんが
723Name_Not_Found:2011/10/16(日) 10:19:05.02 ID:???
javascript初心者です。
jqueryのプラグインでboxyのダイアログを使用しています。
画面遷移後に、ダイアログを表示させたいのですがどのようにすればよいでしょうか?

やりたいのは、画像削除などのオペレーション後に、画面遷移して、「正常に削除さrました」などメッセージをダイアログで表示したいと思っています。
724Name_Not_Found:2011/10/16(日) 10:24:42.09 ID:???
>>719
おお、すごいです!
725Name_Not_Found:2011/10/16(日) 10:33:31.71 ID:???
http://code.google.com/p/box2dweb/の使い方を教えてください
左から右にボールを投げるだけの動作はどう書くのでしょうか?
726Name_Not_Found:2011/10/16(日) 11:08:55.51 ID:???
<div id="test"></div>
とHTMLに記述してあって、JavaScript内で条件次第で
$("#test").html('<img src="test.png" />');
などとして画像を表示する場合、
画像ファイルの幅と高さを取得することはできないでしょうか?
document.getElementById("test").naturalWidth や
document.getElementById("test").getAttribute("width") では駄目でした
ブラウザはFirefoxと、スマホです
727Name_Not_Found:2011/10/16(日) 12:20:09.31 ID:???
>>726
自分で書いてるコードを理解していればできる。
728Name_Not_Found:2011/10/16(日) 12:56:01.75 ID:???
$('<img src="test.png" />').one('load', function () {
$('#test').append(this);
var width = this.width;
var height = this.height;
});

画像の読み込みを待つ
729Name_Not_Found:2011/10/16(日) 13:18:01.88 ID:???
Chromeでdocument_start時にinnreHTMLを取得したら空だったんですが
DOM読み込み完了前にページのソースを取得する方法はありますか?
730Name_Not_Found:2011/10/16(日) 13:24:55.02 ID:???
読み込まれてないものを取得したいなんて魔法使いにしかできないよ
731729:2011/10/16(日) 13:52:34.68 ID:???
わかりました。ありがとうございました。
732Name_Not_Found:2011/10/16(日) 18:56:01.56 ID:???
>>719
フレームを跨いでdocumentで待ってたりしない?
イベントが発生しているdocumentで待つ必要があるよ
733Name_Not_Found:2011/10/16(日) 22:42:11.71 ID:???
>>717
標準勧告されてるし使うべきでないとは言えない
でも現状では、MDNとかにある互換コード貼っといた方がいい
734Name_Not_Found:2011/10/17(月) 05:20:55.36 ID:???
質問です
onmousemove=function(event,this)で
その要素内での座標を取得するのはevent.offsetXですが

例えば
<div id="a">
   <div id="b" onmousemove="">
   </div>
</div>
の場合、bの上に乗ったときbの左上から見た座標ではなく
aから見た座標を取得する事は可能でしょうか?
ちなみにdocument.getElementById("b").offsetLeftとかを取得してbの要素ないでの座標に加えるとかではなく
気持ち的にevent.parent.offsetXのようにそのまま取得したいのですが
735Name_Not_Found:2011/10/17(月) 09:28:28.65 ID:/kHK0wnw
<p id="clap"><a href="javascript:void(0);" onClick="cnt(this)">拍手</a><span id="result"></span></p>

var cnt = 10;
var elm;
function count() {
elm.innerHTML = cnt++;
}
window.onload = function() {
elm = document.getElementById('result');
if (document.addEventListener) {
document.getElementById('clap').addEventListener('click', count, false);
} else {
document.getElementById('clap').attachEvent('onclick', count);
}
elm.innerHTML = cnt;
}

クリックしたら数字がその場で増える拍手みたいなものを作っています
cnt, elm, count, result, clap のあとに数字をつけて(cnt2, elm2,…)
このjavascriptを複数書くのですが、複数書いても1つしか有効にしかなりませんでした
調べてみるとonloadが原因?みたいなことはわかりましたが、
他の書き方など、どうやって対処したらいいのかわかりません
あれば他の書き方、または似たようなことができる方法を教えてください
736Name_Not_Found:2011/10/17(月) 10:30:29.31 ID:???
addEventListenerで検索
737Name_Not_Found:2011/10/17(月) 10:32:07.58 ID:???
というかaddEventListener使ってるじゃん
windowのloadにもaddEventListener
738735:2011/10/17(月) 11:34:31.54 ID:/kHK0wnw
できました!Javascriptってすごい
>>736-737さんありがとうございました
739Name_Not_Found:2011/10/17(月) 11:40:50.57 ID:???
window.onload=function(){
//このなかにaddEventListenerを書かないとイベントが登録されないのはなぜですか?
}
// 外に書くと登録されませんでした
740Name_Not_Found:2011/10/17(月) 11:43:13.92 ID:???
window.をonload=読み込み後にfunction(){を実行します
741735:2011/10/17(月) 11:48:20.19 ID:/kHK0wnw
続けざまでうざくてすみませんが、
クリックすると値は増えるのですが、最初に一度クリックしても無反応で
2回目以降は普通に増えて行きます
なぜ最初のクリックからカウントされないんでしょうか?

var cnt$kk_id = $kk_clap;
var elm$kk_id;
function count$kk_id() {
elm$kk_id.innerHTML = cnt$kk_id++;
}
window.addEventListener('load', function(){
elm$kk_id = document.getElementById('rt$kk_id');
if (document.addEventListener) {
document.getElementById('kk_clap$kk_id').addEventListener('click', count$kk_id, false);
} else {
document.getElementById('kk_clap$kk_id').attachEvent('onclick', count$kk_id);
}
elm$kk_id.innerHTML = cnt$kk_id;
}, false);
742Name_Not_Found:2011/10/17(月) 11:50:15.23 ID:???
何がウザいって自分でウザいって言うとこ
743Name_Not_Found:2011/10/17(月) 12:33:18.16 ID:???
>>741
elm.innerHTML = cnt++;
これの動作を理解すれば解るよ
744735:2011/10/17(月) 12:33:34.26 ID:/kHK0wnw
解決しました
ご迷惑かけてすみませんでした
ありがとうございました
745735:2011/10/17(月) 12:34:21.35 ID:/kHK0wnw
>>743
ありがとうございます
ずばりそこでした
746Name_Not_Found:2011/10/17(月) 18:31:16.43 ID:MlgbgpDp
読み込みが完了しているドキュメントに対して
あとからscript要素を挿入して、そのscript要素の中から自分自身を取得するにはどうすればいいですか?
idを振るとかscript要素内に何らかの識別できる文字列を入れておいてそれを取得するとかしかないですか?
747Name_Not_Found:2011/10/17(月) 18:55:47.16 ID:???
script要素を取得って、設計がおかしい気がする
748Name_Not_Found:2011/10/17(月) 19:13:59.64 ID:A14YxfLI
後から追加するなら、その<script>要素はハンドリングできているわけで
だったらグローバルにでも参照を置いておけばいいんではないかい?
そういう意味じゃなくて?
749Name_Not_Found:2011/10/17(月) 19:25:03.96 ID:???
HTMLでコアウォーズでもするのかな。
750Name_Not_Found:2011/10/17(月) 19:40:34.15 ID:A14YxfLI
俺が想像したのは
こんなガジェットがありますよー、てな一覧があって
「試してみる」をクリックすると、そこにペコンとガジェットが貼られる
的な感じのアレでした
そういうの作ったことあるんで
751Name_Not_Found:2011/10/17(月) 19:53:25.47 ID:???
document.write したいとか
752746:2011/10/17(月) 19:59:00.61 ID:???
レスどうもありがとうございます
>>750
まさにそんな感じです
それ自身はロード中に呼び出される(はず)なので問題ないのですが
プレビュー時に、プレビュー用のコードを別途用意するんじゃなく同じものを使い回せたら・・・と思って
753Name_Not_Found:2011/10/17(月) 20:13:05.86 ID:A14YxfLI
>>752
ん?
コード自体は<script>の中に書いてあるの?
それとも別ファイルになってるの?

前者なら要素にアクセスすれば見れるし
後者だったらajaxすればいいよ
754Name_Not_Found:2011/10/17(月) 20:14:24.18 ID:???
>>752
それだけならscriptを動的に挿入する必要はないと思うんだけどなあ
設計を見直してみたらどうだろう?
755746:2011/10/17(月) 20:21:10.42 ID:???
すみません、script要素を貼り付けた位置にガジェット的なものを表示させたくて、ロード中なら問題ないのですが
読み込み後にプレビュー等でそのガジェット的なものを生成するscript要素を動的に貼り付けた場合にも
その貼り付けた箇所にガジェット的なものを生成させたい・・・できれば同じコードを使い回して・・・という感じです
756Name_Not_Found:2011/10/17(月) 20:42:16.22 ID:A14YxfLI
>>755
んんん?余計わからんくなったw

> ガジェット的なものを生成するscript要素を動的に貼り付けた場合

には

> その貼り付けた箇所にガジェット的なものを生成

することはできないの?
そのガジェットを発火させるには、<script>を貼る以外に
何か他にする必要があるの?
757Name_Not_Found:2011/10/17(月) 20:46:24.45 ID:???
>>755
script要素ではなくそのガジェット的なものとやらを挿入しなさい
758746:2011/10/17(月) 20:52:55.22 ID:???
>>756
ガジェット的なものを生成するscript要素にはパラメータ的なものが付加されていて、
script要素を取得する目的は、その場所にガジェット的なものを生成することもなんですが
ガジェット的なものを生成するに当たって必要なパラメータ的なものの所得も目的のひとつで、
プレビュー時にはパラメータの変更を受けて
「<script src="url">パラメータ</script>」みたいな
利用者に貼り付けてもらうコードとまったく同じコードを動的に挿入してそのつどプレビューさせたい・・・みたいな

たしかに面倒くさいことをやろうとしている気はします
使い回そうとする発想が、手抜きをしようとして逆に面倒くさくなってる気がします・・・
759Name_Not_Found:2011/10/17(月) 21:07:46.07 ID:???
>>758
関数っていうのを使うといいよ
760Name_Not_Found:2011/10/17(月) 21:20:15.95 ID:???
DOMNodeInsertedIntoDocument
onpropertychange
onload
761Name_Not_Found:2011/10/17(月) 21:28:23.05 ID:A14YxfLI
>>758
>「<script src="url">パラメータ</script>」みたいな

それを貼ってもガジェットが発火しないということは
そのコードがDomContentLoadedとかそういうイベントで
発火するように作られている、ってことじゃろか

それだと貼るだけじゃ動かないから
ガジェットの方のスクリプトに手が入れられるんだったら
>>760が書いてくれたようなイベントでも発火するようにすればいいよ
762Name_Not_Found:2011/10/17(月) 21:34:44.59 ID:???
function hoge(elem){}
とかってよく見るのですがこのelemの部分って
onclick="hoge()"の場合だと()の部分に大抵何が入るんでしょうか?
763Name_Not_Found:2011/10/17(月) 21:38:08.64 ID:???
>>762
undefined
試せばわかるしゃない
764Name_Not_Found:2011/10/17(月) 22:18:23.12 ID:???
何もないからundefinedになるのであって引数にundefinedが設定されているわけではない
765Name_Not_Found:2011/10/17(月) 22:20:12.42 ID:???
>>761
そのHTMLコード自体を直接貼り付けてもらった場合は問題ありません。スクリプトは実行されます
ロード後にそのHTMLコードを動的に挿入した場合もスクリプト自体は実行されますが自分自身を取得できないので、
パラメータを得られない&自分自身と同じ場所にガジェットが貼られないわけです

ttp://d.hatena.ne.jp/amachang/20061201/1164986067
自分自身を取得するコードはこれを使っているので動的生成時には対応できなくて

なぜ動的に生成したいかというと、パラメータを編集したあとにプレビューさせたいからです
しかも貼り付けてもらうコードと同じものを使って(←この部分に無理があるわけですが別のものを用意すると煩雑になるのでなんとかならないかなと)
766Name_Not_Found:2011/10/17(月) 22:37:27.40 ID:???
Firefox4以降にはdocument.currentScriptってのがあるんだっけ
こういう需要って多かったのかな
767Name_Not_Found:2011/10/17(月) 23:06:07.15 ID:???
>>765
同じコードを使いまわしたいなら、jsをファイルを再読み込みするんじゃなくて
ガジェットを生成するコードを関数にすればいいと思うよ
768Name_Not_Found:2011/10/17(月) 23:44:36.00 ID:???
javascriptのdrawimage()について質問です。
drawImage( cutImg, 0 , 0 , 400 , 400 , 0 , 0 , 200 , 200 );

↑の様な記述をしても最後の幅200px,高さ200px通りのサイズで表示されず、
幅114px、高さ200pxで表示されます。

確認方法は、
Chrome 14
FireFox 7
safari 5
iPhone4 iOS5
全てで同じ表示になりました。

drawImageの引数内のソース画像切り出しサイズに対して、
表示サイズを半分にしているのは、iPhone4で画像が荒れないようにするためです。

調べてみるとAndroid 2.1で同じようなバグが発生するらしいのですが、
今回は上記の確認方法でも起こっている現象なので、
お分かりになる方がいましたら教えて頂けると幸いです。

宜しくお願いします。
769Name_Not_Found:2011/10/18(火) 00:38:05.33 ID:???
書かれていない箇所の記述に問題が有ると予想してみる
770Name_Not_Found:2011/10/18(火) 01:07:38.54 ID:???
javascriptけっこう頑張ってるんだがなかなか上達しないんだ
他に並行して勉強すると捗る言語とかない?

例えばrubyとか、Javaだとか
771Name_Not_Found:2011/10/18(火) 01:13:53.16 ID:???
ない
javascriptは特異
772Name_Not_Found:2011/10/18(火) 01:14:37.00 ID:???
javascriptは言語として簡単なほう
この程度で躓くならJavaもRubyも無理
773Name_Not_Found:2011/10/18(火) 01:31:02.76 ID:???
javascriptは良い本が極めて少ないのがなあ、プログラマー向けじゃないのが大多数
774Name_Not_Found:2011/10/18(火) 01:56:57.01 ID:???
>>770
文法やアルゴリズムの部分でつまずいてるなら、RubyかPythonやった方がいいと思うよ。
言語仕様的な部分でつまずいてるなら技術書を熟読するしかない。

>>772
どう考えても言語としては変態な方だろ。
775Name_Not_Found:2011/10/18(火) 02:47:49.35 ID:???
>>772
難しい事をしようとしなければどう考えてもJavaとかC#の方が簡単だぞ
言語でかっちり色々決められてるからな
JavaScriptは自由度があるから多種多様な書き方されてたりでしんどいと思うわ
776Name_Not_Found:2011/10/18(火) 07:59:19.08 ID:???
>>768
canvasのwidth、cutimgのwidthはいくつだい?
777Name_Not_Found:2011/10/18(火) 08:19:28.50 ID:???
この変態言語を知れば知るほどハマっていく
そしてJAVAとかVBとか久々に触るとムカつく事が多い
778768:2011/10/18(火) 08:33:50.60 ID:???
>>769,>>776
ご返信ありがとうございます!

例に出した記述は分かりやすくするため数字を置き換えていましたが、
実際の数値は、

canvasはwidth:171px;をcssで指定しています。
cutImgは343pxで切り取っていますが、実際は1006px×2687pxの
画像になります。

もし宜しければ↓にソースをアップしましたので
見て頂けませんでしょうか。
http://jsfiddle.net/uwbW5/

画像などが参照できないため、実際の挙動確認は難しいと思います。。。

お手数おかけしますが、宜しくお願いします。
779768:2011/10/18(火) 08:58:07.43 ID:???
すみません、焦ってソース内の該当部を示さず投稿してしまいました。

長々とソースが書かれていますが、今回の件に関しての記述は

■HTML
<canvas id="ch_disp_box">
</canvas>

■JavaScript
上部にある、
// ソース画像 切り取りサイズ指定(オリジナルサイズ)
var sImgSize = {
dispX : 343,
dispY : 296,
}

下部にある、
// テレビ番組セット
以下のfunctionになります。

途中で、画像表示サイズを決める
dImgWとdImgHを定義していますが、dImgWの倍率設定を中途半端な数値にしないと正しい表示比率になりませんでした。
(dImgHとほぼ同じ書き方でいけると思ったのですが…)

長文失礼しました。
宜しくお願いします。
780Name_Not_Found:2011/10/18(火) 10:29:52.79 ID:???
ローカルに置いた画像ファイルのパスを指定してwidthとheightを取得する方法はございませんか?
<img src="a.jpg" width="100" height="150">のようにHTMLにタグが書かれた場合の取得ではなくパスしか分らない状態での取得です
781Name_Not_Found:2011/10/18(火) 10:33:08.65 ID:???
ございます
782Name_Not_Found:2011/10/18(火) 11:17:11.78 ID:???
783Name_Not_Found:2011/10/18(火) 13:48:39.38 ID:???
どうやってとるんですか?
784Name_Not_Found:2011/10/18(火) 16:27:26.14 ID:???
なめらかスクロールを自作で実装しようとしてるんですが、
aタグにアンカーをつけた状態で、aタグにイベントを設定しても、
通常のスクロール機能が優先されちゃってうまく動かないんです。
この通常のスクロール機能を無効にして、
javascriptでスクロールしたいんですが、どうすればよいでしょうか?
785Name_Not_Found:2011/10/18(火) 17:18:30.07 ID:???
ちょっと↑の質問無視してください
すいません
786Name_Not_Found:2011/10/18(火) 18:02:45.41 ID:???
JavaScriptでstaic変数みたいな使い方ってどうすればいいのでしょうか?
ボタンを押したらfunc Bを呼び出して・・・

fucntion B(){
functionA()
}

function A(){
var a
a++;
document.write(a)
}

//-----または

fucntion B(){
var b
functionA(b)
b++
}

function A(b){
document.write(b)
}

みたいのじゃ駄目ですし
787Name_Not_Found:2011/10/18(火) 18:25:23.91 ID:???
counter = (function () {
var i = 1;


})
788Name_Not_Found:2011/10/18(火) 18:27:02.23 ID:???
ごめん途中送信してしまった

var counter = (function () {
 var i = 1;
 return function () {
return i++;
 };
})();
console.log(counter());
console.log(counter());
console.log(counter());

こういう事がしたいって事?
789Name_Not_Found:2011/10/18(火) 19:05:26.05 ID:???
もっと具体的に説明すると

+------------+
 値:「 0 」

 [ + ] [ - ]
+------------+

+ボタンを押したら1
-ボタンを押したら-1
現在の値を常に記憶させておきながら
プラスの処理をする関数、マイナスの処理を関数を実行させる

Static変数があれば超初歩で簡単に済むはずなのだけど
Javascriptだと変数が毎回初期化される?(宣言の仕方をよく理解してない)からどうすればいいかよくわからない

分かっている人なら初歩の初歩なのだろうけど

790Name_Not_Found:2011/10/18(火) 19:11:31.99 ID:???
質問です。
ブラウザ上で動くオセロゲームを作りたいと思っています。
お互いが交互に指してを入力するので、
先手の番は後手の指し手入力は無効にしなければなりませんよね?
このような通信制御はどのように行うのでしょうか?
PHPとかですかね。。教えてくれると嬉しいです。
791Name_Not_Found:2011/10/18(火) 19:40:33.63 ID:???
>>789
こんなんでどう
というかもちろんの事だけど画面遷移したら消えるぞ

var counter = (function (n) {
 var i = n || 0;
 return {
  'inc' : function (n) {
   return i += n || 1;
  },
  'dec' : function (n) {
   return i -= n || 1;
  },
  'get' : function () {
   return i;
  }
 }
})(1);
console.log(counter.get());
console.log(counter.inc());
console.log(counter.inc());
console.log(counter.dec());
console.log(counter.get());

>>790
websocketなんか使うと良いかも
792Name_Not_Found:2011/10/18(火) 20:56:20.68 ID:???
>791さんありがとうございます。
今ちょっと込み入ってるので、後からコードの方拝見させてもらいます。
websocketですか?調べてみます。
多分また質問しあす。
793Name_Not_Found:2011/10/18(火) 21:11:18.15 ID:???
>>790
データベースに現在の手番を記録しとけばいいんじゃない
794Name_Not_Found:2011/10/18(火) 21:19:06.21 ID:???
>790さん
それはSQLを使うという事ですか?

Aさん、Bさんがオセロゲームサーバにアクセスしているとして、
Aさんの入力とBさんの入力をそれぞれ認識したいのですが、できますかね?
JavaScript、Ajaxだけで認識できればなあとおもっているのですが。
795Name_Not_Found:2011/10/18(火) 21:55:16.21 ID:???
>>794
サーバーサイドスクリプト使わずにデータ共有したいって質問なら>>451-464
796Name_Not_Found:2011/10/18(火) 23:32:08.06 ID:QykaYLXk
「<---」これは無くても問題ないんだろうか?
797Name_Not_Found:2011/10/18(火) 23:39:17.11 ID:???
>>796
問題ないし、あるとマズい場合もある。
798Name_Not_Found:2011/10/18(火) 23:41:20.56 ID:QykaYLXk
おお!!ありがとう!
799Name_Not_Found:2011/10/19(水) 00:00:15.25 ID:???
逆もまた然り
800Name_Not_Found:2011/10/19(水) 00:15:36.34 ID:???
>>799
逆のケースがあるのは承知してるけど、
未だに考慮しなきゃならない程にある?
801Name_Not_Found:2011/10/19(水) 01:52:54.54 ID:???
<div id="a" onmouseover="o(event,this)">

function o(e,t){
  e.offsetX;
  t.style;
}

これをjQueryでやりたいのですが
イベントをeventとして使うやり方しかわかりません
上のo関数をjQueryでやるとどうなるんでしょうか?
802Name_Not_Found:2011/10/19(水) 06:49:08.19 ID:???
>>801
【誰か】jQueryのここがわからない【助けて】
http://hibari.2ch.net/test/read.cgi/tech/1229881548/
803Name_Not_Found:2011/10/19(水) 15:16:35.50 ID:???
クリックイベントにaddeventlistenerとかで関数を関連付けした場合って、
その関数の引数から
targetプロパティとかeventオブジェクトからsrcElementって取得できますか?
それとアンカーつきのAタグにclickイベント設定しても普通は動きますよね?
804Name_Not_Found:2011/10/19(水) 15:32:28.57 ID:d7H9MhhG
>>803
お、おう…
その理解で合ってるよ
805Name_Not_Found:2011/10/19(水) 16:08:53.49 ID:???
うーんもうちょっとかんばって見ます
806Name_Not_Found:2011/10/19(水) 16:31:31.33 ID:???
エレメントの位置を取得する方法について教えて欲しいです
offsetTopプロパティって基準要素からの距離なんですよね?
この基準要素ってどうやって調べればよいのでしょうか?
807Name_Not_Found:2011/10/19(水) 17:24:33.12 ID:???
解決したのでいいです
すいません
808Name_Not_Found:2011/10/19(水) 17:42:09.76 ID:???
IEだけoffsetTopの値が微妙に違うんですが・・
IEだけボーダーの太さ分足されてることってありますか?
809Name_Not_Found:2011/10/19(水) 19:13:37.88 ID:???
>>806
解決方法書いてけよ
810Name_Not_Found:2011/10/19(水) 19:15:11.22 ID:???
それはヒミツです
811Name_Not_Found:2011/10/19(水) 19:28:23.67 ID:???
>>810
もう来なくていいよ
812Name_Not_Found:2011/10/19(水) 19:30:19.40 ID:d7H9MhhG
>>808
あるよ
813Name_Not_Found:2011/10/19(水) 19:33:44.68 ID:???
じゃあヒミツじゃないです
814Name_Not_Found:2011/10/19(水) 19:40:16.69 ID:???
>>812
ありがとうございました
>>806は完全には解決してなかったので
解決したらまた来ます
815Name_Not_Found:2011/10/19(水) 19:42:07.16 ID:???
>>813
そういうことは落書き帳に思う存分書けばいいと思うよ
816Name_Not_Found:2011/10/19(水) 23:26:42.27 ID:A+yt8UfX
すみません、Ajaxなのですがshift-jisで書かれたテキストファイルを読み込んだものを
alertやブラウザに表示するとき、shift-jisからUTF-8に変換する方法は
現状では
ADODB.Streamで変換するか、VBscriptのWSHを使うか、の二択だと考えていいのでしょうか?
Escape Codec Library(ecl.js)は試行錯誤しましたが、これは文字コードを変換
することはできないと考えていいのでしょうか?
何かいい方法があれば教えてください。よろしくお願いします。
817Name_Not_Found:2011/10/20(木) 00:17:55.84 ID:???
表示するだけなら、UTF-8 に変換する必要ないのでは?
デフォルトで UTF-8 として解釈するから、Shift_JIS などが化けるだけで、
文字列を正しく内部処理形式に変換できれば問題ない。

可能ならば、サーバが適切な文字コードをレスポンスヘッダに含める様にする。
そうすれば、Shift_JIS でも responseText は文字化けしない。
それか、ブラウザが限定されるが、overrideMimeType を使うか。
818Name_Not_Found:2011/10/20(木) 01:03:44.09 ID:???
>>817
ありがとうございます
初心者的なことですみません、文字列を正しく内部処理形式に変換するというには
どのようにすればいいのでしょうか?
サーバーのほうの設定はすでに作ってるコードの関係もありまして、
なんとかコードのほうでうまく表示できるようにしたいです
819Name_Not_Found:2011/10/20(木) 01:31:43.63 ID:???
・読み込むファイルは Shift_JIS から変更不可。
・サーバは HTTP レスポンスヘッダ内で Shift_JIS を明示しない。
・実行環境は WEB ブラウザ。

という条件なら、xhr の overrideMimeType メソッドを使う他ないかと。

使い方は自分で調べてほしい。

当のメソッドが実装されていなかったり (IE)、実装されているはずなのに
正しく動作しなかったり (Opera) するが。
820Name_Not_Found:2011/10/20(木) 06:17:47.66 ID:???
>>819
ありがとうございます
調べてみます
やはりこの条件下では一筋縄では変換できそうにないのですね・・・
821Name_Not_Found:2011/10/20(木) 11:30:34.22 ID:???
>>820
いやいやライブラリ使えば一筋縄で済むから
ここで聞く前に『JavaScript エンコード』とかでググレカス

しかし今見たら俺が過去使ってた多分その手で一番万能だったEscape Codec Library:ecl.jsが数ヶ月前のサイト閉鎖でなくなってるわ
それを薦められないのはショックだがまあ他にも良さそうなのはあったから探せ
いいのが見つかり難ければ『ライブラリー』加えたり英語で探し直したりそれくらいはいろいろしてみろ
それから質問しろ、それくらいググル技術を身につけないといろいろ困るぞ
822Name_Not_Found:2011/10/20(木) 13:14:56.78 ID:???
azlinkみたいなamazonの画像編集ツール作りたいんだけど
javascriptで実現できる?
823Name_Not_Found:2011/10/20(木) 14:19:06.18 ID:???
できるというかあれ基本全部JSじゃないのか
詳しくは知らないけど
まぁCanvasなんかを使えば色々できるよ
824Name_Not_Found:2011/10/20(木) 17:02:38.22 ID:???
>>821
すみません、ecl.jsはググっていて持っているのですが、
文字エンコードはできないと思ってしまっていました
やっぱりこれをうまく使えばエンコードができるんですね・・・
もう一度使い方を調べてみます
825Name_Not_Found:2011/10/20(木) 18:28:00.46 ID:???
<button>をクリックすると無効になるようにする方法を教えて下さい
826Name_Not_Found:2011/10/20(木) 18:30:24.73 ID:???
質問に意味を教えてくれたら
827Name_Not_Found:2011/10/20(木) 18:32:05.35 ID:???
哲学だな
828Name_Not_Found:2011/10/20(木) 18:43:44.36 ID:???
disabledをtrueにすればいいよ
829Name_Not_Found:2011/10/20(木) 19:35:39.69 ID:???
>>825-827
クソワロタw
830Name_Not_Found:2011/10/20(木) 21:04:59.68 ID:???
>>824
いや、読み込んだ時にはShift_JISをutf8だとおもって変換をかけてしまっている状態だから無理。
不正なコードってことで、0xfffdに変わってしまう。(Opera/Firefox/Chrome)
たまたまutf8で解釈できるコード列だったなら、化けずに変換できるだろうけれど。

iframeによみこんでみるとかどうよ。
「iframe ajax 文字コード」でググると出てくる方法だけど。
Operaの記事だけど、iframeのは他のブラウザでもいけるとおもう。
831Name_Not_Found:2011/10/21(金) 01:48:35.03 ID:???
GETメソッドでリクエストを送信するにはどうすればいいですか?
832Name_Not_Found:2011/10/21(金) 01:55:09.39 ID:???
HTML使わないで、javascript使ってって意味だよね?
833Name_Not_Found:2011/10/21(金) 01:57:37.96 ID:???
はい、そのとおりです
今ググってたらXMLHttpRequestってのがでてきたんですが、これしかないんでしょうか?
互換性で問題でてきませんかね?
834Name_Not_Found:2011/10/21(金) 03:43:14.52 ID:???
主要ブラウザなら問題ありませんが
よそのサイト様との通信はできませんよ
835Name_Not_Found:2011/10/21(金) 03:45:04.30 ID:Nn1RPyNn
http://www.ajaxtower.jp/googleajaxfeed/sample/sample1_1.html
上の様なページをjavascriptで作ったとき、ページのソースを見ると、
javascriptの中身が出てくることになるのですが、

実際に目に見える文字をページのソースに表示させることはjavascriptでできるでしょうか?
836Name_Not_Found:2011/10/21(金) 03:47:42.96 ID:???
document.writeとか
837Name_Not_Found:2011/10/21(金) 03:58:37.37 ID:Nn1RPyNn
document.write("hoge")とすると、
ソースには hoge ではなく、document.write("hoge")が表示されるのですが
他の方法があるのでしょうか?
838Name_Not_Found:2011/10/21(金) 04:00:35.93 ID:???
document.body.innerHTML
839Name_Not_Found:2011/10/21(金) 04:47:41.58 ID:???
HTMLのソースを開いた時に表示されてる内容と
同じ文字列だけ(HTML等ぬきで)を表示させるの無理だよ
840Name_Not_Found:2011/10/21(金) 04:51:00.88 ID:Nn1RPyNn
ということは、javascriptでページの概要を作る→外部ファイルに書き出す
→書き出されたファイルを読み込み、閲覧

という流れにするしかないということですね。
841Name_Not_Found:2011/10/21(金) 08:57:49.88 ID:???
>>840
JavaScriptでファイル書き出しは出来ない
node.jsを使おうか
842Name_Not_Found:2011/10/21(金) 09:18:51.34 ID:???
http://ondes-martenot.info/blog/archives/rss_sample.php
もしかして、こういうことがやりたいのでは?
843842:2011/10/21(金) 09:20:33.81 ID:???
ごめん、javascriptでやりたいって質問だったのね。
844Name_Not_Found:2011/10/21(金) 09:49:54.96 ID:iT1pD1mb
いやいやできるだろ
postとgetメソッドしかしらないんかいや?
845Name_Not_Found:2011/10/21(金) 10:13:11.99 ID:???
PUTメソッドはサーバで許可してある必要があるだろ
デフォルトはオフ
846Name_Not_Found:2011/10/21(金) 14:37:11.47 ID:???
rangeを使用して以下のようにテキストのハイライトをしたのですが
var spanTag = document.createElement("span");
spanTag.style.backgroundColor = "#bfdaff";
range.surroundContents(spanTag);
このハイライトを除去するにはどのような方法があるでしょうか

847835:2011/10/21(金) 14:48:35.99 ID:Nn1RPyNn
>>842
そうです。そんな感じです。
phpを使わないと無理かなぁと思っていたのですが

>>841
node.jsを調べてみようと思います。
ありがとうございます。
848Name_Not_Found:2011/10/21(金) 14:51:44.92 ID:???
>>846
spanTag.style.backgroundColor = "";
849Name_Not_Found:2011/10/21(金) 15:50:51.02 ID:???
>>830
遅くなってすみませんでした、ありがとうございます
iframeのほうでcharsetをして、そこに書くという方法でしょうか
やはりそのような方法で対処するのがベストの選択かもしれないですね
いろいろ教えていただいた方法を検討しつつ頑張ってみます
850Name_Not_Found:2011/10/21(金) 17:46:14.02 ID:???
>>849
ちょとちがうきが。iframeのほうでcharsetをしてってのがよくわからん…
(見えない)iframe内に読み込んで、その内容をjavascriptで読むってことです。
まあ、参考に挙げたページのサンプルコードで試してみて。
851Name_Not_Found:2011/10/21(金) 18:11:58.80 ID:???
>>850
すみません、見つけたページが違っていたようでした
この方法ならいけそうです!
ありがとうございます
852Name_Not_Found:2011/10/21(金) 20:22:46.74 ID:???
>>851
直接URLかいとけばよかったね。
ttp://orera.g.hatena.ne.jp/miya2000/20070220/p0

キャッシュされてしまうことの対処については…まあ、とりあえず自分で頑張ってみて。
853Name_Not_Found:2011/10/21(金) 20:32:48.15 ID:9wMD2g9s
>>841
まさにこれです。
ありがとうございます。
854Name_Not_Found:2011/10/22(土) 09:38:16.20 ID:???
>>852
ありがとうございます!頑張ってみます
855Name_Not_Found:2011/10/22(土) 11:33:17.22 ID:???
以下のように修正したいのですが
<span class="ringo"><span class="ringo">りんご</span></span>
             ↓
<span class="ringo">りんご</span>

document.getElementsByClassName("ringo")を利用して
うまく修正可能でしょうか
856Name_Not_Found:2011/10/22(土) 12:03:05.02 ID:???
getElementsByClassName が実装されて入れ歯化膿だけど、
そんなことにならない様にするのが先。
857Name_Not_Found:2011/10/22(土) 12:05:49.76 ID:???
>>855
可能だけどその構造にする仕組みを改善するのが先じゃないかな
858Name_Not_Found:2011/10/22(土) 12:07:07.73 ID:???
Javascriptでクラスは使うなよー
要素にクラスを追加するのは別にかまわんが、クラスで取得しようとするとモンの凄い不安定なコードっていう
違う値が取得されたり、値が取得できなかったりうんぬん
859Name_Not_Found:2011/10/22(土) 12:12:45.37 ID:???
んじゃーjavascriptでclass(みたいなの)getするにはどうしたらいいの?
<div id=a1"></div>
<div id=a2"></div>
<div id=a3"></div>
<div id=a4"></div>
<div id=a5"></div>

のa2 a4 a5をgetしたい時とか
classつけるんじゃなかったらclassの変わりに何で囲ったり何をつければいいの?
860Name_Not_Found:2011/10/22(土) 12:13:09.19 ID:???
SelectorAPIがあるなら
var ringoList = Array.prototype.slice.call(document.querySelectorAll(".ringo > .ringo"));
for(var i = 0; i < ringoList.length; i++) {
    ringoList[i].parentNode.appendChild(document.createTextNode(ringoList[i].textContent));
    ringoList[i].parentNode.removeChild(ringoList[i]);
}
861Name_Not_Found:2011/10/22(土) 12:13:49.74 ID:???
>>858
それはさすがにコードの問題だろう
不安定にはならない
862Name_Not_Found:2011/10/22(土) 12:32:36.78 ID:???
>>860
sliceが不要な気が。forEachを使うならわかるけど…。

Array.prototype.forEach.call(document.querySelectorAll(".ringo > .ringo"), function (ringo) {
 var parentNode = ringo.parentNode;
 parentNode.parentNode.replaceChild(ringo, parentNode);
});
863Name_Not_Found:2011/10/22(土) 13:04:12.49 ID:???
SelectorAPIの返すリストってliveだっけ?と思いながら書いたコードだからあまり気にしないでくれ
864Name_Not_Found:2011/10/22(土) 15:05:44.87 ID:???
>>858
単に配列とliveノードリスト配列してるんじゃないのそれ

>>863
死んでる
865Name_Not_Found:2011/10/22(土) 15:55:23.44 ID:???
Array.prototype.forEach.call(document.querySelectorAll(".ringo > .ringo"), function (ringo) {
 var parentNode = ringo.parentNode;
 if (parentNode && parentNode.parentNode) {
  parentNode.parentNode.replaceChild(ringo, parentNode);
 }
});
866Name_Not_Found:2011/10/22(土) 16:02:37.83 ID:???
おお、querySelector, queryStlectorAllなんてあったのか
IE7以下のみ非対応と言えるくらい普及率高いし、ブログのcssから入った奴(居るのか知らんが)には便利そうだ
しかし取得速度的にはXPathどころかgetElementsよりも遅いのか
867Name_Not_Found:2011/10/22(土) 16:04:52.24 ID:???
そりゃそうだろう
868Name_Not_Found:2011/10/22(土) 16:17:16.89 ID:???
ノード辿らないと取れない部分で使うと速度が上がるし分かりやすくなる
869Name_Not_Found:2011/10/22(土) 17:54:42.17 ID:???
var sss = document.styleSheetsで全部のスタイルシートを読み込んで
sss[i].cssRulesで外部ドメインのスタイルシート読もうとした時点でFirefoxなどでセキュリティエラーが出るのですが
この場合ループの中でtry-catchを使って無視するようにするしかないのでしょうか?
870Name_Not_Found:2011/10/22(土) 18:12:31.10 ID:???
StyleSheet.href確認すれば
871Name_Not_Found:2011/10/22(土) 18:57:23.25 ID:???
>>860
全く関係ないですが
昔、lingobakoとゆう配列名を有名サイトでみたことがある
872Name_Not_Found:2011/10/22(土) 18:58:51.20 ID:???
>>870
色々試してみましたが、Firefoxではクロスドメインだけでなく
ローカルのhref="../site2/css.css"みたいなスタイルシートもダメみたいで結構厳しいみたいです
873Name_Not_Found:2011/10/22(土) 19:53:33.97 ID:???
ローカルで使う必要があるん
874Name_Not_Found:2011/10/23(日) 06:57:01.95 ID:???
指定された座標(x,y)が4点(x1,y1)(x2,y2)(x3,y3)(x4,y4)の範囲内か
判断する関数・方法があれば教えて下さい。
長方形だけではなくて台形・菱形でも判断できる方法が知りたいです。
875Name_Not_Found:2011/10/23(日) 09:32:41.66 ID:???
アンカー付きのaタグをクリックするとある動作をするように設定したいんですが、
その動作をイベントで設定しています。
でもクリックするとデフォルトの動作で、アンカーのところへジャンプしてしまいます。
このジャンプをさせないようにするにはどうすればよいでしょうか?

target.addEvenListener("click",test,true);
↑こうやってイベント設定してて、
関数は、
function test(){
〜処理〜
}
って書いてます。
test関数の中でreturn falseをしてもジャンプしてしまいました。
ご教授願います。
876Name_Not_Found:2011/10/23(日) 10:11:36.84 ID:???
>>875 preventDefault で検索して勉強すれ。
>>874 JavaScript と関係ないじゃん。(x,y)が線分(x1,y1)-(x2,y2)の左右どっちに
あるかは式(x2-x1)(y-y1)-(y2-y1)(x-x1)の符号で判別できる。これを4辺についてやる。
877Name_Not_Found:2011/10/23(日) 11:24:03.38 ID:???
>>876
不完全です
4点の指定される順番によっては辺がクロスしたりもする(三角形2つになる)とき等どう対応していいのかわかりません
このスレの規定でコードを丸ごと載せられないのであれば外部サイトにupでも構わないので関数を教えてください
878Name_Not_Found:2011/10/23(日) 11:36:51.02 ID:???
JavaScript を自ら学ぶ人のための質問スレッドです。
それにその内容だとJavaScriptの問題じゃないスレチ
879Name_Not_Found:2011/10/23(日) 11:49:15.16 ID:???
>>877
4点だけで正方形の形が決まる訳でないので、判定不可能。
880Name_Not_Found:2011/10/23(日) 11:49:57.14 ID:???
正方形じゃなくて、四角形w
881Name_Not_Found:2011/10/23(日) 12:00:30.54 ID:???
>>879
入力された順番に結んでいくなら可能でしょ
まあ質問者の説明が不十分だし答える必要なし
882Name_Not_Found:2011/10/23(日) 12:00:48.23 ID:???
http://code.google.com/p/box2dweb/

なんか上のほうにあったこれみたいな事やりたいんだろ
これを頑張ってパクれ
883Name_Not_Found:2011/10/23(日) 12:12:04.04 ID:???
そんな志の高い奴がこんなことで躓くかw
884Name_Not_Found:2011/10/23(日) 13:32:21.27 ID:???
>>874
isPointInPathを使えばできるかもしれない
885Name_Not_Found:2011/10/23(日) 14:29:29.04 ID:???
>>882
たのむそれの右から左に放物線を描くようにボールが流れるサンプルを書いてください
886Name_Not_Found:2011/10/23(日) 14:51:36.33 ID:???
>>877 四角形ならばこんなこんな感じぢゃだめですか
function contains(int touchX, int touchY) {
return (touchX >= rectOriginX) && (touchY >= rectOriginY) && ((touchX - rectOriginX) < rectWidth)
&& ((rectOriginY - rectY) < rectHeight);
}
以下のようにspanTagを減らしてbackground-color:を編集するにはどうすればいいでしょうか
<span class="ringo" style="background-color:rgb(255,255,0)"><span class="ringo" style="background-color:rgb(255,255,0)">りんご</span></span>
             ↓
<span class="ringo" style="background-color:rgb(0,0,0)">りんご</span>
887Name_Not_Found:2011/10/23(日) 15:23:15.92 ID:???
>>874
四角形を三角形の集まりだと思って判定しろ
点1〜4の中心点Pを取得して△A12P,23P,34P,14Pのどれかに入ってるか判定すればok
辺がクロスしてる場合は必要な二つの△だけ判定すれば良い

三角形の判定についてはググレ
888Name_Not_Found:2011/10/23(日) 15:31:05.80 ID:???
>>887 === >>821 かな。
別に他意はないけど。
889Name_Not_Found:2011/10/23(日) 15:39:26.32 ID:???
>>888
初めて書き込んだんだけど
スレの趣意と違ってたらごめん
890Name_Not_Found:2011/10/23(日) 15:46:35.92 ID:???
あやまってもゆるさない
891Name_Not_Found:2011/10/23(日) 15:51:21.80 ID:???
>>890
横から誰だよw

>>889
いや別に。
>>821 のレスは、JavaScript に関して浦島太郎的な感じがした。
それとレスの文面が似てたから。
892Name_Not_Found:2011/10/23(日) 17:36:43.45 ID:???
>>874
4点のクリッカブルマップ作ってイベント発火させるのが楽なんじゃないか
893Name_Not_Found:2011/10/23(日) 17:56:26.19 ID:???
ここ最近の
ゲーム関連っぽい投げっぱなし質問者かな
894Name_Not_Found:2011/10/23(日) 18:25:04.81 ID:???
yの位置の水平線と各線分との交点をもとめて、xより左にある交点が奇数だったら範囲内…とか。
線分が水平になるケースを気をつければいけると思う。全然検証してないけど。
895Name_Not_Found:2011/10/23(日) 19:27:10.93 ID:???
>>894
勉強になるなぁ・・
896Name_Not_Found:2011/10/23(日) 19:36:24.12 ID:???
>>875
<a href='javascript:test();'>test</a>
897Name_Not_Found:2011/10/23(日) 19:38:25.62 ID:???
>>875
function test(e) {
    e.stopPropagation();
    e.preventDefault();
}
898874:2011/10/23(日) 20:20:22.09 ID:???
>>876の方法で解決しました。
方法の質問でどこで指定以下わからずにここで聞いてしまいました。
ありがとうございました。
899Name_Not_Found:2011/10/23(日) 22:27:05.58 ID:QvnC7Hy9
>>874

function f1(x,y,x1,y1,x2,y2,x3,y3) {
var xp = x3 - x1, yp = y3 - y1;
var r = x2 * yp - xp * y2;
if (r == 0) return -1;
return (x * yp - xp * y) / r;
}

function f2(x,y,x1,y1,x2,y2,x3,y3) {
var a = f1(x,y,x1,y1,x2,y2,x3,y3); if((a<0)||(1<a)) return false;
var b = f1(x,y,x1,y1,x3,y3,x2,y2); if((b<0)||(1<b)) return false;
return (a + b <= 1);
}

function f3(x,y,x1,y1,x2,y2,x3,y3,x4,y4) {
if (f2(x,y,x1,y1,x2,y2,x3,y3)) return true;
if (f2(x,y,x2,y2,x3,y3,x4,y4)) return true;
if (f2(x,y,x3,y3,x4,y4,x1,y1)) return true;
if (f2(x,y,x4,y4,x1,y1,x2,y2)) return true;
return false;
}
900Name_Not_Found:2011/10/23(日) 22:32:40.23 ID:???
亀レスってレベルじゃねーぞ
901Name_Not_Found:2011/10/23(日) 22:56:22.55 ID:???
嫌いじゃないぜ鈍亀
902Name_Not_Found:2011/10/23(日) 23:11:40.02 ID:???
alert(f3(5,6,10,10,0,10,0,0,10,0)); // false

使い方間違ってるのかな…。
903Name_Not_Found:2011/10/23(日) 23:34:01.37 ID:???
それ、どう見ても でたらめな関数だから無理だろ
904Name_Not_Found:2011/10/23(日) 23:41:36.74 ID:???
かわいそうじゃないか、そんなこと言ったら。
905Name_Not_Found:2011/10/24(月) 01:07:22.42 ID:???
>>899
f1が微妙に間違ってる
正しくはこう

function f1(x,y,x1,y1,x2,y2,x3,y3) {
var xp = x3 - x1, yp = y3 - y1;
var r = (x2 - x1) * yp - xp * (y2 - y1);
if (r == 0) return -1;
return ((x - x1) * yp - xp * (y - y1)) / r;
}
906Name_Not_Found:2011/10/24(月) 08:26:02.81 ID:???
HTMLの質問かもしれませんが

<div onmouseover="o()" onmouseout="p()">
あああああああああああああ<br>
ああああああああああああ
</div>

の場合は問題ないのですが

<div onmouseover="o()" onmouseout="p()">
<span>
あああああああああああああ<br>
ああああああああああああ
</span>
</div>
とすると、文字の上に来るとonmouseoutが発動します
<span>で囲っても前者のように問題ないようonmouseがその要素全体(子要素含む)に反映されるようにしたいのですが
解決策あるのでしょうか?
907Name_Not_Found:2011/10/24(月) 08:45:04.33 ID:???
>>906
spanにid振って、それを参照する
908Name_Not_Found:2011/10/24(月) 09:11:12.55 ID:???
もっと他に*とか使えばいいんじゃね?
試してないからわからないが
909Name_Not_Found:2011/10/24(月) 10:03:14.59 ID:???
>>906
Event.target === Event.currentTarget
910Name_Not_Found:2011/10/24(月) 10:15:05.18 ID:nJps/1JE
ざっくりした質問で申し訳ないんですが
インラインボックスの大きさって計算出来るものですか?
911Name_Not_Found:2011/10/24(月) 10:22:50.25 ID:???
>>910
CSSOM規定のプロパティで取得できたような
912905:2011/10/24(月) 11:39:27.26 ID:???
>>909
すみません、もーちょっとヒントを
イベント関係のプロパティとか知識足らずで
913Name_Not_Found:2011/10/24(月) 12:11:49.94 ID:???
>>906
前者でもmouseoverが発火するはずだけど
914Name_Not_Found:2011/10/24(月) 12:38:05.15 ID:nJps/1JE
>>911
ありがとう
勉強します
915Name_Not_Found:2011/10/24(月) 13:44:08.53 ID:fjginknY
質問
<script type="text/javascript">〜って
<head>内と<body>内どっちに書いたほうが良いですか?
※どっちでも良いはなしでお願いします
916Name_Not_Found:2011/10/24(月) 13:46:58.43 ID:???
どっちでもいい

そのスクリプトの中に何を記述するかで場所が決まることもある
917Name_Not_Found:2011/10/24(月) 13:52:18.77 ID:???
</html>の下
918Name_Not_Found:2011/10/24(月) 13:56:42.71 ID:???
>>906だけどさ
onmouseenterとonmouseleave使えば済む話じゃね?って思ったんだが
それを言わない辺りコレ不具合でもあんの?
919Name_Not_Found:2011/10/24(月) 14:56:02.90 ID:???
>>876
>>896
>>897
遅くなりましたが、preventDefaultでいけました
ありがとうございました!
920Name_Not_Found:2011/10/24(月) 15:14:58.43 ID:???
>>918
IEにしか対応してないよ
921Name_Not_Found:2011/10/24(月) 15:28:17.48 ID:???
window.onload=function(){}

addEventListenerを使ったコードに書き換えたいのですが

window.addEventListener('load', function(e){
alert(1);
}, false);

addEventListener('load', function(e){
alert(1);
}, false);
どちらも動きますがどちらで書くのが正しいでしょうか?
922Name_Not_Found:2011/10/24(月) 17:00:59.05 ID:RWqwsARi
INPUT TYPE=FILEにvalueをセットする裏技ってないでしょうか?
ブラウザがセキュリティではじくって聞いたんで、ブラウザの外からならいけるっぽいうわさなんですが。
http://www.ne.jp/asahi/hishidama/home/tech/web/html/input.html#file
ちなみにlinuxで動かしたいのでfirefox限定でお願いします
上のはiEなので参考になりません。
923Name_Not_Found:2011/10/24(月) 17:07:54.11 ID:???
>>922
厨房氏ね
924Name_Not_Found:2011/10/24(月) 19:16:56.04 ID:???
>>922
グリモンでやれば?
925Name_Not_Found:2011/10/24(月) 19:19:26.48 ID:???
>>921
ぶっちゃけ動けばどっちでもいいけど
alert('hoge');をwindow.alert('hoge');って毎回書く人?
926Name_Not_Found:2011/10/24(月) 19:36:35.04 ID:???
window.alertは書かないけど、
addEventListenerは対象をはっきりさせるのにwindowって毎回書いてるな。
927Name_Not_Found:2011/10/24(月) 19:44:27.59 ID:nJps/1JE
俺も
どうせ圧縮かけたら消されるんだろうけど
928922:2011/10/24(月) 19:59:59.29 ID:???
>>924
グリモンでfileおけるんですか?
security error1000とかグリモンでやってもでてきます
929Name_Not_Found:2011/10/24(月) 20:08:19.80 ID:???
なんでwindowを書いても書かなくてもaddEventListenerに登録されるんですか?
普通エラーになるものじゃありませんか?
930Name_Not_Found:2011/10/24(月) 20:17:06.01 ID:nJps/1JE
>>929
何も書かなかったらwindowのプロパティ(メソッド)
って決まりがあってだな
931Name_Not_Found:2011/10/24(月) 20:44:05.36 ID:Pzr5r4WM
<form method="post" action="test.php" name="sample" onSubmit="return check()">
<input type="text" name="test" id="test">
<input type="submit" value="send">
</form>
<form method="post" action="test.php" name="sample" onSubmit="return check()">
<input type="text" name="test" id="test">
<input type="submit" value="send">
</form>

としてonsubmitには
if(document.sample.sample.value == ""){
test_question.style.backgroundColor = '#fbe7eb';
}
としているのですが、formが1つの場合はちゃんと背景色が変化しますが、上記のように2つ以上の場合は機能しません。
<form>から</form>の間をみていると思っていたのですが、全部のformを見てsampleが複数あるので機能していないのでしょうか?
932931:2011/10/24(月) 20:45:02.29 ID:Pzr5r4WM
申し訳ありません。
input typeの部分のnameはtestではなくsampleの間違いでした
933Name_Not_Found:2011/10/24(月) 21:13:54.51 ID:???
>>928
無理だよ

>>929
個人的な解釈で書くと
Windowオブジェクトはグローバル空間とでもいうのかな?にあり
(厳密にはWindowでは無いらしいけどね)
オブジェクトに属さないメソッドはグローバル空間に登録されると・・・
で、呼ぶ時も同じ原理でよばれる・・・
こんな感じじゃないのかな・・・細かいところは大いに違うだろうけどw
934Name_Not_Found:2011/10/24(月) 21:43:03.66 ID:???
書き込んだあと自分で読むと何を言いたいかわからんな・・・
Windowがグローバルオブジェクトでオブジェクトに属さないメソッドの呼び出しは
現在のスコープ内で解決できない場合さらに上位のスコープへ解決しにいく
で、最終的にたどり着くのがWindowのグローバルオブジェクトになる
だからスコープ内にaddEventListener関数作っちゃうと
オリジナルのaddEventListenerが呼ばれる
935Name_Not_Found:2011/10/24(月) 21:55:10.80 ID:???
>>931
sample という名前の form が 2つあるだろ。
だから、その書き方だと動かない。
936931:2011/10/24(月) 22:03:47.47 ID:EXOsCNuM
>>935
ありがとうございます。
確かによく見てみたらそうですね。
formの中身は動的に生成されているのでform名に連番とかつければいけそうですが
formの数は内容によって変動します。
そうなるとjavaの方で連番を読み取ったりする必要が出てきそうですね。

登録情報を個別に変更出来るようにしているのでformが多数あるんですが
こういう構成は時折見かけます。
その場合はform名やそれを判別するjavascriptはどのようにすればよいのでしょうか?
手法でもよいのでアドバイスいただけないでしょうか。
937Name_Not_Found:2011/10/24(月) 22:19:49.23 ID:???
悪いこと言わないから、POST 先の php に全部投げちゃいなさい。
JavaScript 得意じゃなさそうだし、off にされていたら意味ないから。
938Name_Not_Found:2011/10/24(月) 22:42:55.90 ID:???
>>928
userChrome.jsならいけるんじゃね
939Name_Not_Found:2011/10/25(火) 01:07:48.77 ID:Pzk2/AfC
>>936
<form>要素内の<input><select>を全部拾ってきて
valueがあるかどうか、くらいは汎用的にみれるんじゃないか?
940Name_Not_Found:2011/10/25(火) 01:09:12.74 ID:???
ようやく脱IE8になるかな?

グーグル、古いブラウザ向けのインスタント検索を提供中止
http://ascii.jp/elem/000/000/644/644152/
941Name_Not_Found:2011/10/25(火) 01:17:39.08 ID:???
>>936
onSubmit="return check(this)"
として function check(o) { if (o.sample.value == "") 〜〜〜〜
みたいなのでいいんでは。
test_questionがどうなってるのかわからんので、あれだけど。

でも、formを生成するときにname等に連番つけるほうが楽だと思うけどね。
942Name_Not_Found:2011/10/25(火) 01:18:29.72 ID:???
インスタント検索が使えないからってブラウザ変えるような奴はいないだろw
むしろOFFにしてる奴も多いし使えなくなって便利なもんだ
943Name_Not_Found:2011/10/25(火) 01:21:56.56 ID:???
インスタント検索が脱IE8の追い風にはならなんだろ
あと5年はIE8に悩まされそうな気がする
944Name_Not_Found:2011/10/25(火) 01:41:39.71 ID:???
脱IE8は早くなんとかならないかなぁ・・・。
945Name_Not_Found:2011/10/25(火) 01:52:59.69 ID:???
インスタント検索デフォでONになっててうざいだけだからな
普段使わないパソコンでパパッとネット死体とき、むしろIEの利用が増えるんじゃないか
IE8による検索自体をブロックして欲しいわ
946Name_Not_Found:2011/10/25(火) 07:28:46.51 ID:???
インスタント検索て何の事かとおもたらあのうざい機能か
947Name_Not_Found:2011/10/25(火) 08:27:28.57 ID:ZKGhv+yz
IE8で訪問済みリンクの色が変わらなくなりました。
IE6では下の1でも色が変わっていたのに、
IE8では2のようにダミーのURLをつけてもダメ。
なんででしょうか。

1. <a href="bar();">
2. <a href="foo.html" onclick="bar();return false;">
bar()でsubmitしています。
948Name_Not_Found:2011/10/25(火) 08:39:35.39 ID:???
>>368-378
同じ話?
949Name_Not_Found:2011/10/25(火) 08:43:12.20 ID:???
風邪で寝込んでいる間に950目前になった。今回テンプレ変更はなしでいいよね。新スレは
975超えたら。
950Name_Not_Found:2011/10/25(火) 09:30:40.08 ID:???
>>948
同じかも。読んでみます。
951947:2011/10/25(火) 12:28:16.01 ID:???
>>948
ありがとうございます。
同じ方法で回避できました。

IE6が特殊なのですね。
952Name_Not_Found:2011/10/25(火) 14:47:26.53 ID:???
test.html

function hoge() {

return false;
}

<a href="#" onclick="hoge();">パターン1</a>
<a href="test.html" onclick="return hoge();">パターン2</a>
<a href="test.html" onclick="hoge(); return false;">パターン3</a>
<a href="javascript:void(0)" onclick="hoge();">パターン4</a>
<a href="javascript:void(0)" onclick="return hoge();">パターン5</a>
<a href="javascript:void(0)" onclick="hoge(); return false">パターン6</a>
<a href="javascript:hoge()">パターン7</a>
<a href="javascript:void(hoge())">パターン8</a>

推奨パターンは何番?
953Name_Not_Found:2011/10/25(火) 14:50:21.50 ID:???
<span id="hoge">パターン9</span>

document.getElementById("hoge").addEventListener("click", hoge, false);

function hoge(event) {}
954Name_Not_Found:2011/10/25(火) 18:31:51.77 ID:???
名前空間用の変数を用意して、その直下にメソッドを付けるような書き方をした場合、
それらのメソッドの中でthisキーワードを介して同じ名前空間内の別のメソッドを呼ぶのと、
名前空間から別のメソッドを呼ぶ場合とではどちらが良いですか?
thisでやってしまうと、ローカルスコープ内でエイリアスを作った場合にthisの参照先が変わってしまって
動かなくなると思うんですが、thisでやる場合のメリットってなにかありますか?
955Name_Not_Found:2011/10/25(火) 22:11:04.45 ID:HZcWPYus
複製した時とか?
956Name_Not_Found:2011/10/25(火) 23:02:18.97 ID:???
質問です、というか疑問なんですが

要素を追加する時
var element = document.createElement('div');
element.id = "id";
element.innerHTML = "hogehoge";
element.style.backgroundColor = 'red';

とやるのが一般的ですが
innerHTML="<div id=\"id\" style=\"background-color:red;\">hogehoge</div>";
とやったほうが解りやすいと思うのですが
このやり方だと不具合があったりするのでしょうか?
957Name_Not_Found:2011/10/25(火) 23:12:53.12 ID:???
それがわかりやすいと感じる範囲ならそっちでもいい。(innerHTMLが非標準だったりするけど、大抵は動くからOK)
入り組んだものを作る時スピードが必要ならcreateElementじゃないと遅かったり。
あとは、innerHTML+=〜だと再描画がかかるけど、appendChildだと再描画されない。
958Name_Not_Found:2011/10/25(火) 23:14:27.92 ID:???
html5からinnerHTMLって標準になったって聞いたのですが使わないほうがいいですか?
959Name_Not_Found:2011/10/25(火) 23:16:10.07 ID:???
>>957
なるほどー、そういう問題でしたか
ありがとうございます。ナットクです
確かに全部再描写するより、一つ追加させた方が早いですね
960Name_Not_Found:2011/10/25(火) 23:42:53.13 ID:???
追加するときはそれでいいね、わかりやすいし
自分なら面倒だからライブラリに任せる
jQuery(document.body).append("<div>hello world</div>");
961Name_Not_Found:2011/10/26(水) 00:15:57.73 ID:???
>>958
HTML5で標準になってたとして、それ以前は切り捨てOKでいいなら使えばいいんじゃないかな。
962Name_Not_Found:2011/10/26(水) 12:52:35.47 ID:???
>>958,961
innerHTMLはガラケーを含む殆どのブラウザで昔から使えるしOK
createElementの方がここ1年くらいでだいぶ改善されたけど基本重いから
古いブラウザやマシンのこと考えるんならそっちの方が非推奨
CREATE中はJSで負荷をかけてる分だけ描画が完全に止まるから
CREATEは簡潔に、APPEND時にブラウザエンジン側に描画と非同期にコストを払わせるinnerHTMLの方がユーザーにとっていい
963Name_Not_Found:2011/10/26(水) 13:36:10.24 ID:???
Javascriptを体験しながら勉強しているのですが
エレメント.style.backgroundColorの
backgoroundColorを指定するのにbackground-colorとか全部小文字にしてて上手く行かず
backgroundColorと書けばいいと判明するのに結構時間がかかりました

皆さん、こういうのって全部覚えているのでしょうか?
それともこういうのが全部ズラーっと並んでる便利なサイトとかがあるのでしょうか?
964Name_Not_Found:2011/10/26(水) 13:39:18.15 ID:???
-は引き算として扱われるから、すべての-直後の一文字を大文字にすれば解決。
あとは、style["background-color"]=もあり。
965Name_Not_Found:2011/10/26(水) 13:46:14.13 ID:???
そんな法則があったんですか
だからbackground-Colorとかでダメだったんですね
ありがとうございます
966Name_Not_Found:2011/10/26(水) 13:49:23.60 ID:???
×すべての-直後の一文字を大文字に
○すべての-直後の一文字を大文字にして-を削除
967Name_Not_Found:2011/10/26(水) 13:50:07.08 ID:???
初めて知った。今まで全部テキトーに覚えてた
968Name_Not_Found:2011/10/26(水) 13:58:52.97 ID:???
>>962
そのためにドキュメントフラグメントが用意されてるだろ?
969Name_Not_Found:2011/10/26(水) 14:15:50.16 ID:???
innerHTMLはevalみたいで何かやだ
970Name_Not_Found:2011/10/26(水) 14:25:15.98 ID:???
tableの内容の書き換えが面倒すぎるinnerHTML使いたい
971Name_Not_Found:2011/10/26(水) 14:28:27.86 ID:???
0123456789
にinnerHTML +=0すると
もう一度01234567890って最初から全部描写するのがなぁ
今は全然問題ないけど、2000年頃のPCには結構なタイムラグが
972Name_Not_Found:2011/10/26(水) 15:14:43.59 ID:???
http://javascriptist.net/docs/libraries_colorpicker.htmlで紹介されているようなカラーピッカーを作りたいのですが
これはどのように作られているのでしょうか?
rgbで
0,0,0→0,0,255
1,0,0→1,0,255
2,0,0→2,0,255

255,255,0→255,255,255
としてforでループしながらdivを生成して、生成したdivにスタイルで対象のrgbを指定していってますが
処理が重すぎて固まってしまいます
973Name_Not_Found:2011/10/26(水) 15:32:30.83 ID:???
マウスの座標から一発で計算できるとは思いませんかそれ
divの代わりに同じように見えるグラデーション画像一枚用意すれば済むでしょ
974Name_Not_Found:2011/10/26(水) 15:38:53.65 ID:???
画像用意してその要素上の座標から割り出すってのが一番いいな
975Name_Not_Found:2011/10/26(水) 15:47:21.63 ID:???
>>971
それ回避する方法おしえて
976Name_Not_Found:2011/10/26(水) 15:49:29.94 ID:???
977Name_Not_Found:2011/10/26(水) 15:51:14.89 ID:???
でもjavascriptのライブラリに画像ファイルが見当たりません
978Name_Not_Found:2011/10/26(水) 15:59:57.50 ID:???
Color picker(ADV含む)以外見たが全部画像使ってるじゃんよ
979Name_Not_Found:2011/10/26(水) 16:00:39.69 ID:???
>>976
>>971(ただの文字の追加)と>>957(エレメントの追加)って同じなの?
980Name_Not_Found:2011/10/26(水) 16:13:28.30 ID:???
ライブラリの中身くらい自分で見ろよと思う
981Name_Not_Found:2011/10/26(水) 16:16:59.77 ID:???
流石にjQueryとかjQueryUIとかまでは解るが
そーいうメジャーとは言いがたいライブラリはちょっとなぁ
982Name_Not_Found:2011/10/26(水) 16:20:22.96 ID:???
ライブラリを使ったサンプルページのソースを見てないんかい
983Name_Not_Found:2011/10/26(水) 16:22:00.97 ID:9NHChTR2
>>979
エレメントの追加と考えるからいかん、ノードの追加なんだ
エレメントノードでもテキストノードでもやることは同じなんだ
984Name_Not_Found:2011/10/26(水) 16:23:12.84 ID:???
ブラウザで右クリックしても画像を保存が出てこなかったので画像じゃないと思ってました
jQuery color pickerをダウンロードしたところライブラリをダウンロードしたら画像だったことを確認しました
失礼いたしました
そこで画像情のマウスで計算できそうですが画像の色が変わるのはcanvasでRGBを変換して作るのが妥当でしょうか?
985Name_Not_Found:2011/10/26(水) 16:25:57.50 ID:???
んまーそういうライブラリってのは「誰にでも、どんな状況でも使えるように」してあるから
構造とかを理解して自分で1から作ると容量が1/10以下になったりするから
そーやって経験積むのもいいかな
986Name_Not_Found:2011/10/26(水) 16:43:02.98 ID:???
canvasにかわる代替手段があるならそちらを優先して使えって種子じゃなかったcanvasって
987Name_Not_Found:2011/10/26(水) 16:47:44.19 ID:???
>>983
>>971の例だとこんな感じ?
element.appendChild(document.createTextNode('0'));
988Name_Not_Found:2011/10/26(水) 16:56:15.50 ID:???
element.childNodes[0].data+=0;
989Name_Not_Found:2011/10/26(水) 16:58:37.20 ID:???
Lv足りなくて次スレ建てられません。どなたかおねがい〜。
今回はテンプレの変更は無しです。
990Name_Not_Found:2011/10/26(水) 21:06:51.84 ID:???
ajaxで返事が帰ってくるのを待ってる時によく見るくるくる回るようなやつはどうやって実装されているのでしょうか?
よく見かけるので多分プラグインか何かであると思いますが。
twitterでタイムライン読み込むときや、いろんなサイトで画像や動画を読み込む時などに見かけるやつです
名前わからなくてどう調べれば良いのかわかりませんでした、よろしくお願いします。
991Name_Not_Found:2011/10/26(水) 21:11:18.89 ID:???
通信開始でくるくる表示(gifアニメかな)
返事が帰ってきたらgif非表示・削除
992Name_Not_Found:2011/10/26(水) 21:12:16.59 ID:???
jQuery prettyLoader
993Name_Not_Found:2011/10/26(水) 21:20:37.56 ID:???
>>991,992
ありがとうございます!
994Name_Not_Found:2011/10/26(水) 21:33:40.53 ID:???
早く誰か次スレたてろや
995 忍法帖【Lv=6,xxxP】 :2011/10/26(水) 21:40:55.95 ID:???
今レベル上げてるから待て。
専ブラ使わず、web ブラウザもころころ変えてたせいだ。
996Name_Not_Found:2011/10/26(水) 21:58:21.77 ID:9NHChTR2
よし立ててくる
997Name_Not_Found:2011/10/26(水) 21:59:52.13 ID:9NHChTR2
とりあえず立った
これからテンプレ各種コピる
998Name_Not_Found:2011/10/26(水) 22:01:36.85 ID:???
レス番・・・
999Name_Not_Found:2011/10/26(水) 22:04:03.93 ID:9NHChTR2
しっぱいした
くびつってくる
http://hibari.2ch.net/test/read.cgi/hp/1319633963/
1000Name_Not_Found:2011/10/26(水) 22:05:08.70 ID:???
まぁ、良いってことよ。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。