5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :Name_Not_Found:2011/07/20(水) 02:33:45.18 ID:???
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。

■質問を書く上で
(1) 質問にならない投稿はご遠慮ください。(煽り、コード制作依頼など)
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
  (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) メール欄は空欄を推奨。2回目の投稿時は前回のレス番を名前にすることを強く推奨します。
  長い間連続して質問する場合にレス番を名前にしてあれば、質問の流れが回答者に伝わりやすくなります。
(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/

2 :Name_Not_Found:2011/07/20(水) 02:35:51.08 ID:???
■前スレ
+ JavaScript の質問用スレッド vol.88 +
http://hibari.2ch.net/test/read.cgi/hp/1308664388/

■過去スレ全集
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/

3 :Name_Not_Found:2011/07/20(水) 02:37:55.53 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 中でやるとか。

4 :Name_Not_Found:2011/07/20(水) 02:40:01.87 ID:???
■各種仕様
Standard ECMA-262
http://www.ecma-international.org/publications/standards/ECMA-262.HTM
ECMAScript 3
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/ (和訳)
ECMAScript 5.1
http://es5.github.com/
W3C Document Object Model Technical Reports
http://www.w3.org/DOM/DOMTR
JavaScript 1.5 ガイド / リファレンス (Netscape/Mozilla)
http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide (和訳)
http://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Reference (和訳)
JSON (JavaScript Object Notation)
http://www.json.org/json-ja.html
http://jsgt.org/ajax/ref/test/json/test1.htm
Mozilla Gecko DOM Reference, Netscape devedge
http://developer.mozilla.org/ja/docs/Gecko_DOM_Reference (和訳)
http://devedge-temp.mozilla.org/central/javascript/index_en.html
MSDN Library JScript / DHTML (現在日本語版は古杉)
http://msdn.microsoft.com/ja-jp/library/z688wt03%28VS.80%29.aspx
http://msdn.microsoft.com/ja-jp/library/cc409720.aspx

5 :Name_Not_Found:2011/07/20(水) 08:50:29.95 ID:???
このスレは極端な人間(鬱病患者)が多いです
煽り合いは無駄な時間を作るだけですのでやめましょう

6 :Name_Not_Found:2011/07/20(水) 11:15:16.28 ID:???
匿名掲示板でなにを言ってるのかねキミは

7 :Name_Not_Found:2011/07/20(水) 12:19:18.41 ID:???
別に煽らなきゃいいじゃん。煽りはスルーでいいじゃん。2ちゃんの常識。

8 :amachamg:2011/07/20(水) 13:15:12.50 ID:???
お前ら気持ち悪いな

9 :amachamg:2011/07/20(水) 13:17:55.19 ID:???
髪型ライオンだぞ俺様は
かっこいいだろ?
まあな、javascriptの世界でも崇められてるし
百獣の王だよ
サイボウズ所属してたけどな

10 :amachamg:2011/07/20(水) 13:21:26.82 ID:???
がおがお!!

11 :Name_Not_Found:2011/07/20(水) 14:00:38.48 ID:???
javascriptを使ってスライダーの位置をずらすとその分
画像が回転するものを作りたいです。

宜しくお願いします。

12 :Name_Not_Found:2011/07/20(水) 14:05:21.75 ID:???
OKです。お作り下さい。

13 :Name_Not_Found:2011/07/20(水) 14:09:51.72 ID:???
答えだけが欲しいんです。

宜しくお願いします。

14 :Name_Not_Found:2011/07/20(水) 14:16:20.13 ID:???
11です。
ボタンを押すと画像の角度が変わる部分と
スライダーを動かすと数値が変わる部分は作れたのですが
その数値を画像の角度が変わる値に代入できません。
宜しくお願いします。

15 :Name_Not_Found:2011/07/20(水) 14:20:46.40 ID:???
その角度が変わる関数をどんな感じに作ってるのか教えてくれ
そすりゃドコをどー変えればいいのかわかるぜよ

16 :Name_Not_Found:2011/07/20(水) 14:21:10.99 ID:???
ああ、ごめん
どんな感じに作ってるのかより
そのソースをそのまま貼ってくれ

17 :Name_Not_Found:2011/07/20(水) 14:38:50.86 ID:???
>>16
11です。
他サイトのスクリプトを組み合わせているのですが
ここに載せても大丈夫でしょうか。

18 :Name_Not_Found:2011/07/20(水) 14:39:43.14 ID:???
他サイトの→他サイトで紹介されている

19 :Name_Not_Found:2011/07/20(水) 14:56:28.60 ID:???
余裕

20 :Name_Not_Found:2011/07/20(水) 14:57:55.99 ID:???
全く問題ないな

21 :Name_Not_Found:2011/07/20(水) 15:13:35.25 ID:???
11です。関係ない処理も入ってると思いますが、宜しくお願いします。
var startAngle="10";の部分の数字を入れ替えると角度が変わります。
長いので数回にわけます

<!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" xml:lang="ja" lang="ja">
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</HEAD>
<SCRIPT language="JavaScript">
var iniX = 10; //バーの初期位置(x)
var iniY = 200; //バーの初期位置(y)
var dY = 10; //バーに対するスライダーの表示位置(y)
var dX1 = 11; //バーに対するスライダーの表示位置(x,最も左)
var dX2 = 202; //バーに対するスライダーの表示位置(x,最も右)
var valx = 230; //バーに対する数値を表示する位置(x)
var valy = 10; //バーに対する数値を表示する位置(y)
var minValue = 0; //最小値
var maxValue = 8; //最大値
var iniValue = 0; //初期値
var M_flag = false;
var mdx,mdlayx,mmx,mmlayx;
var xmax,xmin;

22 :Name_Not_Found:2011/07/20(水) 15:15:25.90 ID:???
function Init(){
dx = dX2 - dX1;
x = dx * ((iniValue - minValue) / (maxValue - minValue));
xmin = iniX + dX1;
xmax = iniX + dX2;
if(document.all){
document.all("iLf").onmousedown = Mdown;
document.onmouseup = Mup;
document.onmousemove = Mmove;
document.all("iLf").style.posLeft = xmin + x;
document.all("iLf").style.posTop = iniY + dY;
document.all("iLb").style.posLeft = iniX;
document.all("iLb").style.posTop = iniY;
document.all("iLv").style.posLeft = iniX + valx;
document.all("iLv").style.posTop = iniY + valy;
document.all("iLv").innerHTML = iniValue;
}else if(document.layers){
}else if(document.getElementById){
document.getElementById("iLf").onmousedown = Mdown;
document.onmouseup = Mup;
document.onmousemove = Mmove;
document.getElementById("iLf").style.left = xmin + x;
document.getElementById("iLf").style.top = iniY + dY;
document.getElementById("iLb").style.left = iniX;
document.getElementById("iLb").style.top = iniY;
document.getElementById("iLv").style.left = iniX + valx;
document.getElementById("iLv").style.top = iniY + valy;
document.getElementById("iLv").innerHTML = iniValue;
}
}

23 :Name_Not_Found:2011/07/20(水) 15:17:21.40 ID:???
function Mdown(e){
if(document.all){
mdx = event.x;
mdlayx = document.all("iLf").style.posLeft;
}else if(document.layers){
}else if(document.getElementById){
mdx = parseInt(e.pageX);
mdlayx = parseInt(document.getElementById("iLf").style.left);
}
M_flag = true;
return false;
}
function Mup(e){
M_flag = false;
return false;
}
function Mmove(e){
if(document.all){
if(M_flag){
mmx = event.x;
mmlayx = (mmx - mdx) + mdlayx;
if(mmlayx < xmin) mmlayx = xmin;
if(mmlayx > xmax) mmlayx = xmax;
x = Math.floor((mmlayx - xmin) / dx * (maxValue - minValue) + minValue);
document.all("iLf").style.posLeft = mmlayx;
document.all("iLv").innerHTML = x;

24 :Name_Not_Found:2011/07/20(水) 15:20:01.35 ID:???
<input type=text id="manko">
ってのでも作って
document.getElementById("manko").value
でそのテキストに入れた数値取得してその文字列をMathで数値化してやりゃいいんじゃね?

25 :Name_Not_Found:2011/07/20(水) 15:25:20.14 ID:???
>>21-23 >>1
1レスに収まらないならコード投稿サイトを利用してください。

26 :Name_Not_Found:2011/07/20(水) 15:34:06.58 ID:???
11です。すいません途中で連投規制がかかりました。
http://ideone.com/9cmp2
に投稿したので宜しくお願いします。
iLvに表示される数字を
113行目のvar startAngle = "10";
に持ってくればいいのだと思いますが上手く行きません。

27 :Name_Not_Found:2011/07/20(水) 19:05:41.84 ID:???
>>26
htmlをideoneに投稿しても仕方ないだろう
jsfiddle jsbin でも使えばいい
あと、>>1の3

28 :Name_Not_Found:2011/07/20(水) 19:13:48.87 ID:???
お前ら答えない屁理屈だけ達者すぎワロタw

29 :Name_Not_Found:2011/07/20(水) 19:16:37.08 ID:???
答えるのに必要な作業をアドバイスしてるだけ
>>1を読むのは基本だろ

30 :amachamg:2011/07/20(水) 19:27:50.75 ID:???
くだらねーんことやってんだなカスども

31 :Name_Not_Found:2011/07/20(水) 20:13:31.06 ID:???
>>29
答えるのに「必要な」作業は揃っているがw

32 :Name_Not_Found:2011/07/20(水) 20:28:55.90 ID:???
ケチが付く質問は答える気を無くしてしまうなぁ

33 :Name_Not_Found:2011/07/20(水) 20:34:30.20 ID:???
煽りはスルーで。2ちゃんの基本。答えるも答えないも回答者の自由。このスレの基本。

34 :Name_Not_Found:2011/07/20(水) 20:37:33.20 ID:???
>>27
>>1の3は推奨であって強制では無いから問題ないとは思うが



35 :Name_Not_Found:2011/07/20(水) 21:10:52.92 ID:???
>>34
そうだけど推奨してもいいんじゃないかな

36 :Name_Not_Found:2011/07/20(水) 21:21:16.62 ID:1wnjGCNM
【環境】Firefox 5.0 / Adblock Plus 1.3.9
【何をしたのか】Adblock Plus がインストールされている場合
【エラーメッセージ】(なし)
【期待する結果】
Firefox の エラーコンソール と Adblock Plus についてです
Adblock Plus をインストールすると
XMLHttpRequest.onload / onreadystatechange 内でエラーが発生しても
コンソール上にエラーが表示されなくなります

ローカルファイル上でこの現象は発生せず、http:// で始まる URL で発生します
Adblock Plus をインストールしたまま、この現象を回避することは出来ませんでしょうか

【サンプルコード】
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>サンプルコード</title>
</head>
<body>
<script type="application/ecmascript">
var req = new XMLHttpRequest();
req.open('GET', './example.txt', true);
req.onload = function(){
alert(undefinedVariable);
};
req.send(null);
</script>
</body>
</html>

37 :Name_Not_Found:2011/07/20(水) 21:46:07.74 ID:bglLtJkN
try catchもできない?

38 :Name_Not_Found:2011/07/20(水) 22:41:57.87 ID:???
>>35
推奨はしてもいいけどスレの足を引っ張るのはやめたほうがいいよね。


39 :Name_Not_Found:2011/07/20(水) 23:03:20.76 ID:???
>>26
JSBinにUPしておいた http://jsbin.com/etegad
onload 時の
141: Uncaught ReferenceError: aaa is not defined
とonclick時の
130: Uncaught TypeError: Cannot call method 'item' of undefined
を解消しておこう
filters はIE専用だ
http://msdn.microsoft.com/en-us/library/ms537452(v=VS.85).aspx
初めからこうなってればもう少しスマートに回答が得られたと思うよ

40 :Name_Not_Found:2011/07/20(水) 23:12:59.31 ID:???
足を引っ張ってるのは煽りだからなあ
情報を促す事は普通にやるし

41 :36:2011/07/20(水) 23:16:10.57 ID:1wnjGCNM
>>37
有り難う御座います
try catch は使えましたので、そちらでしのぐことにします

42 :Name_Not_Found:2011/07/20(水) 23:19:22.91 ID:Y3GEmHor
初めてajaxでカテゴリーごとのタグを取得する機能を作って、とりあえずイメージ通りに動いてるんですが
こんな感じでいいんでしょうか? (jQueryを使っています)
$(function() {$('input.categoryRB').change(function(){
var wt = $(this).attr('value');
var insert_html = "";
$.post(
"/ajax_tags.php",
{"category":c},
function(data, status){
$.each(
data,
function(key, value){
var forId = 'tag_'+wt+'_'+value.id;
insert_html += '<label for="'+ forId +'" class="labelH"><input type="checkbox" name="tag" value="'+value.id+'" id="'+ forId +'" />'+value.tag+'</label>';
}
);
$('#tagBox').html(insert_html);
},
"json"
);
}); });

漠然とした質問ですみません。初心者の自分のわからないダメな点があるのか不安で。。

また、.post()メソッドは.ajax()メソッドと違い、サーバ側の処理が失敗した場合の処理を出来ないとありましたが、
どう使い分けたらいいんでしょうか? 描画に失敗しても困らないところ以外はajax()でやるべきってことですか?
statusがsuccessでないときに「失敗しました」と出力することも出来るのではと思いますが、
それよりも大きなメリットがajax()にはあるんでしょうか?
あと、最初上のコードで var insert_html; にしていたら実行したときに undefinedという文字が表示されました
(最初の <label>の出力の前に)
これはなぜでしょうか? var insert_htmlとvar insert_html = "";って両方ともカラの変数の宣言ではないのでしょうか

43 :Name_Not_Found:2011/07/20(水) 23:51:17.17 ID:???
煽りってどっちの?

44 :Name_Not_Found:2011/07/21(木) 00:19:02.89 ID:???
>>42
ttp://api.jquery.com/jQuery.post/#jqxhr-object

>var insert_html; にしていたら実行したときに undefinedという文字が表示されました
変数名を宣言しただけでは値を持たないから未定義となる

45 :Name_Not_Found:2011/07/21(木) 08:42:28.07 ID:???
>>43
どっちって何と何を比べて?

46 :Name_Not_Found:2011/07/21(木) 08:59:23.29 ID:???
>>42
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/10_Execution_Contexts.html#section-10.1.3

47 :Name_Not_Found:2011/07/21(木) 09:09:40.46 ID:???
煽り全般だろ
>>1も読めないの?」「屁理屈ばかりで答えられないの?」「足を引っ張ることしかできないの?」
これ全部煽り
指摘するだけなら煽りじゃないし、言い方の問題
今回>>1に誘導した人に煽りはいなかったと思う

48 :Name_Not_Found:2011/07/21(木) 10:00:31.26 ID:???
ブックマークレットでとあるJavascriptのメソッドを除去したいのですが
可能でしょうか?

例えば
<script type="text/javascript">
function hoge() {
alert('hoge');
}
</script>
となっていたらhoge()を無効にしたいです。
よろしくです。

49 :Name_Not_Found:2011/07/21(木) 12:04:19.87 ID:???
>>48
hoge = null;
hoge = new Function;

50 :11:2011/07/21(木) 12:11:40.83 ID:zhAEvKdw
11です。私の質問で荒れてしまって申し訳ありません。
>>39
ありがとうございます。
まだ上手く動きませんががんばってみます。
>>27
すいません、投稿サイトの使い方がよくわかりませんでした。
>>31
いえ、質問として不十分でした。
>>34
そうですね。とはいえ推奨されていることをしたほうがスムーズに
答えやすいと思うので今後気をつけます。

>>その他の方
ご意見ありがとうございました。

51 :Name_Not_Found:2011/07/21(木) 16:39:41.72 ID:NBoNsXTB

【環境】モダンブラウザ
【何をしたのか】(なし)
【エラーメッセージ】(なし)
【期待する結果】パラグラフ(<p>)のフォントサイズをランダムに変更したい。ご教授いただければ幸いです。


【サンプルコード】
<html>
<head>
<SCRIPT language="JavaScript">
<!--
// ランダムにフォントサイズを変更する
fontsize = new Array();
fontsize[0] = "13px";
fontsize[1] = "18px";
fontsize[2] = "24px";
fontsize[3] = "36px";
n = Math.floor(Math.random()*4);
document.p.fontSize= fontsize[n]
//-->
</SCRIPT>
</head><body>
<p>1</p><p>2</p><p>3</p>
</body></html>




52 :Name_Not_Found:2011/07/21(木) 16:49:54.97 ID:???
>>49
サンクス。できました。


53 :Name_Not_Found:2011/07/21(木) 17:02:37.34 ID:???
>>51
簡単に。DOM読んでからじゃないと動かない
fontsize = new Array();
fontsize[0] = "13px";
fontsize[1] = "18px";
fontsize[2] = "24px";
fontsize[3] = "36px";
var p = document.getElementsByTagName("p");
for(var i=0,j=p.length;i<=j;i++){
n = Math.floor(Math.random()*fontsize.length);
p[i].style.fontSize= fontsize[n];
}

54 :Name_Not_Found:2011/07/21(木) 18:05:20.15 ID:NBoNsXTB
>>53
早速のご指導ありがとうございます。

私の不勉強でまだ思う挙動となっておりませんが、
ご教授いただきましたDOMまわりを調べて勉強したいと思います。

また不明な点がありましたら質問させていただくかと思いますが、
どうぞよろしくお願いします。

55 :51:2011/07/21(木) 18:21:03.71 ID:NBoNsXTB
>>53
読み下してみたのですが以下のような解釈となりますでしょうか。

fontsize = new Array();
fontsize[0] = "13px";
fontsize[1] = "18px";
fontsize[2] = "24px";
fontsize[3] = "36px";

var p = document.getElementsByTagName("p"); //ドキュメント中のPタグ要素を取得してpに代入する
for(var i=0,j=p.length;i<=j;i++){ //p要素の数(=j)までiを加算する
n = Math.floor(Math.random()*fontsize.length); //fontsizeの数までの乱数を発生させnに代入する
p[i].style.fontSize= fontsize[n];//p要素すべてに乱数で選ばれたfontsizeを指定する
}


56 :Name_Not_Found:2011/07/21(木) 18:36:58.97 ID:???
解釈概ねOKです。まあ元コードをいじったけだし。
fontsize = new Array();
fontsize[0] = "13px";
fontsize[1] = "18px";
fontsize[2] = "24px";
fontsize[3] = "36px";
var p = document.getElementsByTagName("p");
for(var i=0,j=p.length;i<j;i++){
n = Math.floor(Math.random()*fontsize.length);
p[i].style.fontSize= fontsize[n];
}
自分もガッツリやってるわけじゃないので他の人のツッコミ待ちだけど
スクリプトが<p>の記述後じゃないとp要素が取得出来ないのでスクリプトを後ろに持ってくといいです。
あと7行目は ? i<=j  ○ i<j でした。

57 :42:2011/07/21(木) 18:56:06.01 ID:???
>>44,46
ありがとうございました、ドキュメント読み込んでみます

58 :Name_Not_Found:2011/07/21(木) 19:44:41.36 ID:rNr22M2N
GoogleサイトでのJavascript実行について教えてください。
http://www.google.com/sites/help/intl/en/overview.html

JavaScriptを書いたガジェットのXMLファイルを作成する方法で、
GoogleサイトでJavascript実行したいとおもいます
http://sites.google.com/site/michinobumaeda/cms/googlesitesjs

サイトにアクセスした人のIPとか、ブラウザ、OS、画面解像度などを
取得するJavaScriptを埋め込み、その履歴をログとして残したいのです
Googleサイトで、ログを書き出して残すという事はできるのでしょうか。

Googleサイト専用スレで聞くべき話題とは思いますが、
それらしきスレが見当たりませんでしたので。
Googleサイト利用者の方がいらっしゃいましたら、ご教示ください。

59 :Name_Not_Found:2011/07/21(木) 19:48:07.11 ID:???
もっとふさわしいスレがあれば誘導お願いします。

IP、ブラウザ、OS、画面解像度などを取得してログに書き出す
JavaScriptのサンプルが乗っているページを探しております。
ご存知の方はどうかお願いします。

60 :51:2011/07/21(木) 20:51:40.11 ID:NBoNsXTB
>>56
ありがとうございました!
ご指摘いただいた点と、調べたものを足したところうまく動くようになりました。以下にうまく動いたものを張っておきます。ありがとうございました。

<html>
<head>
</head>
<body>
<p>1</p>
<p>2</p>
<p>3</p>

<SCRIPT language="JavaScript">
<!--
// ランダムにパラグラフのフォントサイズを変更する
fontsize = ["13px","18px","24px","36px"]
var p = document.getElementsByTagName('p');
for(var i=0; i<p.length; i++){
n = Math.floor(Math.random()*fontsize.length);
p[i].style.fontSize= fontsize[n];
}
-->
</SCRIPT>
</body>
</html>




61 :Name_Not_Found:2011/07/21(木) 21:36:16.67 ID:T54sLeF+
>>59
GoogleAnalyticsとかどうじゃろ

62 :Name_Not_Found:2011/07/21(木) 21:58:55.13 ID:???
>>61
GoogleAnalyticsはもう導入しております。

ですがGoogleAnalyticsだと、プロバイダとかホスト名までは表示出来ますが、
IPでユーザー固有の部分まではわからないのです。
たとえば
K123456.sonet.ne.jp
がアクセスした場合に、sonet.ne.jpはわかりますが、ユーザー固有のK123456は
表示されないのでわからず、個人レベルで確認ができません。

もう一つ、プロクシを使ってアクセスされた場合に、GoogleAnalyticsは
プロクシのIPを記録するだけで、ユーザーのIPはわからんのです。
プロクシを使われれば別人に見えてしまうので。


63 :Name_Not_Found:2011/07/21(木) 22:01:42.14 ID:???
>>62
JSはIPを保持していなかったと思うが・・・

64 :62:2011/07/21(木) 22:13:05.15 ID:???
GoogleAnalyticsはJavaScript無効のときでもアクセスを記録してくれるので、
それとJavaScriptを併用して、プロクシでアクセスしてる人を把握したい。

もっとも、JavaScriptを無効にしてアクセスされたらどうしようもないんですけど、
それはもう仕方ないんで・・・


65 :Name_Not_Found:2011/07/21(木) 22:19:49.04 ID:T54sLeF+
>>62
あ、GoogleAnalyticsのJSのコードを参考にしたらどうかな、って意味で

66 :Name_Not_Found:2011/07/21(木) 22:21:46.55 ID:???
>>65
すいません。もう少し詳しい情報をいただけましたら嬉しいです。

67 :Name_Not_Found:2011/07/21(木) 22:32:54.99 ID:T54sLeF+
>>66
リモホはAPIを用意して、直接取得すればいい
必要な情報はそこに向けてJSと<img>要素で投げればいい

68 :Name_Not_Found:2011/07/21(木) 22:51:38.12 ID:???
>>67
大変申し訳ありませんが、APIとは自分のスキルにはレベルが高過ぎるようです
参考に出来るサイトをお教えいただければ幸いです

それと、GoogleAnalyticsのJSは見れるんですか?

69 :Name_Not_Found:2011/07/21(木) 23:27:11.85 ID:198gSbFP
jQueryのカルーセルパネルと、
ファンシーフォーム<http://lipidity.com/fancy-form/>という
フォームのラジオボタン等を画像にするjsの2つを
同じページで動作させようとしています。

カルーセルパネルだけなら動作するのですが
ファンシーフォームのjsを読み込むようにするとカルーセルが動作しなくなります。
どういう原因が考えられるでしょうか?

70 :Name_Not_Found:2011/07/21(木) 23:34:56.23 ID:hMf3yaLl
>>68
じゃあ、どうやって値を受け取るのよ
あと、JS貼ってんだから、見られるだろうよ?

71 :Name_Not_Found:2011/07/22(金) 00:29:29.14 ID:???
IPアドレスはページにアクセスされたときサーバー側で取得すりゃあええんじゃないの

72 :Name_Not_Found:2011/07/22(金) 01:27:10.75 ID:???
>>69
ファンシーフォームてのはMooToolsベースだから、たぶん$衝突。


jQuery - MooToolsの順にjsファイルを読み込む。(カルーセルが動かなくなる順序)

jQuery(function ($) {

$(selector)... // カルーセルパネル

});

jQueryの方を少し書き換えれば動くようになると思うけど。

73 :Name_Not_Found:2011/07/22(金) 02:30:37.98 ID:???
インラインフレームでテキストファイルを表示させてるけど
そのテキストファイルが存在しない(または空の)ときはインラインフレームを表示させないって方法はあるのかな?

Ajax.updaterで表示させるとファイルが空なら無駄なスペースあんまりとらないけど
ファイルの行数が長いとだらだら縦長に表示してしまう

インラインフレームだと長い内容でも領域内でスクロールさせればすっきりするけど
ファイルが空で何も表示する内容が無い場合でも無駄な表示領域が残って不自然な空間が出来てしまう・・・

74 :Name_Not_Found:2011/07/22(金) 03:03:29.28 ID:???
それはキミCSSの領域だ
heightとoverflowあたりを調べなさい

75 :69:2011/07/22(金) 06:11:32.27 ID:???
>>72
ありがとうございます!
納得できました。
jQuery.noConflict() っていう$衝突回避のメソッドも見つけられたので
これでできそうです。
http://allabout.co.jp/gm/gc/24167/3/

76 :Name_Not_Found:2011/07/22(金) 08:35:45.56 ID:???
http://www.gmarwaha.com/blog/2007/08/23/lavalamp-for-jquery-lovers/
上記サイトを参考にlavalampmenuを作成し自身のパソコン2機種(Mac・ブラウザーFirefox、sa
fari、opera、googlechrome現行最新Ver.)で問題なく動作を確認したのですが、Mac版IE5.2、
win版IE6、IE8(別PC2機種で試用、java.script有効)ではカーソルに合わせて移動するシャドウ部
分が全く表示されませんでした。
同Win機で上記サイトを閲覧したところ、lavalampmenuは意図通りに動作したため、私が作成した
ソースに問題ありなのは間違いないようですが、問題解決に向けて何処をチェックすればよいでしょ
う?「reset.css」を読み込んでいるのが問題でしょうか。Mac版IE5.2はともかくwinIEには何とか
対応して欲しいと考えております。宜しくお願いします。

77 :Name_Not_Found:2011/07/22(金) 09:36:21.74 ID:T8hR4YOl
>>76
まず、関係ないものを全部削って動かしてみ。
それでも動かないなら、設置に問題がある。

動くなら、今度は少しずつ削ってみ。
そのreset.cssとか。
そうやって問題のある箇所を追い込んでいくといいよ

78 :Name_Not_Found:2011/07/22(金) 18:01:51.14 ID:???
>>77
ありがとうございます。この週末に調べてみたいと思います。

79 :58:2011/07/22(金) 21:22:27.27 ID:???
>>63>>70>>71

調べて、言われた事の意味がやっとわかりました.
JSではIPアドレスは取得できず、サーバー側で取得するものだと言うことなんですね。

重ねてお尋ねしますが、
漏れ串を通してIP確認サイトの診断くんにアクセスすると、
REMOTE_HOST と REMOTE_ADDR には串のIPアドレスが表示されますが、
HTTP_X_FORWARDED_FOR にはクライアント(自分)のIPが表示されます。

こういう感じに、串のIPと自分のIP両方取得したいんですが、参考になるJSソースはありませんか?

80 :Name_Not_Found:2011/07/22(金) 21:48:46.16 ID:ikINcXTk
>>79
たぶんJSから離れて考えたほうがいいと思う

サーバサイドスクリプトは難しいって思い込んでるみたいだけど
PHPとかだったら比較的簡単なんで

サーバでは取りづらい、画面の大きさとか
そういうのだけJSで取るって方向性でやったほうがいいよ

簡単な開発だったら、Windows用のApache2とPHP入れたり
VMWareFusionにLinux入れるって手もあるし
マカーだったら、普通にApache2とPHP5.2が動いてる

リモホと串とか考慮するならリモートのサーバが必要だけど
さくらのレンサバの一番安いやつとかでも十分だし

81 :Name_Not_Found:2011/07/22(金) 23:57:51.47 ID:???
診断君だかで漏れてるって言われるような串は単純に環境変数を拾っているだけなので
perlでもphpでも数行で拾える

82 :Name_Not_Found:2011/07/23(土) 00:22:33.65 ID:KE7Lzkz2
$(function() {
$('input').change(function(){
//処理1
});
});

jqueryで以上のような処理があるんですが、処理1をchangeだけでなく
ページの読み込み完了のタイミングでも1回実行したいと思っています
どうしたら良いでしょうか?

$(document).ready(function(){
// 処理1
});
と言う風にもう一個同じことを記述するとか、処理1を独立させてchange,readyそれぞれから
呼び出すという原始的なやり方しか思いつきません
上に書いた処理に何か書き足してスマートに実行する方法があるんでしょうか
よろしくお願いします

83 :Name_Not_Found:2011/07/23(土) 00:28:05.35 ID:???
>>82
$('input').change(function(){
//処理1
}).change();

84 :Name_Not_Found:2011/07/23(土) 01:18:59.30 ID:KE7Lzkz2
>>83
できました! 早速の回答ありがとうございます

すみません、もう一つ聞いていいですか
jqueryで処理の途中で1秒待つときはどういう関数を使ったら良いんでしょうか?
$('div').html(略).fadeIn(100);
という処理をしていて、.html()が完了しないうちにfadeIn()してしまうようで表示がおかしくて困っています
1)n秒待つ
2)メソッドの完了を捕捉する
二通り教えてもらえると助かります。申し訳ないですがよろしくお願いします

85 :Name_Not_Found:2011/07/23(土) 09:12:52.09 ID:???
$('div').css('display', 'none').html(略).fadeIn(100);
or
$('div').hide().html(略).fadeIn(100);

遅延も捕捉も必要なし。fadeIn()にはdisplay: noneが必要。

86 :84:2011/07/23(土) 14:32:09.08 ID:???
ありがとうございます

>遅延も捕捉も必要なし。

.html(略).fadeIn(100);と言う風にメソッドチェーンする時は
必ず直前のメソッドの完了を待ってから次が実行されるってことですか
じゃ、変に見えるのは目の錯覚なのかな
ありがとうございました

87 :Name_Not_Found:2011/07/23(土) 14:59:31.46 ID:???
> 必ず直前のメソッドの完了を待ってから次が実行されるってことですか

てか、直前のメソッドがjQueryオブジェクトを返さないことにはfadeInにアクセスできんわな。
メソッドチェーンだかなんだか知らんけど、そんなの関係ない。

関数がなんらかの値を返せば、それは「完了」ってことね。

88 :Name_Not_Found:2011/07/23(土) 17:03:09.91 ID:???
jquery.rollover.js
jquery.easing.min
jquery.lavalamp.min.js
上記のjqueryを使用している部分がIE(6.7.8にて確認)で動作しないようです。
コードをいじれば動作するものかも知れませんが、自身で解決は難しそうです。
jqueryとIEの相性に関してはどう向き合うのがよいのでしょう。
IE閲覧を念頭におくなら使わないほうが賢明でしょうか?




89 :Name_Not_Found:2011/07/23(土) 19:17:27.97 ID:???
>>88
確認するから配布元URLを開示して欲しい

90 :Name_Not_Found:2011/07/23(土) 20:30:51.83 ID:BLScnPfq
正規表現による置換について。
Aの繰り返しはA+とかA{m,n}でマッチできますが、
繰り返された個数を元にAAAAAをA*5などに置換する「うまい」方法はあるでしょうか。

replace(/A+/g, 'A*'); //←ここから進まない。

91 :Name_Not_Found:2011/07/23(土) 20:38:08.39 ID:???
>>90
'AAAAA'.replace(/A+/, function (token) {
 return 'A*' + token.length;
});

92 :90:2011/07/23(土) 20:58:15.32 ID:???
>>91
ありがとうございます。
そのように書けるとは思いつきませんでした。

93 :Name_Not_Found:2011/07/23(土) 23:37:53.51 ID:???
>>89
・jquery.lavalamp.min.js
 ttp://gsgd.co.uk/sandbox/jquery/easing/

・jquery.rollover.js
 ttp://rewish.org/javascript/jquery_rollover_plugin

・jquery.easing.min.js
 ttp://gsgd.co.uk/sandbox/jquery.easing.php

ご確認宜しくお願い致します。

94 :Name_Not_Found:2011/07/23(土) 23:40:32.34 ID:???
jquery.lavalamp.min.jsのリンクが違ってました。
配布元を失念してしまったので以下にソースを記します。

(function($){$.fn.lavaLamp=function(o){o=$.extend({fx:"linear",speed:500,click:function(){}},o||{});return this.each
(function(){var b=$(this),noop=function(){},$back=$('<li class="back"><div class="left"></div></li>').appendTo(b),
$li=$("li",this),curr=$("li.current",this)[0]||$($li[0]).addClass("current")[0];$li.not(".back").hover(function(){move(this)},noop);
$(this).hover(noop,function(){move(curr)});$li.click(function(e){setCurr(this);return o.click.apply(this,[e,this])});setCurr(curr);
function setCurr(a){$back.css({"left":a.offsetLeft+"px","width":a.offsetWidth+"px"});curr=a};function move(a){$back.each
(function(){$(this).dequeue()}).animate({width:a.offsetWidth,left:a.offsetLeft},o.speed,o.fx)}})}})(jQuery);

95 :Name_Not_Found:2011/07/24(日) 00:11:21.97 ID:???
>>88,93
IEで動かない自己満足コードなんてスルーしる
・・・ってデモ動くじゃん by IE8

96 :Name_Not_Found:2011/07/24(日) 08:24:07.54 ID:???
質問です
DOM操作についての質問です

<table id="a">
<tr>
<td></td>
</tr>
</table>
のtableのbgcolorを変える時は
document.getElementById("a").style.backgroundColor = "#FFF";
ですが
このaに属する<td>の背景色を変更するにはどうしたらいいんでしょうか?
<td>にidを付けるんじゃなくて、指定したtableの<td>要素を選択するのような

97 :Name_Not_Found:2011/07/24(日) 09:02:54.98 ID:???
>>96
まずHTMLを省略して書かない方がいいよ。tableの直下にtbodyがあることになるのは
知ってるよね。それをふまえると
document.getElementById('a').firstChlid.firstChild.firstChid.style.backgroundColor = 'red';
になるのかな。試してないけど。

98 :Name_Not_Found:2011/07/24(日) 09:09:11.05 ID:???
>>97
他人の書いたものだからこそ背景色とかJSでいじりたいのでは?

>>96
var tds = document.getElementById("a").getElementsByTagName("td");
あとはfor()でtdsを回していけばいいかと。

99 :Name_Not_Found:2011/07/24(日) 09:11:03.39 ID:???
>>97>>98
ありがとうございます!
そこでTagNameとは思いつきませんでした

100 :Name_Not_Found:2011/07/24(日) 09:11:42.74 ID:???
document.getElementById('a').getElementsByTagName("td")でいいじゃない

101 :think49 ◆bKk/qcAKuM :2011/07/24(日) 10:06:28.58 ID:???
>>96
CSSを切り替えるのがスマートなんじゃないでしょうか。
「document.styleSheets で #a td のスタイルを書き換える」か「#a のclass属性値を書き換えてCSSの適用対象を変更する」。後者は下記のように。

/* sample.css */
#a td { background-color: #fff; }
#a.hoge td { background-color: red; }

/* sample.js */
document.getElementById("a").className = 'hoge';

>>97
その切り口なら document.getElementById('a').tBodies[0].rows[0].cells[0] も…。

102 :Name_Not_Found:2011/07/25(月) 00:55:11.33 ID:???
javascriptでcookieいじるときにセキュリティ的に気をつけることって、どんなことがあるでしょうか?

といってもやることはajaxでsessionID入ったcookieそのままサーバ側に投げつけるか、
簡易POST的な感じでページ間でセキュリティ的に重要じゃないデータの受け渡しに使うくらいなんですが・・・

検索してもあまりヒットしないもので、困っています。
気をつけるべきはクライアント側ではなくサーバ側での処理なんでしょうか?


103 :Name_Not_Found:2011/07/25(月) 01:27:14.83 ID:???
>>102
セッションID はサーバで発行してもらうので JavaScript で制御しません。

104 :Name_Not_Found:2011/07/25(月) 02:42:06.39 ID:???
Javascriptで同サーバ内のhtmlファイルやtxtファイルの
ファイルサイズを取得したり
grepみたいに特定の文字列が含まれるか確認することは可能ですか?

105 :Name_Not_Found:2011/07/25(月) 07:52:13.41 ID:XyYr9XCo
>>104
「Javascriptで」ってのが気になるけど可能
不可能だとすると何を使うんだろ

106 :Name_Not_Found:2011/07/25(月) 08:04:05.69 ID:VwFkzos0
>>104
ダウンロードする前に、ってのは無理じゃなかろか
なんたってクライアントサイドスクリプトだから

107 :Name_Not_Found:2011/07/25(月) 15:20:41.40 ID:???
forのループ条件に以下のようにlengthを指定しない方がいいのでしょうか?

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

108 :Name_Not_Found:2011/07/25(月) 15:24:21.91 ID:???
for(var i=0, len = array.length; i<len; i++)
毎回lengthを確認してしまう。

109 :Name_Not_Found:2011/07/25(月) 15:26:03.66 ID:???
>>108
var i=0, len = array.length;
この発想はなかったです勉強になりました!
ありがとうございます!

110 :otsune:2011/07/25(月) 15:32:15.14 ID:???
>>109
そんなのでよろこんでんじゃねーよバカかお前は
とっとと消えろ
死ね
わかったか
そんな発想誰でも考えつくんだよヴォケが死ね
消えろ
ありがとうございます?なめとんのかこら

111 :Name_Not_Found:2011/07/25(月) 15:32:43.91 ID:???
なんでLL界隈は痛い連中が多いんだろうな
使用人口じゃJavaに劣るのに
馬鹿人材排出能力が高すぎる
otsune(笑)ssig33()yappo()ono-matope()horygrail()

112 :Name_Not_Found:2011/07/25(月) 15:40:33.13 ID:???
for eachのほうがいいよ

113 :Name_Not_Found:2011/07/25(月) 15:45:32.80 ID:???
夏だな

114 :Name_Not_Found:2011/07/25(月) 16:38:38.94 ID:6ldQTTYr
今日から夏休みだろ
9月までここは閉鎖な


115 :Name_Not_Found:2011/07/25(月) 16:48:14.08 ID:???
はいはい

116 :Name_Not_Found:2011/07/25(月) 16:49:38.92 ID:???
でもそんなのボトルネックになってるときだけでいいよ
可読性を優先すべき

117 :Name_Not_Found:2011/07/25(月) 17:01:05.95 ID:???
可読性優先はもっともだけど、var i=0, len = array.length; 程度なら…
まあひとそれぞれだな。

118 :Name_Not_Found:2011/07/25(月) 17:12:41.47 ID:???
そもそもforの一つ目の式でvarを使うのは可読性に優れているの?
変数宣言は関数の最初にまとめとけとかよく聞くけど
そうしてる人もforで使う変数は別にfor文にローカルじゃないのにfor文の一つ目の式で変数宣言してるの?
それとも
var i=0,len=array.length;
for(;i<len;i++;){}
みたいに外に出してるの?
var i=0はアリなのにいっしょにlengthも変数に入れるのは可読性が云々って意味がわからない
コンマ演算子が駄目なの?

119 :Name_Not_Found:2011/07/25(月) 17:14:14.36 ID:???
$POST_[test]
と$testのように変数とpostで受け取る名前って一緒にしない方が良いですか?

120 :Name_Not_Found:2011/07/25(月) 17:24:35.80 ID:???
変数の宣言はスコープが最小になるようにするでしょ。
可読性的に。

121 :Name_Not_Found:2011/07/25(月) 17:26:45.96 ID:???
俺だけかもしれないが、リクエストする時のnameは大文字にしてる
他に配列は最後に_arrayつけてる

122 :Name_Not_Found:2011/07/25(月) 17:30:04.08 ID:???
>>120
forはスコープを作らないからつまり当該forが属する関数の頭で変数iや変数lenを宣言するって主張?

123 :Name_Not_Found:2011/07/25(月) 17:33:26.92 ID:???
主張なんてないよ。どうでもいいw
ちょっと可読性って言ってみただけw

124 :Name_Not_Found:2011/07/25(月) 18:38:08.82 ID:???
>>118
それするなら
var i,length;
for (i=0,length=array.length;i < length; i++)
とかのほうが分かりやすい気が


125 :Name_Not_Found:2011/07/25(月) 18:55:29.47 ID:???
二個くらいなら何も問題ないやろ
五個とか十個とかになってから騒ぎなさい

126 :Name_Not_Found:2011/07/25(月) 19:47:46.48 ID:???
可読性指摘してるひとは i は許せるん?
許せるなら l や len もすぐ慣れると思うな

127 :Name_Not_Found:2011/07/25(月) 20:26:05.73 ID:???
>>125
騒ぐの早杉wwwww
せめて20個wwwwwwwww

128 :Name_Not_Found:2011/07/25(月) 20:28:46.93 ID:VwFkzos0
ところでなんで“i”なんでしょね?

129 :Name_Not_Found:2011/07/25(月) 20:50:42.27 ID:???
簡単じゃんそんなのindexのiに決まってんだろ、なんて思ってた時期が僕にもありました

130 :Name_Not_Found:2011/07/25(月) 20:54:27.69 ID:???
変数名が2文字しかつかえなかったころの名残だろう

131 :Name_Not_Found:2011/07/25(月) 21:07:55.37 ID:???
>>129
えっ?僕はその時期みたい

132 :Name_Not_Found:2011/07/25(月) 21:11:23.48 ID:VwFkzos0
アー、ナルほど

133 :Name_Not_Found:2011/07/25(月) 21:17:36.16 ID:???
入門用書籍のオススメ教えてください。m(____)m

134 :Name_Not_Found:2011/07/25(月) 21:36:47.66 ID:???
integerじゃないのか

135 :Name_Not_Found:2011/07/25(月) 21:38:04.39 ID:???
待てよ・・・じゃあjは・・・ゴクリ

136 :Name_Not_Found:2011/07/25(月) 21:49:19.82 ID:???
fortranでiを宣言すると整数型になるかららしいぜ

137 :Name_Not_Found:2011/07/25(月) 22:02:38.29 ID:???
>>136
その i の意味を引けば答えが出てくるんじゃない?

138 :Name_Not_Found:2011/07/25(月) 22:22:58.13 ID:XyYr9XCo
>>137
iの前にはhがあるぜ

139 :Name_Not_Found:2011/07/25(月) 23:29:41.30 ID:???
愛の前にHがある・・・それが男だ

140 :Name_Not_Found:2011/07/25(月) 23:30:54.64 ID:???
>>139
hi

141 :Name_Not_Found:2011/07/25(月) 23:53:45.49 ID:???
>>139
それ実際に言われたことあるんだがwwまさかなwwwwww

142 :Name_Not_Found:2011/07/26(火) 03:08:23.75 ID:???
Hの前にGがある・・・それが男だ

143 :Name_Not_Found:2011/07/26(火) 17:09:44.32 ID:8Y+SXTOT
JSONの扱い方がわかりません。具体的には
1)JSON型文字列の、eval()での処理とjqueryの.parseJSON();の違いがわからない
2)JSONデータの要素数の取り方がわからない
という感じです

HTMLに <div id="presetTag_json" class="displayNone">{"11":"11","26":"26"}</div> があって、
これをJSONとして処理しようと次のようにしたんですが
eval()とparseJSON()のどちらの処理も [object Object] と undefined(.length) を返します
これは、やってることは両方とも同じで、Jsonオブジェクト化は成功してて要素数の取得は失敗してるということでしょうか?

var presetTag_json = $('div#presetTag_json').text();
/*eval()での処理*/
presetTag_json_eval = eval("("+presetTag_json+")");
alert("presetTag_json_eval:"+presetTag_json_eval);
alert("presetTag_json_evalの要素数:"+presetTag_json_eval.length);
/*parseJSON()での処理*/
presetTag_json_parseJSON = $.parseJSON(presetTag_json);
alert("presetTag_json_parseJSON:"+presetTag_json_parseJSON);
alert("presetTag_json_parseJSONの要素数:"+presetTag_json_parseJSON.length);

また、最終的には以下のような形でループ処理したいのですが、要素数はどうやれば取れるんでしょうか?
for(jn=0; jn<presetTag_json.length; jn++){
alert("セット済みpresetTag_json:"+presetTag_json[jn]);
}

144 :Name_Not_Found:2011/07/26(火) 17:17:13.41 ID:8urteXyE
ArrayとObjectは違うのだよ
たとえば
["a","b","c","d"];


{ 0 : "a", 1 : "b", 2 : "c", 3 : "d" }


lengthとかのプロパティとメソッドがついたもの、みたいな感じ
Objectオブジェクトの要素の数はループ回して数える

145 :Name_Not_Found:2011/07/26(火) 18:46:58.50 ID:8Y+SXTOT
>>144
ありがとうございます.each()して処理できました

すみませんが、また疑問が出てきたんですが、$.parseJSON();でjsonオブジェクト化したデータは無理だったのに、
$.post();の結果返ってくるjsonオブジェクトは以下のように.length()で取得できました
これはなぜでしょうか? どちらもtypeofで見るとobjectなのですが

var wt = $('div#wtBox input:checked').val();
var presetTag_json = $('div#presetTag_json').text();
presetTag_json_parseJSON = $.parseJSON(presetTag_json);
alert("typeof presetTag_json_parseJSON:"+typeof presetTag_json_parseJSON); //type of はobjectを返す
alert("presetTag_json_parseJSONのlength"+presetTag_json_parseJSON.length);//undefinedを返す

$.post(
"/ajax/select.tags/",
{"workType":wt},
function(data, status){
alert("typeof .post()で取得したデータ:"+typeof data);//type of はobjectを返す
alert("data:"+data);//data:[object Object],[object Object],[object Object]… と、[object Object]を10個返す
alert("dataのlength:"+data.length);//10を返す
},
"json"
);

//PHPでの処理
$rs = $this->_db->select_tags($params['workType']);//DBからIDとTAGのセットを10件(10行分)もってくる
header('Content-type: application/json');
print json_encode($rs);

146 :Name_Not_Found:2011/07/26(火) 20:32:48.26 ID:???
>>145
全部は読んでないけど配列もオブジェクトなことは理解してる?
typeof []; // object

147 :Name_Not_Found:2011/07/26(火) 21:36:18.71 ID:???
>>145
Array判定ならisArray()
http://api.jquery.com/jQuery.isArray/

148 :Name_Not_Found:2011/07/26(火) 22:40:40.94 ID:???
【環境】windows XP,IE7
【何をしたのか】-
【エラーメッセージ】-
【期待する結果】<script>内のonclickで関数呼び出し
【サンプルコード】
<html>
<head>
<script>
function test(){
document.write("<button onclick='a()'>a</button>")
}
function a(){
document.write("a")
}
</script>
</head>
<body>
<button onclick="test()">test</button>
</body>
</html>
関数内でイベントハンドラを使用してる時点で
間違いだと思っています...代替手段をご教授願います


149 :145:2011/07/26(火) 22:45:31.87 ID:???
>>146,147
ありがとうございます
$.isArray()も使って確認したら$.queryの返り値は配列でした。
sqlクエリの返り値が多次元連想配列で戻って来て、それをjson_encode()で
jsonのオブジェクト化したものを$.query();で取得するから配列として処理できる
ってことでしょうか? (元のデータが連想配列だから)

一方で、parseJSON()した結果が配列として扱えなかったのは
parseJSON()が「JSON形式の文字列をオブジェクト化するだけで、連想配列にするわけじゃない」からって
ことですか?
この理解であってるんでしょうか?難しいですね

150 :think49 ◆bKk/qcAKuM :2011/07/26(火) 22:54:12.68 ID:???
>>149
いろいろ混乱しているようなので整理しますが…。

- JavaScript に連想配列はありません。{} はオブジェクトリテラル(ObjectLiteral)です。
- {} も [] も Object 型です。
- [] の [[Class]] は "Array" です。
- {} の [[Class]] は "Object" です。
- jQuery.isArray は [[Class]] で判定しているので jQuery.isArray([]) === true です。


151 :Name_Not_Found:2011/07/26(火) 23:02:53.98 ID:???
疑問を持つのも大切なことだけど「どこをどう理解したか」を説明するのも大切だと思うなー
勘違いから質問が生まれることもあるから

152 :Name_Not_Found:2011/07/26(火) 23:05:50.11 ID:???
>>148
関数内でイベントハンドラを書いてることよりも、そのタイミングでdocument.writeしたらクリアされない?
いいのかな

153 :Name_Not_Found:2011/07/26(火) 23:07:04.51 ID:8urteXyE
>>148
何をしたいのかがイマイチわからんのだけど
document.writeをprintやechoだと思ってるなら間違い
documentを全部書き換えちゃうから

一番基本的にやるなら

・createElementで<button>要素を作る
・addEventListenerで<button>要素にイベントリスナを設定する
・appendChildやinsertBeforeを使って、<button>要素をdocument内に配置

の三段階で

154 :153:2011/07/26(火) 23:08:12.64 ID:8urteXyE
>>153
>documentを全部書き換えちゃうから

これはちょっと大雑把すぎた気がする
無視してくださいごめんなさい

155 :think49 ◆bKk/qcAKuM :2011/07/26(火) 23:16:13.57 ID:???
>>153
その順番は IE7- でクロスページリークするのでご注意を。
document に挿入した後にイベント定義すれば回避可能です。
でなければバブリングさせて document でイベント定義。(バブリングが勧められる理由の一つ)

156 :153:2011/07/26(火) 23:17:55.01 ID:8urteXyE
かさねてすまんこ

157 :145:2011/07/26(火) 23:31:18.92 ID:???
>>150
ありがとうございます、恥ずかしながらオブジェクトリテラルって言葉も知りませんでした
全然勉強してこなかったつけがまわってきたようです
でもおかげで良さそうなページを見つけたので、じっくり最初から読んでみます
http://builder.japan.zdnet.com/script/sp_javascript-kickstart-2007/2/
もし他にもいいページをご存知でしたら教えてもらえると助かります
ありがとうございました

158 :Name_Not_Found:2011/07/26(火) 23:39:21.02 ID:???
>>155
そのパターンは、具体的に何のオブジェクトがリークすんの?

159 :Name_Not_Found:2011/07/26(火) 23:57:16.25 ID:???
>>157
本を買え、本を。
情報量が違うから。

ネット上で数百ページに及ぶ入門サイトなんてないだろ。
本なら 2冊で 1000ページくらいになるから。

もちろん、間違った本を選んではならないが。

160 :Name_Not_Found:2011/07/27(水) 00:02:21.14 ID:???
それならテンプレサイトの一番下にBooksっていうのがあるから
そこに書かれてる奴おすすめだな
まぁサイ本やらHeadFirstあたりはGoogleBooksへのリンクもはられてるし

161 :148:2011/07/27(水) 00:18:15.58 ID:???
>>153,155
ご教授ありがとうございました
アドバイスを参考にして作り直してみます

162 :145:2011/07/27(水) 00:19:03.02 ID:???
>>159,160
やっぱり本ですか
参考までにどの本が良かったですか?


163 :Name_Not_Found:2011/07/27(水) 00:20:00.70 ID:???
デラべっぴん

164 :Name_Not_Found:2011/07/27(水) 00:24:29.99 ID:???
JavaScript: The Good Parts
あたりでも読んどけ
というか
>テンプレサイトの一番下にBooksっていうのがあるから
ってあるんだからひと通り見て自分で好きなの選べよ


165 :Name_Not_Found:2011/07/27(水) 02:04:22.85 ID:???
>>163
おっさんおっさん

166 :Name_Not_Found:2011/07/27(水) 02:10:37.82 ID:???
俺も入門書のオススメ教えて欲しいわ。

167 :Name_Not_Found:2011/07/27(水) 08:02:20.72 ID:???
forとか見たいに繰り返して

繰り返し(条件式){
  if(条件式2){
実行
}
}

条件式2がトゥルーになったらループ終了みたいな感じにしたいのですが、良い関数というかそういうのありませんか?

168 :Name_Not_Found:2011/07/27(水) 08:06:38.72 ID:???
break

169 :Name_Not_Found:2011/07/27(水) 08:08:01.02 ID:???
ああ、こういう時にbreakを使うんですねありがとうございます
if(){break}ってすればトゥルーにならないかぎりスルーされますね、ありがとうございます

170 :Name_Not_Found:2011/07/27(水) 08:18:43.54 ID:???
>>158
クロスページリークでくぐってみ

171 :Name_Not_Found:2011/07/27(水) 12:23:51.87 ID:nXaVW/l6
これか
http://msdn.microsoft.com/ja-jp/library/bb250448%28v=vs.85%29.aspx


「〜リークします(キリッ」じゃねーだろ!と

172 :Name_Not_Found:2011/07/27(水) 12:39:17.23 ID:???
何がどう違うか説明すべきだろと

173 :Name_Not_Found:2011/07/27(水) 12:41:01.69 ID:???
何がどう違うか説明すべきだろと

174 :Name_Not_Found:2011/07/27(水) 20:01:56.28 ID:4loj9kVB
jqueryで、<div id="abc">abc</div>
という要素が読み込まれたときに一度実行する関数を書いたつもりなんですがダメみたいです
どこがおかしいんでしょうか?
読み込み完了を感知するのはload()じゃないんですか?
$.("#abc").load(function(){
alert();
});

175 :Name_Not_Found:2011/07/27(水) 20:04:48.25 ID:vbSbpnEj
初心者なのですが下記の様な空白のフォームテキストにjavascriptで上から番号を付与するにはどのようにしたらよろしいでしょうか?但し、連番付与ボタンを押してもページ自体の更新はせずに番号を付与したいのです。お願いします。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<title></title>
</head>
<body>
<table border="0" width="200" cellpadding="0" cellspacing="0">
<tr>
<td>
<form>みかん<input size="10" type="text" name="junban"></form>
</td>
</tr><tr>
<td> <form>なし<input size="10" type="text" name="junban"></form></td>
</tr><tr>
<td> <form>ぶどう<input size="10" type="text" name="junban"></form></td>
</tr><tr>
<td> <form>りんご<input size="10" type="text" name="junban"></form></td>
</tr><tr>
<td>
<form><input type="button" name="bangou" value="番号付与"></form>
</td>
</tr></table>
</body>
</html>


176 :Name_Not_Found:2011/07/27(水) 20:23:33.44 ID:???
>>174
onloadはimg, iframe, objectとかURL指定でデータを別のところから持ってくる奴しか機能しない。

177 :174:2011/07/27(水) 20:29:53.72 ID:???
>>176
ありがとうございます、では何を使ったらいいんでしょうか?
change()もだめでした

178 :Name_Not_Found:2011/07/27(水) 20:44:21.26 ID:???
>>177
一般的には window.onload か DOMContentLoaded を使う

179 :Name_Not_Found:2011/07/27(水) 20:47:29.19 ID:nXaVW/l6
>>177
その要素が読み込まれた直後ってのをちゃんとやろうと思ったら
<div id="abc">abc</div>
<script type="text/javascript">
alert('<div id="abc">ができたよー');
</script>

じゃないかね。

180 :Name_Not_Found:2011/07/27(水) 21:47:03.53 ID:???
var hoge = "abc";

hoge[0] = 'd';
的なことをやりたいんだけどJavaScriptだとどうやるの?

181 :Name_Not_Found:2011/07/27(水) 21:53:49.87 ID:???
hoge=hoge.replace(hoge.charAt(0),'d');

182 :Name_Not_Found:2011/07/27(水) 21:57:27.08 ID:???
重複してると先のにマッチするね。
hoge=hoge.replace(/^(.{1})./, "$1d")

183 :Name_Not_Found:2011/07/27(水) 22:15:38.29 ID:???
'd'+('abc'.slice(1))

184 :Name_Not_Found:2011/07/27(水) 23:43:48.33 ID:KrZbcMri
var str1 = 'にわにはにわにわとりがいる';
document.writeln(str1.lastindexof('わ', 5));

これって結果どうなるんですか?


185 :Name_Not_Found:2011/07/27(水) 23:55:03.57 ID:???
実行すればわかるお

186 :Name_Not_Found:2011/07/28(木) 00:04:15.77 ID:???
option1つだけを選択して複数のテキストエリアにvalueとして書き込むことはできる?
もちろん書き込むのは別々の文字で

187 :Name_Not_Found:2011/07/28(木) 00:57:16.43 ID:???
>>186
できる

188 :Name_Not_Found:2011/07/28(木) 02:58:25.89 ID:???
ブラウザの最大サイズ以上の横幅を持つ要素のwidthを取得するにはどうしたらいいでしょうか?
webkit系だとoffsetWidth,clientWidthはともにブラウザの最大サイズ以上は取得できないようです。

189 :Name_Not_Found:2011/07/28(木) 03:04:37.68 ID:???
>>188
computedstyleとっちゃだめ?

190 :Name_Not_Found:2011/07/28(木) 04:45:42.53 ID:???
<div id="test" style="width:5000px; border:1px solid red;">test</div>
<script>
alert(document.getElementById('test').offsetWidth); //5002
</script>

ブラウザの最大サイズとは?

191 :Name_Not_Found:2011/07/28(木) 08:49:08.04 ID:???
>>188
その「できないようです」を確認したコードを貼る。それが嘘なだけかと。

192 :Name_Not_Found:2011/07/28(木) 16:52:22.73 ID:VcqbpckV
http://jsdo.it/namaewokimete/bsWa/edit

jQuaryを使っていますが、IE8.7.6で動作不備が出ます。(とりあえずChromeでは問題なし)
ラジオボタンのチェックで、背景画像が変わるようにしたい。
(ここでは1枚の背景画像でbackground-positionを変えています)
ラジオボタンは後でdisplay: none;で不可視化します。
ラジオボタンの反応範囲をボタンアイコン画像と、背景画像全体にしたい。

IEで、背景画像のみの場所をクリックすると大丈夫なのに
ボタンアイコンの上をクリックすると動作しない。

原因がわかったら教えてください。
スレ違いでしたら誘導お願いします。

193 :Name_Not_Found:2011/07/28(木) 19:36:31.32 ID:TV59v/D5
<body onload="abc()";>
function abc(){
var a = document.getElementById("a").innerHTML;
var b = document.getElementById("b").innerHTML;
var c = document.getElementById("c").innerHTML;
a = parseInt(a);
b = parseInt(b);
c = parseInt(c);

if(a >= b){
document.getElementById("c").innerHTML = c + 1; }
}
aがb以上になった時にcが+1になるようにしたいのですが、htmlのonloadではなくa以上に
なったタイミングで実行される様にするにはどうしたら良いのでしょうか?


194 :192:2011/07/28(木) 20:32:32.57 ID:VcqbpckV
訂正します。

http://jsdo.it/namaewokimete/bsWa/edit
こちらにソースをアップしていますが、
IEでは背景画像のみの場所をクリックしてもダメでした。
マウスイベントの捉え方が変なような??
ボタンアイコン画像をクリックしても変化なしです。
JSの問題でなくHTMLかCSSの問題でしょうか?

195 :Name_Not_Found:2011/07/28(木) 21:35:12.07 ID:53q38CDw
>>193
aはどういう条件でかわるの?

196 :Name_Not_Found:2011/07/28(木) 22:38:05.41 ID:???
>>193
DOM の MutationEvent を使って見張ればいいんじゃないですかね。
もちろん IE は MutationEvent に対応していませんが。


197 :193:2011/07/28(木) 23:03:44.64 ID:???
>>195
aはクリックで数字が増える仕様です

198 :193:2011/07/28(木) 23:34:50.05 ID:???
>>196
ちょっとググってきます

199 :Name_Not_Found:2011/07/28(木) 23:35:39.23 ID:???
>>197
なら、そのクリックしたタイミングでabc()も実行しとけばいいんじゃないの?

200 :193:2011/07/28(木) 23:49:44.62 ID:???
>>199
やっぱりそうなっちゃいますよね。

201 :Name_Not_Found:2011/07/28(木) 23:53:05.84 ID:???
なんじゃそりゃ

202 :Name_Not_Found:2011/07/29(金) 01:03:15.49 ID:???
>>192
それ編集用ページじゃないの
ログイン画面になるよ

203 :Name_Not_Found:2011/07/29(金) 08:54:12.54 ID:???
>>196
それは確か削除予定のイベントじゃなかったっけ?

204 :192:2011/07/29(金) 09:48:55.73 ID:B3HlHot0
>>202
すみません。間違えていました。
http://jsdo.it/namaewokimete/bsWa です。

jsの問題じゃありませんでした。
jsを削ってもIEだとラジオボタンのlabel範囲の認識が変です。
cssの問題なのかhtmlの問題なのかも分からないので
初心者質問スレに移動します。失礼しました。

205 :Name_Not_Found:2011/07/29(金) 13:52:45.76 ID:???
初心者質問も別にここでかまわんよ

しかしJavascriptも今じゃHTMLとCSSと同じぐらい必須なものになってるよなぁ
一昔前なんて「URL踏む時はJavascriptはオフにしとけ」なーんて言われてたのに

206 :Name_Not_Found:2011/07/29(金) 15:21:49.98 ID:???
グーグル見てるとすげーなと思う
処理が軽くなってCSS3も普及すればもっと遊べそう

207 :Name_Not_Found:2011/07/29(金) 15:25:39.88 ID:???
開発者はついていくのが大変で困りもんだけどな

208 :Name_Not_Found:2011/07/29(金) 15:39:44.39 ID:???
HTML5は完全に普及したけど
VISTA、7のデフォのIE8で対応してなかったから
あと10年はかかるかもしんないけど、VISTAと7のサービスからして

209 :192:2011/07/29(金) 15:44:06.99 ID:???
初心者質問スレで教えてもらったのですが
IEでlabel内に画像を入れると動作しないのはIE特有のバグらしいです。
バグを回避する方法を紹介したサイトがあったので↓
http://www.programming-magic.com/20080116231426/
その通りにしてみたらできました。

が、jQueryでラジオボタンのチェックに連動して背景が変わる動作と組み合わせると
IE以外のブラウザでもjQueryが効きません。

どうしたらいいでしょうか?

●jQueryだけを効かせたバージョン(IEで動作せず)
http://jsdo.it/namaewokimete/bsWa

●IEのバグを直すjsだけを効かせたバージョン(IEのバグは直ります)
http://jsdo.it/namaewokimete/99At

●両方効かせようとしているバージョン
http://jsdo.it/namaewokimete/2aba/(全ブラウザでjQueryが動作せず)

210 :Name_Not_Found:2011/07/29(金) 16:07:42.43 ID:k2vGJ/Jh
さらっとしか見てないけど
背景画像を入れ替える件は書いてあるか?

211 :Name_Not_Found:2011/07/29(金) 16:25:24.40 ID:???
殆ど見てないけど「IEのバグを直すjs」をjqueryベースに書きなおす

212 :Name_Not_Found:2011/07/29(金) 16:38:31.37 ID:???
>>209
これでどう?

http://jsfiddle.net/64RxC/

213 :192=209:2011/07/29(金) 17:01:05.33 ID:???
>>212
ありがとうございます! これで実装してみます。感謝!!

>>210
最初は背景画像入れ替えるつもりで書いていましたが
質問用にもっとシンプルにしようと思って背景色を変えるようにしていました。

214 :Name_Not_Found:2011/07/29(金) 17:23:13.95 ID:???
innerHTMLで

var color="#FF0000";
"<td style=\"background:\"#"+color+";\"></td>";
とやっても背景が変わらないのですが
何が原因なのかよくわからないです

215 :Name_Not_Found:2011/07/29(金) 17:25:24.00 ID:???
\"background:\"
この最後の\"はなんなんだ

216 :Name_Not_Found:2011/07/30(土) 05:43:23.46 ID:???
>>214
"<td style=\"background:"+color+";></td>";

217 :Name_Not_Found:2011/07/30(土) 11:39:59.70 ID:???
>>216
それも間違ってるが。為にならないので自分で考えさせろよ

218 :Name_Not_Found:2011/07/30(土) 11:52:37.17 ID:???
Literals - MDN Docs
https://developer.mozilla.org/ja/Core_JavaScript_1.5_Guide/Literals#.E6.96.87.E5.AD.97.E5.88.97.E3.83.AA.E3.83.86.E3.83.A9.E3.83.AB

219 :Perl忍者:2011/07/30(土) 14:03:31.86 ID:???
わかりません
教えてください
どういう理由かわからないです
回答まってます

220 :Name_Not_Found:2011/07/30(土) 14:18:18.66 ID:???
> (3) メール欄は空欄を推奨。2回目の投稿時は前回のレス番を名前にすることを強く推奨します。


221 :Name_Not_Found:2011/07/30(土) 14:22:26.03 ID:???
Perl忍者に絡んでる人初めて見た

222 :Name_Not_Found:2011/07/30(土) 14:23:54.79 ID:???
あくまで推奨だから、強要する必要はない。
ついでに言えば忍者なんてほっとけ。

223 :Name_Not_Found:2011/07/30(土) 15:12:52.97 ID:???
誰も強要してないし(この流れは二回目か)

224 :Name_Not_Found:2011/07/30(土) 15:32:48.07 ID:???
だったら態々
>メール欄は空欄を推奨。2回目の投稿時は前回のレス番を名前にすることを強く推奨します。
これだけのレスを出す必要は無いだろ。


225 :Name_Not_Found:2011/07/30(土) 15:52:06.49 ID:???
テンプレ下手にいじるからやなw

226 :Name_Not_Found:2011/07/30(土) 15:55:10.41 ID:???
Perl忍者 というのが何についての回答を待ってるのかさっぱり分からんな

227 :Name_Not_Found:2011/07/30(土) 16:02:31.57 ID:???
テンプレ引用しただけで強要とかさすがに被害妄想だろ

228 :Name_Not_Found:2011/07/30(土) 16:07:29.71 ID:???
引用部を読んで欲しいんだろう
それぐらい構わないと思うが

229 :Name_Not_Found:2011/07/30(土) 16:09:15.11 ID:???
>>203
これか
http://www.w3.org/TR/DOM-Level-3-Events/#events-mutationevents

230 :Name_Not_Found:2011/07/30(土) 16:14:02.78 ID:???
>>227
あくまで推奨であって、必ずしもルールに従う必要はないんだから引用するのも筋違いってもんだ

231 :Name_Not_Found:2011/07/30(土) 16:14:42.76 ID:???
MutationEvent の代わりになるものはありますか?

232 :Name_Not_Found:2011/07/30(土) 16:16:23.22 ID:???
>>230
「推奨=しなくていい」ではないんだから、そのルールに賛同して他人に推奨するのは自由だろう
推奨しないのも自由だが、推奨する人を制限する理由にはならない

233 :Name_Not_Found:2011/07/30(土) 16:23:39.46 ID:???
DOMAttrModifiedとかDOMNodeInsertedとか
なくなると困る

234 :Name_Not_Found:2011/07/30(土) 16:23:41.92 ID:???
>>232
推奨=するもしないも自由
だからしなくてもいいもOKだろ?

推奨するのも勝手だけど推奨事項を守らない人に
推奨事項のみを記述スルレスは高圧的に捉えられかねないからよろしくない

そもそも前スレで持ち越しとなっていたものを
テンプレに加えたのが間違いだろ


235 :Name_Not_Found:2011/07/30(土) 16:24:36.63 ID:???
>>231,233
まだ代替手段すらないので
削除されるの自体まだまだ先だろうって見解が多いらしいよ

236 :Name_Not_Found:2011/07/30(土) 16:33:56.28 ID:???
>>234
明確に違うんだけどなー

1. 〜しても良い(MAY)
2. 〜すべきである(SHOULD)
3. 〜しなくても良い(MAY NOT)
4. 〜すべきではない(SHOULD NOT)
5. 〜してはならない(MUST NOT)

「〜すべき」を「推奨してはならない」に置き換えているように見える
そこまで強い否定に発展する意味がわからないよ

237 :Name_Not_Found:2011/07/30(土) 16:37:07.66 ID:???
> 推奨事項のみを記述スルレスは高圧的に捉えられかねないからよろしくない
そういうことか
確かに高圧的に捉えられかねない、は理解できる

238 :Name_Not_Found:2011/07/30(土) 16:41:27.38 ID:???
PHPスレみたいな流れになってきたな・・・

>>236
>>220みたいなやつが挑発じゃなくてなんだというんだよアホか

239 :Name_Not_Found:2011/07/30(土) 16:43:44.28 ID:???
今まで特に問題なくやってこられたのになぁ
保守的なわけじゃないけど、余計なことはしなくていいんだよ本当に

240 :Name_Not_Found:2011/07/30(土) 16:44:32.53 ID:???
PHPスレよりは理性的だと思うな
冷静に対処しようぜ

>>236
RFC2119かw

241 :Name_Not_Found:2011/07/30(土) 16:52:38.44 ID:???
>>234
話がズレてるのでは?

Perl忍者の質問の意図は全く分からないから、
せめて推奨事項レベルぐらいの事はしないと回答は不可能だぞ

という問題なのではないかと。

242 :Name_Not_Found:2011/07/30(土) 16:54:26.37 ID:???
NG推奨ワード:忍者


243 :Name_Not_Found:2011/07/30(土) 16:56:22.65 ID:???
>>234
気持ちはわかるが、君も大分高圧的になってるからクールになれ

244 :231:2011/07/30(土) 17:09:31.65 ID:???
>>235
当分は MutationEvent でしのぐか、呼び出し側で工夫するしかないようですね。
ありがとうございました。

245 :Name_Not_Found:2011/07/30(土) 18:45:52.76 ID:???
setIntervalで監視すれ

246 :231:2011/07/30(土) 19:13:02.76 ID:???
>>245
アドバイスありがとうございます。
setInterval は負荷がかかりそうなので止めておきます…。

247 :Name_Not_Found:2011/07/30(土) 19:18:28.95 ID:QOy4u2lY
jqueryのreplaceWithについて質問させてください

特定のdiv#hogeに含まれている<textarea></textarea>を、任意の<textarea>で置き換えたいのですが
$('#hoge textarea').replaceWith('<textarea name="hoho"></textarea>');
以上のようにしたところ
<textarea name="hoho"></textarea>が該当箇所に2つ出来てしまいました

なぜでしょうか、対処法や原因など良ければ教えてください。よろしくお願いします
(2つ目を削除すればいいかと思いましたが、そんな対処法で問題ないのか不安で…)

OS:mac10.5.6
ブラウザ:chrome12.0.742.122

248 :Name_Not_Found:2011/07/30(土) 19:29:26.77 ID:???
>>247
WindowsXP+Chrome12だが、再現できない
http://jsfiddle.net/ruFhP/

249 :Name_Not_Found:2011/07/30(土) 21:09:03.15 ID:???
Ubuntu11.04+Chrome12.0.742.124でも再現せんな

250 :Name_Not_Found:2011/07/30(土) 21:11:43.60 ID:???
>>248,249
うーん、本当ですか。なんでなんだろう
わからん。もう少しテストしてみます、ありがとうございました

251 :Name_Not_Found:2011/07/30(土) 23:00:35.59 ID:???
漏れも。テンプレ>>1 のレス番のとこ(3)、「強く」はよけいだと思う。
高圧的な印象になっちゃう。次は「強く」を削除して欲しいな。他の方のご意見はいかが。

252 :Name_Not_Found:2011/07/30(土) 23:03:02.51 ID:???
>>251
では、Perl忍者のような質問 >>219 へは毎回どう答えればいいの?

253 :Name_Not_Found:2011/07/30(土) 23:56:26.39 ID:???
どの質問か分からないのでID出すか名前にレス番入れてください。

254 :Name_Not_Found:2011/07/31(日) 00:24:01.26 ID:???
質問者や話の流れがわかりにくかったら無理に回答せずスルーすればいい
そしたら質問者も回答を得たいがために、騙り防止のために、自ずとid出したり名前欄にレス番入れたりするでしょう
そういうことしない質問が気に食わないならスルーすればおk
でいいと思うけど

255 :Name_Not_Found:2011/07/31(日) 00:26:43.92 ID:???
>>254
一理あるけど、テンプレに入れることで守ってくれる人もいるからね…

256 :Name_Not_Found:2011/07/31(日) 00:27:37.22 ID:???
答えたいんじゃなくて煽りたいんだよ
言わせんな恥ずかしい

257 :Name_Not_Found:2011/07/31(日) 00:43:57.61 ID:???
俺は回答するために引用だけすることもあるけど煽りと思われてるのか
URLだけ貼るのも煽りと思われるのかね

258 :Name_Not_Found:2011/07/31(日) 00:46:54.61 ID:???
>>251
>メール欄は空欄を推奨。2回目の投稿時は前回のレス番を名前にすることを強く推奨します。
この一文が丸々余分だと思う。

>長い間連続して質問する場合にレス番を名前にしてあれば、質問の流れが回答者に伝わりやすくなります。

これだけで十分だと思う。

259 :Name_Not_Found:2011/07/31(日) 00:49:26.04 ID:???
>>258
それもいいな。
「メール欄を空欄にすれば騙りを防止できます。」を付け加えるといいかも。

260 :Name_Not_Found:2011/07/31(日) 00:50:12.01 ID:???
自分の言葉を添えないのは煽りというか自分に自信がないという印象
何か言われると俺の意見じゃねーしとかそういう意味じゃねーしとか返ってくるケースが多い

261 :Name_Not_Found:2011/07/31(日) 00:50:34.23 ID:???
俺も、回答するために1の引用だけすることはよくある。
わざわざ何回も同じような文章打つのは嫌だし


262 :Name_Not_Found:2011/07/31(日) 00:53:53.81 ID:???
>>220に苛立つ気持ちも理解できないわけじゃないが、煽りではない人もいることも理解して欲しいな

263 :Name_Not_Found:2011/07/31(日) 01:02:29.51 ID:t8xq6zef
コンストラクタをapplyする方法ってある?Dateクラスなどを初期化したい。

264 :Name_Not_Found:2011/07/31(日) 01:38:17.19 ID:???
>>263
Function#bind

265 :263:2011/07/31(日) 03:10:16.87 ID:t8xq6zef
>>264
coreJSだけで実装したい。__proto__とかbindとかを使わない方法ではやっぱり出来ないかな。。

266 :Name_Not_Found:2011/07/31(日) 04:10:31.97 ID:???
>>265
Function#bind は ES5 規定だよ

267 :think49 ◆bKk/qcAKuM :2011/07/31(日) 12:08:07.54 ID:???
>>263,265
Function#bind の方が汎用性はあると思いますが、Date.apply(new Date, [2011, 7, 31, 12, 5]); とか。

268 :Name_Not_Found:2011/07/31(日) 13:15:42.71 ID:qZBb03pR
CoreJSってどういう範囲を指すのでしょう?
ECMAScriptはCoreJSですか?

269 :think49 ◆bKk/qcAKuM :2011/07/31(日) 14:15:52.33 ID:???
ごめんなさい。>>267は期待通りに動作しないので無視してください。
やはり、Function#bind を利用する必要がありそうですね。
http://jsfiddle.net/T2jcy/4/

270 :263:2011/07/31(日) 19:30:30.77 ID:t8xq6zef
すまん。大方のブラウザで実装されているES3で実装したい。
俺も色々試したが、bindがネイティブで実装されてないと無理っぽい。

271 :Perl忍者:2011/07/31(日) 19:36:17.71 ID:???
自己解決しました
ありがとうございました
できました
また次回聞きます

272 :Perl忍者:2011/07/31(日) 19:42:47.72 ID:???
早く死ね
死ねよ?おい
ぶっ すぞ
死ね
いい加減にしろ
バカにしてるのか?名誉毀損だな

273 :Name_Not_Found:2011/07/31(日) 20:07:26.69 ID:???
この世の中に、墜落したものがいる 努力をしても這い上がれなかった者
彼は本能のままに生き「金くれ」という言葉を残し不気味な笑いを浮かべている
それは狂ったように、まとわりつく様 まさに餓鬼状態の人間が食糧を必死に求める無残な様

それがssig33と呼ばれいてる
ある者は、人間のクズというが またある者はこの世のものではない、人間でもない存在がない物体という者がいる

彼の恐ろしさはその姿だけではなく、その性格 ネットストーカー的な粘着性
予告も無くRubykaigiなどSNSに現れ、われわれ国民に罵声を浴びせ恐怖のどん底不安の渦に巻きいれるというキチガイ

「あの腐った存在 負け犬の象徴だ」



274 :Name_Not_Found:2011/07/31(日) 20:41:03.41 ID:???
Ruby関連の変な子とかどうでもいいから。

275 :think49 ◆bKk/qcAKuM :2011/07/31(日) 20:53:05.50 ID:???
>>270
中途半端で良ければ、ES3 まで実装しているブラウザでも Function#bind を定義できますね…。
http://d.hatena.ne.jp/Constellation/20110113/1294846327

276 :Name_Not_Found:2011/08/01(月) 00:53:50.26 ID:???
<div id="wrapper">
<span id="content">すすごく長い文すごく長い文すごく長い文すごく長い文すごく長い文すごく長い文すごく長い文すごく長い文すごく長い文ごく長い
文すごく長い文すごく長い文すごく長い文すごく長い文すごく長い文すごく長い文すごく長い文すごく長い文</span>
</div>
<script>
var wrap=document.getElementById("wrapper");
var cont=document.getElementById("content");
alert(wrap.clientWidth);
alert(cont.clientWidth);
alert(wrap.offsetWidth);
alert(cont.offsetWidth);
</script>

contentを1行で表示したときのwidthが取得したいのですが、うまくいきません。
ブラウザの幅よりもcontentが大きくて、contentが2行に渡って表示された場合は
.clientWidth、offsetWidthはどちらもブラウザの幅の値が取れてしまいます。
ブラウザの幅にかかわらず、contentが1行に収まって表示されている時と同じwidthが取得できるようにするにはどうしたらいいのでしょうか?


277 :Name_Not_Found:2011/08/01(月) 01:19:09.54 ID:???
Opera で試してみただけ。

<script>
var cont=document.getElementById("content");
var style=cont.style;
style.whiteSpace="nowrap";
var width=cont.offsetWidth;
style.whiteSpace="normal";
alert(width);
</script>

278 :Name_Not_Found:2011/08/01(月) 02:08:53.37 ID:???
>>277
webkit系のブラウザで動いて欲しかったのですが、問題なく動きました!
ありがとうございます

一瞬だけ改行しないようにして、そのときのoffsetWidthの値を取得してるってことは、offsetWidthは値渡しなんですね
offsetWidthは参照渡しかと思っていました。
あるプロパティが、値として渡されるのか、オブジェクトなどのように参照が渡されるのかって見分ける方法ってあるんでしょうか?
console.logとかalertで地道に調べていくしか方法ないですかね?

279 :Name_Not_Found:2011/08/01(月) 02:47:48.69 ID:???
String、Number、Boolean、Undefined、Null のメンバは値、
それ以外は参照。

>>277 で言えば、cont (null でなければ)、style は参照、
width は値を取得してる。

280 :Name_Not_Found:2011/08/01(月) 12:52:57.18 ID:???
洩れも >>258 に賛成だな。
煽りが気に食わないからってあれこれ言おうとすれば向こうの思うつぼ。
華麗にスルーが一番。

281 :Name_Not_Found:2011/08/01(月) 21:36:32.31 ID:EbE/4LVe
<script type="text/javascript">
function test(){
  alert('onmouseover');
}
</script>

〜中略〜

<ul onmouseover="test()">
  <li>hogehogehoge</li>
  <li>hogehogehoge</li>
  <li>hogehogehoge</li>
</ul>

UL要素にカーソルが入った時のみ、onmouseoverイベントを走らせたいのですが、
上記のように書くと、LI要素間の移動でもonmouseoverイベントが走ってしまいます。
このような場合、どのように記述すればUL要素にカーソル入った時のみイベントが走るようにできるのでしょうか?

282 :Name_Not_Found:2011/08/01(月) 22:15:39.92 ID:???
>>281
event.targetをみて処理分けかな

283 :281:2011/08/01(月) 23:34:19.90 ID:EbE/4LVe
>>282
現在は、event.relatedTarget(event.fromTarget)から関数内で処理分けを行い対応しているのですが、
やはり、関数内で処理分けを行うしかないのでしょうか?

284 :Name_Not_Found:2011/08/02(火) 00:54:42.65 ID:???
<script type="text/javascript" src="http://connect.facebook.net/ja_JP/all.js#xfbml=1"></script>
<script type="text/javascript">
<!--

// 141575369223202 => ローソン(LAWSON)
// 201153059899163 => FamilyMart (ファミリーマート)

window.onload = function(){
  document.getElementById("btn").onclick = function(){
    koko.innerHTML = '<fb:name uid="201153059899163" />'
  };
};
//-->
</script>
<button id="btn">ボタン</button>
<div id="koko"><fb:name uid="141575369223202" /></div>

------------------------

FacebookのFBMLのテストです。
<fb:name uid="141575369223202" />の部分が、all.jsによって展開されて、
「ローソン(LAWSON)」が出現します。
そして、ボタンを押すと「ローソン(LAWSON)」の文字列が
「FamilyMart (ファミリーマート)」に変化してくれることを期待しているのですが、
all.jsは、ロード後に生成された<fb:〜には動いてくれないようです。
解決方法ありましたらご教授いただけませんでしょうか。

285 :Name_Not_Found:2011/08/02(火) 02:26:58.02 ID:???
innerHTMLの後にall.js内のFBMLをパースする関数を実行させねばいけないのでは
でもそれだと無駄が多いから、始めからローソンもファミリーマートも表示させて、ボタンでトグルした方が良いと思うぞ

286 :Name_Not_Found:2011/08/02(火) 12:07:44.82 ID:???
>>283
li要素の onmouseover でバブリングを止めるのはどう?

287 :Name_Not_Found:2011/08/02(火) 18:16:22.83 ID:???
ie9のcurrentStyle.colorで:vistedのcolorは取れなくなったの?

288 :Name_Not_Found:2011/08/02(火) 19:03:42.81 ID:denIp/n7
フォームからXMLHttpRequestを使わずにPOSTして画面遷移なしでレスポンスを受け取れますか?
XMLHttpRequestを使わないと無理ですか?IEに対応してなくていいので方法があれば教えてください
iframeとかでもなく

289 :Name_Not_Found:2011/08/02(火) 20:24:12.71 ID:???
koko.innerHTML = '<fb:name uid="201153059899163" />'
の後に
FB.XFBML.parse(document.getElementById("koko"));

でおk。

290 :Name_Not_Found:2011/08/02(火) 20:30:05.06 ID:1eF5kTug
youtubeを放置していたらjavascriptが無効ですと表示されつつ
本来動画が表示されるところにに!マークみたいなのが出てました。
インターネットオプションで確認しても有効になってるんですが
何が原因なんでしょうか?放置していただけなのでわかりません。

291 :281:2011/08/02(火) 20:41:34.14 ID:Qms0lwQG
>>286
その方法ですと、私の記述が誤っているのかもしれませんが、
LI要素間の移動でイベントが走ってしまわないでしょうか?

292 :Name_Not_Found:2011/08/02(火) 21:36:01.40 ID:???
>>290
フラッシュプレイヤーがクラッシュしただけやろう

293 :akiyan:2011/08/02(火) 21:41:00.67 ID:???
javascriptをやっているのですが
例外の探すコツってありますか?
いちいち、例外を探すのが大変です
この処理だったらこの例外がくると、すぐわかる方法しりませんか?
教えてください

294 :Name_Not_Found:2011/08/02(火) 22:05:25.00 ID:???
服を脱ぐと感性が鋭くなるyo!

295 :Name_Not_Found:2011/08/02(火) 23:04:20.73 ID:???
>>291
li要素にmarginがあればul要素に触れるんじゃないかな

296 :Name_Not_Found:2011/08/02(火) 23:06:46.31 ID:???
>>293
何の例外で困ってるのか知らないけど使用している機能の仕様を読めばいいんじゃない?

297 :Name_Not_Found:2011/08/02(火) 23:09:53.53 ID:???
>>288
受け取る以上、結果はどこかに出さなければならないから。targetで別窓を指定して
そこに出させるとかもやりたくないわけね?「うんこを出さずに排便したい」みたいな
要求だな。

298 :Name_Not_Found:2011/08/02(火) 23:12:16.57 ID:???
>>288
よく知らないけど web socket でくぐってみるといいかもね

299 :Name_Not_Found:2011/08/03(水) 02:12:40.62 ID:???
>>297
お前は朝鮮人か。
読点の位置が間違ってるぞ。
岡崎洋三 『日本語とテンの打ち方』 を読め。

300 :Name_Not_Found:2011/08/03(水) 08:31:30.34 ID:???
jqueryの「yuga.js」を使ったロールオーバーボタンがカーソルを近づけると、カーソルが(指先カーソルに変わったところで)チラチラと点滅状態になります。
ローカルで動作確認する分には全く問題ないのですが。
直下にもう一つ同じ仕様のロールオーバーを設置してあるのが原因でしょうか?
回避法として試してみるべき事がありましたらご教示願います。

301 :Name_Not_Found:2011/08/03(水) 08:58:38.03 ID:???
>>300
再現可能なサンプルコードを出してください
http://jsbin.com/ http://jsfiddle.net/

302 :Name_Not_Found:2011/08/03(水) 09:06:10.22 ID:Ow7JMSNO
配列に格納する文字列の上限とかってあるのでしょうか?
hoge[0] = 50KBぐらいの文字列
hoge[1] = 10KBぐらいの文字列
hoge[2] = 30KBぐらいの文字列
とやってるのですがココに何か原因がありそうで

303 :Name_Not_Found:2011/08/03(水) 09:29:55.64 ID:???
>>302
ECMAScript仕様上は制限はなかったと思うけど、何のブラウザでどんな不具合が起きてるの?

304 :Name_Not_Found:2011/08/03(水) 09:35:05.83 ID:Ow7JMSNO
IE9です

305 :Name_Not_Found:2011/08/03(水) 09:42:32.33 ID:???
>>304
不具合の詳細は?エラーメッセージとか描画が崩れるとか何かしらあると思うけど
メモリは足りてるか、も調べるポイントだと思う

306 :Name_Not_Found:2011/08/03(水) 09:44:48.49 ID:Ow7JMSNO
あっ、メモリ考えてませんでした
調べてきまんす、どうも

307 :Name_Not_Found:2011/08/03(水) 10:14:23.00 ID:???
>>291
http://jsfiddle.net/bKEfQ/2/

>>302
> ココに何か原因がありそうで
ココを削ったら再現しなくなるのかどうか
結局、不具合の詳細は何だったのか

308 :Name_Not_Found:2011/08/03(水) 10:22:46.84 ID:???
新しいウィンドウを開くとき

target="_BLANK"

でやると、ローカルサーバで実行したときは完全なウィンドウの複製(というか別タブ)が開くのですが、
リモートサーバー上にあげてから実行すると、ポップアップウィンドウ(メニューバーなし、ステータスバーなし)が
開こうとしてGoogle Chrome の警告が出てしまいます。
確実に別タブ(ブラウザによっては別ウィンドウ)で開かせたい時はどうすればいいのでしょう?



309 :Name_Not_Found:2011/08/03(水) 10:48:01.33 ID:???
>>308
<a href="http://example.com/" target="_blank"> ならポップアップブロックは働かないはず
ユーザからのアクションに反応する形ならブロックされない

310 :Name_Not_Found:2011/08/03(水) 11:07:11.80 ID:Ow7JMSNO
すみません、どーやらブラウザのメモリの問題だったよーです
お騒がせしました&ありがとうございます

311 :Name_Not_Found:2011/08/05(金) 14:48:33.88 ID:???
無名関数内でのthisはグローバルオブジェクトになったりしますが
"use strict"を記述してる時の無名関数内でのthisはundefinedにバインドされますよね?
この時確実にグローバルオブジェクトを取得するにはどうすればいいんでしょう・・・
windowという記述以外でお願いします

312 :Name_Not_Found:2011/08/05(金) 14:58:34.37 ID:9V9fdTxQ
質問です
javascriptで外部からタグを引っ張って
htmlファイルにhtmlタグを出力することとかってできますか?

313 :Name_Not_Found:2011/08/05(金) 15:08:15.53 ID:???
>>312
jsから外部サイトは直接読めないのでひと手間必要。
おまいのサイト.com/外部サイトからタグを引っぱってくる.php
おまいのサイト.com/上記PHPを呼んでhtmlに出力する.js
おまいのサイト.com/お望みの.html

314 :Name_Not_Found:2011/08/05(金) 15:13:30.26 ID:???
>>311
http://d.hatena.ne.jp/vividcode/20110528/1306597105

315 :Name_Not_Found:2011/08/05(金) 15:24:34.63 ID:???
マウスの左右ボタン同時押しを検出する方法ってありますか?
イベントオブジェクトの一覧見てみてもbuttonとwhichプロパティがマウスっぽいけれど
buttonは何も押してない状態と左クリックが0、真ん中が1、右クリックが2
whichは何も押してない状態と左クリックが1、真ん中が2、右クリックが3
両押しすると数字の若い方が優先された値を返すような状態で詰まってます。
アドバイスお願いします。

316 :Name_Not_Found:2011/08/05(金) 15:33:05.52 ID:9V9fdTxQ
>>313
ありがとうございます。がんばってみます。

317 :Name_Not_Found:2011/08/05(金) 15:50:28.90 ID:???
>>314
ありがとうございます


318 :Name_Not_Found:2011/08/05(金) 16:12:29.89 ID:???
>>315
完全な同時押しは人間には無理だし、機械も検知できないんじゃないかな。
左or右が押されたらフラグ立てて、フラグがたってる状態で反対側が押されたら同時押しと判定。

319 :Name_Not_Found:2011/08/05(金) 16:19:21.37 ID:???
>>318
試してないけどそれ315の仕様なら無理じゃね?

320 :Name_Not_Found:2011/08/05(金) 16:29:22.33 ID:???
onclickとoncontextmenuでダメなん?
右と左が分かれていて、クリックでイベントが起きるなら問題ないと思うけど。

321 :Name_Not_Found:2011/08/05(金) 16:32:35.99 ID:9V9fdTxQ
度々すみません312です

> おまいのサイト.com/上記PHPを呼んでhtmlに出力する.js
これやってみたけどhtmlファイルにhtmlタグは表示されませんね。
実は自動相互リンク集を作ろうと思っていて、タグを貼るだけで勝手にリンクが増えるリンク集です。

<script type="text/javascript" src="http://example.com/hoge.php?id=123"></script>
でも上記のようなタグを貼っても、一応リンクはできるけど、htmlファイルにhtmlタグが表示されないので
外部リンクとはみなされませんよね?世間に自動リンク集はたくさんあるけど、あれってどうやってるのかな。
何か上手い方法ありませんでしょうか?

322 :Name_Not_Found:2011/08/05(金) 16:42:30.15 ID:???
>>321
むしろjs使わず全部phpとかでやるべき事案な気がする

323 :Name_Not_Found:2011/08/05(金) 16:47:50.55 ID:???
>>321
あ、ちょっと勘違いしてたかも。
「いろんなユーザーさんに、それぞれのブログとかに1行のscriptタグを貼り付けてもらうと、
新しいリンクも自動で更新される便利なリンク集がulかなんかで生成される」ってことね。たぶん。
もっと詳しく書けよ。と思ったが、なにを詳しく書けばヒントになるのかもわからんレベルだなきっと。

で、「自分じゃない誰かさんのサイトにscriptタグを貼ってもらうだけで
SEOフレンドリーにhtmlファイルそのものを書き換えてくれる」って仕組みは、ムリだな。

ただ、SEOフレンドリーではないにしろ、
Googleがjs生成によるリンクを完全に無視するとも思えないので、
やらないよりは多少なりとも効果はあるのでは。

324 :Name_Not_Found:2011/08/05(金) 17:25:10.45 ID:???
>>321
SEOを意識するならJSを使わず、iframe要素を使った方がいいと思うよ。

325 :Name_Not_Found:2011/08/05(金) 17:47:43.24 ID:???
iframeも結局ぜんぶ同じurlを呼んでるだけなので、
理想的なgoogleにとってはjsと大差ないでしょう。
どっちがマシなのかは判断が難しい。

326 :Name_Not_Found:2011/08/05(金) 19:00:14.95 ID:9V9fdTxQ
>>322-325
ありがとうございます。難しいですね。出直してきます。

327 :Name_Not_Found:2011/08/05(金) 21:53:12.00 ID:???
SEO(笑)

328 :Name_Not_Found:2011/08/05(金) 21:56:19.30 ID:???
カッコ笑い判定厳しいなw

329 :Name_Not_Found:2011/08/06(土) 07:02:00.71 ID:???
>>318,319,320
なんとかそれっぽいこと実装できました。
html側では
<body onSelectStart="return false;" onContextMenu="rightclick();return false;" onMouseDown="leftclick(event);return false;" onMouseUp="mouseup(event);">
<div id="debug1"></div>
としておいて
js側ではグローバル変数にbool値を格納するisLeftPushedとisRightPushedを用意し、
function rightclick(){
if(!isLeftPushed) document.getElementById("debug1").innerHTML="right";
else document.getElementById("debug1").innerHTML="both";
isRightPushed=true;
}
function leftclick(e){
if(e.button==0){
if(!isRightPushed)document.getElementById("debug1").innerHTML="left";
else document.getElementById("debug1").innerHTML="both";
isLeftPushed=true;
}
}
function mouseup(e){
if(e.button==2) isRightPushed=false;
else isLeftPushed=false;
}
でgoogle chrome上で両押ししてる時だけbothと表示するようにできました。
onClickだと左クリック時だけ反応してくれますが放したときにイベントが発生するのでonMouseDownを使いました。
アドバイスありがとうございます。

330 :Name_Not_Found:2011/08/06(土) 12:06:29.09 ID:???
<!doctype html>
<meta charset="utf-8">
<style>
#canvas {
  width: 320px;
  height: 240px;
  background: #ccffff;
  font-size: 64px;
}
</style>
</head>
<body>
  <div id="canvas"></div>
</body>
<script>
(function() {
  var canvas = document.getElementById('canvas');
  var buttons = [false, false, false];
  function show() {
    canvas.textContent = buttons.map(function(b) { return b ? '○' : '×'; }).concat(buttons.filter(Boolean).length).join(' ');
  }
  function handler(event) {
    event.preventDefault();
    buttons[event.button] = event.type === 'mousedown';
    show();
  }
  canvas.addEventListener('mousedown', handler, true);
  document.addEventListener('mouseup', handler, true);
  show();
})();
</script>

331 :Name_Not_Found:2011/08/06(土) 12:31:52.70 ID:???
どうでもいいけどdoctypeとかmetaとか丁寧に書いてるのに
headの開始タグがなかったりstyleとscriptの必須属性がなかったりmetaとscriptが変なところにあったりちぐはぐしてて違和感

332 :Name_Not_Found:2011/08/06(土) 13:14:29.99 ID:???
>>331
doctype宣言見れば分かるけど、html5だからそれでいいんだよ
styleとscript要素の属性は初期値がそれぞれ text/css, text/javascriptになってるから、
省略して構わないし、head, body要素はおろかhtml要素さえも省略できる
あとXHTMLの /> で終わらせる最小化表記が混在していてもよい

<meta charset=utf-8 />
<title>Untitled</title>
Hello World

つまりこういうのでもおk

333 :Name_Not_Found:2011/08/06(土) 13:22:02.65 ID:???
</head>は必要?bodyの開始タグがあればそこでheadが終わると判断されるんじゃないっけ

334 :Name_Not_Found:2011/08/06(土) 13:26:40.90 ID:???
>>332
そのコードも>>330のコードもエラーが出るんだが
http://validator.w3.org/

335 :Name_Not_Found:2011/08/06(土) 14:22:22.03 ID:???
>>334
HTML5選んで>>332のコード貼り付けたらエラーでなかったよ

336 :think49 ◆bKk/qcAKuM :2011/08/06(土) 14:28:59.89 ID:???
>>330はtitle要素が抜けているため。</head> はエラーではないようですが無視されるので無意味ですね。
>>332はDOCTYPE宣言が抜けていて HTML5 と機械的に判定できないため。HTML5はDOCTYPE宣言を省略していいことになっていますが、DOCTYPEスイッチの関係で省略する事は現実的ではないかも。
あと、終了タグを / で閉じていますが属性値をクオートで括ってないのでXMLと互換性がないです。

337 :Name_Not_Found:2011/08/06(土) 14:51:50.39 ID:???
http://jsfiddle.net/akJ5C/1/
http://validator.whatwg.org/

338 :Name_Not_Found:2011/08/06(土) 19:02:17.11 ID:???
type属性を指定しなかったら初期値になるって草案だけど
何で「リンク先のContent-Typeに従う」にならなかったんだろう
同じことを2か所で指定するのって保守性が下がると思う

339 :Name_Not_Found:2011/08/06(土) 19:23:58.43 ID:???
>>338
<script type="text/vbscript"> と Content-Type: text/javascript がある時は Content-Type ヘッダが優先されると思ってた

340 :Name_Not_Found:2011/08/06(土) 19:32:54.38 ID:???
仕様上は、type属性って包括されるスクリプトコードのみに対する指定なんかな?
IEはtype属性優先っぽい? まあIEはMIMEタイプ無視したりするからよくわからんけど

341 :Name_Not_Found:2011/08/06(土) 20:41:00.49 ID:???
質問です。
http://jsdo.it/umaa/mMon
↑を実行しても動かないのはわかっています。
要は選択肢(option)から複数のtextに選択肢ごとに違う数字を入力させたいのですが、
似たようなスクリプトで書けれるのであればご教授お願いします。

342 :Name_Not_Found:2011/08/06(土) 21:31:06.19 ID:???
>>340
外部スクリプトを含むかは曖昧だけど優先順位が明確でない気がする
HTTP1.1 と HTML5 で規定が衝突する場合はどうなるんだろう

343 :Name_Not_Found:2011/08/07(日) 00:19:51.32 ID:???
>>341
「書けれる」はないわ。

344 :Name_Not_Found:2011/08/07(日) 01:40:35.88 ID:???
if以降をt内に入れりゃいいんじゃね
独自拡張だらけで動くか知らんけど

345 :Name_Not_Found:2011/08/07(日) 05:36:03.72 ID:???
ボタンを押したら、文字などはそのままで背景画像だけ変えるにはどうすればいいですか?

346 :Name_Not_Found:2011/08/07(日) 09:17:39.09 ID:???
>>345
node.style.backgroundImage

347 :Name_Not_Found:2011/08/07(日) 10:44:25.59 ID:???
onMouseOver/Outのバブリングで悩んでます、どなたかアドバイスお願いします。

http://www.ps4.jp/up/rec21/src/wwwps4jp11332.jpg

この外枠のところでonMouseOverでjsを読み込んで子要素をアニメーションさせているのですが、子要素をポインタが移動する度にルートにバブリングされonMouseOver/Outが呼び出されてしまい何度もFunctionを呼び出してしまいます。
外枠のところだけでonMouseOver/Outを動作させたいんですが私にもわかる簡単な方法はないでしょうか・・・orz

348 :Name_Not_Found:2011/08/07(日) 11:30:09.66 ID:???
function f() { ... }

f = function() { ... }
は、{ ... } の中が完全に一致すれば、挙動も完全に一致しますか?


349 :Name_Not_Found:2011/08/07(日) 11:41:13.49 ID:???
function f(){}  ==  window.f = function(){}

厳密には多少違うのかもしれないが等価と思っていい

350 :Name_Not_Found:2011/08/07(日) 12:02:05.79 ID:???
>>348
https://twitter.com/uupaa/status/66180536065990658
ここで言う匿名関数は「f = function() { ... }」を指す
なので、「f = function f() { ... }」の方がより良いのかも

351 :think49 ◆bKk/qcAKuM :2011/08/07(日) 12:40:01.94 ID:???
>>348
Function#name と Function#toString の値が異なります。
関数宣言はいわゆる巻き戻しが発生しますが、関数式は巻き戻しが発生しません。(IE8- の名前付き関数式は例外)

>>350
名前付き関数式は IE8- にバグがあるので挙動を理解しているの出なければお勧めはしないです。IE8- では関数宣言と無名関数式が同時に定義されたかのように振る舞います。
巻き戻しを嫌うのでしたら関数式ですが、IE8- を考慮するなら名前付き関数式を使えないので無名関数式一択ですね。
http://d.hatena.ne.jp/think49/20110521/1305959222


352 :Name_Not_Found:2011/08/07(日) 12:43:11.76 ID:???
> 関数宣言はいわゆる巻き戻しが発生しますが、関数式は巻き戻しが発生しません。(IE8- の名前付き関数式は例外)
へー、そうだったのか
早くIE9普及しないかな、windows8からはデフォがIE9になるんだべ

353 :Name_Not_Found:2011/08/07(日) 12:56:07.90 ID:???
>>351
その文脈における「巻き戻し」というのはスコープに入った時、関数としてアクセスできるかって事?
関数式の場合は「var」で変数宣言すればローカル変数になってるから変数自体にはアクセスできるけど
スコープに入った直後は「undefined」だから、関数が代入されるまで関数としてアクセスできない、ってことかな?

354 :Name_Not_Found:2011/08/07(日) 12:56:08.86 ID:???
IE8はXPが残る限り残るだろ

355 :Name_Not_Found:2011/08/07(日) 12:58:27.49 ID:???
IEってIE9からやっと他のに追いついたって感じなんだよなぁ
IE8でHTML5とかに対応させなかったのが痛い

356 :think49 ◆bKk/qcAKuM :2011/08/07(日) 13:20:23.22 ID:???
>>353
ごめんなさい。「巻き戻し」は紛らわしかったですね…。

> その文脈における「巻き戻し」というのはスコープに入った時、関数としてアクセスできるかって事?
仰る通りです。正確には ES3 の「変数の実体化」の話で実体化されるタイミングが異なることを伝えたかったんです。
# 「変数の実体化」は通りが良くないだろうと思い、あえて「巻き戻し」としましたが、かえって誤解を生む表現でした。
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/10_Execution_Contexts.html#section-10.1.3

・関数宣言では関数呼び出し時に関数オブジェクトを実体化します。
・関数式を VariableStatement とセットで使うと関数呼び出し時に undefined で実体化。VariableStatement のステップで関数オブジェクトに初期化します。
・名前付き関数式の名前はその関数内でのみ使用できる特別な名前になります。(本来は関数宣言の名前とは別ですが、IE8- は関数宣言と同じように振る舞います。)

foo();  // undefined なので TypeError
piyo(); // 変数の実体化されていないので ReferenceError (IE8- は関数宣言と同じように振る舞うので参照できてしまう)
var foo = function piyo () {
 alert(piyo); // この関数内では piyo の名前で参照できる (IE8- は関数宣言で実体化されているので参照できる)
};
foo();  // 関数呼び出しできる

357 :think49 ◆bKk/qcAKuM :2011/08/07(日) 13:24:20.43 ID:???
>>356
× ・関数宣言では関数呼び出し時に関数オブジェクトを実体化します。
○ ・関数宣言では上位スコープの関数呼び出し時に関数オブジェクトを実体化します。 (グローバルコードならスクリプトコードがパースされた段階で実体化します)

正確に伝えるのって難しい…。


358 :Name_Not_Found:2011/08/07(日) 13:33:52.13 ID:???
巻き戻し(Hoisting)はここがわかりやすいかも
http://efcl.info/adiary/JavaScriptPatterns/Chapter4Functions


359 :Name_Not_Found:2011/08/07(日) 13:45:32.47 ID:???
>>357
丁寧に返答してくれてありがとう
この辺りは厳密に理解するのが難しいわ…

360 :Name_Not_Found:2011/08/07(日) 14:23:58.06 ID:???
>>357
関数宣言は宣言されてる文脈(実行コンテキスト)進入時点で実体化されてるしょ。
呼び出しとかグローバルコードとか関係なく。

361 :think49 ◆bKk/qcAKuM :2011/08/07(日) 14:41:37.10 ID:???
私が読み間違えているのかもしれませんが、関数コードは実行コンテキストに入るために関数呼び出しが必要と認識していました。
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/13_Function_Definition.html#section-13.2.1

function hoge () {
 piyo();
 function piyo () { alert('piyo'); } // hoge が [[Call]] された時に実行コンテキストを設置して piyo が実体化される
}
hoge();

> http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/10_Execution_Contexts.html#section-10.1.3
"意味論的に、このステップは FormalParameterList プロパティの生成に続かなければならない。" とあるので [[Call]] の後だろうと解釈したのですが…、解釈の仕方を間違えているのでしょうか?


362 :Name_Not_Found:2011/08/07(日) 14:48:47.37 ID:???
>>355
HTML5はまだ草案だからいいけど、XHTMLとかDOM2とかにまともに対応してないのが面倒くさい

363 :Name_Not_Found:2011/08/07(日) 15:16:41.50 ID:???
>>361
「上位スコープの関数呼び出し時」 = 「宣言されてる文脈(実行コンテキスト)進入時」

てことか。スマソ

364 :Name_Not_Found:2011/08/07(日) 15:34:00.35 ID:???
「巻き上げ」とちゃうの?

365 :think49 ◆bKk/qcAKuM :2011/08/07(日) 17:57:49.31 ID:???
>>364
変数宣言による巻き上げはよく見ますが、関数宣言の巻き上げは見覚えがなかったので>>353で指摘されて「間違えちゃったか」と脊髄反射レスしてました。
(ECMAScript 仕様にない造語なので確かめにくくて…って言い訳かな)

『JavaScript パターン』(P63) に「4.1.4 関数の巻き上げ」がありました。どうやらどちらも巻き上げで問題なかったようです。
>>361に近いコードが 4.1.2 で触れられていますね。

366 :think49 ◆bKk/qcAKuM :2011/08/07(日) 18:02:00.33 ID:???
…って、「巻き上げ」と「巻き戻し」か。
ごめんなさい、素で間違えてました。

367 :Name_Not_Found:2011/08/07(日) 20:15:34.39 ID:m0Q/9/RP
特定のイベントタイプに対応しているかどうかを判断するのってどうすればいいですか?
element.addEventListener("foo", func, false);
イベントタイプ「foo」に対応しているか知りたいです

368 :Name_Not_Found:2011/08/07(日) 20:19:08.67 ID:???
>>367
DOMContentLoaded とか一部のイベントタイプは無理だけど 'onfoo' in element


369 :367:2011/08/07(日) 20:22:51.70 ID:???
すみません
> DOMContentLoaded
こういうの判断したいです・・・無理ですか

370 :Name_Not_Found:2011/08/07(日) 20:34:50.56 ID:???
>>368
Chromeだとtrue返すけどFirefoxだとfalse返す?何か間違えてるかな俺

371 :Name_Not_Found:2011/08/07(日) 20:53:28.19 ID:???
>>370
コードを書かなければ検証もできない
そのコードが正しいならFirefoxは未対応なんだろう

372 :Name_Not_Found:2011/08/07(日) 20:57:19.01 ID:???
<body>
</body>
<script>
alert("onload" in window);
alert("onclick" in document.documentElement);
alert("onclick" in document.body);
</script>
こんなんだけど

373 :think49 ◆bKk/qcAKuM :2011/08/07(日) 21:21:58.38 ID:???
>>369
意図的に該当イベントが発火するようにコーディングして、発火タイミングで Event#isTrusted を見るぐらいでしょうか。
Event#isTrusted は Firefox4 しか対応していませんが…。
http://jsfiddle.net/vW7Rk/

374 :367:2011/08/07(日) 21:34:41.63 ID:???
必要になる前に一度イベントを発生させて
イベントリスナーが反応するか試す
みたいな感じですか
ふーちゃーでてくしょんみたいな方法があるのかなと思ってました
ありがとうございます

375 :think49 ◆bKk/qcAKuM :2011/08/07(日) 22:48:31.49 ID:???
>>370,372
Modernizr では setAttribute を利用しているようです。isEventSupported の辺り。
http://www.modernizr.com/
http://kangax.github.com/iseventsupported/
setAttribute を持たないノードに対しては HTMLDivElement で代替したり、setAttribute で該当ノードを書き換えている点でいい手法とは思えませんが、代替手段がないので仕方ないのかな…。

376 :Name_Not_Found:2011/08/08(月) 09:44:56.08 ID:Dk/vH1PY
質問です
JavaScriptにはclassは無いとよう言われますが
alert(Document)やalert(Element)とすると[object class]と表示されます
これらは使い道を考えても、JAVAやCのようなclassでは無いものの、十分classと言って良いものなのではないでしょうか?
つまり、特殊な身分のclassではないものの、JavaScriptにもclassはありますよね?

377 :Name_Not_Found:2011/08/08(月) 09:55:24.78 ID:???
あるけど、対応してないブラウザとかあって
あまり推奨されてない
っていうか推奨されてないから対応してないブラウザがあるって感じだったよーな

378 :Name_Not_Found:2011/08/08(月) 11:10:22.11 ID:???
>>376
何その議論のための議論みたいな質問。それなら「classの定義」を
まず述べてみていただけますか。

379 :Name_Not_Found:2011/08/08(月) 15:15:15.72 ID:???
JavascriptでClassは使うなって父方の祖父に言われた

380 :Name_Not_Found:2011/08/08(月) 19:43:42.79 ID:???
JavaScript でも instance という言葉が使われるのに、それと対極を成す言葉がないのはおかしくないか。

381 :Name_Not_Found:2011/08/08(月) 20:00:09.14 ID:???
>>380
インスタンスがあるからクラスもあるとは限らない

382 :Name_Not_Found:2011/08/08(月) 20:32:54.64 ID:???
>>381
JavaScript にもクラスの概念はある、ということには賛同なんですね。
"クラス" と呼ぶものが JavaScript の実装に存在しているかどうかは別にして。

383 :Name_Not_Found:2011/08/08(月) 20:40:09.63 ID:???
ECMAScript仕様読め

384 :Name_Not_Found:2011/08/08(月) 21:02:26.18 ID:???
対極はコンストラクタでしょ?

385 :Name_Not_Found:2011/08/08(月) 22:08:00.57 ID:???
>>382
認めてないし、どうしたらそんな解釈になるのかな

386 :Name_Not_Found:2011/08/08(月) 22:40:22.76 ID:???
認めてるくせに。

387 :Name_Not_Found:2011/08/08(月) 22:40:34.21 ID:???
自分が思い込んでいることを是正できない頭でっかちなんだろ
何言っても無駄だからスルーしとけ

388 :381:2011/08/08(月) 22:42:20.68 ID:???
>>387
だな。

389 :Name_Not_Found:2011/08/09(火) 07:24:39.82 ID:???
【コラム】そろそろきっちりJavaScript (4) クラスベースとプロトタイプベースの違い | エンタープライズ | マイコミジャーナル
http://journal.mycom.co.jp/column/js/004/index.html

390 :376:2011/08/09(火) 09:17:20.70 ID:???
>377
非推奨で使えないブラウザがあるとは驚きました
それならHTMLCollection.prototypeとかはどのように実装したらいいのでしょうか?

>378
ClassとはObjectを抽象的に一般化したものと認識しています
よって多くの言語で雛型の様な使い方がされていますが、別にどのくらいどのように利用できるかは本質ではないと思います

391 :Name_Not_Found:2011/08/09(火) 10:41:33.63 ID:???
自分でも「classではないがclassのようなもの」みたいな表現をしているけど
(「JAVAやCのようなclassでは無いものの」「特殊な身分のclassではないものの」)
それをClassと思いたいんならそう思えばいいんでないの
自分の中で自分ルールの線引きがあるみたいだし他人に意見を求める必要はないんでないの
自分の中で答えが決まっているのになぜ意見を求めるの?求めているのは意見じゃなくて同意?
知り合いと言い争いになって、自分のほうが正しいという後ろ盾がほしいとか?
名無しの後ろ盾でいいのなら、あなたのいうとおり!あなたがただしい!

392 :Name_Not_Found:2011/08/09(火) 11:12:43.10 ID:???
表現のためのClassならありますってだけだろ

393 :Name_Not_Found:2011/08/09(火) 12:52:09.85 ID:???
3組の山本がかわいいまで読んだ

394 :Name_Not_Found:2011/08/09(火) 12:58:01.97 ID:???
おまえらがんばたって海外のデベロッパーに勝てないのになんで無駄なことしてんの?
海外のデベロッパーが作ったライブラリをちまちまいじってるだけだろ?

395 :Name_Not_Found:2011/08/09(火) 14:06:18.49 ID:???
>>390
仕様にない用語は自己表現なので人に伝える手段としては適切でないことが多いよ

396 :Name_Not_Found:2011/08/09(火) 14:20:52.65 ID:???
IE6 で URL 末尾のクエリ文を取得する方法について教えてください。
以下の内容は IE6 ですが、IE7 以降では問題なく実行できるようです。
もしスレチだったら誘導をお願いします。

【環境】 
 WindowsXP + IE6 + HTA + JavaScript

【何をしたのか】
 ・mshta.exe を使って、別のウィンドウで HTA の画面を表示する
 ・その際に、新しく開く側の HTA 内でクエリを受け付けたい
 ・上記のため、【サンプルコード】を呼び出し側の HTA ファイル内で実行してみた

【期待する結果】
 location.search でクエリ文を受け取りたい。
 が、 空文字しか取得できない。

【サンプルコード】
var script = new ActiveXObject( "WScript.Shell" );
script.Exec( "mshta.exe ""[HTAファイルのパス]?param=001""" );


397 :Name_Not_Found:2011/08/09(火) 15:46:31.27 ID:???
>>390
その俺様定義には異論があるね。オブジェクトを抽象化するって
何を取捨選択するわけさ。もっと普通の定義を参照して欲しい。

398 :Name_Not_Found:2011/08/09(火) 19:06:15.33 ID:???
>>390
> ClassとはObjectを抽象的に一般化したものと認識しています
同意出来ない。そもそも、クラスベースとかJavaとか厳密に定められた定義があるのに何でオレオレ定義にするの?
あなたは「JavaScriptにもオレオレ定義のClassがありますよね」っていってるだけだよ。
そのオレオレ定義でさえ曖昧すぎて同意できない。

399 :Name_Not_Found:2011/08/09(火) 19:40:50.00 ID:???
ウンコではないもののウンコのようなもの
それはじゅうぶんウンコといっていいのではないでしょうか!?
つまりカレーは、ウンコではないものの、ウンコですよね!?

ウンコとはちゃいろっぽくてやわらかくてどくとくのにおいのするものとにんしきしています!!

400 :Name_Not_Found:2011/08/09(火) 21:31:43.76 ID:???
jQuery-1.6.2のソースコードで質問させてください
(function( window, undefined ) {とありますが、この一番最初の(はどういう意味なのでしょうか?
var e = function(a,b){ ... }(1,2);のように関数定義と同時に呼び出しているのだと思うのですが、
左式の変数が無いので良く分かりません。
この場合、戻り値は要らないので左式の変数が記述されていないという事なのでしょうか?
しかし、その6行下のvar jQuery=(function(){...も(が関数前に入っていますが何故なのでしょうか?


401 :Name_Not_Found:2011/08/09(火) 21:40:02.64 ID:???
>>396
俺の XP IE6 ではできる。

呼び出す側
<script>
var shell = new ActiveXObject("WScript.Shell");
shell.Exec("mshta.exe \"E:\\foo.hta?param=001\" arg1=bing arg2=bang");
</script>

受け取り側
<hta:application
id="foo"
/>
<script>

alert(location.search);

var args = foo.commandLine.split(/ /);
alert(args[1]);

</script>

402 :Name_Not_Found:2011/08/09(火) 21:48:23.10 ID:???
>>400
function() {} //文
(function() {}) //式=実行できる
無名関数 括弧でググると色々出てくる。

無名関数(戻り値が必要ない場合も有る。グローバル領域を汚さない)
(function (window, undefined) {

})(window);


403 :Name_Not_Found:2011/08/09(火) 23:58:51.34 ID:???
>>400
意味というか、式として評価してもらう必要がある。
宣言ではオブジェクトが返ってこないから呼出せないよね。
例えば

function hoge () {...}
function () {...};

()がなかったとしよう。宣言と式。functionで始まるこのふたつをどうやって区別させる?

functionで始まると宣言文として解釈される。名前がなければテキストレベルで蹴られる。(構文違反)
functionを()で囲む(宣言できない)ことで式になる。関数式にするひとつの手段かな。

var jQuery=(function(){...

なぜ()なのか作者の意図は分からないけど、こんなことで混乱しちゃうのね。

404 :Name_Not_Found:2011/08/10(水) 00:37:35.05 ID:???
ただの推測だけどjQueryの部分は行数が多いからわかりやすいようにとかじゃないのか

405 :376:2011/08/10(水) 06:45:57.47 ID:???
>>398
>397
自分で考えた定義というよりはいろいろ調べた上でまとめた結論です
抽象化は一般化と言ってもいいです
Objectが『(田中さん家の白くて元気で芸ができて…………な)ネコ』としたらClassは『ネコ』を表すものです
型のようなものだと思います

それをどう作成、利用できるかはまた別な話で
Class自体の概念がないと単純に言ってしまうのは、特に初心者の考え方を狭めてしまうと思います
「JAVAのような」Class「では」ないというだけだと思います

406 :Name_Not_Found:2011/08/10(水) 07:38:06.86 ID:???
そういう定義でいうなら大抵の言語にあるだろ
しかし「JavaScriptにもclassはありますよね?」に関しては
表現としてclassは存在するものの言語的にclassと名言されてる物は無い
だから無いという答えが多い


407 :Name_Not_Found:2011/08/10(水) 08:18:29.77 ID:???
gdgd言ってないでclassの使い方教えろや

408 :Name_Not_Found:2011/08/10(水) 10:15:54.60 ID:???
>>405
クラスって概念でjavascript見ると
基底オブジェクト objectクラス→を継承したクラス ネコ→のインスタンス (田中さん家の白くて元気で芸ができて…………な)ネコ
ではなく
基底オブジェクト Dictionaryクラス→のインスタンス ネコ→のクローン (田中さん家の白くて元気で芸ができて…………な)ネコ
になるだろ?
んでその見方で言うところの基底オブジェクトのインスタンス(のクローン*n)をクラスとして使えば使えないこともないってだけで
わざわざクラスの概念がないところにまでクラスの概念を持ってきて使うかどうかの話

409 :Name_Not_Found:2011/08/10(水) 11:06:12.66 ID:???
めんどくさいから
クラスベース:主記憶上に展開されて<いない>設計図(クラス)から実体(インスタンス)を生成
プロトタイプベース:主記憶上に展開されて<いる>設計図(オブジェクト)をコピーして別の実体(オブジェクト)を生成
とか言っておけばいいんじゃね?

410 :Name_Not_Found:2011/08/10(水) 12:12:33.07 ID:???
>>405
あなたの定義でいうクラスの無い言語などない。アセンブラに
だってある。だからまったく無意味な質問だよね。

411 :Name_Not_Found:2011/08/10(水) 12:34:34.03 ID:???
>>407
classはJavaScriptの予約語として定められていて何にも使途がないので、
書いたとたんに構文エラーになってそれでおしまい。

412 :396:2011/08/10(水) 13:37:50.40 ID:???
>>>401
ありがとう。
でも同じことをやってもウチの環境では値をとれませんでした。

ソフトのバージョンの問題ではないのかもしれないので、もうちょっと調べてみます。

413 :Name_Not_Found:2011/08/10(水) 13:52:35.94 ID:db+6vmjb
>410
ですから初心者に誤解を与えないようにすべきです
JavaScriptは自由な書き方ができる言語なので、
「こういうものだ」とあまりにも強く思い込ましてしまうのはよくないと思います

414 :Name_Not_Found:2011/08/10(水) 14:07:46.81 ID:???
html文書のbodyの中から、タグ付けされていない文字列をまとめて取り出したり、いじったりするには、どんなDOMを書けばいいでしょうか?

例えば、
<body>
<b>title</b>
<span style="font-size:small">description</span>
This is contents.
</body>
この中の"This is contents"だけを抜き出したり操作したいのですが…。

415 :Name_Not_Found:2011/08/10(水) 14:25:40.18 ID:???
>>413
言いたいことはなんとなくわかるけど、ECMA標準ドキュメントを書き換えたいのか
2chの誰かのレスを訂正したいのか、なにがしたいんだ?

416 :414:2011/08/10(水) 14:42:34.46 ID:???
>>415
自分へのレスだと思っていいですか?
書きたいのは暗記補助用のための俺得スクリプトです。
"hello. my name is jonus." これを 
"h----. m- n--- i- j----." こうしたいんです。
で、どこかのキーが押されてる間だけは、ハイフンなしの元の文章に戻るようにしたいんです。

どうしてタグなしの文字列を取り出したいのかというと、
Ubuntuで使ってるメモ帳のhtmlコンバート機能だと、生の文章、つまりハイフンで隠したいところがタグなしで出力されてしまうんですよね。

417 :Name_Not_Found:2011/08/10(水) 14:54:25.95 ID:???
違うだろw

418 :Name_Not_Found:2011/08/10(水) 15:03:37.14 ID:???
>>414,416
document.body.childNodes をforループで回す
レスアンカー振ってあるのに何で勘違いしたんだろう

419 :414:2011/08/10(水) 15:15:43.91 ID:???
すいません。
レスの内容的に、アンカー振り間違えたのかと。
ありがとうございました。

420 :Name_Not_Found:2011/08/10(水) 16:34:47.78 ID:???
急に初心者の心配をしだしたけど
だったらなおさら勝手に言葉を作るのはどうなの
誤解、混乱の元でないかい
クラスのようなもの、という表現で止めておくのではなく
クラスがある、と言い切らないと気が済まないようだけど
そもそもクラスがあるとかないとか、クラスという言葉を聞いて話が通じるような初心者なら
心配しなくてもいいんでないかい
思い込みの固定観念で凝り固まっているような誰かさんのような人には
どう言っても誤解というか認識を変えるつもりはないだろうから無意味だし

421 :Name_Not_Found:2011/08/10(水) 16:44:54.37 ID:???
やだ、誰かと戦い始めたわ。

422 :Name_Not_Found:2011/08/10(水) 19:03:24.94 ID:???
JavaScript にクラスベースオブジェクト指向言語でいうところのクラスという概念は存在しませんが、
サイ本では便宜的にクラスという言葉を使っています。

JavaScript でクラスを模倣する際に使われるのがプロトタイプ (ペアレント) です。
クラスベースオブジェクト指向を多平面モデルで説明するのなら、プロトタイプベースオブジェクト指向は平面がひとつしかないという感じでしょうか。
オブジェクトとそのプロトタイプは、平面間の垂直関係ではなく、
同一平面内のつながり (プロトタイプチェーン) として表現できます。

423 :Name_Not_Found:2011/08/10(水) 19:21:23.59 ID:???
ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/8_Types.html#section-8.6
これを張って終わりじゃないのか

424 :Name_Not_Found:2011/08/10(水) 19:43:18.95 ID:???
何も始まってさえいないよ。

425 :Name_Not_Found:2011/08/10(水) 20:14:16.67 ID:iHt7W/sK
>>420
同意
クラスの概念がわからないプログラミング初心者にはその通りだし、
他言語でクラスの概念は理解しているがJS初心者の人には

いわゆるクラスディレクティブはないですが
一般の関数をコンストラクタ関数として扱いnewすることで
インスタンスを作ることが出来ます

クラスではないので一般的な継承はありませんが
プロトタイプでつながってます

でいいと思う

426 :Name_Not_Found:2011/08/10(水) 20:51:58.00 ID:???
プロトタイプでつながってますw

427 :Name_Not_Found:2011/08/10(水) 20:59:14.02 ID:???
プロトタイプでつながってます
JS初心者ならこの言葉で絶対つまづく

428 :Name_Not_Found:2011/08/10(水) 21:01:37.84 ID:???
そして中級者以上はズッこける

429 :Name_Not_Found:2011/08/10(水) 21:18:01.61 ID:???
具体的にどういう風につながるのかちゃんと理解できるまでに
相当時間かかりましたわ

430 :Name_Not_Found:2011/08/10(水) 21:49:05.69 ID:iHt7W/sK
じゃあなんて言えばよかったんだよう

431 :Name_Not_Found:2011/08/10(水) 22:08:42.62 ID:8JpNup1V
質問です
var B = new Array();
B[0] = a;
B[1] = b;

とすると、出力結果が{a b}のようになります
縦に配列を作りたい場合はどうすればよいでしょうか

432 :Name_Not_Found:2011/08/10(水) 22:13:54.84 ID:???
>>431
何を求めているのか定かではないので a, b のコードと期待する縦の配列も例示して

433 :Name_Not_Found:2011/08/10(水) 22:30:56.36 ID:???
JavaScriptにあるのはコンストラクタとプロトタイプチェーン。

434 :Name_Not_Found:2011/08/10(水) 22:31:35.43 ID:???
>>431
2次元配列の事をいってるのか・・・?
縦の配列ってなんだ

435 :Name_Not_Found:2011/08/10(水) 22:35:04.51 ID:???
>>431
var B = new Array();
B['a'] = 0;
B['b'] = 1;

436 :Name_Not_Found:2011/08/10(水) 22:37:08.59 ID:???
表示じゃね?数学的なw
少なくとも>>435で無いことは確かだろう。

437 :Name_Not_Found:2011/08/10(水) 22:37:26.76 ID:???
>>431の質問の意味がわかったぞ
{a b} ではなく
a
b
みたいに出力したいんだコレ。

438 :Name_Not_Found:2011/08/10(水) 22:38:01.26 ID:???
18秒負けた

439 :Name_Not_Found:2011/08/10(水) 22:54:11.66 ID:???
そもそも配列をどうしたら{a b}みたいな表示になるのか。

440 :Name_Not_Found:2011/08/10(水) 23:02:11.56 ID:???
JavaScript にクラスがあるかどうかなんて、どうでも良くなるなw

441 :Name_Not_Found:2011/08/10(水) 23:13:18.18 ID:???
配列に縦も横も無い

442 :Name_Not_Found:2011/08/10(水) 23:34:32.00 ID:???
>>431
['a', 'b'].join('\n');


443 :Name_Not_Found:2011/08/11(木) 00:24:07.39 ID:???
>>442
document.write() で出力してるかもしんないよ。

444 :think49 ◆bKk/qcAKuM :2011/08/11(木) 00:27:49.30 ID:???
>>376,405
> alert(Document)やalert(Element)とすると[object class]と表示されます
それは [[Class]] であって「クラスベースにおけるクラス」とは異なります。
詳しくは>>389,423を読んでいただくとして [[Class]] とはオブジェクトの種類を表しています。
Object.prototype.toString を利用することで対象のオブジェクトが持つ [[Class]] を確認することができます。

Object.prototype.toString.call(new Array());    // [object Array]
Object.prototype.toString.call(new RegExp());   // [object RegExp]
Object.prototype.toString.call(new Function()); // [object Function]

これだけ見るといわゆるクラスのように見えるかもしれません。では次のコードはどうでしょう?

function Sample () { }
Object.prototype.toString.call(new Image());  // [object HTMLImageElement]
Object.prototype.toString.call(new Audio());  // [object HTMLAudioElement]
Object.prototype.toString.call(new Sample()); // [object Object]

これでも [[Class]] をクラスと断言できるでしょうか。
例えるなら、[[Class]] は HTML におけるclass属性のようなもので読み取り専用の内部プロパティです。
個人的には「Object型のデータだけが持つ特別な型」と認識しています。ECMAScript に「Array型」はないですが「Object型かつ [[Class]] が "Array" となるもの」は一つしかありませんから。
# Object.prototype.toString を typeof 演算子の代わりに使うのは間違っているとは思いますが…。内部的にObject型に変換しているので new String とStringリテラルの区別がつきません。


445 :Name_Not_Found:2011/08/11(木) 00:59:05.13 ID:???
これはさすがにウザい。
ほとんど仕様書に書いてあることだし。

446 :Name_Not_Found:2011/08/11(木) 01:00:51.38 ID:???
>>445
逆に聞くけど、仕様書に書いてないことってあるの?

447 :Name_Not_Found:2011/08/11(木) 01:07:34.89 ID:???
仕様にないものは実装依存だから

448 :Name_Not_Found:2011/08/11(木) 01:11:52.83 ID:???
>>446
アスペ乙

449 :Name_Not_Found:2011/08/11(木) 01:15:08.67 ID:???
仕様書を解読できるなら>>423で解決してるはず
解決してないってことは…いわずともわかるよな?

450 :446:2011/08/11(木) 01:23:56.35 ID:???
>>447
把握、スルーしとく

451 :Name_Not_Found:2011/08/11(木) 07:39:49.40 ID:???
obj.style.width = '120px';
obj.style.height = '24px';
これを
obj.style = { width : '120px', height : '24px' }
と書けないのはなぜ?

452 :Name_Not_Found:2011/08/11(木) 08:10:30.88 ID:???
知識と認識の不足が生み出した結果の式が後者のものだから、かな。

453 :Name_Not_Found:2011/08/11(木) 09:42:18.77 ID:???
>>451
styleが新しいObjectになっても構わないのなら。

454 :Name_Not_Found:2011/08/11(木) 09:43:47.82 ID:???
<input name="text1" type="text" onKeyPress="hoge()" value="入力欄">
エンター押すと処理hoge()をするってしたくて上を書いたけど反応しません
どうしたらいいですか?

455 :Name_Not_Found:2011/08/11(木) 10:05:32.34 ID:???
↑ごめんタイプミスだった
スルーして

456 :Name_Not_Found:2011/08/11(木) 14:26:19.95 ID:???
すみません、質問なのですが、
最近私が管理している掲示板にスクリプトが書き込まれ、それを読み込んだ携帯電話のみが強制リセットしてしまいます
このスクリプトはどういう意味なのですか?
<script>
$=(Object.toString=Object)+1
</script>
これだけで携帯を判別してリセットさせることができるのでしょうか?

457 :Name_Not_Found:2011/08/11(木) 15:59:28.00 ID:???
このスレの vol.86 にも同じ様な質問来てるね。
NetFront のブラウザで落ちるらしい。

458 :Name_Not_Found:2011/08/11(木) 16:12:58.80 ID:???
>>456
どこの掲示板か、URLを教えてもらえますか?
力になれそうなので

459 :Name_Not_Found:2011/08/11(木) 17:39:33.29 ID:XFi90rDr
>>456
掲示板に書きこまれたスクリプトが動いちゃうのはどうなのよ

460 :Name_Not_Found:2011/08/11(木) 19:50:54.79 ID:zJWej4ZF
フォームだとサブミットボタンをクリックしてもエンターを押しても
サブミットイベントひとつで両方に反応しますが
リンクの場合もクリックでもエンターを押してもひとつで両方に反応するようなイベントタイプはありますか?
XULのオンコマンドみたいな感じの

461 :Name_Not_Found:2011/08/11(木) 20:25:53.01 ID:???
クリックイベントじゃね

462 :Name_Not_Found:2011/08/11(木) 20:46:29.58 ID:???
>>456
ObjectとObject.toStringで無限に再帰してる・・・のかな?
よくわからん。普通はそうはならない気がする。
判別してるというか、単にそのコードを動かすと暴走する機種が存在し、
攻撃者はそれを知っていたというだけの事でしょう。
そもそも<script>が貼れる掲示板が異常。

463 :Name_Not_Found:2011/08/11(木) 23:54:46.94 ID:???
Feature Listをカスタマイズしてる人いたら教えてくらはい
デフォだとTabが3つまででそれ以上はliを増やしてもダメなんだですけど
これをliで自由にTabを追加できるようにしてる人とかいないすか?

464 :Name_Not_Found:2011/08/12(金) 01:01:04.47 ID:???
>>463
入手先くらい貼ろうぜ大将。

http://www.jscodes.com/jquery-feature-list-code/

別に制限なんか無いみたいだぞ。
隠れて見えてないだけじゃないか。cssよく見てみ。

465 :Name_Not_Found:2011/08/12(金) 08:33:52.56 ID:???
obj.style = { width : '120px' }
alert( obj.style.width )

空なのはなぜ?

466 :Name_Not_Found:2011/08/12(金) 08:41:48.53 ID:???
styleプロパティはreadonlyだから
http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle
値を代入することは出来ず一行目の処理は無効となり
初期値のobj.style.widthが返る

467 :Name_Not_Found:2011/08/12(金) 09:23:49.00 ID:???
>>465
なんか言えよ

468 :Name_Not_Found:2011/08/12(金) 09:59:11.83 ID:???
質問から50分で「なんか言えよ」とはどういうことだ
ずっと張り付いてるとでも思ってるのかw

469 :Name_Not_Found:2011/08/12(金) 10:07:13.48 ID:???
>>451からノーコメントのまま去りそうな臭いがするので牽制してみました

470 :Name_Not_Found:2011/08/12(金) 10:29:20.93 ID:???
別にいんじゃない?礼儀を正す必要もないでしょ
知らないところで頭を打てばいい

471 :Name_Not_Found:2011/08/12(金) 13:33:08.72 ID:ftBY+0Am
論理演算子だと思うんですが
"!!"
ってどういう動きをするんですか?
"=="と"==="の違いと同じですか?

472 :Name_Not_Found:2011/08/12(金) 13:39:48.10 ID:???
boolean化する為の否定の否定
!!1
!1->false
!!1->true


473 :Name_Not_Found:2011/08/12(金) 15:03:18.88 ID:???
あーboolean化するためなんですね、有り難うございます。

474 :Name_Not_Found:2011/08/12(金) 15:53:50.43 ID:fumOBeko
jQueryのセレクタで、不等号を使ったりすることってできる?
以下のような要素があるとき、1-2だけ選択するという。

<div id="hoge_1"></div>
<div id="hoge_2"></div>
<div id="hoge_3"></div>

下のようなfor文を使う方法でなくて。
大量にある場合、処理が止まる可能性があるので。

for (i=1;i<3;i++) { #('hoge_'+i).selecter }

475 :Name_Not_Found:2011/08/12(金) 20:56:29.98 ID:???
>>474
一部を数値比較するならプログラミングの範疇じゃないかな
カンマで並列化するぐらいか

476 :Name_Not_Found:2011/08/12(金) 21:01:35.10 ID:???
>>474
答えになってないけど、それやってる時点で何か間違ってる気がする
使いたい要素のみに同じクラス名を指定しておけばいいんじゃないの?

477 :Name_Not_Found:2011/08/12(金) 21:54:58.96 ID:q/W2HFBJ
ホームページを製作しているのですが、IEブラウザで表示するとJavaScriptのエラーが発生するのですが、原因が分かりません。

jQueryを使用したJavaScriptを2種類、それを1つのページに表示させようとするとエラーがでます。
一つは「cross slide」、もう一方は「smooth navigational menu」というJavaScriptです。

「cross slide」を<body>内の上部に、「smooth navigational menu」を<body>内の下部に設置すると、
「cross slide」のスクリプトエラー(オブジェクトでサポートされていないプロパティメソッドです。コード:0と表示されます)が発生します。
逆に、「smooth navigational menu」を<body>内の上部に、「cross slide」を<body>内の下部に設置すると、エラーは発生しません。

次の書き込みでエラーが発生している部分の例をを記述します。

また、使用しているソフトの関係上、本来<head>〜</head>内に記述するscriptのタグを
<body>〜</body>内に記述している点をお伝えしておきます。

478 :Name_Not_Found:2011/08/12(金) 22:01:04.85 ID:???
上述した「cross slide」のエラー発生部を記述します。

<script type="text/javascript">
$(function() {
$('#banner').crossSlide({ ←このラインでエラーが発生
sleep: 5, //sec
fade: 1 //sec
},[
{ src: './image/banner_001.jpg' },
{ src: './image/banner_002.jpg' },
{ src: './image/banner_003.jpg' }
]);
});
</script>

よろしくお願いします。

479 :Name_Not_Found:2011/08/12(金) 22:38:32.61 ID:???
<script src="jquery.js"></script>
<script src="jquery.cross-slide.min.js"></script>

<script src="jquery.js"></script> <-- いらん
<script src="ddsmoothmenu.js">

480 :477:2011/08/12(金) 22:44:55.68 ID:???
早々に書き込みすいません。自己解決しました。
原因は<body>内の「cross slide」と「smooth navigational menu」それぞれに、

<script type="text/javascript" src="./jquery.min.js"></script>

の記述をしていたためでした。
同じスクリプトを<body>内に2つ記述をしてしまったのでおかしくなったみたいです。

勉強不足でお騒がせしました。失礼します。

481 :477:2011/08/12(金) 22:46:18.24 ID:???
>>479
あっ、まさにそのとおりでした。
書き込み遅れて申し訳ございません。
ありがとうございます。

482 :Name_Not_Found:2011/08/12(金) 22:47:30.86 ID:???
>>479
すげぇ。どんなエスパーだよw

483 :Name_Not_Found:2011/08/12(金) 22:48:46.32 ID:???
>>465
クリームパンとコーヒー牛乳買ってきて。

484 :Name_Not_Found:2011/08/12(金) 23:31:13.36 ID:???
>>479
これが本物のエスパーってやつかwwwwワロタwwwwwwww

485 :Name_Not_Found:2011/08/13(土) 00:02:28.35 ID:???
なんでよ。推測、回答には十分な情報が提示されてるし
エスパーでもなんでもないしょ。

486 :Name_Not_Found:2011/08/13(土) 00:13:38.06 ID:c5dXM+51
google AJAX Feed APIでrssをサイトに表示するのに、教えて下さい。
今現在のソースは、こんな感じです。

//RSS
google.load("feeds", "1");
function initialize() {
var feed = new google.feeds.Feed("");
feed.setNumEntries(5)
feed.load(function(result) {
if (!result.error) {
var container = document.getElementById("feed");
for (var i = 0; i < result.feed.entries.length; i++) {
var entry = result.feed.entries[i];
var div = document.createElement("li");
var a = document.createElement("a");
a.href = entry.link;
a.target = "_blank" ;
var list = entry.title;
var cat = entry.categories;
a.appendChild(document.createTextNode(list));
div.appendChild(document.createTextNode(cat));
div.appendChild(a);
container.appendChild(div);
}
}
});
}
google.setOnLoadCallback(initialize);

当然ですけどカテゴリー名がそのまま表示されています。
それを各カテゴリーに対応したアイコンに置き換えて表示したいと考えています。
宜しく御願いします。

487 :486:2011/08/13(土) 00:18:16.40 ID:c5dXM+51
例えば、
iphoneってカテゴリーのエントリーがあれば、iphone.jpgを表示したいとかそんな感じです。
カテゴリーとアイコンはあらかじめ所定のものだけと決めるつもりです。

488 :Name_Not_Found:2011/08/13(土) 00:26:49.53 ID:F9ewc6mx
>>487
文字列見て要素にクラス名つけるか、画像貼る用の要素作って
あとはスタイルシートで!

489 :477:2011/08/13(土) 00:56:10.68 ID:???
またまた、すいません。さきほど質問させていただいたものです。

「smooth navigational menu」について教えていただきたいことがあります。
「smooth navigational menu」をwidth:200;にし、width:200;のcontainerの中に入れたのですが、
左端から約50pxほど離れてしまいます。下位メニューを表示させると、その左側にまた同じくらいの余白ができます。
実際には余白と言うか、background的な色が表示されていて、メニュー本体が離れている感じです。
さらに下位メニューを開くと、その余白が2つ分ぐらいに増えて離れて表示されます。
さらに下位につれて、同じように余白がどんどんと大きくなっていきます。

「smooth navigational menu」はwidthを変えた以外には、jsもcssも公式のままです。

IEでもFireFoxでも同じ症状になります。
なにが原因なんでしょうか?

490 :Name_Not_Found:2011/08/13(土) 01:10:41.44 ID:???
>>488
出来たら、もう少し詳細に教えていただけると嬉しいです。
それか、ぐぐって幸せになれるワードを・・・


491 :Name_Not_Found:2011/08/13(土) 01:22:42.55 ID:???
>>490
「CSS 画像」で検索すればいいんじゃないの

492 :Name_Not_Found:2011/08/13(土) 09:18:25.58 ID:F9ewc6mx
>>490
中途半端ですまんこ

クラス名を、文字列と呼応するようにオブジェクトに格納しておいて
要素が書かれるときに、そのクラス名も一緒に書く
あとはCSSでなんとかなるじゃん?


493 :Name_Not_Found:2011/08/13(土) 09:36:35.08 ID:???
>>474
nth-child(-n+2)
とか
:not(:last-child)
とか

jQueryでためしてないから、できるかわからんけど

494 :akiyan:2011/08/13(土) 11:21:46.80 ID:???
フンガッ!

495 :Name_Not_Found:2011/08/13(土) 12:12:42.40 ID:???
>>486
> div.appendChild(document.createTextNode(cat));
ここでカテゴリを挿入してるわけだから、img要素ノードを挿入するように変更すればいい

496 :486:2011/08/14(日) 04:01:45.77 ID:???
解決できました。
取得したカテゴリー名をcase文でアイコンのurlを割り当てて、
img要素追加で。
かなりゴリゴリですが・・・

497 :Name_Not_Found:2011/08/14(日) 13:00:59.08 ID:???
すみません。初心者なのでとても基本的な質問かもしれませんがよろしくお願いします。色んな解説サイトを見て試行錯誤したのですが敵いませんでした。
【環境】WindowsVista, Google Chrome(13.0.782.112)
【期待する結果】下記のスクリプトはフォームにパスワードを入力してログインボタンを押し、該当すると他のページ飛ぶというものなのですがログインボタンを押さずともENTERキーを押しただけで入力項目を検証して他のページ飛ばすということは出来ないでしょうか?
【サンプルコード】


<head>
<script language="JavaScript">
<!--function myButton(){
myPassWord = document.myFormText.myFormTextPass.value;
if ( myPassWord == "pass" )location.href = "hokano.html";
else alert( "パスワードが違います!" );
}
// -->
</script>
</head>



<body><form name="myFormText">パスワード:
<input type="password"name="myFormTextPass"><input type="button" value="ログイン" onclick="myButton()">
</form></body>

498 :497:2011/08/14(日) 13:03:01.86 ID:???
すみません。語弊があったので修正

ログインボタンを押さずともENTERキーを押しただけで入力項目を検証して他のページ飛ばすということは出来ないでしょうか?

ログインボタンを押してもENTERキーを押しても入力項目を検証して他のページ飛ばすということは出来ないでしょうか?

こちらの間違いです

499 :Name_Not_Found:2011/08/14(日) 13:06:39.83 ID:???
type="button"ではなくtype="submit"にして
formのonsubmit属性でmyButton関数を呼び出す

500 :Name_Not_Found:2011/08/14(日) 13:11:43.52 ID:???
>>497
関係ないけど、それソース見るだけでパスワードが分かっちゃうからあんま意味なくね?
location.href = myPassWord + ".html"; という風にした方がいいんじゃないの?

501 :497:2011/08/14(日) 13:19:54.84 ID:???
>>499

ありがとうございます!!
それって以下の記述でよいのでしょうか?

<form name="myFormText"onsubmit="myButton()">パスワード:
<input type="password"name="myFormTextPass"><input type="submit" value="ログイン" onclick="myButton()">
</form>


一応これで試したのですが入力内容がクリアされるだけで他のページへ飛ばないのです。。
何か記述が間違っているのでしょうか?
お手数かけてすみません

502 :Name_Not_Found:2011/08/14(日) 13:21:37.60 ID:???
>>500
簡易的なもので大丈夫みたいです

対外的に「壁」程度のものがあればよいと上の人間から言われたので。。

503 :Name_Not_Found:2011/08/14(日) 13:44:01.31 ID:???
今のままだと、壁というより風呂敷程度だけど。

onsubmit="myButton(); return false;"

社内利用なら、管理者に BASIC 認証を掛けてもらった方が良い気がする。

504 :497:2011/08/14(日) 13:51:59.26 ID:???
>>503

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

会社とかではなくて大学のゼミのHPです。
まあ、見られても問題はないけど一応内々でやりますよって感じみたいです。

今度CGIのパスワードとかにも挑戦してみます!
ありがとうございました!!!

505 :Name_Not_Found:2011/08/14(日) 14:04:38.99 ID:???
サーバーサイドが一切使えなくて同じことするならpathとpassを同じにするとか
ハッシュ化するとかかなー
md5 http://plugins.jquery.com/files/jquery.md5.js.txt

506 :Name_Not_Found:2011/08/14(日) 21:57:21.91 ID:???
md5 を使用して、JavaScript だけで実装するとして、具体的にどうするだろう。
飛ばす先の URL をソースに書いたら、パスを暗号化する意味ないし。
閲覧にパスを掛けたい html 内で認証する様にしても、ソースを直接見られたら意味ないし。

507 :Name_Not_Found:2011/08/14(日) 22:10:06.72 ID:???
>>500
これが無敵だな

508 :Name_Not_Found:2011/08/15(月) 00:30:13.87 ID:???
http://dqn.sakusakutto.jp/2009/01/javascript_function_foo_var_fo.html
ここやサイ本にも書いてあるのですが、javascriptって、いつコンパイルされるんでしょうか?
javascript = インタプリタ言語ということを色々な初心者用の本でみたことがあるのですが・・・

コンパイルのタイミングやどこ(関数単位、ブロック単位など)をコンパイルはブラウザによりけりって感じなんでしょうか?


509 :Name_Not_Found:2011/08/15(月) 01:04:43.30 ID:???
html をパースしながら script タグを見つけたとき、eval()、Function() にコードを渡したとき。
まだあるかもだけど、大体察しれ。

510 :Name_Not_Found:2011/08/15(月) 04:59:25.05 ID:???
終わってるけど一応
簡易パスワード認証の定番は>>500だね、小学生の頃に意味もなくHPにつけてたの思い出した

パスがアドレスに表示されるのが不衛生なら、パスのMD5の値をURLにするとか
運良く見つかってというパターンもあるし、PHPとかにした方がまだ安心
それこそ2,3行で済むしね

511 :Name_Not_Found:2011/08/15(月) 11:33:36.59 ID:???
英語のhtmlを、一語ごとにタグで修飾したいんですが、どうすればいいですか?
一度splitで配列に格納して、配列ごとに修飾してからDOMに入れ直してみたんですが、うまくいかなくて…

512 :Name_Not_Found:2011/08/15(月) 11:41:47.00 ID:???
<p>の中身を得てremove、中身をsplitして、
create&appendでいいんじゃない?
1つ1つ解決していけばうまくいく筈。

513 :Name_Not_Found:2011/08/15(月) 13:28:38.13 ID:???
RangeとかsplitTextとか?splitTextのほうが楽かな

514 :Name_Not_Found:2011/08/15(月) 14:41:04.61 ID:???
>>512
ありがとうございます。

515 :Name_Not_Found:2011/08/15(月) 16:44:14.07 ID:???
ブラウザのJavaScript有効率とか最近のデータないですか?
セキュリティ意識からオフにする人もいるみたいなんですが、
最近の事情はどんなかんじなんでしょう?
98%ぐらい有効であってほしいですね。

516 :Name_Not_Found:2011/08/15(月) 17:29:28.56 ID:???
質問させていただきます。
test1.htmlの中にあるid="test1" の値が入った状態で
そのページのリンク先(test2.html)をクリックすると、test2.htmlのid="test2" に id="test1" と同じ値が入った状態でページを開くことは可能でしょうか?
もし可能であるならば、どのように記述すればいいのか、ご教授お願いします。

517 :Name_Not_Found:2011/08/15(月) 17:37:09.10 ID:???
無理です。
サーバ側でやってください。

518 :Name_Not_Found:2011/08/15(月) 17:42:48.42 ID:???
>>516
クッキーと動的なページ生成でいけるかも。

519 :Name_Not_Found:2011/08/15(月) 17:45:22.40 ID:???
>>516
XMLHttpRequest で test1.html を読み込む

520 :Name_Not_Found:2011/08/15(月) 17:45:46.13 ID:???
サーバ側でやるのが普通だけど、
短い簡単なデータならJavaScriptだけでもいいかもな。
test1.htmlからtest2.htmlのリンクするURLの後ろにtest2.html?データって感じでつけて。
あとはqueryString取得してごにょごにょすればよい。

521 :Name_Not_Found:2011/08/15(月) 17:51:33.58 ID:???
test1.html と test2.html が同一ホスト上にあるなら簡単にできるでしょ。

522 :Name_Not_Found:2011/08/15(月) 17:53:43.29 ID:???
>>516です
すいません、補足ですがtest1,htmlはローカルでtest2.htmlは自分とは全く関係ない人のwebページです

523 :Name_Not_Found:2011/08/15(月) 17:54:52.96 ID:???
じゃあ無理。

524 :Name_Not_Found:2011/08/15(月) 17:56:16.72 ID:???
userscript使うのが一番楽だろうな。


525 :Name_Not_Found:2011/08/15(月) 19:13:42.85 ID:???
Windowだかbodyのonload時にbodyより下位にある<div>タグでくくられたhtmlデータをinnerHTMLで書き換えたいんですが何か良い方法ないですか?
writeしか思い付かないので

526 :Name_Not_Found:2011/08/15(月) 19:56:18.79 ID:???
書き換えればいいじゃん

527 :525:2011/08/15(月) 20:14:03.73 ID:???
>>526
どうやって?
要はページ開いた時に日時を文字列として表示させたいだけなんですが
loadの仕方が分からなくて

528 :Name_Not_Found:2011/08/15(月) 20:19:24.77 ID:???
onloadの時にそのDIVタグ取得してinnerHTMLで書き換えるだけだろ?

529 :Name_Not_Found:2011/08/15(月) 22:02:22.74 ID:???
>>522
Proxomitron を使ってみる?

530 :Name_Not_Found:2011/08/15(月) 22:02:50.13 ID:???
getElementById と、window.onload もしくは、addEventListener load とかでくぐってみたら?

531 :Name_Not_Found:2011/08/15(月) 22:57:22.82 ID:???
var Hoge = {
a:'foo',
b:function(){return this.a}
};

alert(Hoge.a);
alert(Hoge.b());

これでHoge.aを呼び出せないように(privateに)したいのですが、
どんな感じに書けばいいでしょうか?

532 :Name_Not_Found:2011/08/15(月) 23:13:39.41 ID:???
クラスのように可視性をつけたいならあたりまえだけど連想配列じゃダメ。

var Hoge = function() {
    var a = 'foo';
    this.b = function() {
        return a;
    }
};

var hoge = new Hoge();
hoge.a; // エラー
hoge.b(); // 'foo'


533 :Name_Not_Found:2011/08/15(月) 23:24:23.39 ID:???
>>531
ttp://jsfiddle.net/WBsKG/

534 :531:2011/08/15(月) 23:52:44.23 ID:???
>>532-533
ありがとうございます。
コードを参考にさせていただきます。

535 :Name_Not_Found:2011/08/16(火) 02:46:35.34 ID:???
以下のように特定のファイルが存在することを
レスポンスヘッダを受信した時点で判定して次の処理を行いたいけど

var req = new XMLHttpRequest();
req.open('GET', 'aaa.html', true);
req.onreadystatechange = function (aEvt) {
 if (req.readyState == 2) {
  if (req.getResponseHeader("Content-Type") == "text/html") {
   なんらかの処理;
  }
 }
};
req.send(null);

結局aaa.htmlはレスポンス・ボディ受信も行ってしてしまう
レスポンスヘッダで判定した時点でaaa.htmlの受信を終わらせる方法はないでしょうか?

536 :Name_Not_Found:2011/08/16(火) 02:56:00.60 ID:???
サーバー側で全部いっぺんに出力してるんじゃないの

537 :Name_Not_Found:2011/08/16(火) 03:18:49.49 ID:???
GETでリクエストせずにHEADで受け取ればいい

538 :Name_Not_Found:2011/08/16(火) 03:28:06.36 ID:???
HEADなんてものがあったのか…
やっぱりGETやPOSTだとどうしても全部取得する動きになるみたいですね
HEADで試してみます、ありがとう

539 :Name_Not_Found:2011/08/16(火) 03:53:33.30 ID:???
練習でjQueryとかのライブラリを使わないでサイトを作ろうと思っています
オブジェクトがアニメーションでぐりぐり動くサイトにしたいなと思ってCSSをjsから書き換える方法を調べているのですが
今時はどのような方法でcssをいじくるのが普通なのでしょうか

今まではobj.style.left="100px"という風に直接値をいじくったり
document.styleSheets[0].addRule("#content .navi li","{display : none}",document.styleSheets[0].rules.length);
で新しいルールを追加していたのですがパフォーマンス上の性能が不安です
アニメーションはcss3のanimationでやるからミリ秒単位で書き換えるって事はしないにしても
沢山addRuleするとその分重くなる・・といった事があるのかもと不安です

540 :Name_Not_Found:2011/08/16(火) 11:24:48.17 ID:???
スタイルオブジェクトのプロパティを随時書き込みでいいんじゃないの
負荷が気になるならテストしてみようよ

541 :Name_Not_Found:2011/08/16(火) 12:10:19.99 ID:???
すみません。また初心者なのでとても基本的な質問かもしれませんがよろしくお願いします。頑張ったのですが挫折しました。
【環境】WindowsVista, Google Chrome(13.0.782.112)
【期待する結果】
スタイルシートをクリックで切り替えることは出来るようになったのですが、
更にひとつ前のページのスタイルシートの設定を最初に読み込んだ時に反映させたいのですがどういう記述にすれば良いのでしょうか?
history.backを使うことまでは理解したのでですが具体的な記述がわかりません。
ちなみに前のページのJavascriptも同じものが書かれています。
【サンプルコード】

function replace_css(id,url){

if(!document.getElementById) return false;
var element = document.getElementById(id);

if(!element || !element.cloneNode) return false;
var new_node = element.cloneNode(true);

new_node.href = url;
element.parentNode.replaceChild(new_node,element);

return true;
}

542 :Name_Not_Found:2011/08/16(火) 14:12:12.14 ID:???
detachEventとかremoveEventListenerって、
アクション中に任意のタイミングでイベントを終了させる時ぐらいしか使いみちないですよね?
普通に書いてて自分のスクリプトの書き方だとどうも使う機会がないのですが、
1つのattachEvent、addEventListenerにつき、1つdetachEvent、removeEventListenerが必要
というわけではないですよね?

543 :Name_Not_Found:2011/08/16(火) 14:40:49.47 ID:???
> アクション中に任意のタイミングでイベントを終了させる

イベント捕捉のために取り付けた関数を削除ね。言いたいことがいまいちわからんけど
イベントを終了とか、何か違う。

「1つに1つ」はいらないと思うけど、不要が明らかなら削除でいいんじゃね。
各loadイベントとか、呼出しと同時に削除しとかないと気持ち悪くないか。

544 :Name_Not_Found:2011/08/16(火) 14:53:17.58 ID:???
>>542
window.onunload 時に全てのイベントを削除するのは基本だと思う

545 :Name_Not_Found:2011/08/16(火) 15:08:22.68 ID:???
なんか、片付けないとメモリ解放してくれなくて、どんどん重くなるとか

546 :542:2011/08/16(火) 15:13:34.96 ID:???
>>543-545
なるほど
ガベージコレクションに使用する感じですかね
参考になります

547 :Name_Not_Found:2011/08/16(火) 15:15:32.33 ID:???
いやそれはIE6での話しじゃないのか


548 :Name_Not_Found:2011/08/16(火) 15:23:51.13 ID:???
もうonunload時にすべてのグローバル変数にもnull代入

549 :Name_Not_Found:2011/08/16(火) 18:18:44.81 ID:???
FC2ブログとかアメーバーブログとか、
ページ最上部に固定のメニュー(検索窓が設置されている所)がありますけど、
あれってJavaScriptでつくるんですか?
この部分をposition:absolute; top:0;にして、
onScroll時に、getBoundingClientRect().topあたりを使って、
合わせるやり方しか思いつきません。
その場合スクロールするたびに、再描画みたいな感じでチカチカするのですが、
ブログのほうではそういった挙動ではないので、なんか別の方法でやってるんでしょうか?

550 :Name_Not_Found:2011/08/16(火) 18:23:31.29 ID:???
css fixed

551 :549:2011/08/16(火) 20:17:40.87 ID:???
>>550
position: fixedっていう意味ですね?
できましたありがとう。

552 :Name_Not_Found:2011/08/16(火) 20:57:30.64 ID:???
IE8 の互換表示モードでは効かないけどね。

553 :Name_Not_Found:2011/08/16(火) 23:00:28.27 ID:???
すみません、
Browser: {
IE: !!(window.attachEvent && !window.opera),
の"!!"はいったいどういう意味なのでしょうか?
"!"だけだと否定とか分かるのですが

554 :Name_Not_Found:2011/08/16(火) 23:01:24.94 ID:???
否定をさらに否定してみろ
つーかスレ内ぐらい探すとかしろ


555 :Name_Not_Found:2011/08/17(水) 00:23:13.99 ID:???
ころころデザインを変えるページ用に、
ある部分だけデザインを使いまわせるようなライブラリを作っています。
<script type="text/javascript" src="header.js"></script>
こんな感じの使い方を想定しています。

最初はHTMLを毎回書きなおす感じにして、JavaScriptでHTML出力などの操作はしないようにしてたのですが、
それだと大変なので、スタイルシートと、JavaScriptを取り込んでHTMLはJavaScriptで出力するようにしました。
次にスタイルシート取り込みの工程もついでになくそうと(たいした手間じゃないですが)、
JavaScript単体の取り込みだけで使えるように、スタイルシート部分もJavaScriptにゴリゴリ書きました。
その結果かなりカオスなコードになってしまったのですが、

ファイル1つでOKみたいにする場合は、こんな感じになってしまうものですよね?
あまりのカオス具合に自分が間違ってる気がしてなりません。

556 :Name_Not_Found:2011/08/17(水) 00:31:54.12 ID:???
サーバー側でやるのも有り。PHP
jsOFFの閲覧者も考慮すべき。

557 :Name_Not_Found:2011/08/17(水) 01:16:27.54 ID:???
>>555
そんな同意を求めることに何の意味がある?
他人がどうあろうと、自分が不満に感じるなら、少しでも改善を試みるべき。
「できた!」と思っても決して満足することなく、常に「これで良いのだろうか」と自問自答を繰り返す。
このスレの回答者は皆そういう人たち。

558 :Name_Not_Found:2011/08/17(水) 01:22:40.42 ID:???
>>557ナイナイ

559 :Name_Not_Found:2011/08/17(水) 01:39:55.75 ID:???
>>558
仕様で実装依存が認められているところは、全てのブラウザのバージョン毎に挙動を確認し、
ベンチマークの結果に 1ms でも有意な結果が現れれば、その原因を突き止める。
次の仕様の策定に向け、常に最新の流行にアンテナを張っておき、自らも新たな潮流の源となる。
ここの回答者は皆実践してる。

560 :Name_Not_Found:2011/08/17(水) 01:50:20.58 ID:???
どんだけハードルあげたいんだよwww

561 :Name_Not_Found:2011/08/17(水) 02:01:22.78 ID:???
イベントハンドラとイベントリスナーの違いって何なんでしょうか?

イベントに対する関数の登録方法とが違うこと( a.onclick=・・・ or a.addEventListener(・・・) )と
イベントハンドラは1つのイベントソースに対して1つしか関数登録できないけど、イベントリスナーはいくつでも登録できるということだけ知っています。

イベントのバブリングなど、内部的な動作にも違いはあるのでしょうか?

562 :Name_Not_Found:2011/08/17(水) 03:49:52.41 ID:???
他のライブラリ使ってる場合を考えたら、リスナー使う

563 :Name_Not_Found:2011/08/17(水) 09:55:25.54 ID:d6HS56WA
>>561
ブロードキャスターがキャストする
オブジェクトにおけるイベントの発生通知を
受け取る(聞く、Listenする)のがイベントリスナー

で、イベントリスナーには、受け取ったときにする処理を
関数として複数登録または削除できて
処理系でeventオブジェクトを受け取ることが出来る

564 :Name_Not_Found:2011/08/17(水) 10:44:06.23 ID:pI1JT145
質問させてください
下記URLのソースの文法がわかりません。
http://webos-goodies.jp/archives/getting_started_with_webgl.html

理解できていない部分は、"$"の使用方法です。

$(function() {
var canvas = $("#screen").get(0);
$.each(["webgl", "experimental-webgl", "webkit-3d", "moz-webgl"], function(i, name) {
:(以下省略)

2ツ目の"$"部分に関しては、HTMLファイルのid="screen"の要素を取得していると思っていますが、
それ以外の、他の2つの部分の文法がよくわかりませんでした。

何か参考になるページを教えていただけないでしょうか?

565 :Name_Not_Found:2011/08/17(水) 10:59:09.04 ID:???
jquery使ってるから
$(function(){
はDOMがreadyになったら実行するための記述
$.eachはjqueryのeachメソッドを利用してるだけ
http://api.jquery.com/jQuery/#jQuery3
http://api.jquery.com/jQuery.each/

566 :564:2011/08/17(水) 11:03:04.13 ID:pI1JT145
ありがとうございます。
jqueryを調べてみます。


567 :Name_Not_Found:2011/08/17(水) 15:19:56.78 ID:???
Firefox5から6にアップデートしたら一部Javascriptが使えなくなったのですが、何か変更があったのでしょうか?


568 :Name_Not_Found:2011/08/17(水) 15:22:33.13 ID:???
「一部」て何?それを書かない意味が分からんのだが。

569 :Name_Not_Found:2011/08/17(水) 15:59:33.94 ID:???
>>567
勿論、変更点はたくさんあるよ
http://mozilla.jp/firefox/6.0/releasenotes/
https://developer.mozilla.org/ja/Firefox_6_for_developers

570 :Name_Not_Found:2011/08/18(木) 12:08:14.40 ID:???
【環境】Safari(iphone)
【何をしたのか】なし
【エラーメッセージ】なし
【期待する結果】
キーボードのBを1回押した瞬間にB.mp3が再生される。(Bが押し続けられている場合は一度のみ再生)
キーボードのNを1回押した瞬間にN.mp3が再生される。(Nが押し続けられている場合は一度のみ再生)
iphoneにはキーボードがないのでBLUETOOTHのキーボードが接続されていると仮定。

赤色に塗られた丸円をシングルクリックすると1回押した瞬間にB.mp3が再生される。
(赤い丸円が押し続けられている場合は一度のみ再生)
青色に塗られた丸円をシングルクリックすると1回押した瞬間にN.mp3が再生される。
(赤い丸円が押し続けられている場合は一度のみ再生)

です。

意味不明あればすみません。真剣に障害のある方のコミュニケーションを取れる手段として考えています。
ご指導ください。

571 :Name_Not_Found:2011/08/18(木) 12:15:16.49 ID:???
>>570
肝心のサンプルコードがないよ…

572 :570:2011/08/18(木) 13:04:47.62 ID:???
>>571
すみません

ttp://jsdo.it/flyfisherflyfisher/eXRKに投稿しました。

かなりテコ入れがいるかと思いますが、よろしくお願いいたします。

573 :Name_Not_Found:2011/08/18(木) 19:15:29.91 ID:SXfEa53T
スクリプトのコーディングに関した質問でなくて恐縮ですが、
フラッシュアップローダってありますがあれはiPhoneだと使えないことになるんでしょうか?
それをふまえて、
・モダンブラウザ以上のブラウザ+PC,android,iPhoneすべてで利用可能
・アップロードプログレスバーとアップロード後サムネイル表示可能(アップロード失敗の捕捉可能)
の条件で、JSを使った非同期型のアップローダは皆さんどれを利用していますか?
自分は jquery-transmitってのを考えているんですがflash利用ということで
上記のiPhoneのことが気になっています
すみませんがご意見ください、よろしくお願いします

574 :Name_Not_Found:2011/08/18(木) 19:23:55.04 ID:IS4RZIGu
そもそもモバイルのwebkitはファイルアップロードできるのかな?

575 :Name_Not_Found:2011/08/18(木) 19:55:04.81 ID:+XL9L7wb
コンストラクタじゃない普通の関数内で
function hoge(){
this.piyo = "fuga";
}
みたいにしてるのはどういう効果があるんですか?効果というか目的というか

576 :573:2011/08/18(木) 20:09:30.03 ID:SXfEa53T
>>574
え!できないんでしょうか!?
ウソ!…と思って調べたら本当に出来ないみたいですね、信じられない…
念のためandroidのシミュレータで調べたらandroidは大丈夫なんですね
これはどう考えたら良いんでしょうか
webkitはアップロード全面禁止してるってことでしょうか
html5で書いたアップローダなら大丈夫ってわけではないですよね?
titaniumかなにかでアプリ開発するしかないのかなぁ… ショックだ


577 :Name_Not_Found:2011/08/18(木) 20:14:22.15 ID:???
iOSのsafariからのアップロードは無理、html5だろうがファイル選択自体ができない

578 :Name_Not_Found:2011/08/18(木) 20:34:19.52 ID:???
createElementって遅いですよね?
innerHTMLに書いたら可読性悪いですが早いです。
イベント追加するとなるとcreateElementのほうがやりやすいですけど、
innerHTMLで適当なidやclass名ふってonload時にそれらを探して登録することもできますよね?
この辺のDOM追加操作やそれに伴うイベント追加なんかの操作方法は、
好きな方法でやればいいでしょうか?
なんかもっと高速で普遍的に使われてるDOM追加方法があれば知りたいですが、
なんかあったりしますか?

579 :think49 ◆bKk/qcAKuM :2011/08/18(木) 20:49:13.65 ID:???
>>578
createElement は遅くないですし、innerHTML は速くありませんよ。
http://msdn.microsoft.com/ja-jp/library/bb263997%28VS.85%29.aspx
高速化したいなら注意すべき点はたくさんあります。
 - リフローを減らす
 - グローバルアクセスを減らす
 - プロパティアクセスを減らす
 - cloneNode で複製する
http://tokkono.cute.coocan.jp/blog/slow/index.php/web-technology/reflow-and-repaint-in-browser/
http://tokkono.cute.coocan.jp/blog/slow/index.php/web-technology/top-10-reasons-javascript-blocking-page-load/

580 :578:2011/08/18(木) 21:04:05.38 ID:???
>>579
高速化のためのアドバイス大変参考になります。
詳細なURLまで載せていただきありがとうございます。
早速実践してみます。

581 :Name_Not_Found:2011/08/18(木) 21:08:15.72 ID:???
load後のなにかのイベントで、画面作ったりするときに、innerHTMLだとDOM構造が読み取れるようになるまでに若干タイムラグがあって、直後にgetElementってやると失敗するときあるじゃん
ちゃんとcreateElementってやった方が確実安全、速度も悪くないよ

そいえば6とか昔のIEは遅かった記憶がありますね。当時のFFやWebKitの数十倍ぐらい差があったような。

582 :573:2011/08/18(木) 21:10:03.34 ID:???
>>577
うわ、マジですか
これ以上はスレ違いになるので他のスレに移動します
ありがとうございました

583 :Name_Not_Found:2011/08/18(木) 21:13:48.21 ID:???
>>581の「失敗するとき」の例を挙げてもらえませんか?

584 :Name_Not_Found:2011/08/18(木) 21:26:04.47 ID:IS4RZIGu
>>576
androidのchromeもwebkitだよ
手元ので試してみた
<input type="file">はちゃんと表示されるしファイル選択も出来たけど
PHPにPOSTしてみたら、$_POSTも$_FILESも空だった

>>578
querySelectorなんかのほうがよほど遅い気がする
getElementByIdあたりならまだしも

585 :Name_Not_Found:2011/08/18(木) 21:36:47.99 ID:???
>>584
うちのドロイド君はアップロードちゃんとできてるよバージョンはAndroid 3.1

586 :Name_Not_Found:2011/08/18(木) 21:39:39.44 ID:???
メールに画像添付してごにょごにょ

587 :573:2011/08/18(木) 22:06:25.58 ID:???
>>584
情報ありがとうございます、chromeもなのかぁ…
>>585
バージョンで違うんですね
>>586
mmsを使う方法を見つけたんですが、それだとiPod touchが解決できないですよね

うーん、titaniumの勉強するしかないぽい
本当にありがとうございました、js関係ないのに長々すみませんでした


588 :Name_Not_Found:2011/08/19(金) 07:31:42.20 ID:???
>>575
どう利用してるか見ないと目的なんてわからんよ
普通にhoge()と実行してるならthisはグローバルオブジェクト。

589 :Name_Not_Found:2011/08/19(金) 07:43:12.79 ID:???
>>572
サウンド関連らしきコードしか見当たらないんだが・・・
ゼロから教えれという事ですか?
onkeypressとonclickとかで検索しなさい


590 :Name_Not_Found:2011/08/19(金) 07:51:55.38 ID:???
>>583
innerHTML直後にgetElementByIdすると取得出来ずにエラー
setTimeoutとかで、1msぐらい遅延させるとうまくいくけど、不確実な解決策だよね

591 :Name_Not_Found:2011/08/19(金) 10:06:24.32 ID:???
>>588
>>572http://www.schillmania.com/projects/soundmanager2/ を使ってるんではないかと思われる
soundmanager2.js も swf もないから動かなくて当たり前だなw

592 :Name_Not_Found:2011/08/19(金) 10:11:43.23 ID:???
>>590
エラーにならないよ
ブラウザとかコードとかもっと具体的な情報を出して貰わないと再現できない
http://jsfiddle.net/f5VYe/

593 :Name_Not_Found:2011/08/19(金) 13:17:54.71 ID:???
というか、getElementById ってエラーを返したっけ?
null が返るのならわかるが

594 :Name_Not_Found:2011/08/19(金) 13:40:38.70 ID:???
(null).styleとかやってるんだろ。

595 :Name_Not_Found:2011/08/19(金) 16:50:31.53 ID:???
エラーになるのは腐った実装
仕様ではブラウザのUIとDOM操作もJSにシングルスレッド的同期させないといけない
非同期でいいのはレンダリング部分だけ

596 :Name_Not_Found:2011/08/19(金) 23:06:03.90 ID:???
曖昧で申し訳ないんだけど1年ぐらい前のSafariでよくあったから、以後経験則的に避けてました。
仕様はちゃんとなってるんですねー、勉強になりました。

エラーってのは594さんの通り、取得出来きないまま続いた結果、ヌルに対するアクセスになって…というものです。

597 :Name_Not_Found:2011/08/20(土) 00:24:51.46 ID:???
基本的にinnerHTMLのほうが速いんでしょ
IEだとうまくいかない要素があるみたいだけど

598 :Name_Not_Found:2011/08/20(土) 00:58:01.12 ID:???
>>597
どこを読んだらinnerHTMLが速いと読めるのか?

599 :Name_Not_Found:2011/08/20(土) 07:08:45.29 ID:???
場合にもよるがCREATE作業はinnerHTMLの方が早い
APPEND作業はinnerHTMLだと解析が入る分だけ固まるのでcreateElementの方が若干早い
単純なCREATE作業+APPEND作業は仕組み的にはinnerHTMLの方が
余計な処理が要らない分、まとめて処理できる分早くなる
しかも実際使用する場面ではCREATE作業時間>>>>>APPEND作業時間になる事が殆どなので
innerHTMLの方が早いのは確実だがそもそも用途によって使い分ける物だからな

600 :Name_Not_Found:2011/08/20(土) 10:34:18.87 ID:???
http://tockri.blog78.fc2.com/blog-entry-9.html
これを信じてる人もいるんだなー

601 :Name_Not_Found:2011/08/20(土) 12:00:02.24 ID:???
情報が古い。古すぎる。

602 :Name_Not_Found:2011/08/20(土) 12:29:18.70 ID:???
createで何十行使うよりinnerHTMLやwrite使って1行で書き出したいって気持ちはとてもよくわかる

603 :Name_Not_Found:2011/08/20(土) 12:31:47.84 ID:???
今のブラウザでちゃんと比較した情報って知る限りではないな…

604 :Name_Not_Found:2011/08/20(土) 13:03:15.78 ID:???
いつかの時点までは大量のエレメント書き出すにはinnerHTMLさんが速かった気がする

605 :Name_Not_Found:2011/08/20(土) 13:10:45.04 ID:???
軽量化以外にinnerHTMLの使い道が無い

606 :Name_Not_Found:2011/08/20(土) 13:33:33.02 ID:???
だからcreateなんちゃらとinnerHTMLとをゴリゴリ差し替えてるよ。

607 :Name_Not_Found:2011/08/20(土) 16:24:37.77 ID:???
ある要素に入っている文字数によって、その要素のwidthを設定しているのですが、
同じ1バイトでも、iiiiiとMMMMMではだいぶ横幅が違ってきます。
またマルチバイト文字だと1バイト文字より横幅が広くなる場合が多いです。
ようするに文字数より、実際に表示される横幅によって指定したいのですが、
何か方法はないでしょうか?

608 :Name_Not_Found:2011/08/20(土) 16:53:00.90 ID:???
フォント決め打ちで、文字種毎の幅データを持つとか。

609 :Name_Not_Found:2011/08/20(土) 17:00:03.63 ID:???
フォント決め打ちとか能無しすぎるな
<span id="hello">foo</span>
alert(document.getElementById("hello").offsetWidth);

610 :607:2011/08/20(土) 17:15:19.78 ID:???
>>608-609
レスありがとうございます。

>>609
おーすごい!
これを使わせていただきます。

611 :Name_Not_Found:2011/08/20(土) 17:39:13.59 ID:???
addEventListenerしたエレメントをremoveChildで削除したんですけど、
削除する前にremoveEventListenerで削除した方がいいでしょうか?
それともJavaScriptエンジンが自動で削除してくれますか?

612 :Name_Not_Found:2011/08/20(土) 17:57:47.54 ID:???
>>611
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1169350916 に同じ質問がありますので参考に

613 :611:2011/08/20(土) 18:20:32.67 ID:???
>>612
ありがとうございます。

614 :Name_Not_Found:2011/08/21(日) 00:07:18.95 ID:???
CSSの p { color:black; } を p { color:red; } のように
タグ要素に対するstyleをJavaScriptで丸々書き換えたいのですが
document.getElementsByTagName('p')をfor文でlength分
1つずつ全てのstyleを変更する方法しか思いつきません。

たとえばdocument.getElementsByTagName('p').style.color = "..."のように
一括してstyleの指定する記述や別の良い方法がありましたら教えてください。

615 :Name_Not_Found:2011/08/21(日) 00:41:44.31 ID:???
>>614
document.styleSheets を書き換えてください。

616 :Name_Not_Found:2011/08/21(日) 00:42:23.64 ID:???
bodyにクラスでどうだい。
<body class="black">
.black p { color:black; }
.red p { color:red; }
document.body.className="red"

617 :Name_Not_Found:2011/08/21(日) 01:56:29.71 ID:???
>>616
目から鱗・・・
これでやりたいことが簡単に実現できました!ありがとうございます。

>>615
こちらは少し手間がかかりそうですね。
こちらでもできるように勉強してみます。

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

618 :Name_Not_Found:2011/08/21(日) 02:07:48.10 ID:???
関連:alternate stylesheet

619 :Name_Not_Found:2011/08/21(日) 17:00:36.46 ID:???
jQueryを使用したホームページ作りに関して質問があります。

一つのhtml内に複数のjQueryのプラグインを使用しようとしているのですが、
"TinySlideshow"というプラグインのjsファイルを読み込むと、
他のjQueryを使用したjavascriptやプラグインが機能しなくなります。
この原因と解決策について教えていただきたいです。

よろしくお願いします。

620 :Name_Not_Found:2011/08/21(日) 17:21:43.92 ID:???
jquery.min.jsを2回読んでる

みたいなレスが前にどこかであった気がするが同じような事か?w


621 :619:2011/08/21(日) 17:57:44.21 ID:???
>>620
いえ、そういう問題ではないです。
TinySlideshowのjsファイルを読み込むと、
他のプラグインが動作しなくなるんです。

他のプラグインは共存できるんですけど、
TinySlideshowを読み込ませるとダメになるという状態です。

622 :Name_Not_Found:2011/08/21(日) 18:07:29.94 ID:???
"TinySlideshow"だけでググっても似たようなケースの情報が出てくるけどググって見た?試してみた?
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1061963810

623 :Name_Not_Found:2011/08/21(日) 18:28:00.20 ID:???
jqueryを使ったエフェクトについて質問です。
あるfadeIn()が終了してからこのslideDown()を処理する、というようなのは
どう書けばいいんでしょうか?複数のエフェクトを書くと全てが同時に実行されてしまいました。


624 :619:2011/08/21(日) 18:31:45.54 ID:???
>>621
それもやったんですが、上手くいかないんです。
ちゃんと動作しなくなってしまって・・・。


625 :Name_Not_Found:2011/08/21(日) 19:01:58.40 ID:???
>>624
どこかにUPして見てもらうしかないんじゃないか。

626 :Name_Not_Found:2011/08/21(日) 19:06:04.92 ID:???
問題が発生する最小限のコードがあればいい

627 :619:2011/08/21(日) 19:17:33.91 ID:???
とりあえず別のプラグインで代用することにしました。

あまりにもプラグインを増やしすぎて、どこかで思わぬ干渉が起きているのかもしれません。
jQeryについて全然知らない素人なので、勉強を兼ねて色々いじってみようと思います。

お答えくださった方、ありがとうございました。

628 :Name_Not_Found:2011/08/21(日) 19:38:59.60 ID:2+0X/6ue
>>623
コールバックに次の処理を渡せばいいよ

629 :Name_Not_Found:2011/08/21(日) 21:26:34.96 ID:???
>>628
ありがとうございました、できました!

630 :Name_Not_Found:2011/08/22(月) 12:58:44.91 ID:???
<SCRIPT LANGUAGE="JavaScript">
<!--
myTime=(new Date()).getHours();
if(myTime>=5 && myTime<10){
myBack="haikei1.png";
}else if(myTime>=10 && myTime<17){
myBack="haikei2.png";
}else if(myTime>=17 && myTime<23){
myBack="haikei3.png";
}else if(myTime<5 || myTime>=23){
myBack="haikei4.png";
}
document.write("<body background='"+myBack+"'>");
//-->
</SCRIPT>

初歩的?な質問ですみません…
上のソースを外部jsにして動かしたいのですが、どうすればいいのでしょうか…
<!--や</SCRIPT> をとったりしてみたのですが、そうやっても上手くいかないです…。

631 :Name_Not_Found:2011/08/22(月) 13:17:37.86 ID:???
>>630
まずbodyの開始タグだけをwriteしようとかいう設計を再考する
のがいいんではないだろうか。

632 :Name_Not_Found:2011/08/22(月) 19:05:23.69 ID:lElaMfbI
関数内で条件にあった場合に処理をするというようなとき
function(){
if(true){
//処理内容
}
}
よりも
function(){
if(false){return;}
//処理内容
}
のほうがいいんですか?
前者だと条件にあわなかった場合もifブロックの終わりを探しに行って無駄だとかそういう・・・
機械は賢いから機械のことは気にしなくてもいいけど
前者だと入れ子が深くなって人間にとって見難くなるから後者のほうがいいとかですか?

633 :Name_Not_Found:2011/08/22(月) 21:48:52.48 ID:???
>>632
速度の差なんてない。プログラムを読み書きする人にとって
理解しやすいのが良い。この場合、それだけが基準だね。

634 :Name_Not_Found:2011/08/22(月) 21:56:20.04 ID:???
> 前者だと入れ子が深くなって人間にとって見難くなるから後者のほうがいいとかですか?
その通り。

あと、falseのケースの方が圧倒的に多い場合。


635 :632:2011/08/22(月) 22:04:13.34 ID:???
>>633-634
どうもありがとうございます

636 :Name_Not_Found:2011/08/23(火) 02:09:35.98 ID:???
これはウィキペディアの画像アップローダーです。
http://commons.wikimedia.org/wiki/Special:UploadWizard
Chromeならファイル選択して直ちに画像プレビューが表示されます。しかもファイルサイズも取得されます。
canvas使ってるみたいです。どういう仕組みか教えて下さい。
このソースにcanvasってコードがあることは突き止めました。
http://bits.wikimedia.org/commons.wikimedia.org/load.php?debug=false&lang=ja&modules=ext!uploadWizard&skin=monobook&version=20110820T023037Z

<input type="file">のvalueを読むとC:\fakepath\〜となって正しいファイルパスが取れません。
このセキュリティどう突破しているのか特に気になります。

637 :Name_Not_Found:2011/08/23(火) 03:42:42.89 ID:???
>>630
window.onload = function(){
document.body.style.backgroundImage = 'url(' + myBack + ')';
};

638 :Name_Not_Found:2011/08/23(火) 04:01:09.74 ID:???
document.body
document.documentElement
document.getElementsByTagName('body')[0]
質問者じゃないが、このあたりの使い分けがイマイチわからないんだよな

639 :630:2011/08/23(火) 04:31:30.91 ID:???
>>631
>>637

解決しました。ありがとうございます。

640 :Name_Not_Found:2011/08/23(火) 10:53:19.02 ID:???
>>636
<input type=file> の change イベントを捕まえて、

方法1
iframeをターゲットにして<input type=file>を含むフォームを送信して、
フォーム送信の結果としてサーバから画像とファイルサイズを含んだペー
ジを返す。

方法2
FileReaderを使って読んでdata URLを生成して<img>やら<canvas>やらに
描画


641 :Name_Not_Found:2011/08/23(火) 11:04:28.69 ID:???
dmmのサイトでサンプル画像を拡大するとき
javascriptでどう画像を処理してるかわかりません。
preview.jsで制御してるぽいところまでは
わかったんですが・・・

http://www.dmm.co.jp/mono/dvd/-/detail/=/cid=iptd701/
http://www.dmm.co.jp/js/preview.js

642 :Name_Not_Found:2011/08/23(火) 11:49:18.18 ID:7o1Ew6Mc
タグをinputやtextareaに変更して、文字列も変えたいのですが教えていただけないでしょうか?
編集するをクリックでhrefをvalueに 要素をnameに 編集するをsubmitに変換したい。

<p><a href="http://mixi.jp">mixi</a><a href="">編集する</a></p><!--タグは変更OK-->

<p><input type="url" value="http://mixi.jp" name="mixi" /><input type="submit" /></p>

jsはコピペばっかりでよくわかってません・・・よろしくお願い致します。

643 :Name_Not_Found:2011/08/23(火) 13:22:32.88 ID:???
>>642
ヒント: createElement, replaceChild
a要素はアンカーとして機能しないからspan要素にでも変えた方がいいね

644 :Name_Not_Found:2011/08/23(火) 18:31:01.18 ID:???
Ext JSとかjavascriptのGUIフレームワークの話ってどこのスレでやればいいの?
専スレは見つからなかった

645 :Name_Not_Found:2011/08/23(火) 19:14:06.47 ID:TzyUDO0X
windowではなくあえてdocument.defaultViewを使う必要があるのは
getComputedStyle()を使うとき以外にはどういうときですか?

646 :Name_Not_Found:2011/08/23(火) 20:29:32.65 ID:???
http://d.hatena.ne.jp/amachang/20070611/1181554170

647 :Name_Not_Found:2011/08/23(火) 23:25:15.89 ID:???
スタイルシートのスクロール移動するAPIってありますか?
windows.scrollbyみたいな

getElementByID("DIV_ID").scrolltop = ○○
こんな感じだと動いてくれるんですが、
この作りだと同期とれてない気がするので


648 :Name_Not_Found:2011/08/23(火) 23:28:23.70 ID:???
ハア???

649 :Name_Not_Found:2011/08/24(水) 00:08:46.88 ID:???
自己解決。
@で確実に移動し終わってから処理Aに入りたかったんだが
どうやら同期は取れないらしい。

function move(){
var element = document.getElementById('test');
element.scrollTop = 100; //@
    //処理A
}
<input type="button" value="move" onclick="move()">
<div id="test" style="height:100px;overflow-y:scroll">


650 :Name_Not_Found:2011/08/24(水) 00:13:22.37 ID:???
>>649
もしかして処理AをsetTimeoutで実行すればいいんじゃね

651 :Name_Not_Found:2011/08/24(水) 00:14:35.34 ID:???
>>649
同期とれるよ
http://jsfiddle.net/kk7q8/

652 :Name_Not_Found:2011/08/24(水) 00:19:01.53 ID:???
せめて再現可能なコードを書いて欲しい

653 :Name_Not_Found:2011/08/24(水) 00:59:11.53 ID:???
みなさんレスどうもです。
>>650
現状その手段を用いてます。

>>651
例えば@で移動先が描写の重い処理や回線速度が遅かったら
たぶん完全に表示しきる前にalert出ます。

>>652
勉強中な身うえ無理です><

654 :Name_Not_Found:2011/08/24(水) 03:47:02.67 ID:???
DOMエレメントに変数を記録しておく事って出来ませんか

例えば
addObj= document.createElement('div');
addObj.innerHTML="ほげほげ";
document.body.appendChild(addObj);

で、どんどんオブジェクトを作っていく時、addObjに外部から見えない変数、オブジェクト、配列を記録させたいです
serializeしてsetAttributeは思いついたのですが、serializeせずに直接データを入れる方法があればそっちを使いたいです

655 :Name_Not_Found:2011/08/24(水) 07:20:45.81 ID:???
>>654
jQueryの実装を例にすると、ノードオブジェクトにプロパティを1つ追加して、そのプロパティ値にデータ保存用オブジェクトのプロパティ名を保存しておくという方法がある

↓のページにある「jQuery.data 関数」の項目がパッと見わかりやすいかも
http://d.hatena.ne.jp/mollifier/20101006/p1

ただし、行儀が悪いというか、将来的な仕様変更で使えなくなる可能性がある
Nodeオブジェクトへのプロパティ追加が禁止されたらアウト
でも、とりあえず「今のところは」大丈夫な方法

一番確実なのはsetUserData()を使う方法
https://developer.mozilla.org/En/DOM/Node.setUserData
ただし、これ実装している処理系はGecko(Firefox)だけっぽいので、実用を考えると無理ゲー

というわけで、やっぱりjQueryみたいな方法を使うのが無難だと思う

656 :Name_Not_Found:2011/08/24(水) 07:44:17.09 ID:???
>>653
非同期になるはずはないんだけどね
書いてない他の処理が影響してそうな感じがする

657 :Name_Not_Found:2011/08/24(水) 07:45:54.29 ID:???
>>654
クロージャに閉じ込めるかsetUserData

658 :Name_Not_Found:2011/08/24(水) 08:27:06.11 ID:???
>>656
表面の描画は基本的にスクリプトと非同期
要素の位置を変更しても基本的に直ちに描画はされない
スクリプトで非常に重い処理をし続ければそれが終わるまで描画が実行できない
そのためのsetInterval

659 :Name_Not_Found:2011/08/24(水) 09:00:04.83 ID:???
>>654
質問内容とは関係ないんだけど、
変数名にaddObjってのに違和感がある。
動詞は変数名じゃなく関数名に付けるべきだ。

660 :Name_Not_Found:2011/08/24(水) 16:37:26.00 ID:???
var fuga = {};
fuga['日本語'] = 'ほげほげ';
fuga['英語'] = 'hogehoge';]

シンプルでいいとは思うのですが、ハッシュキーにマルチバイト文字をいれたくないのですが、いい改善方法ないでしょうか?

661 :Name_Not_Found:2011/08/24(水) 16:49:21.78 ID:???
fuga['ja'] = 'ほげほげ';
fuga['en'] = 'hogehoge';

何がしたいのかがいまいちわからない。
多言語対応の定義をどうすればいいのかという事?


662 :Name_Not_Found:2011/08/24(水) 17:40:09.73 ID:???
>>640
FileReaderの存在を知ったらすぐ作れた。thx

663 :660:2011/08/24(水) 18:03:37.67 ID:???
>>661
他にうまくデータ型を持てるように出来ればいいのですが、
もっともシンプルなのでできればハッシュがいいのですが、マルチバイトは避けたいので、
例えば多重配列にして、
var fuga = [
['日本語', 'ほげほげ'],
['英語', 'hogehoge']
];
なんかでもいいのですが、何かいい方法がないかと思って聞きました。
すみません。色々説明が下手で日本語も多分おかしいです。

664 :Name_Not_Found:2011/08/24(水) 18:07:45.24 ID:???
fuga['ja'] = ["日本語", 'ほげほげ'];
fuga['en'] =["英語", 'hogehoge'];

やりたいことがわからんな。
全言語のリスト(selectとか)作るなら>>663の配列でいいと思う。


665 :Name_Not_Found:2011/08/24(水) 18:37:43.98 ID:???
外部htmlファイルを読み込んでその中身を$htmlという変数に格納するところまではできたのですが
この$html内の<body>から</body>の中身のみ取得して$textへ格納する正規表現はどう書けばいいのでしょうか?

666 :Name_Not_Found:2011/08/24(水) 19:45:31.95 ID:???
>>663
日本語が駄目な理由を明確にしないと適切なアドバイスは出来ないと思うよ
>>660が駄目で>>663が良い理由もよくわからないし

667 :Name_Not_Found:2011/08/24(水) 19:49:50.16 ID:???
>>665
正規表現使うよりdocument作ってbody内を取ったほうが良いと思う


668 :Name_Not_Found:2011/08/24(水) 20:50:17.94 ID:???
var iframe, doc, $text;
iframe = document.body.appendChild(document.createElement('iframe'));
iframe.style.cssText = 'position: absolute; top: -1000px';
doc = iframe.contentWindow.document;
doc.open();
doc.write($html);
doc.close();
document.body.removeChild(iframe);
$text = doc.body.innerHTML;

669 :Name_Not_Found:2011/08/24(水) 20:58:27.09 ID:???
<html><body>hello</body></html>
<html><body>hello
<body>hello</body>
<body id="test">hello</body>
<body id='test'>hello</body>
<body id=test>hello</body>
<body id class><body>hello</body></body>
正規表現でやるならこれくらいは網羅してほしいな


670 :Name_Not_Found:2011/08/24(水) 21:05:21.62 ID:???
>>668
無理矢理って感じだな。
なんか前時代的な書き方だ。

実際問題、iframeを使わずに外部ページを表示するのに
AJAXなどで外部のhtml取得。
でもその外部ファイルの<body>以外の<html>タグ、<head>内などいらない物を削除して埋め込むテキストを生成してページに埋め込むって
需要ありそうだけど情報無いよね。

671 :Name_Not_Found:2011/08/24(水) 21:06:48.41 ID:???
あるにはあるけどやりたい事によって処理違うし
>>668の書き方は一番無難だと思うけどな

672 :665:2011/08/24(水) 21:22:34.99 ID:???
>>668
ありがとうございます。
つまりは正規表現だけでは無理と言うことですか?



673 :Name_Not_Found:2011/08/24(水) 21:25:37.00 ID:???
htmlがある程度ちゃんとしてれば正規表現でもできるよ。
>>668の手もあるってだけ。
正規表現はぐぐればいくらでも出てくる。

674 :665:2011/08/24(水) 21:51:15.75 ID:???
>>673
>正規表現はぐぐればいくらでも出てくる。
その調べながらやっているのですがうまく動かないんです。
/<body(.*?)>(.*?)<\/body>/
こんな感じでやったのですがうまく動きませんでした。

675 :Name_Not_Found:2011/08/24(水) 21:55:22.04 ID:???
>>669
ねーよ

676 :Name_Not_Found:2011/08/24(水) 21:55:45.23 ID:???
>>674
再現出来るソース

677 :Name_Not_Found:2011/08/24(水) 22:01:52.64 ID:???
正規表現を削ってどこが問題なのか特定すればいいじゃん。

多分改行が問題。

678 :Name_Not_Found:2011/08/24(水) 22:10:11.16 ID:???
正規表現なんて使うもんじゃないと思うが…

<body>
<script>'</body>';</script>
<!-- </body> -->
<! </body> >
<![CDATA[ </body> ]]>
<p title="</body>">p</p>
</body>

679 :Name_Not_Found:2011/08/24(水) 22:18:11.62 ID:???
(?:<\/body>\s*(?:<\/html>\s*)?)?$
こんなもんでどうよ、

というか、今回のは書き換えるとかじゃないならiframeで直接表示でいいと思う。

680 :Name_Not_Found:2011/08/24(水) 22:26:58.76 ID:???
>>677
見事にその改行の問題でした。
ありがとうございます。

681 :Name_Not_Found:2011/08/24(水) 22:41:15.52 ID:???
必要ないかもしれないけど一応改行対策した物です。
/<body(.*?)>([\s\S]*)<\/body>/

682 :Name_Not_Found:2011/08/24(水) 22:57:45.53 ID:???
素直にDOM使うべきだと思うけど、正規表現で>>678にどう対処する?

683 :Name_Not_Found:2011/08/24(水) 23:10:00.38 ID:???
>>682
でもこれが、JavascriptだからDOMを扱えるから>>668の方法を採用できるが
これがPerlやPHP側で処理したいとなると結局、正規表現を使うことになるから
正規表現での抜き出し方法はわかっていた方が、いいとも言える。

684 :Name_Not_Found:2011/08/24(水) 23:20:07.70 ID:???
PHPでもDOMだしPerlでもDOMだと思うが


685 :Name_Not_Found:2011/08/24(水) 23:24:37.05 ID:???
>>684
PHPにおいては「DOM 拡張モジュール」が有効になってないと使えない。
だから使えないサーバの事も考慮する必要がある


686 :Name_Not_Found:2011/08/24(水) 23:30:10.31 ID:???
>>682
>>681をベースに考えるなら
/<body(.*?)>([\s\S]*)<\/body>[\s\S]*$/
でOK。
結局、ここに書き込んでいる人で正規表現理解しているのは>>679と質問をした>>665自身と俺だけ?

687 :Name_Not_Found:2011/08/24(水) 23:43:35.54 ID:???
キリッ

688 :Name_Not_Found:2011/08/24(水) 23:44:03.11 ID:???
phpのdomはデフォで有効だけどな

689 :Name_Not_Found:2011/08/24(水) 23:52:25.05 ID:???
>>688
デフォでもそれは、ソースからのmake時の設定に関してのこと。
ソースからではなくてパッケージとしてのインストール(rpmなど)から、
インストールだとパッケージが別になっていることがある(RHEL系は別だね)
そのパッケージ(php-xml)をインストールしてあるかは
>phpのdomはデフォで有効だけどな
とは別問題。
システム構築したことある人間なら常識的なことで
>>688の発想はないぞ。

690 :Name_Not_Found:2011/08/24(水) 23:52:39.46 ID:???
>>686
[\s\S]*$ が意味不明だし、>>678のパターンを回避できてない(最長一致だからたまたまマッチしてるだけ)

alert(/<body(.*?)>([\s\S]*)<\/body>[\s\S]*$/.exec('<body></body><!-- </body> -->')[0]);

さあどうする?(正規表現で不可能とはいわないが、現実的じゃない)

691 :Name_Not_Found:2011/08/25(木) 00:03:40.39 ID:???
>>690みたいな粘着キモいな

692 :Name_Not_Found:2011/08/25(木) 00:06:42.13 ID:???
JavaScriptで正規表現を採用すべき理由はあるんだろうか

693 :Name_Not_Found:2011/08/25(木) 00:08:47.47 ID:???
PHPの話はスレ違いですぜ
http://hibari.2ch.net/test/read.cgi/php/1311803617/

694 :Name_Not_Found:2011/08/25(木) 00:09:44.19 ID:???
>>689
レン鯖でのシステム構築の経験は無いからわからんわ

695 :Name_Not_Found:2011/08/25(木) 00:15:21.69 ID:???
>>692
少なくとも今回のパターンだと無駄なdomをオブジェクトとして追加するより変数内ですべての処理ができた方が少なからず消費メモリに良いのでは?
実際にphpも話題に出ているから書くとphpだと変数内の文字列に対してdomをいじれる。
javascriptもdocumentオブジェクトではなくて変数内の文字列に対してdom操作ができるようになっていたらいいのにね。

696 :Name_Not_Found:2011/08/25(木) 00:16:17.64 ID:???
>>686の[\s\S]*$は俺もわけわからん
何か意味ある?

697 :Name_Not_Found:2011/08/25(木) 00:17:56.43 ID:???
>>696
ありとなしでトレースしてみれば良いんじゃない?

698 :Name_Not_Found:2011/08/25(木) 00:21:44.33 ID:???
>>695
誤爆の危険性よりもシンプルなコードを重視してるのか
HTMLパーサを正規表現で書くことがどれだけ面倒かを理解している人は採用しないと思ってた

> javascriptもdocumentオブジェクトではなくて変数内の文字列に対してdom操作ができるようになっていたらいいのにね。
createHTMLDocument では要件満たせない?これを知らないから正規表現を採用するのかな

699 :Name_Not_Found:2011/08/25(木) 00:26:30.37 ID:???
>>698
>> javascriptもdocumentオブジェクトではなくて変数内の文字列に対してdom操作ができるようになっていたらいいのにね。
>createHTMLDocument では要件満たせない?これを知らないから正規表現を採用するのかな
createHTMLDocumentはDocumentオブジェクトを生成するメソッドであって変数ではないぞ。
おまえこそ
>これを知らないから
な状態。恥ずかしいから知ったかぶりするなよ。


700 :Name_Not_Found:2011/08/25(木) 00:29:32.51 ID:???
>>698
>誤爆の危険性よりもシンプルなコードを重視してるのか
シンプルと言うより処理的な効率性(メモリ消費やアルゴリズム的)だろ?
あの文書どう読んだらシンプルという結論になるんだ?

>これを知らないから正規表現を採用するのかな
なんて書く前におまえの中の日本語理解力をどうにかしろよ。

701 :Name_Not_Found:2011/08/25(木) 00:36:18.64 ID:???
妙に攻撃的な人が多いね
怖い怖い

702 :Name_Not_Found:2011/08/25(木) 00:39:07.02 ID:???
>>701
しかも質問した人間がいなくなってるのに

703 :Name_Not_Found:2011/08/25(木) 00:44:30.35 ID:???
htmlの仕様を網羅しないといけないからキリがない
最初の"<body>"から最後の"</body>"とか厳密に指定されていれば話は別

704 :Name_Not_Found:2011/08/25(木) 00:51:58.09 ID:???
</body>が省略されていたら悲惨だな
DOMの方が安心

705 :Name_Not_Found:2011/08/25(木) 01:32:38.65 ID:D4c/zC6i
javascript書くときに関数は関数式で書くべきか、関数宣言でかくべきか
皆さんどちら?

・関数式
 var hoge = function(){};

・関数宣言
 function hoge(){}

706 :Name_Not_Found:2011/08/25(木) 01:54:32.81 ID:???
宣言かな。宣言ならそれより前でも実行できるし。
式で書くのは上書きとか宣言じゃできない時。user.jsとか
(function(){
var test_backup = test;
window.test = function(){
// 追加
test_backup();
};
})();

707 :Name_Not_Found:2011/08/25(木) 02:09:29.17 ID:yk6Cdhof
>>705
俺ルールだと
その場限りというか、今書いてるスコープでしか使わないとき→式
そうじゃない場合→宣言

708 :Name_Not_Found:2011/08/25(木) 02:17:15.12 ID:D4c/zC6i
さっそくのレスありがたい

自分は今関数式で統一しております。
関数式だとスコープ内でも使えるし。
混ぜるのは嫌なので、あえて関数式のみで。




709 :Name_Not_Found:2011/08/25(木) 02:32:21.78 ID:x7LEiDpP
ん?

710 :Name_Not_Found:2011/08/25(木) 02:37:15.26 ID:???
スコープはどっちも同じだよ?

711 :Name_Not_Found:2011/08/25(木) 02:45:15.11 ID:???
変数オブジェクトとして渡す必要があるかどうかで判断するものかと思ってた

712 :Name_Not_Found:2011/08/25(木) 02:52:56.31 ID:???
>>711
それが理由なら常に渡せる形にしておくべきじゃないの?

713 :Name_Not_Found:2011/08/25(木) 10:59:39.18 ID:???
普通統一なんてしないよ

714 :Name_Not_Found:2011/08/25(木) 11:37:20.01 ID:???
firefoxのbrowser.jsとかではvar foo = function bar() {};みたいに両方いっしょに使ってた
デバッグに便利とか何とか誰かが言ってたけどよくわからない

715 :Name_Not_Found:2011/08/25(木) 13:03:43.93 ID:hstFaGoY
ん?
関数宣言だと、渡したりできなかったっけ?

716 :Name_Not_Found:2011/08/25(木) 13:06:28.84 ID:hstFaGoY
途中で送信してもうた
自分はこんな風に書くのが一番多いようです
まあ、文ですね

{
fn : function(){ }
}

717 :Name_Not_Found:2011/08/25(木) 16:03:51.48 ID:???
アッキー

718 :Name_Not_Found:2011/08/25(木) 17:03:51.53 ID:mGtSWrMa
ベロベロベロベロベロベロベロベロ

719 :Name_Not_Found:2011/08/25(木) 17:12:01.73 ID:???
>>705
その書き方って「関数式」って言うの?
無名関数だと思っていた。というかほかのオブジェクト指向言語だと無名関数って言わないか?

720 :Name_Not_Found:2011/08/25(木) 17:27:21.68 ID:???
>>719
無名関数は関数に名前をつけないこと。
関数式っていう呼び方とは関係ない。

var f = function(){};
は無名関数の式で変数fを初期化している。

var g = function h(){};
は関数の式で変数gを初期化している。

721 :Name_Not_Found:2011/08/25(木) 18:24:06.11 ID:???
>>720
JavaScriptは仕様が中途半端だよな。
オブジェクト指向ぽいところもあるけど違うところもあるからね。
Javascriptでいう関数式はオブジェクト指向なら「インスタンス化」なんだろうけど

722 :Name_Not_Found:2011/08/25(木) 19:02:16.88 ID:7KEGuq5E
(function(window){
var document = window.document;
})(window);
なんでこういうことをしているんですか?
windowを渡したりdocumentに代入したり。

723 :Name_Not_Found:2011/08/25(木) 19:04:31.08 ID:???
>>721
中途半端と思わなかったので新鮮だなー
参考までに聞きたいんだけどどこが中途半端だと思う?
関数式がインスタンス化ってのもよくわからないんだけど、Functionのインスタンスを生成するから?

724 :Name_Not_Found:2011/08/25(木) 19:06:13.22 ID:???
>>722
普通の関数呼び出しと同じだよ
引数にすれば他のwindowを渡せるから

725 :Name_Not_Found:2011/08/25(木) 19:27:09.85 ID:???
中途半端じゃなくて、自由度があると言いたまえ

726 :Name_Not_Found:2011/08/25(木) 19:39:09.27 ID:???
自由度が高すぎてどう書くべきかわからんプロトタイプベースとやら

727 :Name_Not_Found:2011/08/25(木) 19:40:29.84 ID:???
>>725
あっC++と一緒か。
馬鹿がプログラミングするとせっかくのオブジェクト指向言語で構造化プログラミングしちゃうみたいな。

>>723
>中途半端と思わなかったので新鮮だなー
斬新?えっ嘘?だってjavascriptより前にも中途半端なオブジェクト指向言語としてVBがあったじゃん。
だからまたやらかしたメーカがあるのかって俺は思った。

>参考までに聞きたいんだけどどこが中途半端だと思う?
javascripにある既存の物に関してはオブジェクトとして扱わせようとしているけど
ユーザに対してはオブジェクト指向言語として実装されている機能が少なすぎること。
(過去のPHPもそんな感じだったけどPHPはその後がんばって実装してくれたおかげでとりあえず使える域にはなってきている。)

728 :Name_Not_Found:2011/08/25(木) 19:46:06.64 ID:???
>>7277
>javascripにある既存の物に関してはオブジェクトとして扱わせようとしているけど
>ユーザに対してはオブジェクト指向言語として実装されている機能が少なすぎること。
>(過去のPHPもそんな感じだったけどPHPはその後がんばって実装してくれたおかげでとりあえず使える域にはなってきている。)

prototype知らずにjavascript語るなよ

729 :Name_Not_Found:2011/08/25(木) 19:53:34.67 ID:???
>>728
だから何って感じだね。
>>728は知っている言葉をとりあえず使っておけばいいと思っているんだよきっと。
オブジェクト指向として実装されている機能が貧相なこととプロトタイプは別物だぞ。
おまえこそ本当にプロトタイプを理解しているのか?
まぁアンカーひとつまともにつけることができない奴には理解なんて無理か。


730 :Name_Not_Found:2011/08/25(木) 20:00:48.68 ID:???
JavaScriptのデバッグツールで良いのってない?
普段は
IE+IEの開発者ツール+テキストエディタ
もしくは
FireFox+Firebug+テキストエディタ
で開発者ツールやFirebugをブラウザと同じウィンドウに表示すると表示が狭くなるから別ウィンドウとして使うと
最低3つのウィンドウを行き来する羽目になって効率的に悪いです。


731 :730:2011/08/25(木) 20:05:24.62 ID:???
追加でjqueryやAJAX(http通信しているデータを視覚化してくれたらありがたい)対抗の物で

732 :Name_Not_Found:2011/08/25(木) 20:09:08.93 ID:???
2画面ですりゃOK


733 :Name_Not_Found:2011/08/25(木) 20:40:55.55 ID:???
>>727
JavaScriptをオブジェクト指向言語として見ることがそもそもの間違いだと思うな
プロトタイプベース言語とオブジェクト指向言語をごっちゃにしてない?

> ユーザに対してはオブジェクト指向言語として実装されている機能が少なすぎること。
何度もいうけどJavaScriptはオブジェクト指向言語じゃないよ
だからオブジェクト指向言語としての機能はないし、オブジェクト指向言語と同じように実装しようとすることが間違ってる

734 :Name_Not_Found:2011/08/25(木) 20:58:50.68 ID:???
プロトタイプベースのオブジェクト指向言語だと思ってた・・・

735 :Name_Not_Found:2011/08/25(木) 21:00:57.94 ID:???
>>731
すでに2画面でウィンドウは並べて作業しています。
問題は画面ではなくてウィンドウの行き来。
2画面で作業しているから時々どのウィンドウがアクティブなのかごっちゃになる。
で、テキストエディタだと思ってCtrl+SをWebブラウザでやっていたり
開発者ツールでソースを書こうとしたり。作業効率が悪いですね。
なんかIDEですべて一つのウィンドウでソースの書き込みとデバッグとプレビュなどを処理できない物かと。


>>733
君もわかってないよね?
JavaScriptはプロトタイプのオブジェクト指向言語だぞ。
だからオブジェクト指向言語に変わりはない。

個人的にはdocumentをnewしたいと思うことも。

736 :Name_Not_Found:2011/08/25(木) 21:02:00.16 ID:???
>>729 スマホからだったから安価ミスしたわすまんな
まあそこそこの規模での開発になったらパッケージみたいな仕組みがないから面倒だと感じるけど
それ以外はJavaとかPHP比べたら扱いやすいね

737 :Name_Not_Found:2011/08/25(木) 21:04:04.21 ID:???
>>733
こういう奴がC++は完全なオブジェクト指向言語です(`・ω・´)ゝ キリッ
って言うんだろうね。


738 :Name_Not_Found:2011/08/25(木) 21:16:39.32 ID:???
>>736
個人的にはjavascriptもPHPもそろそろ変数宣言を強制化できるようにして欲しい。
PHPには一応error_repotingに対してE_NOTICEを指定いれば似たようなことはできるけど)
Perlのuse strict様な機能が欲しいね。
たぶんこれがあれば人為的なソースの書き込みミスでのデバッグはだいぶ楽になると思う。
それとこれもjavascriptもPHPの両方に言えることだけどそろそろ変数の型宣言を・・・
だから現状では比較演算子に「===」まである始末。

739 :Name_Not_Found:2011/08/25(木) 21:19:04.91 ID:???
プロトタイプと騒いでいた馬鹿、自分の無知が露見して逃亡したのか?

740 :Name_Not_Found:2011/08/25(木) 21:20:17.26 ID:???
use strictがあるだろ

741 :Name_Not_Found:2011/08/25(木) 21:21:44.80 ID:???
煽るの止めなよ、みっともない…
CoffeeScriptは確かできないけど、ClojureScriptなら型宣言とかできるのかな?できないか

742 :Name_Not_Found:2011/08/25(木) 21:22:01.98 ID:???
このスレはJavaScriptの質問スレだからね
JavaScriptや他言語の定義を議論したいなら他所でどうぞ

743 :Name_Not_Found:2011/08/25(木) 21:25:55.25 ID:???
昔プログラム板にJavaScriptスレがあった気がするけどないな
ECMAScriptスレならあるが・・

744 :Name_Not_Found:2011/08/25(木) 21:26:22.69 ID:???
>>740
仕様としては実装されたけど
その機能を実装したブラウザってもう出ていたっけ?
調べたのが一年くらい前だから実装したブラウザがすでに出ていたらすまん。

745 :Name_Not_Found:2011/08/25(木) 21:29:46.30 ID:???
ブラウザしかJavaScriptを扱えないわけではないからね

746 :Name_Not_Found:2011/08/25(木) 21:30:05.33 ID:???
>>742
質問スレだけど回答者の性格が悪くていつも話が変な方向に行くから仕方がない。


747 :Name_Not_Found:2011/08/25(木) 21:32:47.88 ID:???
>>745
サーバサイドjavascript。


どっちにしてもjavascriptエンジンが必要でそのエンジンがどこまで実装しているかが問題だね。
そういえばandroidアプリにjavascriptだけの実行ソフトがあったな。

748 :Name_Not_Found:2011/08/25(木) 21:38:02.76 ID:???
FirefoxとChromeは実装されてるよ

749 :Name_Not_Found:2011/08/25(木) 21:42:25.65 ID:???
>>735
ごめん、勘違いしてた
ただ、他の言語の常識をJavaScriptに当てはめても仕方ないと思うんだよね

750 :Name_Not_Found:2011/08/25(木) 21:46:20.77 ID:???
ぶっちゃけ型宣言は必要?
俺は困ってないけどどんな状況で困るのかが気になる

751 :Name_Not_Found:2011/08/25(木) 21:51:32.22 ID:???
>>750
タイプミス。
まぁ君みたいな打ち間違いがない完璧超人には必要ない機能だね。

752 :Name_Not_Found:2011/08/25(木) 21:53:11.73 ID:???
え?

753 :Name_Not_Found:2011/08/25(木) 21:55:01.51 ID:???
よくわからんけど、undefinedが怖いってこと?>タイプミス

754 :Name_Not_Found:2011/08/25(木) 21:56:01.56 ID:???
タイプミスごときの為に静的な型付けが欲しいとかびっくりだわ


755 :Name_Not_Found:2011/08/25(木) 22:03:19.50 ID:???
Firebug上で、
hoge = 'hoge';
(function () {
"use strict";
hoge = 'hogeeee';
})();
console.log(hoge);
を実行するとhogeeeeが返ってくるんだけど、俺何か変な勘違いしてるのかな…

756 :Name_Not_Found:2011/08/25(木) 22:04:06.15 ID:???
>>754
デバック時の楽さ(手間)が変わってくるだろ。

まぁjavascriptくらいしか触ったことのない奴にはわからないだろうね。

757 :Name_Not_Found:2011/08/25(木) 22:05:13.30 ID:???
>>755
スコープとuse strictは別問題だろ。

758 :Name_Not_Found:2011/08/25(木) 22:09:37.25 ID:???
傲慢な回答者だな
ご退場願いたい

759 :Name_Not_Found:2011/08/25(木) 22:11:46.35 ID:???
>>756
タイプミスと型宣言にどんな関係があんのさ。
例えば何の言語の話をしてんの?

変数宣言の強制化について言えば、重複宣言を検知できる様にして欲しいわ。

タイプミスなんか、入力補完使っていればほぼ問題にならない。
それより、for ループの度に var i = 0 とかやっているの見ると気持ち悪い。

760 :Name_Not_Found:2011/08/25(木) 22:12:11.82 ID:???
>>757
変数宣言の話とごっちゃになってたみたい。ありがとう!

761 :Name_Not_Found:2011/08/25(木) 22:12:19.28 ID:???
>>756
静的な型付けがタイプミスをおこさない為に有るとでも思ってんの?


762 :Name_Not_Found:2011/08/25(木) 22:14:43.54 ID:???
磯野ーCoffeeScript勉強しようぜ!

763 :Name_Not_Found:2011/08/25(木) 22:18:08.22 ID:???
その前にワカメに中出しした責任取れや。

764 :Name_Not_Found:2011/08/25(木) 22:18:45.59 ID:???
>>759
>タイプミスと型宣言にどんな関係があんのさ。
型宣言?
日本語読めないバカですか?
どこから型宣言の話が出てきた?
use strictが型宣言だってよwww

>例えば何の言語の話をしてんの?
変数宣言が必要な言語すべて。
これのおかげでタイプミス時にコンパイラが教えてくれるんだぜ。
IDEによってもしっかり教えてくれるんだぜ。
デバッグ時の手間が減る。


>タイプミスなんか、入力補完使っていればほぼ問題にならない。
こういう人間がデバッグをおろそかにするんだろうね。


765 :Name_Not_Found:2011/08/25(木) 22:20:42.21 ID:???
>>761
でもタイプミス時に教えてくれるから便利。

766 :Name_Not_Found:2011/08/25(木) 22:21:42.95 ID:???
>>764
日本語読めないバカですかw

767 :Name_Not_Found:2011/08/25(木) 22:21:47.77 ID:???
「タイプミス」っていうのは型が合っていないという意味でのタイプミスなのか
それともプログラムを打ち間違えたという意味でのタイプミスなのか

768 :Name_Not_Found:2011/08/25(木) 22:23:00.12 ID:???
>>761
こういう事を
いう奴に限って理由を知らない法則

769 :Name_Not_Found:2011/08/25(木) 22:23:49.92 ID:???
>>764
アホな煽りはみっともないぞ

>>765
つまりはコンパイラのようなsyntaxチェックしてくれる物があればOKという事だな?
初期化や宣言がされていない時に教えてくれよと
そういう事だな?

やはりタイプミスと静的な型付けは関係なかった


770 :Name_Not_Found:2011/08/25(木) 22:23:52.13 ID:???
>>751のレスアンカーがタイプミスということか
「タイプミス」を宣言しながらタイプミスする人を初めて見たw

771 :Name_Not_Found:2011/08/25(木) 22:24:53.42 ID:???
>>764 は、話の流れも読まずにレスしてんのか?

772 :Name_Not_Found:2011/08/25(木) 22:29:42.16 ID:???
なぜすぐ意見への批判から人を中傷する流れになるのか…

773 :Name_Not_Found:2011/08/25(木) 22:30:14.85 ID:???
>>770
でも適切な安価先が見つからない。

774 :Name_Not_Found:2011/08/25(木) 22:32:06.88 ID:???
なんで型宣言の利点がタイプミスなんだと思ってたらアレか
型じゃなくて変数の明示的宣言の話か

775 :Name_Not_Found:2011/08/25(木) 22:32:24.76 ID:???
https://developer.mozilla.org/ja/JavaScript/Strict_mode
mozillaの公式文書。

>より多くのエラーが出されることにより、コード改良が促進されセキュリティや開発が改善します。
まぁこれを読む限りどっちの考えも間違っているしどっちも正しい。

結局、セキュリティーに重点を置くかエラー(タイプミスを含む)に重点を置くかって事ですね。
でも結局は開発の効率化ですね。

776 :Name_Not_Found:2011/08/25(木) 22:34:34.92 ID:???
>>773
確かにない…。誤読かw

777 :Name_Not_Found:2011/08/25(木) 22:36:08.03 ID:???
>>772
あまりこういうこといいたくないんだけど、「煽らないと気が済まない負けず嫌いな人」が常駐してるみたい

778 :Name_Not_Found:2011/08/25(木) 22:37:35.20 ID:???
>>775


>>750 以降の一連の流れの中で、何で strict mode の話をしてんの?

779 :Name_Not_Found:2011/08/25(木) 22:39:47.22 ID:???
>>774
>>751の時点の「打ち間違いがない」で普通気づくだろ?
気がつかない奴って相当沸点が低くて頭に血が上って冷静な読解能力が欠如していたの?


>>778
タイプミスのタイプをタイピングの事ではなくて型の方にとらえて変な粘着をしている
人がいるから。

780 :Name_Not_Found:2011/08/25(木) 22:40:09.58 ID:???
つまり、CoffeeScriptで書けばvarを自動で書いてくれるし==と書けば===に変換されるし
class Hogeとか書けばプロトタイプを意識せず他のクラスベースの言語のように
オブジェクトを操作できて素敵、ってことで良いのかな?

781 :Name_Not_Found:2011/08/25(木) 22:40:14.78 ID:???
>>775
use strictとタイプミスの関係性に異論はないと思うよ
静的な型付けに噛みついた人がいたから討論(という名の煽り合い)になったのが事実

782 :Name_Not_Found:2011/08/25(木) 22:42:41.45 ID:???
>>778
その後の部分読めばわかるけど
タイプエラー(こっちのタイプは型の方)のチェックもしてくれる。
それと入力ミス似る方のタイプエラーもチェックしてくれる。
というわけで結局双方がタイプミスを別々の意味でとらえていたと言うこと。

783 :Name_Not_Found:2011/08/25(木) 22:45:24.47 ID:???
つまりは>>750は簡単なソースしか書いたことなくて
デバッグ作業が必要ない言うことですね。

784 :Name_Not_Found:2011/08/25(木) 22:48:56.69 ID:???
>>782
少なくとも、>>751は「打ち間違い」といってるからTypeErrorの意味で使わなかったはず
ここでuse strictが出てくるのは明らかにおかしい

785 :Name_Not_Found:2011/08/25(木) 22:52:21.70 ID:???
>>782
>それと入力ミス似る方のタイプエラーもチェックしてくれる。
これこそタイプミスww

タイプミスと聞いて入力ミスと思う人と型宣言ミスを思う人ばどっちが多いのだろうか?
俺は、型宣言ミスなんかの方はタイプエラーって言ってタイプミスはタイピングミスの方を連想する。

786 :Name_Not_Found:2011/08/25(木) 22:53:38.28 ID:???
打ち間違いで変数宣言をしていない変数を書いてしまったとき、
"use strict";と書いておけばエラーにしてくれるから打ち間違いは解消。めでたしめでたし。
って話なんじゃないの?

787 :Name_Not_Found:2011/08/25(木) 22:54:58.25 ID:???
タイプミスで型だと思うやつはいないだろ

788 :Name_Not_Found:2011/08/25(木) 22:55:43.69 ID:???
>>785
ECMAScript を理解している人なら TypeError というと思う
カタカナにするにしても「タイプエラー」で「タイプミス」と呼称するとは思えない

789 :Name_Not_Found:2011/08/25(木) 22:55:49.32 ID:???
>>784
>ここでuse strictが出てくるのは明らかにおかしい
いやいやuse stricは未定義の変数も検出してくれるから
変数名の入力ミスも結果的にチェックしてくれる。
だから、間違っていない。

790 :Name_Not_Found:2011/08/25(木) 22:56:56.18 ID:???
×打ち間違いは解消
○打ち間違いによって予期せぬ動作はしなくなる
(訂正が遅くなった…)

791 :Name_Not_Found:2011/08/25(木) 22:56:58.78 ID:???
>>750 は「型宣言」と言っている訳で。
どう脳内変換したら、「型宣言」の話がタイプミスの話になるんだ。

792 :Name_Not_Found:2011/08/25(木) 22:57:36.49 ID:???
>>787
でもこのスレに実際いた事実。
だからタイプミスという単語に反射的に型宣言騒いでいたんだろ?

793 :Name_Not_Found:2011/08/25(木) 22:58:30.33 ID:???
>>789
その理屈は理解できるが、>>750に対するアドバイスとして妥当ではない
>>751の読解力が不足していたとしか思えない

794 :Name_Not_Found:2011/08/25(木) 22:58:56.05 ID:???
収束しつつあるな。良かった良かった。

795 :Name_Not_Found:2011/08/25(木) 23:01:40.19 ID:???
単に>>751が型宣言と変数宣言を間違えただけじゃね

796 :Name_Not_Found:2011/08/25(木) 23:02:38.83 ID:???
うん、きっとそうだね。それで良いよ

797 :Name_Not_Found:2011/08/25(木) 23:03:08.98 ID:???
ところが >>764 で燃料を投下してしまった。

798 :Name_Not_Found:2011/08/25(木) 23:06:10.39 ID:???
で型宣言は必要ないと思う?
俺はあれば便利だとは思う。
他の言語と違い比較演算子で「===」使う必要あるから
他の言語やっていてjavascriptに戻ってくるとついつい「==」で比較しちゃう。


>>797
といって>>797>>797の書き込みでまた燃料投下してしまった。スレがまたこの話題で荒れたらおまえのせいだぞ。

799 :Name_Not_Found:2011/08/25(木) 23:09:32.91 ID:???
>>798
「===」を使うべき所を「==」を書くってこれもタイプミスだww
ある意味型宣言とタイプミス関係あったwwwwww

800 :Name_Not_Found:2011/08/25(木) 23:12:46.15 ID:???
そもそも==の存在意義がわからない…===が==になれば良いんじゃね

801 :750:2011/08/25(木) 23:13:59.80 ID:6pG79dRN
質問の仕方が悪かったのかな?
お騒がせして申し訳ない

>>798-799
確かに便利かもしれないけど、静的な型付け必須にすると型変換と両立できなくなってJavaScriptらしさが抜けるのがなーって思ってる

802 :Name_Not_Found:2011/08/25(木) 23:16:39.61 ID:???
【環境】Windows , chrome:IEの最新
【何をしたのか】関数内で <span id="name"></span>の内容(ソース)を書き変えようとした
【期待する結果】ジャンプしないリンクを押下することでspan内の内容を変えたい、その際サーバ側のファイルを使用したい
【サンプルコード】
function func(){
var ele = document.getElementById('spanname');
ses.src = URL;
}

---URL先のjsファイル---
document.write("hoge");

func関数が呼ばれていることはalert関数をfunc関数内で呼び、確認しました。
URLは http から始まる絶対指定(?)で行っています

jsファイルは同一サーバにあるものの私の管理ではないため相手側のソースを使用する必要があります
よろしくお願いします

803 :Name_Not_Found:2011/08/25(木) 23:16:45.50 ID:???
>>800
たとえば双方のデータを比較前に文字列から数値型にする処理を書いていたとする。
その場合、===で比較する?
それとある数値と関数の戻り値(戻り値が数値型だとわかっている)状態で===で比較する?

804 :Name_Not_Found:2011/08/25(木) 23:19:53.50 ID:???
>>802
そういうのはjQuery使うとものすごく楽だぞ

805 :Name_Not_Found:2011/08/25(木) 23:22:18.12 ID:???
>>803
するんだけど、何かまずいのかな?

806 :804:2011/08/25(木) 23:25:00.43 ID:???
$("ボタンのID名").click(function(){
$("spanのID名").load("ファイル名");
});
たぶんこれだけの処理。

807 :Name_Not_Found:2011/08/25(木) 23:27:32.28 ID:6pG79dRN
>>804,806
それクロスドメイン制限に引っかかる

808 :Name_Not_Found:2011/08/25(木) 23:28:54.67 ID:???
>>805
まずいとかではなくて型が同じなのが確実にわかっているのに型比較までするか?って事。
実際比較したこと無いけど「==」と「===」とでは比較する部分が多くなるから処理速度も変わってくるんじゃないの?

こういう事書くと定番のソートネタになる気がする。
処理速度より簡単なバブルソートでいいんじゃんって言うような物。
比較データ数が少ない場合はまだ処理速度に差が出ないけどデータサイズがでかくなってくると差が出てくる。
同じように比較処理もちりが積もればなんとやらと同じだと思う。

809 :806:2011/08/25(木) 23:34:09.72 ID:???
>>807
>jsファイルは同一サーバにあるものの
ってあるから同じドメイン上だと思っていたけど違うのか?
情報の小出しするな。最初から必要な情報すべて書いておけ。
だったらAJAX使う。
$("ボタンのID名").click(function(){
$.ajax({
  url: $url,
  cache: false,
  success: function(html){
$("spanのID名").html(html)
  }
});
});

810 :Name_Not_Found:2011/08/25(木) 23:35:20.14 ID:???
>>808
処理速度よりまずは安全に比較できることを優先したいから、俺は===だけ使います。

811 :806:2011/08/25(木) 23:35:57.49 ID:???
やば寝ぼけてきた。書き間違いがあった。
$("ボタンのID名").click(function(){
$.ajax({
  url: ファイルのURL,
  cache: false,
  success: function(html){
$("spanのID名").html(html)
  }
});
});

812 :Name_Not_Found:2011/08/25(木) 23:37:09.53 ID:???
>>810
それこそ安全性を考えるなら型宣言があった方が良いね。

813 :Name_Not_Found:2011/08/25(木) 23:40:19.04 ID:6pG79dRN
>>808
処理速度を求めるなら === が正解
内部的には == も型比較してる
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/11_Expressions.html#section-11.9.3
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/11_Expressions.html#section-11.9.6

>>809
ああ、ごめん
管理下にないから別サーバだと脊髄反射してた
>>806でいけそうだね

> 情報の小出しするな。最初から必要な情報すべて書いておけ。
誤解させて申し訳ないけど俺は質問者じゃないんだ…

814 :Name_Not_Found:2011/08/25(木) 23:43:55.19 ID:???
>>812
===できちんと型まで比較できるならそれで良いんじゃない?
今は==の使い道について話してるので、型宣言の話とか勘弁して下さい

815 :802:2011/08/25(木) 23:46:04.62 ID:???
>>809
クロスドメイン制限は引っ掛からないと思います
jQueryについては独断で使用するわけにはいきませんが、便利そうなので使用できるように相談してみます

未熟なこともあり環境も全て把握できているわけではありませんが頑張ってみます、ありがとうございます

>>807
管理というか担当が違うといった感じです、誤解させてすみません

816 :Name_Not_Found:2011/08/25(木) 23:47:12.39 ID:???
>>813
http://d.hatena.ne.jp/yamada6789/20100109/1263143419
でもブラウザの2大分派のIEとFireFoxでは===の方が速い結果に。
で信者が少ないChromeとOperaは==の方が速いという結果に。

ただしこの比較のバージョンが古いみたいだから現在はどうなっているのかな?
後でここに書かれているソースで実験した方が良いかな?

817 :Name_Not_Found:2011/08/25(木) 23:49:56.85 ID:???
>>813
800だけど、調べてくれてありがとう。
'1'と1が正しいかを調べるために型まで調べる必要があるのか。
言われてみれば==のほうがいろいろ処理が必要になりそう。

818 :Name_Not_Found:2011/08/25(木) 23:57:07.56 ID:6pG79dRN
>>816
それはサンプルソースが悪いと思うな
型変換が働かないケースで比較してもたいした差が出るとは思えない

819 :Name_Not_Found:2011/08/25(木) 23:58:08.89 ID:???
>>814
他の宣言が必要な言語では==で比較できるから
>>798みたいな他の言語を行き来するならありがたいだろうね。
これに加えてvbだと=だけでひかくできるからこわい

820 :Name_Not_Found:2011/08/26(金) 00:28:24.77 ID:???
仕様を見ればどっちの方が遅そうとか判断着くと思うのだが・・・
==の比較のアルゴリズム
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/11_Expressions.html#section-11.9.3
===の比較のアルゴリズム
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/11_Expressions.html#section-11.9.6


821 :Name_Not_Found:2011/08/26(金) 00:56:50.60 ID:???
仕様を見ればどっちの方が遅そうとか判断着くと思うのだが・・・
==の比較のアルゴリズム
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/11_Expressions.html#section-11.9.3
===の比較のアルゴリズム
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/11_Expressions.html#section-11.9.6


822 :Name_Not_Found:2011/08/26(金) 10:43:42.77 ID:WIWFubYy
>>820-821
落ち着け…、>>813で既出だ

823 :Name_Not_Found:2011/08/26(金) 11:00:28.33 ID:???
2回投降なのは2chの鯖落ちが原因なんだ・・・

824 :think49 ◆bKk/qcAKuM :2011/08/26(金) 11:10:04.32 ID:???
私の環境で検証したところではどのブラウザも厳密等価演算子(===)が速い結果に。
# あえて等価演算子(==)が遅くなるであろう値を選んでいます。
http://jsperf.com/equals-operator-vs-strict-equals-operator

825 :think49 ◆bKk/qcAKuM :2011/08/26(金) 12:40:01.17 ID:???
概ね全てのブラウザで厳密等価演算子(===)が等価演算子(==)より高速なようです。(Firefox 6 で型変換が働かないケースは例外)
http://jsperf.com/equals-operator-vs-strict-equals-operator/2

826 :Name_Not_Found:2011/08/26(金) 18:02:52.58 ID:???
言語仕様の話題は下のスレでやった方がいいみたいだな

JavaScriptスレ
http://hibari.2ch.net/test/read.cgi/tech/1314333133/

827 :Name_Not_Found:2011/08/26(金) 19:28:16.02 ID:DB9a6OQ2
http://gihyo.jp/dev/serial/01/crossbrowser-javascript/0016?page=2
このサンプルコードはもうこれ以上簡単にはなりませんか?
要素を渡してnewするだけで組み込めるこういうやつを自分も作ってみたいのですが
難しくて理解できません

828 :Name_Not_Found:2011/08/26(金) 20:55:38.07 ID:???
>>826
今日たったばかりのスレをなぜ推す?
仕様の話はECMAScriptスレだと思うが >2

829 :Name_Not_Found:2011/08/26(金) 23:49:48.08 ID:YOMV8Pin
>>827
難しくて理解できないのは、複雑だからじゃなくて、知らないからだと思う
雑に考えずに、わからないところを一個ずつ調べていけばいいよ

830 :Name_Not_Found:2011/08/27(土) 01:31:39.34 ID:???
>>827
メモリーリーク

831 :Name_Not_Found:2011/08/27(土) 01:43:25.16 ID:???
どうでもいいけど、ECMAScriptがJavaScriptの規格っていうの初めて知ったわ
JavaScriptで検索しても出ねえなとか思ったけど、
言語仕様話すレベルだったら知ってて当然なんかな

832 :Name_Not_Found:2011/08/27(土) 01:54:20.17 ID:???
>>831
昔のテンプレの定番にECMAScriptチュートリアルってのがあった
Javaをかじった人向けでやや不正確な部分もあったが
とほほなんかより、はるかにまともな解説だった

833 :Name_Not_Found:2011/08/27(土) 02:07:28.47 ID:???
とほほは過去の遺物でしかないからな・・・今となっては無意味な文書も多いし
今はだいたいMozilla Developer Networkを見てる
まとまった解説があって、そこそこ定期的に情報が更新されて、仕様へのリンクもあって、それなりに検索がやりやすい
もちろん間違った部分もなくはないけど、サッと調べやすくて重宝してる
MSDNもマシになってきてるけど、検索がまったく使いものにならないから非常に困る

834 :Name_Not_Found:2011/08/27(土) 02:14:36.13 ID:???
MDNもMSDNも共通して勘違いしていることがある

技術文書は読めてナンボ
お前らの最新技術とやらを披露する場じゃねえよ
ねえんだよ……

835 :Name_Not_Found:2011/08/27(土) 02:53:00.64 ID:???
全然関係ないサイトを私物化してるって話でなく、
自分たちで作ってるサイト上で自分たちの技術を披露してるのをとやかく言うって、どういうことなの

836 :Name_Not_Found:2011/08/27(土) 07:26:15.72 ID:???
JSのライブラリ配布サイトで
JS有効でないとダウンロードできないサイトを
どう思うかってのと同じじゃね

緊急にJSの動かない環境でダウンロードしなければならなくなったとき
あれはホントにむかついたなあ
デモはデモで別にやれ、文書は読めてナンボなのはその通りだと俺も思った

837 :Name_Not_Found:2011/08/27(土) 07:49:25.94 ID:???
>>836みたいな馬鹿が早く消えてくれるといいな

838 :Name_Not_Found:2011/08/27(土) 11:18:36.86 ID:???
>>832,833
とほほ信者ですが何か?

839 :Name_Not_Found:2011/08/27(土) 11:48:16.50 ID:+u3/5HJT
正直どのサイトがいいとか悪いとか思わない
どのサイトも不完全で組み合わせないと役に立たない
そういう意味で最も完全で頼りになるサイトは
http://google.com/

840 :Name_Not_Found:2011/08/27(土) 12:05:58.98 ID:???
>>834
MDN は Firefox の仕様書、MSDN は IE の仕様書だから何も間違っていない。
標準化された仕様を読みたいならしかるべき仕様書を読むべき。

841 :Name_Not_Found:2011/08/27(土) 12:23:15.47 ID:???
>>832
これ?
http://web.archive.org/web/20060319020814/http://www.axis.t.u-tokyo.ac.jp/~shunak/ecmascript/
クラスベース言語的な勘違いが生まれそうな点が心配かな。どちらにしても今となっては情報が古いか。

>>833
MSDNの検索にはGoogleウェブ検索のsite演算子を使うといいよ。

842 :Name_Not_Found:2011/08/27(土) 13:03:52.33 ID:f/HJOiJ4
2つのjqueryを1ページ内に組み込んだところ、前に設置した方が動作しなくなりました。(追加分のコードを削ると復活)
複数のjqueryを単一ページ内で動作させる場合、何か約束事などあるのであようか?

843 :Name_Not_Found:2011/08/27(土) 13:08:31.86 ID:???
このスレをjQueryで検索するといいよ。すでに2回同じ問題あったから。
あと、jqueryではなく、jqueryプラグインだろ?
本当にjquery.jsなら2つ動作させる意味が分からない。

844 :Name_Not_Found:2011/08/27(土) 14:40:11.35 ID:???
>>842
>>477-481
>>619-622,624-627

845 :Name_Not_Found:2011/08/27(土) 15:10:32.96 ID:f/HJOiJ4
>>843
仰るとおり「jqueryプラグイン」です。
>>844
わざわざありがとうございます。自分の場合とは異なる状況のようですが
これから色々試してみます。


846 :Name_Not_Found:2011/08/27(土) 17:40:45.70 ID:???
>>840
何か誤解されたようだけど
一時期のMSDNはJS使いまくりで、ブラウザによってはまともに見れなかった
そんなのが技術文書でいいのか、て話だったんだが

847 :Name_Not_Found:2011/08/27(土) 17:44:09.99 ID:???
>>841
当時はJavaScriptでJavaのように堅牢なコードを書く方法が模索されてた
それをぶち壊して今の流れを作ったのがPrototype.js

848 :Name_Not_Found:2011/08/27(土) 18:17:22.13 ID:???
>>841
クラスベースとは違ううんたらは聞き飽きてるんだが
現場は今でもクラス的な書き方をしないとチームで共有できない
プロトタイプベースでコード保守する方法論があったか?

849 :Name_Not_Found:2011/08/27(土) 19:54:49.35 ID:???
>>848
プロトタイプを使ってクラス的なものを作ってるんじゃないの?
それがプロトタイプベースでコード保守する方法論になると思うんだけど。

850 :Name_Not_Found:2011/08/27(土) 20:18:39.42 ID:???
>>849
結局そうなるよな
仕様書作るときもクラス表現にするわけだろ
だったらプロトタイプベースを強調する実用的なメリットは?と思ったわけ
クラスでいいじゃん

851 :Name_Not_Found:2011/08/27(土) 20:49:55.86 ID:???
またこの流れか

852 :Name_Not_Found:2011/08/27(土) 21:09:05.72 ID:???
続きはJavaScript専用スレでどうぞ〜
http://hibari.2ch.net/test/read.cgi/tech/1314333133/

853 :Name_Not_Found:2011/08/27(土) 22:21:33.38 ID:???
>>852
>>828

854 :Name_Not_Found:2011/08/28(日) 00:16:33.22 ID:???
>>852
1でオチが付いている

855 :Name_Not_Found:2011/08/28(日) 00:23:49.46 ID:???
排他的になったね

856 :Name_Not_Found:2011/08/28(日) 02:28:21.76 ID:???
>>853
お前アスペだろ
仕様の話してない

857 :Name_Not_Found:2011/08/28(日) 03:48:12.49 ID:???
じゃあ、何の話がしたいのか整理してください
そして、それがJavaScriptの質問でなければ適切なスレにどうぞ

858 :Name_Not_Found:2011/08/28(日) 08:53:57.58 ID:???
すみません、jQueryの質問なんですが
とある要素を最初からhideの状態というか
最初見えない→showで出てくる

というようにしたいのですが、この場合CSSのvisibility:hiddenみたいな感じで隠す事はできないんでしょうか?
それともonloadした時hideにするしか方法は無いでしょうか?

859 :Name_Not_Found:2011/08/28(日) 11:34:11.20 ID:???
javascriptつかって定期的にリロードさせてたHTMLにgoogleアナリィティクス入れてみたらリロードしなくなったんですけどなぜですか?

860 :Name_Not_Found:2011/08/28(日) 12:07:43.95 ID:???
>>859
>>1を読んで再現可能なサンプルコードを出してね

861 :Name_Not_Found:2011/08/28(日) 15:14:52.57 ID:Ef0tJWBU
>>858
cssにそうかけばいいじゃんか

862 :Name_Not_Found:2011/08/28(日) 15:46:57.94 ID:???
JavaScript の質問用スレッドなのに、どうしてjQuery限定なんだろう?

863 :Name_Not_Found:2011/08/28(日) 16:34:46.71 ID:???
誰が限定しとんねん

864 :Name_Not_Found:2011/08/28(日) 16:36:08.77 ID:???
TinyMCE+自前の簡易ファイラを実装しているのですが
簡易ファイラからの戻りを
http://www15.atwiki.jp/tinymce/pages/12.html
を参考にjqueryと組み合わせて
$('.fileimage').click(function() {
  var URL = this.href;
  var win = tinyMCEPopup.getWindowArg("window");
  win.document.getElementById(tinyMCEPopup.getWindowArg("input")).value = URL;
  if (win.ImageDialog.getImageData) win.ImageDialog.getImageData();
  if (win.ImageDialog.showPreviewImage) win.ImageDialog.showPreviewImage(URL);
  tinyMCEPopup.close();
  return false;
});
と実装したのですが
戻り値も正常に「画像URL」に画像は入りWYSIWYGエディタ上でも画像が表示されるのですが
いざそのデータをPOSTしてみると画像データが入らないどころかこの簡易ファイラを開いた後の入力関係すべてが破棄された状態になってしまいます。
どうすればいいかわかる方いますか?

865 :864:2011/08/28(日) 17:45:43.16 ID:???
事故解決できたっぽいです。
ファイラ側にもTinyMCEを組み込んでファイラ上での簡易エディタ機能を実装していたけど
それのためにtiny_mce.jsを読み込んでいたんだけどこれが悪さをしていたみたい。
tiny_mce.jsを外してポップアップ処理のためのtiny_mce_popup.jsだけにしたらなんか動いたみたいです。

866 :Name_Not_Found:2011/08/28(日) 18:49:13.13 ID:???
>>861
<div style="visibility:hidden">
</div>

にした所を〜.show();しても出てこないのですが、記述ミスなんでしょうか?

867 :Name_Not_Found:2011/08/28(日) 19:00:00.45 ID:???
>>866
そりゃ当たり前だ
.show() は .css('display', 'block') と同じだから

代わりに .css('visibility', 'visible') とでもすればよい

868 :Name_Not_Found:2011/08/28(日) 19:09:49.20 ID:???
っていうかvisibility:hiddenは「見えなく」するだけであって「消える」ではないだろ
例えば画像をaとbとc並べてbをhide()で「消し」たらCが左に移動するけど
visibility:hiddenで「見えなく」するだけじゃ全部位置はそのまんま

visibility:hiddenじゃなくて他ので隠すのがよかろう

869 :Name_Not_Found:2011/08/28(日) 22:07:38.22 ID:???
visibility:hiddenはTabでの移動もそのままだったような気がした
だから見え無いリンクに飛べることも可能だったかな

870 :Name_Not_Found:2011/08/29(月) 01:04:24.37 ID:???
http://hibari.2ch.net/test/read.cgi/tech/1314333133/ は何のためのスレですか?
質問もあるようですし、存在意義がわからないのですが…。

871 :Name_Not_Found:2011/08/29(月) 01:38:29.19 ID:???
>>869
Tabによるフォーカス移動はできなくなるよ?
少なくとも手元のFx6ではフォーカスしなくなった

872 :Name_Not_Found:2011/08/29(月) 02:17:51.78 ID:???
http://www.tagindex.com/javascript/time/update2.html
ここのサイトで紹介されている更新日時表示の文字の大きさを変えるには
どうしたらいいんですか?

873 :Name_Not_Found:2011/08/29(月) 02:49:46.92 ID:0hoTMh5W
>>827
ちょい、質問の意図がよくわからんのだが、
ページ眺めて分らないってことはhtml/css理解してないってことでいいのか?
それなら、cssのfont-sizeを追加しる

>>オリジナル
// 表示開始
document.write('更新日時:<strong>' + year + '年' + month + '月' + day + '日(' + week + ')');
document.write(hour + '時' + min + '分' + sec + '秒</strong>');
// 表示終了

>>修正
// 表示開始
document.write('更新日時:<strong style="font-size:200%";>' + year + '年' + month + '月' + day + '日(' + week + ')');
document.write(hour + '時' + min + '分' + sec + '秒</strong>');
// 表示終了

参考:
>http://www.tagindex.com/stylesheet/text_font/font_size.html


文字サイズの変更とかはhtml/cssの領分だから、問題を切り分けて適切なスレに行ってくれ。
質問の回答として間違えてたらすまん。

874 :Name_Not_Found:2011/08/29(月) 02:51:00.04 ID:???
CSSを設定

875 :Name_Not_Found:2011/08/29(月) 08:57:08.69 ID:???
>>870
工作員の分断工作

876 :Name_Not_Found:2011/08/29(月) 12:26:14.15 ID:???
>>870
質問以外のスレがあったっていいじゃん

877 :Name_Not_Found:2011/08/29(月) 13:04:37.19 ID:???
>>876
あっちでも質問スレみたいな流れだしいらねーよ


878 :Name_Not_Found:2011/08/29(月) 22:41:34.37 ID:???
つーか質問スレと雑談は分けたほうがいいだろ
たまにしょうもない議論で質問埋もれてるじゃん

879 :Name_Not_Found:2011/08/29(月) 23:53:08.55 ID:???
<video>タグを用いて、動画の埋め込みを行いたいのですが、複数の動画を表示するとき(動画でなく画像で言うならボタン式スライドショーのようなもの、画像切り替え?みたいな)どのように書けばいいのでしょうか?
画像の切り替えならばよくネットに載っていますが、videoタグで複数の動画をさらには複数のブラウザに対応(WebMやmp4形式)させる
書き方が分かりません。どなたか教えていただけないでしょうか?


880 :Name_Not_Found:2011/08/30(火) 00:53:55.49 ID:???
>>873
ありがとうございます。
そういうことを聞きたかったんです。

881 :Name_Not_Found:2011/08/30(火) 01:30:02.88 ID:CbKdFkDZ
>>879
スライドショーはimgでやっていたのをそのままvideoにすればいいよ
動画ソースの切り替えはサーバ側でやったほうがいいよ

882 :Name_Not_Found:2011/08/30(火) 08:09:36.44 ID:???
vas x = 1〜10の数字

1〜10のx以外の数字をvar aに入れる
ってやりたいんですが、簡潔な方法とかありますか?

if(x != 1){ a +=1;}
if(x != 2){ a +=2;}

if(x != 10){ a +=10;}
だと何か非効率的な感じが

883 :Name_Not_Found:2011/08/30(火) 08:13:19.71 ID:???
そのプログラムでその問題は解決できているの?
問題の意味がよくわからない…

884 :Name_Not_Found:2011/08/30(火) 08:22:31.84 ID:???
そのコードと等価なのを書くのだったら
var a=55-x;
だけど、こういうコトなの?

885 :Name_Not_Found:2011/08/30(火) 08:28:04.97 ID:ciZSHNfU
>>882
効率、非効率以前になにしたいのかさっぱりわからんw

886 :Name_Not_Found:2011/08/30(火) 09:11:11.30 ID:???
宿題か?
var a = 11-x;
でいいのかな。

887 :Name_Not_Found:2011/08/30(火) 12:10:19.46 ID:???
>>882
ヒント:配列

888 :Name_Not_Found:2011/08/30(火) 12:59:14.50 ID:???
>>882
a=x>=11?x+x:x;

889 :Name_Not_Found:2011/08/30(火) 13:15:06.64 ID:???
あれ、もうすぐ900か… 次スレのテンプレ論議あれば今どうぞ。
あんまり大規模な変更の議論は無理ぽいけど。

890 :Name_Not_Found:2011/08/30(火) 13:40:04.75 ID:???
>>258でいいんじゃね?

891 :Name_Not_Found:2011/08/30(火) 16:18:14.08 ID:???
よく見たら>>1の5番にタイプエラー(笑)って該当するなw
タイプエラー(笑)の人は型エラーって言うのかな

892 :Name_Not_Found:2011/08/30(火) 17:08:21.90 ID:CbKdFkDZ
ちょっと何言ってるかわからない

893 :Name_Not_Found:2011/08/30(火) 20:06:19.89 ID:???
ちゃんとTypeError、SyntaxError、RangeErrorと言えということだな
まさかオブジェクトの存在すら知らないわけではないだろう

894 :Name_Not_Found:2011/08/30(火) 21:16:46.30 ID:???
【環境】Firefox6.3
【期待する結果】
var hash = window.location.hash;
hash = hash.split("?");
hash = hash[0].split("#");

if(hash[1] == 'page2') tab.showpage(tab.setup.tabs[1]);
if(hash[1] == 'page3') tab.showpage(tab.setup.tabs[2]);}

上記を変更してタブではなく指定の折りたたみを開く内容にしたいです。

【サンプルコード】
(使用している折りたたみ)
function showPlagin(idno){
pc = ('PlagClose' + (idno));
po = ('PlagOpen' + (idno));
if( document.getElementById(pc).style.display == "none" ) {
document.getElementById(pc).style.display = "block";
document.getElementById(po).style.display = "none";
}
else {
document.getElementById(pc).style.display = "none";
document.getElementById(po).style.display = "block";
}
}

BODY部分
<div id="PlagOpen1" style="display: block"><a href="1" title="OPEN" onclick="showPlagin(1);return false;">続き</a></div>
<div id="PlagClose1" style="display: none"><a href="2" title="CLOSE" onclick="showPlagin(2);return false;">続き</a>
内容</div>

初心者のためもし内容に不備があったら申し訳ありません。よろしくお願いします。

895 :Name_Not_Found:2011/08/30(火) 22:07:41.61 ID:ciZSHNfU
>>894
初心者だからって何しても許されると思うなよw
少し前からイミフな質問投げつけてくるのはどこの誰だよw

5W1Hって言葉があってとりあえず、何やりたいか明確に示せよ。
>上記を変更してタブではなく指定の折りたたみを開く内容にしたいです。

わかんねぇよ、お前が何してるか何したいか?
何一つ伝わってこねぇ。

>初心者のためもし内容に不備があったら申し訳ありません。
不備どころの騒ぎじゃねぇよ、怪文投げつけてるだけじゃねぇかw



↓とりあえず、適当に修正して見るが・・・
すまん、ホントに何したいかかまるで見えねぇンだわ。。。

896 :Name_Not_Found:2011/08/30(火) 22:50:50.44 ID:???
>>895
すみません、補足させてください
location.hashを使い、URLのアンカー部分の取得によってページ内の折りたたみを展開できるようにしたいと考えています

http://archiva.jp/web/javascript/tab-menu2.html
こちらの記事を参考にしたのですが、タブ部分の記述を折りたたみ展開に応用するやり方が分からなくて質問した次第でした

質問するのは初めてなので少し前から〜の方ではないですが、分かりにくいというか意味不明な文章で申し訳ないです
また意味のわからないところがあればご指摘いただけると幸いです

897 :Name_Not_Found:2011/08/30(火) 22:54:46.55 ID:???
hash変えるだけならonhashchangeイベント使えばいいじゃない

898 :Name_Not_Found:2011/08/30(火) 23:17:29.35 ID:???
>>897
他ページから飛ぶときにもアンカーで動作を実行したいと考えていまして、
対応していないブラウザが多く、onhashchangeだとページ内に効果が限定されるっぽいので避けていました

899 :Name_Not_Found:2011/08/30(火) 23:59:45.11 ID:???
どういうhashの時にどう動くのかはそっちで調整してくれ。
if(hash[1] == 'page2') showPlagin(1);
if(hash[1] == 'page3') showPlagin(2);
関数というものについて理解を深めるといいよ。応用というか変更だな。

ページ開いた時だけならhashでもqueryでもいい気がする。

900 :Name_Not_Found:2011/08/31(水) 00:21:26.17 ID:???
>>896
そのページのサンプル、ループ内で毎回同じ要素取得するとか最悪。

901 :Name_Not_Found:2011/08/31(水) 00:43:46.95 ID:???
>>900
おっとjQueryの悪口はそこまでだ

902 :Name_Not_Found:2011/08/31(水) 01:50:46.85 ID:???
>>899
ありがとうございます。
if(hash[1] == 'page2') showPlagin(1);での記述は以前に試してみたのですが、動かず、
先ほど再度行ってみたのですが出来ませんでした。
お使いの環境で動いたのであれば、参考までにHEADやBODYでの記述を見せていただけると嬉しいです。
jqueryだと折りたたみが複数ある場合一つしか選ぶことができないと思ったのですが、そうでもないのでしょうか
関数について無知が露呈してますよね。勉強します。

903 :Name_Not_Found:2011/08/31(水) 01:57:20.76 ID:???
可能性1
if(hash[1] == 'page2') showPlagin(1);
が記述されているのが、head内(正確には<div id="PlagClose1"以降で無いといけない。)
※これがよくある間違い。

可能性2
function showPlagin(idno){}
が記述されているのが
if(hash[1] == 'page2') showPlagin(1);
より後

可能性3
hashが正しくない

904 :Name_Not_Found:2011/08/31(水) 02:45:43.46 ID:???
>>903
ありがとうございます。可能性1がそのまま当てはまりました。
BODY内の一番下にif(hash[1] == 'page2') showPlagin(1);を移しました。
ただ、まだ動きません。

可能性2については現在HEADにfunction showPlagin(idno){}、BODY部分にif(hash[1] == 'page2') showPlagin(1);なので
これではないと思います。
可能性3については、

折りたたみBODY部分
<div id="PlagOpen1" style="display: block"><a href="a" title="OPEN" onclick="showPlagin(1);return false;">続き</a></div>
<div id="PlagClose1" style="display: none"><a href="b" title="CLOSE" onclick="showPlagin(1);return false;">続き</a>
内容
</div>

BODY内展開用部分
<script type="text/javascript">
function(){
var hash = window.location.hash;
hash = hash.split("?");
hash = hash[0].split("#");

if(hash[1] == 'page2') showPlagin(1);
if(hash[1] == 'page3') showPlagin(2);
}

</script>

で、URLはhttp://www.xxxxxxxx#2という形なので、違うと思うのですが

905 :Name_Not_Found:2011/08/31(水) 02:47:55.99 ID:???
>>904
すみません、>>904
>で、URLはhttp://www.xxxxxxxx#2という形なので、違うと思うのですが
部分のURLは適当なものを書いたのですが、変なページに飛ぶようです。
クリックはしないようお願いします。

906 :Name_Not_Found:2011/08/31(水) 04:11:33.90 ID:???
>>905
動作に関係がありそうな箇所だけ突っ込んでおくと…

・URL のハッシュは 2 でなく、page2 なのでは?

・<div id="PlagClose1" style="display: none"><a href="2" title="CLOSE" onclick="showPlagin(2);return false;">続き</a>

ここ、showPlagin(2) -> showPlagin(1)

・BODY内展開用部分
それ構文エラー。

907 :Name_Not_Found:2011/08/31(水) 04:13:34.22 ID:???
良く見たら、2番目については初出のものから修正されてんのね。

908 :Name_Not_Found:2011/08/31(水) 05:12:04.68 ID:???
Firefox6.3って何

909 :Name_Not_Found:2011/08/31(水) 07:19:07.55 ID:???
質問いいですか。
Firefox6.0で動かしてます。

<span onclick="this.innerHTML=\"zzz\"">xxx</span>
とするとダブルクオーテーションのエスケープ文字が上手く解釈してもらえません。
今までこう書いてそれで動いてたと思うのですが、Firebugで見ると
onclick="this.innerHTML=\"
となってます。

<span onclick="this.innerHTML="zzz"">xxx</span>
とすると動きました。

エスケープ文字ってこういう時の為にあるもんと思ってたのですが。
なんで最初のは動かないんですか?

910 :909:2011/08/31(水) 07:21:43.89 ID:???
最後のは
<span onclick="this.innerHTML=&quot;zzz&quot;">xxx</span>
です。
後テンプレ使ってなくてすみません

911 :Name_Not_Found:2011/08/31(水) 08:33:20.26 ID:???
DOM操作でCSSのmin_widthを10px調節したいです
document.getElementById("hoge").style.min_width="10px";
とカンでやってみたのですが、上手くいきませんでした

min_widthの場合はどう記述したらいいのでしょうか?
調べたりたりしてもmin_widthの操作についてはどこも書かれてなかったので

912 :Name_Not_Found:2011/08/31(水) 08:37:47.10 ID:???
>>911
http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-ElementCSSInlineStyle

というかそもそもcssの場合の記述も間違ってるよそれ

913 :Name_Not_Found:2011/08/31(水) 08:51:21.55 ID:???
>>912
ありがとうございます、勉強になります。オッス

914 :Name_Not_Found:2011/08/31(水) 09:45:34.74 ID:???
>>909
HTMLパーサーがJavaScriptのエスケープ文字を認識する必要はない
そのうちXSSやらかすぞ

915 :Name_Not_Found:2011/08/31(水) 10:13:48.40 ID:???
>>909
HTMLの属性値のエスケープは \ じゃないよ。


916 :909:2011/08/31(水) 10:31:45.35 ID:???
>>914-915
レスありがとうございます。
今までずっと勘違いしてたわ

917 :Name_Not_Found:2011/08/31(水) 14:54:52.87 ID:J4vpbc1P
Google+のボタンを設置していて思ったのですが

<script type="text/javascript" src="https://apis.google.com/js/plusone.js">{lang: 'ja'}</script>

この {lang: 'ja'} はどうやって扱ってるんですか?
plusone.jsのなかもざっと見たんですが
script要素を探しているようには見えなかったのですが

918 :Name_Not_Found:2011/08/31(水) 15:17:42.76 ID:???
src 属性を指定した場合、タグ内のテキストは無視される。
サイ本読め。

919 :Name_Not_Found:2011/08/31(水) 15:22:12.68 ID:???
処理されないってだけでJS側からは文字列としてDOMで取得できるっしょ

920 :Name_Not_Found:2011/08/31(水) 15:25:52.38 ID:???
あ、そっか。
でも id も振ってないしなぁ。

921 :Name_Not_Found:2011/08/31(水) 15:29:19.71 ID:???
コード中にsrc属性の値と同じ文字列(https://apis.google.com/js/plusone.js)があるから
script要素ノードを列挙してそのsrc属性の値を見て自身が所属するscript要素を取得してるのかな
上記の文字列は見付かったけど処理部分は見つけられなかった

922 :Name_Not_Found:2011/08/31(水) 15:37:30.06 ID:???
実行時に末端のノードを辿ると必ず自身のscriptエレメントになる


そうだよ。試した事無いけど。

923 :Name_Not_Found:2011/08/31(水) 15:40:30.86 ID:???
>>922
それ今回の場合でも使われてる?そもそもscript要素を取得するコードが見つけられない

924 :Name_Not_Found:2011/08/31(水) 15:51:49.12 ID:???
jsloader.load内で
function q(b, d) { 〜 document.write('<script src="' + b + '"><\/script>') 〜 }
が実行されてるから、そっちで探してるんじゃね。
window['___jsl']['u']もhttps://apis.google.com/js/plusone.js内じゃ使われていないように見えるし。

925 :Name_Not_Found:2011/08/31(水) 15:54:49.10 ID:???
>>924
そうみたい
外部スクリプトを呼んでてそっちだとscript要素の取得と「/js/plusone.js」の有無を見てるっぽい

926 :Name_Not_Found:2011/08/31(水) 16:07:34.39 ID:???
>>922
なるほど。
使い道は分からないけど、面白い。

927 :Name_Not_Found:2011/08/31(水) 16:10:23.35 ID:???
これかな?

var Hb=l.getElementsByTagName("script");if(Hb[A]>0){for(var Ib="",Jb=0;Jb<Hb[A];Jb++){var Kb=Hb[Jb].getAttribute("src");Kb&&Kb[t]("/js/plusone.js")!=-1&&(Ib=R.b.yb(Hb[Jb]))}Ib=Ib[s](/^\s+|\s+$/g,"");Ib[t]("{")!=0&&(Ib="{"+Ib+"}");

928 :Name_Not_Found:2011/08/31(水) 18:39:58.99 ID:J4vpbc1P
>>918-927
みなさんありがとう
>>927のがそれっぽいですね

929 :Name_Not_Found:2011/08/31(水) 20:25:47.93 ID:???
>>922の方法は動的にscript要素が挿入されたりするとうまくいかなかったり面倒くさくなったりするみたいだし
(ttp://blog.livedoor.jp/dankogai/archives/50952477.html)
src属性やテキスト文字列で判断するのが確実なのかなあ

930 :Name_Not_Found:2011/08/31(水) 23:01:47.86 ID:???
dankogaiの言うことは真面目に聞くだけ無駄
@deferも@asyncもなければスクリプト先頭でとればいい
どっちかの属性があるときだけ考えろ

931 :Name_Not_Found:2011/09/01(木) 02:14:54.98 ID:???
GoogleChromeの拡張についてなのですが、拡張の作成スレが無いのとjsについてなのでこのスレで失礼します
20MBのテキストをローカルのファイルに書きこむにはどうしたらよいでしょうか

現時点では、backgroundのJavascriptの変数hogeに20MBのテキストが入っていると考えて下さい。それをどうにかしてローカルファイルに書き込みたいです
今まではw1=window.open("","_blank","");して、w1.document.writeでtextareaを作って、そこにテキストを流し込んでいました
手動で選択し、コピーし、エディタに貼りつけて保存する手間はかかりますが、可能でした

しかし20MBのテキストを同じようにw1.document.writeしようとすると、途中でchromeが落ちてしまいます。
>>TM Life http://tmlife.net/programming/javascript/javascript-text-local-save.html
この方法でdata:application/octet-stream〜でやろうとしましたが、同じく拡張自体が落ちてしまいました

もう最悪、localStorageに入れて、バイナリエディタで取り出してね♪でもいいですから、何かアイディアがあれば教えて下さい
(localStorageは容量制限でダメだった)

932 :Name_Not_Found:2011/09/01(木) 06:18:45.84 ID:3BvzIVQV
アクセスログ収得のため以下の記述をしています。

<script language="JavaScript">
<!--
document.write("<img src='http://www.XXXX.jp/cgi-bin/access.cgi?toppage&", parent.document.referrer," ' height=1 width=1>");
// -->
</script>

先日、遅まきながらIE7からIE8へとバージョンアップしました(OSはXPです)
ところが、IE8にしたところ「height=1 width=1」が画像表示されるようになってしまいました。
IE7ではなかったことです。またFirefoxでも表示はされません。
たった1ドットですがゴミがついているかのようで、気持ちが悪いものです。
今までなかったものですから、ぜひ消し去りたい(非表示にしたい)のですがその方法が分かりません。
どなたか回避方法を教えてください。宜しくおねがいします。

933 :Name_Not_Found:2011/09/01(木) 06:30:48.26 ID:???
Indexed Database APIに入れて、バイナリエディタで取り出してね♪

934 :Name_Not_Found:2011/09/01(木) 07:07:07.03 ID:???
<script>
new Image().src = "http://www.XXXX.jp/cgi-bin/access.cgi?toppage&" + parent.document.referrer;
</script>

935 :Name_Not_Found:2011/09/01(木) 09:50:06.77 ID:???
htmlが
<p id="hoge"></p>
のようになっていて、テキストが約30秒間隔でランダムな文字列で変化します。
例えば、<p id="hoge">hoge</p> → <p id="hoge">FUGA</p> のように。
この30秒は約なので、25秒のときもあれば35秒のときもあります。

このようなホームページがあるのですが、
このホームページを監視して、変化した文字列のログを取りたいと考えています。
単純にPerlなどでhtmlファイルを取得して、id=hogeのpタグのテキストを切り出しても
テキストはJavaScriptで非同期で書き換えられているので、空文字列しか取得できません。

このため、htmlファイルをサーバから取得するのではなく
『現在ブラウザに表示されている動的に書き換えられたhtml』
をJavaScriptを使って取得&解析しなければならないと考えているのですが
アプローチ方法が分かりません。

やり方を教えて下さい。
よろしくお願いいたします。

936 :Name_Not_Found:2011/09/01(木) 10:26:02.12 ID:???
ユーザスクリプトでいいんじゃないか

937 :Name_Not_Found:2011/09/01(木) 10:49:13.19 ID:rfFPj8fj
ajaxを使った処理で、たとえば「いいねボタン」なんかは
クリック>dbのupdate処理>値の取得>1ポイント足した値を表示
という処理だと思いますが、
クリック>画像の投稿>GDでのサムネイル生成>サムネイルの表示
という流れで処理したいとき、
サムネイル生成の完了をどうにかして捕捉する必要があると思います
どういうやり方があるんでしょうか

938 :Name_Not_Found:2011/09/01(木) 11:05:55.38 ID:???
いつからPHPスレになったんだよ

939 :Name_Not_Found:2011/09/01(木) 15:14:57.59 ID:OpwjBS4p
jqwelyとAjaxの専門的な質問はそれぞれの板に行け
特にコードを書いて欲しいんだったら知恵袋で聞け
HTML5が普及してこれからどんどん質問が増えると
裁き切れ無くなる

940 :Name_Not_Found:2011/09/01(木) 15:37:16.83 ID:???
>>937
生成したサムネイルのURLを返してそれをimgタグで表示するとか
生成したサムネをbase64エンコード化して返してdata uriで表示するとか
通信がタイムアウトするぐらい処理時間が長いなら
setTimeoutとかで定期的に監視するとかでいいんじゃない?


>>939
出直してこい

941 :937:2011/09/01(木) 15:55:45.78 ID:???
>>940
>通信がタイムアウトするぐらい処理時間が長いなら

ここの処理がわからなかったです。setTimeoutですか、、
助かりました、ありがとうございました

942 :932:2011/09/01(木) 16:19:33.04 ID:3BvzIVQV
>>933
ありがとうございます。ググってみます。

>>934
単に、その記述に置き換えると言う意味でしょうか?


不思議なのは、このまで不具合がなかったのにIE8でのみこの現象が現れるということです。
IE8の仕様なのでしょうか?表示方法がより厳格(記述のミスがそのまま反映?)なのでしょうか?
初心者な質問ですみません。

943 :Name_Not_Found:2011/09/01(木) 16:22:47.61 ID:???
css style.display

944 :Name_Not_Found:2011/09/01(木) 17:17:07.08 ID:???
>>942
本当にタイムアウトしてるの?
>>940の一行目で解決できる気がする

945 :932:2011/09/01(木) 17:44:46.28 ID:???
>>944
すみません>>940を見落としていました。ありがとうございます。

「生成したサムネイルのURLを返してそれをimgタグで表示」
ちょっと私にはレベルが高いようでよく理解できません。
適当な初心者向けのスレとかありますでしょうか?

946 :Name_Not_Found:2011/09/01(木) 18:14:00.42 ID:???
>>945
サムネURLでimageデータ取れるんだから、後は表示するだけだろ
何が分からないのか分からない
まさかサーバーサイドの話をする気ではあるまいな

947 :932:2011/09/01(木) 18:17:05.86 ID:???
>>946
すみません。サーバーの話ではないです。
別途、透過GIF画像などを用意する必要があるということでしょうか?

948 :Name_Not_Found:2011/09/01(木) 18:47:25.58 ID:???
何もかも○投げ?ここじゃなくてそのアクセスログのサービス提供者だか配布元だかに聞けば

949 :Name_Not_Found:2011/09/01(木) 18:51:53.91 ID:???
お前らアンカ先をちゃんと確認しろよwwww

950 :932:2011/09/01(木) 18:54:43.04 ID:???
>>948
見よう見まねで自作したもので手詰まり状態です。
この件は根本から見直そうと思います。
お手数おかけしました。

ところで、現在の状況は>>932で書きましたが
http://www.kab-studio.biz/Programing/Codian/CGIwithC/04.html
上記の例のような感じです。
IE7やFFではこのような現象は見られません。IE8のみの現象なんです。
IE8だけなにか特殊なブラウザなんでしょうか?

951 :Name_Not_Found:2011/09/01(木) 19:04:58.94 ID:N+CSsRRp
>>950
何に困ってるのかがイマイチわからん
少なくとも>>932はどのブラウザでもアウトだよ
document.writeの引数は一つ

んで、そもそもAPIにGETリクエストが投げらるのが目的で
画像を貼ってるのは、副次的な理由でしょ?
だったら>>934で書かれてるように、Imageオブジェクト作って
srcプロパティに有効なURLを与えれば、リクエストは飛ぶよ

あと、そのページはいくら何でも古すぎる、98年て!

952 :932:2011/09/01(木) 20:03:58.59 ID:???
>>951 度々すみません。用語から理解しないと無理なようです。

>>932
<script language="JavaScript">
<!--
document.write("<img src='http://www.XXXX.jp/cgi-bin/access.cgi?toppage&", parent.document.referrer," ' height=1 width=1>");
// -->
</script>


そっくり
<script>
new Image().src = "http://www.XXXX.jp/cgi-bin/access.cgi?toppage&" + parent.document.referrer;
</script>
と書き換えれば済んでしまうということでしょうか?

953 :932:2011/09/01(木) 20:08:12.64 ID:???
>>951
>>932はどのブラウザでもアウトだよ」とのことですが
IE7やFFやクローム(今確認しました)ではきちんと表示されているんです
これは何故なのだろう?かと

954 :932:2011/09/01(木) 20:18:37.05 ID:???
>>951
>あと、そのページはいくら何でも古すぎる、98年て!

ここを参考にしているわけではなく
序盤の
>また背景が黒だと目立つという問題もあります。
>壊れたファイルの表示は多くの場合白や灰色の絵になっています。
>そのため、黒地だと見事に目立ちます。
を示した部分が、
現在の不具合と同様なので一例として提示しました。

955 :Name_Not_Found:2011/09/01(木) 21:36:54.46 ID:N+CSsRRp
>>952
試してみてよ

>>953
ゴメン適当に書いた
でも、基本的にカンマで繋ぐんじゃなくて
+演算子で連結した文字列を渡すのがふつう

956 :932:2011/09/01(木) 21:55:51.53 ID:3BvzIVQV
>>952を実践したら不具合はなくなりました。ログも取れてます。
今までの「height=1 width=1」って一体何だったんだろうか・・・

957 :932:2011/09/01(木) 22:02:45.83 ID:3BvzIVQV

<script language="JavaScript">
<!--
document.write("<img src='http://www.XXXX.jp/cgi-bin/access.cgi?toppage&", parent.document.referrer," ' height=1 width=1>");
// -->
</script>

はじめ、これで不具合が出たので
カンマで繋ぐのを止め、以下にしました。

<script language="JavaScript">
<!--
document.write('<IMG SRC="http://www.XXXX.jp/cgi-bin/access.cgi?toppage&');
document.write(document.referrer);
document.write('" HEIGHT="1" WIDTH="1">');
// -->
</script>

しかし不具合は改善されませんでした。

<script language="JavaScript">
<!--
new Image().src = "http://www.XXXX.jp/cgi-bin/access.cgi?toppage&'" + parent.document.referrer;
// -->
</script>

そこで、アドバスを受け上記のようにしたら改善されました。
中段のような記述も誤りなのでしょうか?

958 :Name_Not_Found:2011/09/01(木) 22:11:39.37 ID:???
表示したくないものをimgタグで表示しようとしてる時点で間違いだな

959 :Name_Not_Found:2011/09/01(木) 22:12:51.76 ID:N+CSsRRp
前者ふたつは<img>要素を貼りつけてるのはわかるよね?
だから、APIが正しく透過GIFを返してくれないと、いわゆる×が表示されるじゃん?

3つ目は、Imageオブジェクトを生成はしているけど
どこにも貼りつけてはいないから、目には見えんのですよ

960 :Name_Not_Found:2011/09/01(木) 22:22:03.40 ID:???
new Imate()〜はgoogleがログとったりするときにも使ってる手法な


961 :932:2011/09/01(木) 22:27:06.37 ID:???
>>958-959
理解しました。ありがとうございます。
前者2つでダメということはCGIでしくじってるのかなぁ。

3つ目は、前者2つに比べて明らかにシンプルですよね。並べてみると、わざわざ複雑な前者2つでなければならない理由が分かりません。
しかし、アクセス解析スクリプトがフリーで配布されているのを見ると、大抵前者になっている気がするのですが
前者の利点って何なのでしょう?

962 :Name_Not_Found:2011/09/01(木) 23:17:27.49 ID:EfUvOGTV
しがらみというか
実際に貼らないとリクエストが飛ばないUAもサポートする為じゃなかろかね

googleアナリティクスのガラケー版は
同じようなことをPHPでやって、実際に<img>要素をHTMLに貼る仕様だね

963 :Name_Not_Found:2011/09/01(木) 23:37:38.36 ID:???
language="javascript"
&のエスケープ忘れ

どう見ても無知だからです

964 :932:2011/09/02(金) 00:11:31.46 ID:???
>>963
それは関係ないようです。
ありがとうございました。

965 :Name_Not_Found:2011/09/02(金) 00:19:50.97 ID:kj/YRHmB
<html><head>
<script type="text/javascript">
function check(box){
var obj=document.getElementById("img");
obj.src=box.options[box.selectedIndex].value;}
</script></head><body>
<form>
<img id="img" src="canada.gif">
<select onChange="check(this)">
<option value="canada.gif">カナダ
<option value="korea.gif">韓国
<option value="australia.gif">オーストラリア
</select></form></body></html>

このサンプルでオーストラリアを選択した状態で更新すると
カナダの国旗を表示され、選択ボックスがオーストラリアのまま
なのですが、どうしてですか?
選択ボックスが更新を押すとカナダの状態にするにはどうするのですか?

966 :Name_Not_Found:2011/09/02(金) 00:25:05.98 ID:???
頭の痛くなる日本語だな

967 :Name_Not_Found:2011/09/02(金) 00:39:55.06 ID:???
Ajax使ってHTTP通信する際にリクエストヘッダーに独自ヘッダーフィールドを追加するこは可能でしょうか?

968 :Name_Not_Found:2011/09/02(金) 00:47:33.01 ID:???
>>967
setRequestHeader()

969 :Name_Not_Found:2011/09/02(金) 00:59:53.88 ID:???
>>965
カナダにchecked属性付けといて、「checkedがついたオプションを選択する関数」をloadイベントに追加する

970 :Name_Not_Found:2011/09/02(金) 01:20:23.16 ID:???
Ctrl+F5でもさせとけ

971 :Name_Not_Found:2011/09/02(金) 01:36:53.52 ID:???
canvas上でちょっとしたアニメーションを作成しているのですが、
canvasのサイズと同じ背景画像を次の背景画像と入れ替える時、
opacityで前の背景画像をだんだん透明にして、
下に重ねた背景画像を少しずつ見せる的なことをしたいのですが、
こういう処理ってcanvasでは出来ませんよね?
下にabsolute指定した違うcanvasをレイヤーのように重ねて、
そっちに新しい背景を置いて、手前のcanvasを透明にして、
透明になりきったところで、下のレイヤーと手前のレイヤーを入れ替えるみたいな方法しかないですか?

972 :Name_Not_Found:2011/09/02(金) 02:00:51.91 ID:kj/YRHmB
>>969
オプションを選択する関数の作り方が分かりません。
<option value="canada.gif">カナダ
の「カナダ」の文字列部分はどのように操作するのですか?

973 :Name_Not_Found:2011/09/02(金) 05:24:42.99 ID:???
select要素のvalueプロパティを書き換えればいい

974 :Name_Not_Found:2011/09/02(金) 05:35:31.63 ID:???
単にcheckを直接実行するだけで正しい画像になるんじゃないの
selectを渡さなきゃならんみたいだけど

975 :Name_Not_Found:2011/09/02(金) 09:13:23.32 ID:???
>>971
canvasのdrawImageとglobalAlphaでcanvasに直接描画するのはどうでしょう

976 :Name_Not_Found:2011/09/02(金) 13:02:16.19 ID:???
スレ立て人ですが、またまたLvが足りないので誰かおねがい〜
基本的に >>1 と同じ、ただし、 >>258 のとこだけ直す、ということで〜

977 : 忍法帖【Lv=40,xxxPT】 :2011/09/02(金) 13:10:48.95 ID:???
>>976
建てたよー
http://127http://hibari.2ch.net/test/read.cgi/hp/1314936405/

978 :977:2011/09/02(金) 13:11:53.88 ID:???
間違えたこっち
http://hibari.2ch.net/test/read.cgi/hp/1314936405/

979 :Name_Not_Found:2011/09/02(金) 13:14:37.41 ID:???
http://hibari.2ch.net/test/read.cgi/hp/1314936405/
ですよね。感謝!

980 :Name_Not_Found:2011/09/02(金) 13:15:39.24 ID:???
かぶった…とかいってスレの浪費をしてるけどまっいいか。

981 :Name_Not_Found:2011/09/02(金) 13:56:46.85 ID:ync2rois
>>978
乙これはポニーテールじゃ云々

982 :Name_Not_Found:2011/09/02(金) 15:06:47.32 ID:???
IEでもFireFoxでもChromeでも崩れない十字カーソルのソース、どこかにありませんか?

983 :Name_Not_Found:2011/09/02(金) 15:43:34.03 ID:8tJXfoOd
YUI3で開発されている方いますか?
YUI3ではシードファイル1つを読み込んだ後、以下のようにサンドボックスを作り、
依存ライブラリの読み込みをローダ(YUILoader)に任せるコードが一般的ですが
この場合、読み込まれる各jsファイルは圧縮されたファイルとなり
ブレークポイントを挟むなど、コードと照らしながらの開発が困難です。
※以下の例ではfoo、barそれぞれのライブラリの使用を指示しており、
圧縮されたfoo.min.js/bar.min.js(及び依存ファイル)が読み込まれる

YUI().use("foo","bar", function(Y){ /* 実処理 */ });

おそらく開発用に、圧縮されていないファイル(foo.js)や
デバッグ用(foo.debug.js)を読み込ませる指定方法といったものがあると思うんですが、わかりません。
ご存知の方いましたらおしえてください。

984 :Name_Not_Found:2011/09/02(金) 15:51:57.50 ID:???
>>982
画像でおk

985 :Name_Not_Found:2011/09/02(金) 16:15:56.96 ID:???
>>982
CSSで出来なかった?

986 :Name_Not_Found:2011/09/02(金) 16:18:24.15 ID:???
>>983
YUI Configuratorでdebugを
改行等そのまま表示の場合はrawに


987 :983:2011/09/02(金) 17:17:38.64 ID:8tJXfoOd
>>986
ありがとうございます。ひとまずうまくいきました!
生成されるファイルのパスが最新版のものだったので、ついでにバージョンアップもw
YUIはかなり更新のペース早いですね。

あと思い出したのですがYUI()の引数に設定オブジェトを渡す方法もあったかもしれません。
ちょっと公式が模様替えで、詳細見つからないんですが、なんとかなりそうです。
たすかりましたー

988 :983:2011/09/02(金) 18:36:11.20 ID:8tJXfoOd
さらに調べてみたところ、以下のように設定オブジェクトを引数に追加することで
foo-debug.jsをロードできました。("debug"を"raw"にするとfoo.jsが)

YUI({filter:"debug"}).use("foo", function(Y) { ... });

設定オブジェクトについてズバリといった説明はまだ見れていませんが、
以下のページとyui.jsのソース中に若干の記述がありました
http://yuilibrary.com/yui/docs/console/console-yui-config.html

989 :Name_Not_Found:2011/09/03(土) 10:08:19.13 ID:???
次スレ http://hibari.2ch.net/test/read.cgi/hp/1314936405/

990 :Name_Not_Found:2011/09/03(土) 23:07:36.89 ID:???


991 :Name_Not_Found:2011/09/04(日) 01:35:54.27 ID:???
土日ってこんなにレスないもんだっけかw
まぁ埋め

992 :Name_Not_Found:2011/09/04(日) 14:20:53.25 ID:8Me321Kn
うめ

993 :Name_Not_Found:2011/09/04(日) 21:09:14.18 ID:dsHrqILO
ってか992かよ。
グローバル変数をあまり使うないほうがいいから
クロージャを使いましょうって本に書いてありましたが、
クロージャもあまり好ましくないって記述が別の本にもありました。

どうしろっていうのですか?

994 :Name_Not_Found:2011/09/04(日) 21:12:27.22 ID:???
適材適所という言葉を君に送ろう

995 :Name_Not_Found:2011/09/04(日) 21:14:52.44 ID:dsHrqILO
>>994
分からねーよ、オッサン
Fラン大のオレにも分かるように説明してください。

996 :Name_Not_Found:2011/09/04(日) 21:43:52.70 ID:???
>>993
何というステレオ思考
これこれこういう理由で使わない方がいい、という前提があるだろ?
>>993では「全てのケースで使わない方がいい」と読めるが実際は違うってことだ

997 :Name_Not_Found:2011/09/04(日) 22:10:34.66 ID:???
若者よ、人生に大事なものそれは
苦労じゃ

998 :Name_Not_Found:2011/09/04(日) 22:14:24.25 ID:???
ハハッワロス

999 :Name_Not_Found:2011/09/04(日) 22:15:05.54 ID:???
おあとがよろしいようで

1000 :Name_Not_Found:2011/09/04(日) 22:16:05.76 ID:???
チャンチャン♪

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


次スレ

+ JavaScript の質問用スレッド vol.90 +
http://hibari.2ch.net/test/read.cgi/hp/1314936405/

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

286 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)