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

このエントリーをはてなブックマークに追加
952Name_Not_Found:2009/09/06(日) 11:43:27 ID:???
>>950
なるほど文字列、わかりました。ありがとうございます。
953Name_Not_Found:2009/09/06(日) 14:23:17 ID:???
>>951
言語仕様を読めば分かることだけど、ラベル指定のみですね。
954Name_Not_Found:2009/09/06(日) 16:49:17 ID:???
最近訪れたサイトを表示するってやつなんですが
http://whattheinternetknowsaboutyou.com/
これは javascript で処理してますよね。

このリンクの既読、未読のデータは
サーバ側の管理人が受け取れるデータなのでしょうか?

基本的に許可されてない情報だと覚えてるのですが。
955Name_Not_Found:2009/09/06(日) 17:15:28 ID:???
訪れた覚えの無いサイトも表示されてる
956Name_Not_Found:2009/09/06(日) 18:03:30 ID:???
957Name_Not_Found:2009/09/06(日) 18:46:44 ID:???
>>956
ありがとうございます。取れてしまうんですね。
958Name_Not_Found:2009/09/06(日) 19:03:32 ID:???
次スレは975越えたら。MSDNは直すとして、データフォーマット
の紹介はどうする?何を入れるかとか議論してないので持ち越しかな。
959Name_Not_Found:2009/09/06(日) 21:50:15 ID:???
>>945
ECMA262-3では、$は機械生成コードであることを意味する
テンプレートから動的生成とかドキュメント生成など
だがこの規約を守っているライブラリはほとんどないので
ECMAScript5でこの規約は削除された
960Name_Not_Found:2009/09/06(日) 23:08:03 ID:???
よし!
961Name_Not_Found:2009/09/07(月) 14:50:15 ID:???
slice,substring,substrメソッドの違いがわからん
962Name_Not_Found:2009/09/07(月) 15:14:28 ID:???
負数指定で比較してみれ。
IE6はどれか対応してない。
963Name_Not_Found:2009/09/07(月) 15:14:59 ID:???
substrは非公式だから忘れていい
substringは負数が扱えない代わりに、引数の大小を問わない
alert("JavaScript".slice(0,-6)); // "Java"
alert("JavaScript".substring(0,-6)); // ""
alert("JavaScript".slice(4,0)); // ""
alert("JavaScript".substring(4,0)); // "Java"
964Name_Not_Found:2009/09/07(月) 16:06:34 ID:pNchJXM4
>>963
>substrは非公式だから忘れていい

substrが非公式だってことはよく忘れるw
965Name_Not_Found:2009/09/07(月) 17:45:58 ID:???
どちらも意外と遅いんだよなぁ
ループするならexecでpushした方が良いんじゃねーかってくらいに。
966Name_Not_Found:2009/09/08(火) 01:26:19 ID:???
iFrameのスクロール情報って親ページからは取得できないんですか?
イメージとしては<iframe onscroll="***">みたいのを実現したいのですが。
967Name_Not_Found:2009/09/08(火) 01:28:12 ID:3eviFrTF
>>963
>substrは非公式だから忘れていい

substrは非公式だが忘れられない
968Name_Not_Found:2009/09/08(火) 02:00:17 ID:???
非同期処理を同期させる方法を調べていたら、以下の様なコードを見つけたのですが、
(たぶんshindigのコードだと思います。)

callAsyncAndJoin=function(funcs, cont, opt_this) {
var pending = funcs.length;
var results = [];
for (var i = 0; i < funcs.length; i++) {
var wrapper = function(index) {
funcs[index].call(opt_this, function(result) {
results[index] = result;
if (--pending === 0) cont(results);
});
};
wrapper(i);
}
};

funcsに同期させたい関数の配列を代入すると処理完了時にcontを実行するというようなことが説明に書いてありました。
しかしこれを使おうとしても、firebugで funcs[index].call is not a function と言われてしまいます。どなたか使い方が分かる人もしくは非同期処理をうまいこと同期処理っぽくする方法がありましたら教えてください。
969Name_Not_Found:2009/09/08(火) 02:25:38 ID:???
>>968
エラー通りfuncsの中身がおかしいんだと思うけど
funcsの由来(callAsyncAndJoin呼び出ししてる部分等)がないからわからん
firebugでfuncsをウォッチしてみたら?
970Name_Not_Found:2009/09/08(火) 04:13:58 ID:21pQrGfX
>>969
ありがとうございます。
初心者なものでJSのfunctionの使い方があんまりよく分かってないんですけど、
funcs[index].call()というのは、引数で与えた関数を順番に実行してる部分ですかね?
そうすると、.call()というのはメソッドになるのかな?ということは、引数として要求するfuncには特別な仕様が求められているんでしょうか。

firebugで監視しながらもうちょっと弄ってみます。
971Name_Not_Found:2009/09/08(火) 05:51:14 ID:???
★index.html
<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/index.js" type="text/javascript"></script>

<h2 id="content_swf">ここに出したい</h2>

★indez.js
onload = init;
function init() {
swfLoad();
}
function swfLoad(){
$("content_swf").innerHTML = '<img src="../images/top_image01.jpg">';
}

index.htmlが読み込まれた時に指定の場所にタグを書き出したいんですが
上手くいきません。良い方法はありますか。
972971:2009/09/08(火) 05:52:25 ID:???
★indez.js → ★index.js です。
973Name_Not_Found:2009/09/08(火) 07:08:17 ID:???
コンストラクタ関数はおいといて、
関数ってmath関数だけ?
ほとんどメソッドとプロパティ形式で呼び出すのかな。
974Name_Not_Found:2009/09/08(火) 07:42:34 ID:21pQrGfX
>>971
別にそれでうまく読み込めるけど
prototype.jsのパス、画像のパスが間違ってないか確認したら?
975Name_Not_Found:2009/09/08(火) 09:35:07 ID:Qhjga5vA
無視
976Name_Not_Found:2009/09/08(火) 12:28:16 ID:QElxcOuO
substrみたいに非公式のものをまとめたサイトってありませんか?
977Name_Not_Found:2009/09/08(火) 12:58:53 ID:???
当たり前に使っているwindowさえ非公式じゃなかったっけ?
HTML5が確定すればだいぶマシになるんだろうけど。
978Name_Not_Found:2009/09/08(火) 16:09:10 ID:???
Canvasってこれからも進化していくのか、
新しい規格が誕生してしまうのか微妙なところだな
979Name_Not_Found:2009/09/08(火) 16:59:33 ID:???
prototype.jsとか使っていて、CSS上のidが複数あっても内容書き換え(innerHTML)とかでちゃんと動くけど。
やっぱりCSSのidが同じものが複数あるのはまずい?

もちろんCSS的にまずいことは分かってるけど、楽ちん出来るんだよね・・。
980Name_Not_Found:2009/09/08(火) 17:52:57 ID:???
>>970
functionは全てFunctionオブジェクトのインスタンスで
Function.prototype.callが存在するから、なにもしなくてもcallはある

つーかそのぐらいは単純な例を書いて試しせばいいんだよ
var x = [ function () { alert("foo"); } ];
x[1] = function () { alert("bar"); };
function baz() { alert("baz"); }
x[2] = baz;
for (var i = 0, l = x.length; i < l; i++) { x[i].call(); }

だから呼び出し側の凡ミスだろうけど晒してくれないんじゃわからん

>>973
コンストラクタのプロパティ(クラスベースでいうクラスメソッド)は
StringやらDateやらにもある

>メソッドとプロパティ形式で呼び出す
グローバルは全てグローバルオブジェクトに格納されるから
厳密には、いわゆる「関数」は存在しない(例えばalertもwindow.alertの省略形)
せいぜいローカル変数にいれたfunctionぐらい

>>976
標準であるECMAやDOMを調べた方が早い

>>979
HTML的にダメ、つーかスレチ
 
981979:2009/09/08(火) 17:56:09 ID:???
>>980
レスありがとう。
xhtml+css的に問題あるのは分かるけど、JS的にはどうなのかなぁと思って。
動けばいいってもんじゃねぇって答えは大体分かってるんだけどねw
982Name_Not_Found:2009/09/08(火) 17:59:01 ID:???
HTMLのidはIdentificationの略だから

Identification
━━ n. 同一であるとすること, 同一性の確認; (死体, 罪人などの)身元確認; 身分証明(となるもの); 識別; 一体化, 同一化 ((with)).
983Name_Not_Found:2009/09/08(火) 18:13:14 ID:???
>>981
それは無知初心者が書いたページ用の、ブラウザによる寛容動作だろ
984Name_Not_Found:2009/09/08(火) 18:15:01 ID:???
>>981
既に存在していると上書きされるから最後に読み込まれたものが選択されるんじゃないかな
985Name_Not_Found:2009/09/08(火) 18:17:21 ID:???
HTMLでダメならそれに基づいたDOMもダメで、DOMを使ってアクセスしてるJSもダメ

XHTMLとは違ってHTMLは緩いからエラーでないだろうけど
どの要素を受け取れるかすら保証はされない
実装の都合で、どうやってアクセスしても最初の要素しか出てこないとか
アクセスするたびに別の要素が出てくるといったことが起きても不思議はない
986Name_Not_Found:2009/09/08(火) 18:42:01 ID:???
987Name_Not_Found:2009/09/08(火) 20:32:13 ID:???
>>985
> XHTMLとは違ってHTMLは緩いからエラーでないだろうけど
JavaScript 側ではどっちでもエラーは出ないが
XHTML/HTML どちらでも Validator ではエラー
つまり
> HTMLでダメならそれに基づいたDOMもダメで、DOMを使ってアクセスしてるJSもダメ
に引っかかるからそもそもダメ
988Name_Not_Found:2009/09/08(火) 20:58:29 ID:???
DOMとvalidatorは関係ない
木構築にDTD/Schemaが必要となればSGMLに逆戻り
HTML5はエラー対策のために敢えて逆戻りしているが
989Name_Not_Found:2009/09/08(火) 22:03:33 ID:???
validでないHTMLだとDOMツリーが定義できるかどうか
分からないじゃん。だから動作するとしても「たまたま」
「次のバージョンのブラウザではどうなるか分からない」
というしかないよね。
990Name_Not_Found:2009/09/08(火) 22:05:39 ID:???
991Name_Not_Found:2009/09/08(火) 23:18:43 ID:???
l50くらい取ってもいい気がします
992Name_Not_Found:2009/09/09(水) 05:08:15 ID:???
>>982
うん、どう見てもそれは知った上で言ってるでしょ・・
993Name_Not_Found:2009/09/09(水) 14:45:17 ID:???
window.onload=test();
みたいに、なんで()つけちゃいかんの?・・
994Name_Not_Found:2009/09/09(水) 14:49:56 ID:???
>>993
()を付けたらtest関数を実行した戻り値を代入することになるから
995Name_Not_Found:2009/09/09(水) 14:57:53 ID:???
>>994
なるほどとんくす
996Name_Not_Found:2009/09/09(水) 18:50:45 ID:???
埋め
997Name_Not_Found:2009/09/09(水) 18:51:26 ID:???
埋め
998Name_Not_Found:2009/09/09(水) 18:52:07 ID:???
埋め
999Name_Not_Found:2009/09/09(水) 18:52:56 ID:???
次スレ
+ JavaScript の質問用スレッド vol.73 +
http://pc11.2ch.net/test/read.cgi/hp/1252401448/l50
1000Name_Not_Found:2009/09/09(水) 18:53:38 ID:???
このスレは1000の風になりました
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。