+ JavaScript の質問用スレッド vol.98 +at HP
+ JavaScript の質問用スレッド vol.98 + - 暇つぶし2ch655:Name_Not_Found
12/03/26 13:42:25.42 0LZD1uwT
クライアントからのXHRリクエストにより、サーバーで複数のファイルに対して処理をするのですが
このとき処理結果と進行状況をクライアントに知らせるようにしたいと思っています。
で、次のようなテストコードを書きました。

※perlCGI(抜粋) - バッファリングを無効にして5秒ごとメッセージを出力している
$| = 1;
print "Content-type: text/plain; charset=utf-8\n\n";
map { sleep 5; print $_; } @results;

※javascript(抜粋) - レスポンス受信のたびメッセージを切り取って表示している
var cursor = 0;
xhr.onreadystatechange = function() {
 if (xhr.readyState === 3) {
  var message = xhr.responseText.substring(cursor);
  cursor += message.length;
  callback(message); // メッセージをHTMLリストに追加
 }
 else if (xhr.readyState === 4) {
  callback("finish!!");
 }
};

一応目的は達しているのですが、処理のよっては長時間(1分以上)接続したままになります。
こうした長時間の接続って通常、問題ないでしょうか。
cometやwebsocketsのプログラミングは未経験ですが、調べてみた範囲では
順番に受信して終わるだけの上記の目的には大げさにも感じました。
アドバイスもらえたらうれしいです。

656:Name_Not_Found
12/03/26 13:44:18.86
test.addEventListener('click', 'battle(10)', false);
第二引数で関数に引数をつけて書くにはどう書いたらいいですか?

657:Name_Not_Found
12/03/26 13:49:35.07 zaDWYvfi
>>656
test.addEventListener('click',function(){
  /* 関数側から引数になる値を取りに行けばいいよ */
},false);

658:Name_Not_Found
12/03/26 13:55:08.36
無名関数にしちゃうとremoveEventListenerで削除できないので困ります

659:Name_Not_Found
12/03/26 14:01:03.44
>>656
出来ません。共有したい値があるならオブジェクトを渡してください。

660:Name_Not_Found
12/03/26 14:07:47.25
wakarimasita

661:Name_Not_Found
12/03/26 14:55:10.70 zaDWYvfi
>>658
こうすればいいじゃない

var fn = function(){
  /* 関数側から引数になる値を取りに行けばいいよ */
}
test.addEventListener('click',fn,false);

662:Name_Not_Found
12/03/26 14:55:51.11 zaDWYvfi
セミコロンが抜けてた
すまんこ

663:Name_Not_Found
12/03/26 14:57:57.55
セミコロンなんてただの飾りです

664:Name_Not_Found
12/03/26 15:31:27.55
>>655
EventSourceってのがある

665:Name_Not_Found
12/03/26 16:28:43.71 0LZD1uwT
>>664
ありがとうございます。確認してみたところサーバー側の準備も特にいらないようですし
標準APIの安心感がありますね。どういう接続になるのか(>>655のXHRとの違いなど)
これから詳細を確認していってみようと思います。

ざっくりした解説のよさげなページがあったので貼っておきます
URLリンク(javascript-api.sophia-it.com)

666:Name_Not_Found
12/03/26 17:44:06.14 mUYzqlZ8
>>665
IE「標準APIの安心感?やらねぇよw」

667:Name_Not_Found
12/03/26 19:12:35.58
ある要素の横幅を取得する方法を教えてください

668:Name_Not_Found
12/03/26 19:24:10.06
a = function(){alert(1);}
b.addEventListener("click", a, false);
これができない
function a(){alert(1);}
b.addEventListener("click", a, false);
これはできる

なぜか?

669:Name_Not_Found
12/03/26 19:38:09.78
できるだろ

670:Name_Not_Found
12/03/26 21:07:04.64
質問です。
配列の添え字を、実際に数字で書くと動くのに、
変数を指定するとスクリプトが動かなくなるのは何故でしょうか。

var path = new Array();
path[0] = "\"C:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE\"";
path[1] = "c:\\Windows\\notepad.exe";

function app(pathW){

wshshell=new ActiveXObject("WScript.Shell");
wshshell.run(pathW);

}

for(var z = 0 ; z < 1 ; z++){
document.write('<INPUT TYPE="button" NAME="string" VALUE="string" ONCLICK=app(path[z])>');
}



671:Name_Not_Found
12/03/26 21:10:09.93
document.writeされた内容を確認してみたら一目瞭然

672:Name_Not_Found
12/03/26 21:18:09.36 zaDWYvfi
>>670
path[z]が文字列になっとるがな

673:Name_Not_Found
12/03/26 21:30:28.39
document.write('<INPUT TYPE="button" NAME="string" VALUE="string" ONCLICK=app(',path[z],')>');

でしょうか?
うまくいかんです・・・

カンマで繋げると、とほほ等には書いてありましたが。。。

674:Name_Not_Found
12/03/26 21:50:36.31 zaDWYvfi
いくらなんでも…と思ったらマジだった
URLリンク(www.tohoho-web.com)

+で繋げばいいよ
あと、とほほじゃなくてMDNとか見るといいよ

675:Name_Not_Found
12/03/26 21:52:08.28
またと古くさいとほほにひっかかってる。まあ、document.writeの結果が求めるものに
なるまでがんばったらいいんじゃないの。つか、過去すれ全集見ればいくらでもそういう
ことやってるサンプルがあるんで、探す気があるかないかだけの問題だな。

676:Name_Not_Found
12/03/26 22:08:37.81
>>666
eventsource.jsでIE向けにも使ってる

677:Name_Not_Found
12/03/26 22:38:39.84
すいません、初心者すぎるのか、理解力か低すぎるのか・・・

document.write('<INPUT TYPE="button" NAME="string" VALUE="string" ONCLICK=app(' + path[z] + ')>');
だと、読み込み時からエラーで

document.write('<INPUT TYPE="button" NAME="string" VALUE="string" ONCLICK=' + app(path[z]) + '>');
だと、読み込み時に勝手に実行されます。


過去スレ全集とは、落ちたスレも見れるサイトがあるのでしょうか?

678:Name_Not_Found
12/03/26 22:57:19.37
あんたがテンプレの >>1 すら読んでないことはよく分かった。それでいて自分の質問だけは
するのね。よく考えた方がいいよ。

679:Name_Not_Found
12/03/26 23:03:40.27
>>673-674
どこにも「カンマで繋げる」なんて書いてないけど。
たとえば、document.write(a,b) としたら、これは document.write(a);document.write(b); と同様。
タグの場合は一度に出力するんだから当然 + での連結になるよね。

680:Name_Not_Found
12/03/26 23:30:14.56
>>677
基礎をちゃんと勉強するべきかも。それと、エラーが出るんだったらその内容を伝えないと。
以下は動作確認はしてないけど、同じような形で書きなおしてみた。

var paths = [
'\"c:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE\"',
'c:\\Windows\\notepad.exe'
];

var run = function(path) {
if (typeof path === 'number') {
path = paths[path];
}
var wshshell = new ActiveXObject("WScript.Shell");
wshshell.run(path);
};

for (var i = 0; i < paths.length; i++) {
var path = paths[i];
var name = path.slice(path.lastIndexOf('\\') + 1);
document.write('<input type="button" value="' + name + '" onclick="run(' + i + ')">');
}
document.close();

681:Name_Not_Found
12/03/26 23:41:35.71
>>680
ありがとうございます。
参考にもうちょっと勉強してきます。

他、レスくれた方々もありがとうございました。

682:Name_Not_Found
12/03/27 07:08:51.36
わからないのをいろいろ考え試行錯誤するのがためになるのに
2、3日くらい考えてもいい

683:Name_Not_Found
12/03/27 16:36:25.45
<img id="ura3" src="ura2_s.png">

画像を→ボタンを押して動かすにはどーするのですか?



684:Name_Not_Found
12/03/27 16:41:40.73
 if (式) {実行文}

 (式) && (実行文);

という書き方で、代用する書き方は一般的に多用してもいい?

685:Name_Not_Found
12/03/27 17:22:32.89 6GXlzqDM
>>683
キーイベントを拾って
<img>のスタイルを変更すればいいよ

686:Name_Not_Found
12/03/27 17:27:15.53
>>684
if文の代用って発想はなかったなぁ。
簡単な例文を書いてみるといい。それで回答を求めたらどうか。

687:Name_Not_Found
12/03/27 17:32:01.83
>>684
perlなんかでやるよね。
可読性を損なわないと思うなら、使えばいいんじゃないかな。

688:Name_Not_Found
12/03/27 17:48:00.70
可読性は置いといて、評価だけでも普通に使うのか。(オレはやんない)

689:Name_Not_Found
12/03/27 18:22:56.48
"一般的に"ならこんなこと聞く必要もないだろ
わざわざ聞くのは自分で一般的じゃないと思ってるからだ

690:Name_Not_Found
12/03/27 19:48:33.66
>>684
短けりゃいいんじゃね?

691:Name_Not_Found
12/03/27 19:59:29.74
>>684
なんでもいいんじゃね?

692:Name_Not_Found
12/03/27 20:09:03.08
>>684
多用どころか使うべきではない。
前者がわかって後者がわからない人はいても、その逆はいない。

693:Name_Not_Found
12/03/27 20:35:44.52 WAzw1IcN
var a = objOrNull || {};

ってのもよくやるよなjsなら。
まぁ、他言語と挙動が違うから多人数プレイの時はやるべきじゃないけどね。

694:Name_Not_Found
12/03/27 21:03:34.53
0なのかnullなのかundefinedなのかが、それだと判別出来ない

ムダ知識だがperlは近年になって // というキーワードが追加され
my $input = $VAR{PARAM} // 0;と書けるようになった

695:Name_Not_Found
12/03/27 22:08:34.14
質問させてください

<div id="hoge">
 <div class="moge"></div>
 <div class="moge"></div>
 <div class="moge"></div>
</div>

このようなDIVの形で、
$(".moge").click(function() {
で、クリックのイベントを拾った時。
それが、何番目のDIVをクリックしたかを知りたいのですが、
どのように、その要素を取得すれば良いでしょうか?

696:Name_Not_Found
12/03/27 22:23:29.61
>>695
めんどくさいから予めDIVにインデックスを振っておくのが無難。
毎回調べるなら、#hogeのdiv子要素を全て取得して、インデックスを増やしながら一致を探す。

697:Name_Not_Found
12/03/27 22:23:55.97
当たり前のように ほげほげ && ほにゃらら()・・・スタイルで書いていてVBを書くとき詰まった
短絡評価しない言語もあるんだね

698:Name_Not_Found
12/03/27 22:26:18.66
何でも短くする人いるよなあ。ありゃスパゲッティコード職人だ。

699:Name_Not_Found
12/03/27 22:28:22.18
>>696
そうですか・・・
わかりました、ありがとうございました。

700:Name_Not_Found
12/03/27 22:29:08.15
三項演算子の入れ子とかひどいよね。

701:Name_Not_Found
12/03/27 22:32:50.89
スパゲッティコードメーカーとは誤解してほしくないが、こんな単純なVBコードね。
Bad : If IsNumeric(hage) And CLng(hage) > n Then
スレチなのでこれ以上は自重

702:Name_Not_Found
12/03/27 22:47:06.80
質問です。
以下のようにスコープ?参照渡し?っていうんですかね、
配列を代入した変数を、関数の引数として、繰り返し処理でボタンを置きたいんですが、
表示はうまくいっても、中身が全て最後の配列になってしまいます。

どう処理させるのが一般なんでしょうか?
以下は、最終的にjを回しているforの部分は関数化して切り出し、
scに入れる配列を操作させることで中身や回数を気にせずボタンを設置したいです。


var arr = new Array(2);
arr[0] = [1,2,3];
arr[1] = [9,8];

var sc;
sc = arr[0];

for (var i = 0; i < arr.length; i++) {
sc = arr[i];
for (var j = 0; j < sc.length; j++){
document.write('<input type="button" value="' + j + '" onclick="alert(sc[' + j + '])">');
}
document.write('<hr>');
}
document.close();


703:Name_Not_Found
12/03/27 23:24:42.10
>>701
ちょっと違うんじゃね?みんなが言ってるのは、hideFlag && inDocument && hide(); てな感じだと思うよ。
スレチなのでこれ以上は自重

704:Name_Not_Found
12/03/27 23:36:50.68
>>702
あなたも過去スレ全集読むといいよ。かってよくあった質問だね。

705:Name_Not_Found
12/03/27 23:45:17.95
>>702
DOMとクロージャを組み合わせるのが一般的かな。
onclick="alert('+sc[j]+')" とすれば動くだろうけど、これは参照渡しでもなんでもないね。

706:684
12/03/27 23:47:07.07
意見サンクス。ちゃんとif文書いた方が良さそうだな。

707:Name_Not_Found
12/03/27 23:57:47.90
>>695

動かなかったらごめん。
idxに何番目か入ってるはず。

$(".moge").click(function(){
var idx = $(this).parent().children(".moge").index(this);
});

708:Name_Not_Found
12/03/28 00:00:10.77
外部ファイルで呼ぶ時にファイルパス間違ってないと思うけど呼べない時どうすればいいの?index.htmlと同じ階層なら呼べるのにjsってフォルダ作ってscript.jsを入れるとファイルパスはjs/script.jsだよね?

709:Name_Not_Found
12/03/28 00:03:07.48
>>708
ローカルで試してない?一応先頭に ./ をつけるといいよ。./js/script.js

710:702
12/03/28 00:03:57.50
>>705
ありがとうございます。
dom・・・
難しいですね。
もっと色々書いて精進します。

711:Name_Not_Found
12/03/28 00:07:19.25
本当にjsやるんだったらdomは必須だぞ。一度理解したら他の言語でも使えるしな。

712:Name_Not_Found
12/03/28 00:50:46.09
>>709
ありがとう出来た☻


713:Name_Not_Found
12/03/28 09:46:43.12
function hogehoge{
hogehoge.prototype.x1=10;
this.x2=20;
}
上記の2行目と3行目の書き方に違いはあるんでしょうか?
function hogehogeの外から
var z=new hogehoge();
z.x3=30;
等の追加、編集が出来ると思いますが
使わなくても
z.x2=22;と書けますよね?
違いとメリデメがよく分かりません

714:Name_Not_Found
12/03/28 10:33:34.01
2行目は外に出せる、3行目では出せない
常識で考えろ

715:Name_Not_Found
12/03/28 10:43:17.23
その常識ってのはお前の中だけだろ

716:Name_Not_Found
12/03/28 11:18:30.02
>>713
2行目と3行目は、コードのとおりプロトタイプかインスタンス変数かの違いなんで
インスタンスが1つですぐ終わるスクリプトなら一見動作は同じだけど、
複数のhogehogeインスタンスを生成したりすると事情が変わってくる。
例えばこうしたときどうなる?

function hogehoge(n1,n2) {
hogehoge.prototype.x1 = n1;
this.x2 = n2;
}
x = new hogehoge(10,20);
console.log(x.x1); //=>10
y = new hogehoge(20,30);
console.log(y.x1); //=>20
console.log(x.x1); //=>これがどうなる?

また以下の式のx.x1はなに?
x.x1 = 100;
console.log(x.x1); //=>100 これはhogehoge.prototype.x1の値ではない

717:Name_Not_Found
12/03/28 11:32:47.79
>>715
他の回答にケチ付けてる暇があったらより良い回答してやれ
その行為は誰の特にもならない

718:Name_Not_Found
12/03/28 11:36:32.32
配列Aを値渡しで、別の変数Bにそのままほうり込み(B=A)、
変数Bを関数Cの引数として渡す。

関数Cは(D)と内部変数を定義して、
処理内でDをループなど配列展開。

これを行うと、Dがないとエラーが表示されます。
Aの中身が数値だとうまくいったりしますが、
文字を入れるとエラーが出てしまうのは何故でしょうか?

719:Name_Not_Found
12/03/28 11:40:37.20
単独自立型WEBアプリを学校や許可を取った友達のPCに入れて
あまり使われて無いときのリソースを集めて利用したいのですが
参考になる文献やサンプル等を知りませんでしょうか?

また、WEBアプリの存在を隠蔽できるようなNPAPIを利用した
拡張機能をご存知ありませんか?

720:Name_Not_Found
12/03/28 11:43:58.49
>>718
サンプル張れって
>>718,719
テンプレ読めよ腐れ頭

721:Name_Not_Found
12/03/28 12:01:38.45
つーか配列に関してB=AしたときBはAの参照になるがな

722:Name_Not_Found
12/03/28 12:20:03.43
自分でうまいソースできてなくて、上の書き込み参考で色々やってます。
以外だと、scがないと言われます。
最終的には、ここから本文を書き換えたり、ページのリンクを生成しようと思ってます。


var arr = new Array(2);
arr[0] = ["あ","い","う"];
arr[1] = ["を","わ"];

function fu(sc){

for (var j = 0; j < sc.length; j++){
document.write('<input type="button" value="' + j + '" onclick="alert(' + sc[j] + ')">');
}

}

var wk;

for (var i = 0; i < arr.length; i++) {

wk=arr[i];
fu(wk);

}

723:Name_Not_Found
12/03/28 12:35:20.04
あ=い=う=を=わ="あんぽんたん"

をこのソースに追加しろ

自分がPCにさせていることに責任を持て

724:Name_Not_Found
12/03/28 12:37:02.28
>>722
alert(あ);

「あ」という変数が無い
alert("あ");になるようにするには、どうしたらいいか?

725:Name_Not_Found
12/03/28 12:41:49.17
addEventListenerを使うのはどうか

726:Name_Not_Found
12/03/28 12:48:03.74
document.write('<input type="button" value="' + j + '" onclick="alert(' + sc[j] + ')">');



document.write('<input type="button" value="' + j + '" onclick="alert(sc[' + j + '])">');
にすると、最初に作ったボタンの中身が変わってしまいます…

727:Name_Not_Found
12/03/28 12:48:57.87
>>722
chromeのデベロッパーツールやFireFoxのFirebugなどでは、javascriptで操作後のHTMLが確認できる。
まずはそういうので、どうなっているか確認するんだ。
質問するはそのあとでも遅くない。

728:Name_Not_Found
12/03/28 12:54:26.91
まあ、まずはdocument.writeをconsole.logにしてだな……

729:Name_Not_Found
12/03/28 12:58:06.58
これだけヒント貰ってわかんないんだから皆言うだけ無駄無駄

document.write('<input type="button" value="' + j + '" onclick="alert(\"' + sc[j] + '\")">');

これが答え
さあ帰った帰った

730:Name_Not_Found
12/03/28 13:19:11.49
この早漏め

731:Name_Not_Found
12/03/28 14:09:40.24
回答者は調子に乗りすぎに思うのですが。

732:Name_Not_Found
12/03/28 14:16:44.51
だからなに?
どうしてほしいの?

733:Name_Not_Found
12/03/28 14:25:46.54
ぼくちゃんどうちてほちぃんでちゅかあ?

734:Name_Not_Found
12/03/28 14:35:55.30
基本ツンデレだから偉そうなヤツだろうが、お前は本を買えって言うやつにも
ちゃんと教えてくれるのがココの奴ら

735:Name_Not_Found
12/03/28 15:12:13.85
回答者は投げやりにならない質問者が納得できる形で教えて下さい。
こちらはまず初めに頭下げてお願いしている訳ですから、そちらもちゃんと誠意を見せて欲しいものです。

736:Name_Not_Found
12/03/28 15:18:52.95
私も>>735の意見に賛成です。
次回から回答者の心構えをテンプレに入れましょう。

737:Name_Not_Found
12/03/28 15:18:55.67
それなら知恵袋とかで聞けばいいんじゃね

738:Name_Not_Found
12/03/28 15:34:45.49
知恵袋よりこっちの方が正確だしいい回答だと思う

739:Name_Not_Found
12/03/28 15:52:46.47
>>735
こういう「頭下げてるんだから優しく教えろよ」みたいな文句垂れるくらいなら>>738って事
もしくは金払ってプロでも教えを乞えば懇切丁寧に分からない所教えてもらえるよ
回答になってないのはまた別問題で
回りくどいのは意地悪してるのも居るかもしれ無いが頭働かせて閃くように促してるのが殆どだと思うんだが

740:739
12/03/28 15:53:38.76
>>738じゃなくて>>737

741:Name_Not_Found
12/03/28 15:55:04.28
>>739
上から目線ですか?

742:Name_Not_Found
12/03/28 15:59:24.01
よくわからんな
ここは知恵袋より劣悪な環境だ、嫌なら来るなと言いたいのか?
俺はここの方が幾分マシに思えるが

743:Name_Not_Found
12/03/28 16:09:54.98
ちゃんと回答してんのにケチつけられるとか
たまったもんじゃねーわ

744:Name_Not_Found
12/03/28 16:12:14.83
ここって俺が知ってる限りネット上では奇跡的と言えるほどマトモなスレなんだけどな

745:Name_Not_Found
12/03/28 16:18:28.46
それは暫く俺がレスしていなかったからかな。

746:739
12/03/28 16:23:24.02
俺も聞く側ですわ
口ぶりが気に入らないならもっと丁寧に説明してくれる場所があるでしょって言いたいだけ
回答の良し悪しで言うならココがいいと思ってるし

747:Name_Not_Found
12/03/28 16:25:45.05
良い回答を得たければ質問者は良い質問を心がけろ
そのためのコツはテンプレ>>1に書いてある

運の要素も否定しないが、質問をスルーされたり、
ピントのズレた回答が付くのにも往々にして理由がある
それで誠意見せろとか冗談も甚だしい

748:Name_Not_Found
12/03/28 16:30:35.78
知恵袋の回答者の方が、明らかに上から目線だよね

749:Name_Not_Found
12/03/28 16:34:03.87
    _, ,_  パーン
 ( ‘д‘)
  ⊂彡☆))Д´) >>735

750:Name_Not_Found
12/03/28 16:34:30.48
>>749
ま○がいさん、こんちには

751:Name_Not_Found
12/03/28 16:50:32.26 FJcXPkO4
質問する人が、問題を解決できる回答を期待するように

答える側も「ただ問題点の指摘だけでなく根本的にわかってもらう」ために
>>724みたいな回答をして、理解してもらえることを期待している

双方とも期待を裏切られると「なによ!なんなのよ!」て気持ちになっちゃって
ちょっと殺伐とした空気になるのはしゃーなしだな

※良い例だと思ったので勝手に安価しました>>724さんすみません

752:Name_Not_Found
12/03/28 16:54:33.66
まあとにかくだ、document.writeする前に
それをconsole.logに書き換えてどう出力されるのか確認したまい

Firefox なら Ctrl+Shift+K で
IE なら F12 で
Chrome なら    で
Chrome Lite なら about:debug で
Opera なら  で
Safari なら         で
Konqueror なら  で
Lynx なら    で
Netfront なら       で
w3mなら で

WebConsoleが開くから
Firebug使ってもいいけどな

753:Name_Not_Found
12/03/28 16:58:08.11
>>751
何を指摘されてるのか理解できたら、>>723も同じ事言ってるのが分かるけどな
正直先を越されたと思ったし

754:Name_Not_Found
12/03/28 17:02:19.63
consoleない環境も多いし、まあ超初心者は基本はalertだな
俺が超初心者のときはこれ使って頑張ってた
function (){try{
}catch(err){if(confirm(err+"\n\n[エラーを翻訳する]")){window.open("URLリンク(translate.google.co.jp)"+err+"&sl=en&tl=ja")}}}

755:Name_Not_Found
12/03/28 17:04:26.67
春休み特別企画が始まってたのか

↑ここまでなりすましの自演
↓まだまだ続くよ

756:Name_Not_Found
12/03/28 17:06:49.85
>>752
なにこれ? 馬鹿には見えないキー?

757:Name_Not_Found
12/03/28 17:25:07.87 AcktYBaU
質問です。
サムネイル画像にマウスオーバーすると特定の場所の大きい画像が切り替わり、
マウスアウトで元の画像に戻る、という画像の切り替えを行いたいのですが、
うまい方法が見つからず・・

いままでは以下と同じnameを用いる方法を使用していたのですが、
nameタグが使えない状況になってしまい新しいスクリプトを探しています。
URLリンク(www.tagindex.com)

よい方法がありましたらお教えください。

758:Name_Not_Found
12/03/28 18:00:12.54 FJcXPkO4
>>757
星の数ほどある入門向けの定番の1つなんで
サンプルは適当に探してもらうとして

nameでもidでもclassでもtitleでもsrcでもなんでもいいいから
「切り替わる大きい画像の<img>要素」が特定できればいいわけじゃん?
getElementByIdとかquerySelectorとかを使うといいよ

あとnameはタグじゃなくて属性ね

759:713
12/03/28 19:09:13.09
>>716
丁寧に解説して頂き有り難う御座いました。
凄い理解できました。

760:757
12/03/28 20:13:06.94 AcktYBaU
>>758
ありがとうございます。おかげさまでgetElementByIdを使う方法で探し、
以下サイトに辿り着きましたが、サムネイルからマウスアウトしたあと、
大きい画像が最初の状態に戻るようするにはどうすればよいのかで悩んでいます。
URLリンク(tenderfeel.xsrv.jp)

上記サイトの『ページ内に複数設置する場合』が近いのですが・・

属性。初心者に丁寧にありがとうございます。

761:Name_Not_Found
12/03/28 20:27:05.50 FJcXPkO4
>>760
マウスオーバとかのイベントのたびに、大きい画像のimgを探してるわけだが
そうじゃなくて、まず最初に探して変数に入れておく

そうすれば、大きい画像のsrcが最初は何だったかわかるじゃん
それも変数に保存しておく

あとは、マウスオーバしたら画像のsrcをお好みのものに変える
マウスアウトしたらsrcを保存しておいたものに変える


762:再度失礼します
12/03/28 22:53:20.90
<test1.js>
var paths = ['c:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE',
   'c:\\Windows\\notepad.exe'];

<test2.js>
function run(pathw) {
   var wshshell = new ActiveXObject("WScript.Shell");
   wshshell.run(pathw);
}

<test3.js>
function loop(wsc){
for (var j = 0; j < wsc.length; j++){
document.write('<input type="button" value="' + j + '" onclick="run(wsc[' + j + '])">');
}
}

<main.html>
var sc;
sc = paths;

loop(sc);

for(var i=0;i<paths.length;i++){
paths[i] = '"' + paths[i] + '"';
document.write('<input type="button" value="test" onclick="run(paths[' + i + '])">');
}

と書いた場合、最後のhtml内に直接書いたfor~のrun()はうまく動きますが、
外部ファイルに切り出したloop()から呼ばれるrun()は動作しない理由はどこにあるんでしょうか??
ieのF12で見れるソースを見ると、
ともにhtmlの<inputタグは全く同じように展開されていて、問題ないように見えるのですが・・・

763:Name_Not_Found
12/03/28 22:53:45.06
jQueryUIのタブでそのサイトと同じようなこと出来た気がする

764:762
12/03/28 23:00:32.49
追記です。
書きもれましたがloop()で、
パスの前後にダブルコーテーションつけるように処理入れてます。


765:Name_Not_Found
12/03/28 23:17:57.59
>>764
wscはloop関数内のローカル変数だから。

766:Name_Not_Found
12/03/29 07:22:09.83
script側から画像の読み込みを強制中断させるにはどうしましょう

767:Name_Not_Found
12/03/29 08:33:32.17
またggrばすぐ分かる事を

768:Name_Not_Found
12/03/29 08:33:34.11
>>765
記述が同じになっていても、
渡す引数がないってことですか。
このような場合はどう対処すると、
ローカルを乗り越えられるんでしょうか?

()に直接パスを展開させてしまうと動きませんでした…

769:Name_Not_Found
12/03/29 08:45:54.52 K1Gn5nTR
>>768
ロカール変数は外からは参照できないよ
>>762でやろうとしていることは

function loop(wsc){ // 変数wscは関数loopのローカル変数
}
loop(sc);

<input type="button" value="" onclick="run(wsc[0]);">
<input type="button" value="" onclick="run(wsc[1]);">

こう書いているに等しい
直接展開させると動かないって書いてるけど

<input type="button" value="" onclick="run('c:¥¥Program Files¥¥Microsoft Office¥¥OFFICE11¥¥EXCEL.EXE');">
<input type="button" value="" onclick="run('c:¥¥Windows¥¥notepad.exe');">

このようにHTMLを書けば動くはず、つまり何か書き間違えている
やろうとしていることが「onclick属性の中に各JSをJSで書く」という
とても遠回りなことになってしまっているよ

770:Name_Not_Found
12/03/29 12:31:44.36
>>769
()の中に、シングルコーテで囲って
パス書いたのも動きますか?

同じように書いても、ファイルが見つからないと言われます

771:Name_Not_Found
12/03/29 12:43:07.98
クォーテーションをクォートを略すのは見聞きするけど、
コーテーションをコーテと略すのはどこの流派だ。

772:Name_Not_Found
12/03/29 12:52:17.73
流派?
携帯だったのと、長くなるから
途中で止めただけです

773:Name_Not_Found
12/03/29 13:14:16.27 K1Gn5nTR
>>770
それはJSの問題じゃないから知らんw
¥とバッククォートが間違ってるとか、その辺じゃないか?

774:Name_Not_Found
12/03/29 13:15:08.06 K1Gn5nTR
間違えた

誤:バッククォート
正:バックスラッシュ

すまんこ

775:Name_Not_Found
12/03/29 13:44:47.40
>>770
パスに空白を含む場合、パスをダブルクォートで括る。

var path = '"C:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE"';
or
var path = "\"C:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE\"";
new ActiveXObject("WScript.Shell").Run(path);

776:766
12/03/29 14:38:13.37
なら強制切断はいいや
画像が存在しているかチェックするにはどうしましょう
ただしimg.srcにアドレス入れるのはダメな
毎回画像読み込んでたら重くてしょうがねぇ

777:Name_Not_Found
12/03/29 15:03:12.86
HEADメソッドでも使えば

778:Name_Not_Found
12/03/29 17:16:16.11 K1Gn5nTR
errorは駄目なん?

779:Name_Not_Found
12/03/29 18:50:48.08
普通にDocumentContentLodedのときにwindow.abort()すりゃいいじゃん

780:Name_Not_Found
12/03/29 18:59:04.83
>>775
それはもちろんそうしています。
ただやっぱりrun()に直接パスを書いた場合は動かないんですよね?

回りくどいやり方をしているとのことですが、
パス、ボタン設置、オープン動作、を
機能分けするとこの形になっちゃうと思ったんですが、
最初のローカル変数だから動かない事象を起こさず、
値をパス→設置→動作へ、渡す方法があるってことですか?

781:Name_Not_Found
12/03/29 19:35:23.64 K1Gn5nTR
>>780
>run()に直接パスを書いた場合は動かないんですよね?

期待通りに動いていない理由を切り分けられていない
htmlにこう書いて

<script type="text/javascript">
function run(pathw) {
  alert(pathw);
}
</script>
<input type="button" value="" onclick="run('c:¥¥Program Files¥¥Microsoft Office¥¥OFFICE11¥¥EXCEL.EXE');">
<input type="button" value="" onclick="run('c:¥¥Windows¥¥notepad.exe');">

書いた内容がアラートされるなら、引数の受け渡しは問題ない
URLリンク(jsfiddle.net)

つまり動かない理由は関数runの中にある

782:Name_Not_Found
12/03/29 19:52:22.45 K1Gn5nTR
>>780
んで、俺だったらこんなふうにします

var path = ['hoge','fuga']; // 値

function run(p){ alert(p); }

for(var i=0,l=path.length ; i<l ; i++)(function(p){ // ループ

  var path = p;
  var button = document.createElement("input");
  button.type = 'button';
  document.body.appendChild(button); // 設置
  button.addEventListener('click',function(){
    run(path); // 動作。ここからならループのスコープは参照できる
  },false);

})(path[i]);

783:Name_Not_Found
12/03/29 19:56:12.04
どこからどう見てもIEを想定してる上に、おそらくIE6くさいから
addEventListener じゃなくて attachEvent だな

784:Name_Not_Found
12/03/29 19:57:53.41
>>782
pとか使うんだったら最初からpathsにしたほうがよくね。命名って大切だぞ。

785:Name_Not_Found
12/03/29 20:13:29.51 K1Gn5nTR
指摘感謝

786:Name_Not_Found
12/03/29 23:03:42.82
>>781-785
ありがとうございます

domですよね?
今まで書いてきたコードと構文も違うので、もうちょっと勉強しますが、
>>782のものは、そのまま転記しても動かないですよね?
>>783に書き換えても。

787:Name_Not_Found
12/03/29 23:57:09.12
JSで特定の要素のdisplayをnoneからblockに切り替えた際、
その要素に指定されているmarginが正しく反映されません。

具体的には、左右のmarginは効いているのですが、margin-top
だけがゼロになってしまいます。

この現象はIE8のみで起きていて、IE7やその他のブラウザでは意図したとおりに
表示されます。

どのような原因が考えられるでしょうか?

788:782
12/03/30 00:08:29.68 zxyEdfC3
>>786
動かんかね?
firebugでちゃちゃっと書いただけだからあれだけど

head要素に書くなら、loadとかdomContentLoadedで動かすようにしてくだされ

入門書の最初の方にはdocument.writeでやるのが書いてあるかも知れんが
今、世の中に転がってるサンプルとか解説はdom前提だから
食わず嫌いしないで覚えるといいよ

wshについては、詳しい人が現れるのを待つか、
wshスレで聞いてちょ

789:Name_Not_Found
12/03/30 00:16:34.31
>>786
動かないよねって実際に試してみた?動かないならエラーが出るはずだけど。

790:Name_Not_Found
12/03/30 00:26:09.52
>>787
jsfiddleとかで再現してみるといいかも。

791:787
12/03/30 01:24:18.94
>>790
jsfiddleでは正しく表示されました。

結局marginを使用せず、他の方法で位置調整することで
対応することにしました。

792:Name_Not_Found
12/03/30 01:47:13.07
>>791
それならdoc宣言を疑うべきだったかもね

793:Name_Not_Found
12/03/30 02:11:18.23
スレ違いだろ

794:Name_Not_Found
12/03/30 02:18:27.24
>>787
IE8のバグ
無理

795:Name_Not_Found
12/03/30 05:23:24.50
>>786
addEventListener の文字列をそのまま attachEvent に変えるだけじゃ動かんよ。
attachEvent の文言でぐぐってみて違いを見てみよう。

だがしかし、スコープがまだわかってない相手にDOMは、一足飛びのような気がしないでもないね。

796:766
12/03/30 08:00:01.09
XMLHttpRequestでHEADリクエスト送って404確かめよう思ったら
画像置いてある鯖のドメインが別で通信できねーわ
他にファイルの存在チェックをする手段は無いのかね

797:Name_Not_Found
12/03/30 08:12:50.79
new Image()

798:Name_Not_Found
12/03/30 10:04:45.91
出来ねーよバカ言うんじゃねえ

799:Name_Not_Found
12/03/30 10:44:33.01
画像があるかどうかだろう?
それならImageでできるよ

800:Name_Not_Found
12/03/30 10:52:18.42
797じゃなくて766に言った感じなんだけどな。
画像自体の読み込みは出来るだろうけど、HEAD飛ばして存在のみを確かめるのは無理じゃねえの?

801:Name_Not_Found
12/03/30 11:19:59.97
アスペなのか恥隠しなのか知らんが読解力&記述力無さ過ぎだろ……

802:786
12/03/30 11:20:25.27
ボタンは表示されるけどアラートが動かないです


ちなみに、上の記述だとpathが同じ階層にありますが、
また関数やファイルを分けて動かそうとすると、
ローカルだから動かない状況は同じですよね

803:Name_Not_Found
12/03/30 11:24:47.68
>>796
結局何がしたくて何を教えて欲しいのか具体的に言い直してみて

804:Name_Not_Found
12/03/30 12:37:11.98
>>781
>書いた内容がアラートされるなら、引数の受け渡しは問題ない

それじゃ駄目。
アラートされても、引数の渡し方に問題がある。

805:Name_Not_Found
12/03/30 12:40:11.30
既存のhtmlで
<td>@ hoge</td>
<td>@ foo</td>
これを
<th>hoge</th>
<th>foo</th>
こういう風にtd要素が"@ "から始まっていれば
th要素として描画するように動的に書き換えたいのですが、方法がわかりません
jqueryのhtml()で要素の内容を置換できることはわかったのですが
要素の内容に応じてタグそのものをいじることはできないのでしょうか。

806:Name_Not_Found
12/03/30 12:51:00.01
d=document.getElementsByTagName("td")
for(i=0;i<d.length;i++){e=d[i]
if(e.innerText.slice(0,1)=="@"){
e.outerHTML="<th>"+e.innerHTML+"</th>"}

807:Name_Not_Found
12/03/30 12:56:03.15
d=document.getElementsByTagName("td");for(i=0;i<d.length;i++){e=d[i];
if(e.innerHTML.slice(0,2)=="@ "){e.outerHTML="<th>"+e.innerHTML.slice(2)+"</th>";}}


808:Name_Not_Found
12/03/30 13:32:09.81
jqueryでやったほうが遥かに楽だな

809:Name_Not_Found
12/03/30 13:34:32.61
たったこんなことだけのためにjQueryを読み込んで使う方が面倒だと思う

810:Name_Not_Found
12/03/30 13:37:45.91
foreachとかと&&使えば{}不要で超短くなるんじゃない?

811:Name_Not_Found
12/03/30 13:39:44.45
短くする意味が分からねえよ

812:Name_Not_Found
12/03/30 13:40:51.96
初めからthを書け

813:782
12/03/30 13:44:50.69 TZP3QdO9
>>804
つまり…どゆこと?
文字列がわたるだけでは駄目でした?

814:Name_Not_Found
12/03/30 13:50:11.94 TZP3QdO9
>>802
クリックしても動かないということは
attachEventの書き方が間違っているんだと思うよ

先にも書いたけど、パスの文字列が正しく渡っているなら
期待通りに動かないのはJSではなくwshの問題

JSを別のファイルにしたら動かなくなるとか
そういうことはないよ

とりあえず、動かなくなった奴を晒してみてよ

815:Name_Not_Found
12/03/30 13:55:53.13 TZP3QdO9
>>800
imageのonerrorでどうじゃろか

816:Name_Not_Found
12/03/30 14:01:26.15
>>813
var path = 'C:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE';
new ActiveXObject("WScript.Shell").Run(path);

これだと、コマンドラインにシングルクォート内の文字列を渡すのと同じことになる。
スペースで区切られるから、alert で問題なくても、Run に渡す場合に問題になる。

817:Name_Not_Found
12/03/30 14:08:08.09
>>816
いや、引数の受け渡しを言ってるんでしょ

818:Name_Not_Found
12/03/30 14:09:11.01
onerrorでは無理だな

819:Name_Not_Found
12/03/30 14:16:10.03
onabort

820:Name_Not_Found
12/03/30 14:19:24.19
>>817
え?
だから、受け渡しに問題なくても、他で問題があると言ってるんだけど?

821:Name_Not_Found
12/03/30 14:21:59.31
804を読んでみな。伝え方に問題があったな

822:813
12/03/30 14:35:37.94 jO8VIHzM
文字列(パス)自体の書き方が、wsh的に問題があるってことでしょ?
引き渡し方にはJS的に問題ないけど

windowsのことはよくわからんので
もし詳しく知っているのなら教えてあげてくだされ

823:Name_Not_Found
12/03/30 14:50:38.36
>>821
イミフ

824:Name_Not_Found
12/03/30 15:06:01.63
原因をjsとwshに分けて考えようって話なのに
それを見事に無視する>>804がイミフだよ(´ε` )

825:Name_Not_Found
12/03/30 15:22:10.15
「run()に直接パスを書いた場合は動かない」と言ってる質問者 >>780 に対して、
誤った書き方をしてる回答 >>781 に対するレスが >>804 なんだが。
意味和姦ねーよ。

826:Name_Not_Found
12/03/30 15:24:52.08
run()に直接パスを書いた場合を適切に例として示すなら

<input type="button" value="" onclick="run('\"c:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE\"');">

と書くべきってこと。
これについては、既に >>775 で言及してるが。

827:Name_Not_Found
12/03/30 15:25:23.65
和姦ねぇもんは仕方ないなw

828:Name_Not_Found
12/03/30 15:30:40.75
>>825
お前馬鹿だろw781の意味が理解出来てないじゃん

829:Name_Not_Found
12/03/30 15:31:03.36
小学生か。
4月から中学生の仲間入りだな。
毛は生えたか?

830:Name_Not_Found
12/03/30 15:32:06.89
>>828
おつむが気の毒な人ですか。
なんということでしょう。

831:Name_Not_Found
12/03/30 15:34:49.09
ちなみにこのアホ >>828 は文脈を理解してんのか?

832:Name_Not_Found
12/03/30 15:36:44.16
落ちつけ。みっともないぞ(´ε` )

833:Name_Not_Found
12/03/30 15:36:55.15

     /: : : : : __: :/: : ::/: : ://: : :/l::|: : :i: :l: : :ヽ: : :丶: : 丶ヾ    ___
     /;,, : : : //::/: : 7l,;:≠-::/: : / .l::|: : :l: :|;,,;!: : :!l: : :i: : : :|: : ::、  /     ヽ
    /ヽヽ: ://: :!:,X~::|: /;,,;,/: :/  リ!: ::/ノ  l`ヽl !: : |: : : :l: :l: リ / そ そ お \
   /: : ヽヾ/: : l/::l |/|||llllヾ,、  / |: :/ , -==、 l\:::|: : : :|i: | /   う う  前  |
.   /: : : //ヾ ; :|!: イ、||ll|||||::||    ノノ  イ|||||||ヾ、 |: ::|!: : イ: ::|/   な 思 が
   /: : ://: : :ヽソ::ヽl |{ i||ll"ン    ´   i| l|||l"l `|: /|: : /'!/l     ん う
 ∠: : : ~: : : : : : : :丶ゝ-―-      ,  ー=z_ソ   |/ ハメ;, :: ::|.   だ ん
   i|::ハ: : : : : : : : : : : 、ヘヘヘヘ     、  ヘヘヘヘヘ /: : : : : \,|.   ろ な
   |!l |: : : : : : : : :、: ::\    、-―-,      / : : :丶;,,;,:ミヽ   う  ら
     丶: :ハ、lヽ: :ヽ: : ::\__  `~ "      /: : ト; lヽ)   ゝ
       レ `| `、l`、>=ニ´        ,  _´ : :} `   /
         ,,、r"^~´"''''"t-`r、 _  -、 ´ヽノ \ノ   /    お ・
       ,;'~  _r-- 、__     ~f、_>'、_         |  で  前 ・
      f~  ,;"     ~"t___    ミ、 ^'t         |  は  ん ・
      ,"  ,~         ヾ~'-、__ ミ_ξ丶     |  な  中 ・
     ;'  ,イ ..          ヽ_   ヾ、0ヽ丶    l         /
     ( ;":: |: :: ..          .`,   ヾ 丶 !    \____/
     ;;;; :: 入:: :: ::      l`ー-、   )l   ヾ 丶
     "~、ソ:: :い:: :     \_  ノ ,    ヾ 丶

834:Name_Not_Found
12/03/30 15:37:49.23
少し前に現れた aa 貼る馬鹿か…

835:Name_Not_Found
12/03/30 15:42:16.59

                   .....       .:_ -― ─- 、:.    ......
                  ..::⌒>.、:: ...::/::.::/::.:: ヽ::.::.\::....::x<⌒::.
              ::x-=≦.::.-=`ミO.:/:/:/|:./.:ハ::ヽ::`O::-=ミて`く⌒ヽ::
            ::, イ::ノ⌒'Z _⌒ Y彡::./V  j/ヽ::ハ.::.V::Y⌒/;^)- 入 \:
           ::/ :/八  '(:::::':,\ トV::./⌒     ⌒ヽ.::∨/,.::'::/  /:::∧  '\::
           ::/ `V::/ヽ\ \ :':, 八Ⅳ __    __ jハ:::l, :':::::, ′ /:::/   ̄ ノ\::
        ::〈   ,.:'::/   ヽ \ \:l:ハ| 〃⌒    ⌒ヾ ハ:|::::/  ,.イ:::/     ∠.::勹::
       ::/ ! :.'::::∧   |  ヽ  \ム .:::::  r ┐ ::::.,'ノ/  / /::/   |__:/::
     ::∠._jハ_ん:ヘ/}ノ /ヘ  ヽゝ_  ヽ ノ   イ/  /⌒ん'⌒)_>::
                     ̄   ̄`ヽ   `=≧r ‐i彡''´  /::     ̄
                      ::\ヽ   ` ´   / /::
                       ::          ,′
                       ::i  :;     :;  i::
                       ::|          |::
                       ::l         |::
                         ::j            ::
                        ::,′           l::
                         ::/           |::
                     ::/              !::
                       ::/    〉┴r      ::
                       ::,′    /:: ::|     |::

836:Name_Not_Found
12/03/30 15:45:31.41
AA貼る奴消えてくんねーかな
前々からうぜぇんだよ

837:Name_Not_Found
12/03/30 15:57:54.98
>>832 とか >>836 みたいなのが荒れるきっかけになりやすいんだけどな。
「はい、分かりました」なんてなる訳ないんだから。

838:Name_Not_Found
12/03/30 16:05:00.58
AA含め、コピペしか能のないやつが住み着いたんだな。
きっとコードもコピペ主体なんだろうな。
社会的な処遇を推察すると心中察するぜw

839:Name_Not_Found
12/03/30 16:21:10.93
無視しとけばいい。
そいつのリアルと同じ様に。

840:Name_Not_Found
12/03/30 16:34:43.82
>>826
run側で""に包む処理を入れるほうがいいと思うぜ。

841:Name_Not_Found
12/03/30 16:41:02.93
>>840
コマンド自体に引数を渡す場合があると無理。

842:Name_Not_Found
12/03/30 17:07:40.21
>>838,839
荒らしとは言えどうしてここまで酷い事が言えるのか不思議

843:Name_Not_Found
12/03/30 17:09:28.26
涙拭けよw

844:Name_Not_Found
12/03/30 17:11:52.46
いちいち難癖付けてる奴含め春坊が沸いてるだけだからスルーしとけよ。

845:Name_Not_Found
12/03/30 17:17:33.09
騒いでるやつは自分のレス振り返って見てみろ
荒らしと一緒になって騒いでんじゃねーよ

846:813
12/03/30 17:38:39.16 jO8VIHzM
相変わらず質問者が置き去りな件
そしてやっとわかったぁぁぁぁ

wsh.runが引数のスペースをコマンドの区切り子として扱ってしまうけど
それはエスケープするんじゃなくて、全体をダブルクォートで括ることで解決できる
という仕様なんだね?

だとしたら、引数渡す前にいちいちゴニョゴニョするより

function run(cmd) {
  var wshshell = new ActiveXObject("WScript.Shell");
  cmd = '"' + cmd + '"';
  wshshell.run(cmd);
}

の方が良いんでないかい?

847:Name_Not_Found
12/03/30 17:40:10.42
>>846
>>841

848:Name_Not_Found
12/03/30 17:42:16.61
>>846
お前はいい加減本買って勉強しろ

849:Name_Not_Found
12/03/30 17:44:49.01
>>841
コマンドの引数はrun()の第2引数以降にするんだ。

850:Name_Not_Found
12/03/30 17:47:54.07 jO8VIHzM
>>848
だってここ、JSスレですしおすし

851:Name_Not_Found
12/03/30 17:49:42.26
>>849
それでもできるけど、管理上わかりにくいよ?

new ActiveXObject("WScript.Shell").Run("cmd /K echo foo");

とか。
それに wshell.Run にも柔軟に引数渡したくなるかもだし。

852: ◆nLhGB4hTt0l0
12/03/30 18:06:33.30
new Functionとevalのメリデメを教えて下さい。

853:Name_Not_Found
12/03/30 18:06:37.53
根本的に分かってねえやつが柔軟にとか出来るわけねえだろ
というか柔軟にやろうとした結果(データとビューの分離)がこの大惨事なわけだが

854:Name_Not_Found
12/03/30 18:24:33.75
>>846
>相変わらず質問者が置き去りな件

十分な知識を持ってないのに回答するからじゃないか

855:Name_Not_Found
12/03/30 18:27:27.72 jO8VIHzM
てへぺろ(・ω<)

856:Name_Not_Found
12/03/30 19:30:03.56
プロトタイプチェーンで質問です
IE8です

var objA = new Object();
objA.prop1 = 10;
function Func1() {}
Func1.prototype = objA;

var objB = new Func1();
function Func2() {}
Func2.prototype = objB;

var objC = new Func2();

//alert(objC.hasOwnProperty("prop1"));//falseになってしまう
alert(objC.prop1); //undefinedになる。10が期待値

何が悪いのでしょうか?

857:Name_Not_Found
12/03/30 19:59:44.59
フツーに10になるが?byNF

858:Name_Not_Found
12/03/30 22:04:34.99
console.log("objA:"+objA.prop1);
console.log("objB:"+objB.prop1);
console.log("objC:"+objC.prop1);
IE8デベロッパーツールでRun Scriptしただけだが全部10になるぞ。

859:856
12/03/30 23:01:20.49
>>857,858
すいません。間違えました

var objA = new Object();
objA.prop1 = 10;
function Func1() {}
Func1.prototype = objA;

var objB = new Func1();
function Func2() {}
Func2.prototype = objB;

var objC = new Func2();

alert(objC.hasOwnProperty("prop1"));
//falseになってしまう

これは何故falseになってしまうんでしょうか?
10が入っているのでtrueになる筈だと思っているのですが

860:Name_Not_Found
12/03/30 23:58:52.90 jO8VIHzM
URLリンク(developer.mozilla.org)

in 演算子と違って、このメソッドはオブジェクトのプロトタイプチェーンをたどってチェックしません。

861:Name_Not_Found
12/03/31 00:19:55.11 Jjnz407I
var url = 'スレリンク(hp板)';
var urlc = url.match(/ (http:\/\/(\w+).2ch.net\/test\/read.cgi\/(\w+)\/[0-9]{10}\/) /);
console.log(RegExp.$1);

この場合、値が取得できません
なぜでしょうか

862:Name_Not_Found
12/03/31 00:28:15.47 b7gWWrrj
正規表現の前後にスペースを入れたのはなぜでしょうか?

863:Name_Not_Found
12/03/31 00:36:26.78 Jjnz407I
>>862
勘違いしてました
ですが外してみても機能しません…

864:Name_Not_Found
12/03/31 00:57:40.42
>>863

>>> urlc
["スレリンク(hp板)", "スレリンク(hp板)", "toro", "hp"]

865:Name_Not_Found
12/03/31 01:14:14.93 Jjnz407I
>>864
すみません
機能していましたね

ありがとうございました!

866:Name_Not_Found
12/03/31 17:57:50.75 fxgchxJo
1だと正常に戻りたいページに戻ることができます。
画像をボタンにしたかったので2にしたのですが、
違うページに飛んでしまいます。
どうしたら画像を使い1と同じ動作にできますか?

1:<input type="button" value="戻る"
onclick="javascript:document.location.href='%back_url%'" class="submit" />

2:<input type="image" img src="b.jpg" border="0" value="戻る"
onclick="javascript:document.location.href='%back_url%'" class="submit" />



867:Name_Not_Found
12/03/31 18:33:07.18
>>866
HTMLの勉強をするべきだね。JavaScriptと関係ないから。
input type="image" なんて見たの何年ぶりだろう。

868:Name_Not_Found
12/03/31 18:37:59.89
俺は始めてみた・・・<input type=image

869:Name_Not_Found
12/03/31 18:43:13.85
input type=imageはまだまだ使われてるでしょ
JS使わずに出来ることを態々JSでやる必要ないしな


870:Name_Not_Found
12/03/31 18:50:46.31
> JS使わずに出来ることを態々JSでやる必要ないしな

リンクにURL指定して画像入れ子するだけだからJSでやる必要ないな。

871:Name_Not_Found
12/03/31 19:11:40.01
POSTで送信したい時とかもリンクにするのか

872:Name_Not_Found
12/03/31 19:20:18.05
なんでPOST?って調べたらtype=imageはsubmitも兼ねてるのかw使おうと思ったことないから知らんかった
そしてtype=imageはonclickが聞かないというのも見つけた

873:Name_Not_Found
12/03/31 19:31:31.04
chromeはwebkitGetUserMediaで音声が取得できるようになったと聞いて
マイクから一定以上の音量が入った場合を感知させようと思うのですが
webkitGetUserMediaのサンプルはビデオばかりですし
そもそもjsから音声の瞬間的な音量を取得する方法すらあるのか疑問です

webkitGetUserMediaで取得したオーディオの音量を取得する方法を教えて下さい
chrome18です。chrome://flags/はオンにしています。

874:Name_Not_Found
12/03/31 22:39:17.66
そろそろ、wshの話しはwshスレでやってくれんか。
専門スレがあるのに、なぜここで続けるんだ?

ここはJavaScriptのスレであって、wshはJavaScriptではない。

875:Name_Not_Found
12/04/01 08:20:29.76
>>873
URLリンク(dvcs.w3.org)
ここの3と4

createMediaStreamSourceした後はWeb Audio APIと同じように使えるし、
当然getByteTimeDomainDataで出来た配列をなめて二乗平均平方根(RMS)とかで音量を求めることも出来る
……んだが、今のところcreateMediaStreamSourceが実装されてない

876:Name_Not_Found
12/04/01 08:23:18.28
つうかwshの話はとっくの昔に終わってるだろ
何蒸し返そうとしてんだYO

877:Name_Not_Found
12/04/01 19:39:55.69
そうなにいってんのかわからんかった
wshとjscriptのくべつのつかんあほじゃなかろか

878:Name_Not_Found
12/04/01 20:29:34.49
<div id="ground" onclick="upset(event)"></div>

↑コンテナの中をクリックする度に相対的な座標をアラートで表示させたい。
だけどupset()になんてかけばいいんだ?

function upset(e){
var rect = e.target.getBoundingClientRect();
x =Math.floor(e.clientX - rect.left);
y =Math.floor(e.clientY - rect.top);
alert(x+':'+y);
}

って書いてもなんかうまいこと行かない。


879:Name_Not_Found
12/04/01 21:06:30.26
upset(Baka)

880:Name_Not_Found
12/04/01 22:34:28.16 WAH/pcmP
>>879
それなりにおもしろい答えだと思います。

881:Name_Not_Found
12/04/02 00:06:26.54
>>878
そんなの、いきなり最後まで計算するんじゃなくて、 eとかe.targetとかrectとか
rect.leftとかe.clientXとか全部alertしてみれば分かるんじゃないの。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch