+ JavaScript の質問用スレッド vol.90 +at HP
+ JavaScript の質問用スレッド vol.90 + - 暇つぶし2ch2:Name_Not_Found
11/09/02 13:08:09.26
■前スレ
+ JavaScript の質問用スレッド vol.89 +
スレリンク(hp板)

■過去スレ全集
URLリンク(www2.atpages.jp)
URLリンク(usamimi.info) (閲覧のみ)
URLリンク(wing2.jp) (閲覧のみ)

■関連スレ
ECMAScript デス 3
スレリンク(tech板)
Ajaxでも語りませんか Rigel4
スレリンク(php板)
【誰か】jQueryのここがわからない【助けて】
スレリンク(tech板)
1行javascriptプログラミング
スレリンク(hp板)
WSH(・∀・)スレッド! Part 4
スレリンク(tech板)
Webサイト制作初心者用質問スレ part225
スレリンク(hp板)
CSS初心者スレッド=10th=
スレリンク(hp板)
役に立つ書籍は? 4冊目
スレリンク(hp板)

3:Name_Not_Found
11/09/02 13:08:40.92
■主要FAQ (全部は URLリンク(fiddle.jshell.net) )
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
11/09/02 13:09:37.18
■各種仕様
Standard ECMA-262
URLリンク(www.ecma-international.org)
ECMAScript 3
URLリンク(www2u.biglobe.ne.jp) (和訳)
ECMAScript 5.1
URLリンク(es5.github.com)
W3C Document Object Model Technical Reports
URLリンク(www.w3.org)
JavaScript 1.5 ガイド / リファレンス (Netscape/Mozilla)
URLリンク(developer.mozilla.org) (和訳)
URLリンク(developer.mozilla.org) (和訳)
JSON (JavaScript Object Notation)
URLリンク(www.json.org)
URLリンク(jsgt.org)
Mozilla Gecko DOM Reference, Netscape devedge
URLリンク(developer.mozilla.org) (和訳)
URLリンク(devedge-temp.mozilla.org)
MSDN Library JScript / DHTML (現在日本語版は古杉)
URLリンク(msdn.microsoft.com)
URLリンク(msdn.microsoft.com)

5:Name_Not_Found
11/09/04 11:55:26.12
そういや少し前のテンプレから「「分かんねえの?」と煽っても無駄です。」ってフレーズが消えたね
あれテンプレ引用に便利そうに思うけど

6:Name_Not_Found
11/09/04 19:10:44.66
>>5
挑発時な文言は消えて良かったと思う

7:Name_Not_Found
11/09/04 23:02:04.34
そんなんも分かんねえの?^^;

8:Name_Not_Found
11/09/05 13:31:11.15
グーグルの検索バーに検索ワードを入力してエンターを押すと、このスクリプトでエラーが発生しました。

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

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

とエラーが出ます。

検索するたびに表示されていいえを押すと消えるのですが、原因はなんでしょうか?解決方法はありますか?
また文字打ってる途中でもバグって最初に戻ったり、打てなくなります。
どなたか助けていただけると助かります。

9:Name_Not_Found
11/09/05 14:20:33.61 /QmcSJS7
IE6かと思って、IETesterで見ようとしたら
Google開くとIETesterさん落ちてしまうん…

10:Name_Not_Found
11/09/05 16:37:11.67 iiBEFa73
javascriptやってて
顔がオランウータンで髪型がライオンみたいな有名な人って誰ですか?
この前勉強会でお世話になりました

最初が あ っていう文字で始まったと思います教えてください

11:Name_Not_Found
11/09/05 20:02:55.72
オランウータンってa○achangに失礼だろw

12:Name_Not_Found
11/09/05 20:26:37.99 /QmcSJS7
この人だな
URLリンク(anchang.way-nifty.com)

13:Name_Not_Found
11/09/05 20:57:37.72 R148D68r
みなさんこんばんは

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

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

000000の部分をボタンで切り替えたいのですが
イメージ的なものはなんとなく上のコードみたいな感じなんですが
やり方教えてください お願いします

14:Name_Not_Found
11/09/05 21:54:43.93
>>13
顔がオランウーターンにそっくりで髪型がライオンの超絶イケメンamachangさんに聞いてください
一発で回答してもらえます

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

URLリンク(twitter.com)

15:Name_Not_Found
11/09/05 21:55:21.43
僕もあんな顔になりたいです
オランウーターンに似てるってかっこいいじゃないですか
しかも百獣の王のライオンヘッドですよ
かっこいいですね

16:Name_Not_Found
11/09/05 21:58:59.89 R148D68r
いじわるしないで教えてください

17:Name_Not_Found
11/09/05 22:03:06.27
>>13
配列化されてんじゃないの
buttonのフォームが
あほだな[0] [1]

18:Name_Not_Found
11/09/05 22:06:31.09 R148D68r
カラーコードで配列じゃねーし

19:Name_Not_Found
11/09/05 22:07:56.57
バカすぎて話しにならねーわこいつ
出直して来いジャップ

20:Name_Not_Found
11/09/05 22:15:11.91 R148D68r
お前には難し過ぎたようだなw
回答できる方お待ちしてます。
馬鹿の泣き言は要りません

21:Name_Not_Found
11/09/05 22:19:44.41
>>5

22:Name_Not_Found
11/09/05 22:22:28.69 MfNjCeM6
>>13
なんとか、の部分にどう書くか、てこと?

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

スマホからだから、間違ってたらすまんこ

23:Name_Not_Found
11/09/05 22:25:10.18
ジャップてなんやねんコラ

24:Name_Not_Found
11/09/05 22:52:24.08 R148D68r
うごきません

25:Name_Not_Found
11/09/05 22:56:44.02
>>document.body.innerHTML=document.body.innerHTML.replace("000000",this.value);
こんなウンコードでどう見てもうごくわけねーだろ?
ジャップだな貴様は

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

input[0].
input[1].


プログラミングやってるやつは情弱

26:Name_Not_Found
11/09/05 23:04:21.55 R148D68r
はいジャップです
ちょっと考えてみました

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

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

こんな感じので動くコードお願いします
これはなぜか動きません
僕の頭脳ではせいいいっぱい考えてここまでです

27:Name_Not_Found
11/09/05 23:17:13.77
(4) 常に自発的に調べる心構えを持ってください。
  具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
  わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。

28:Name_Not_Found
11/09/05 23:24:22.70
君にはエスケープという言葉を教えよう。
エラーログ見れば大抵自己解決できるぞ。

29:Name_Not_Found
11/09/05 23:25:08.17 R148D68r
色々ためしたら出来ました☆
ここって2,3年前は即答してくれる人常駐してたのに死んだのかな

30:Name_Not_Found
11/09/06 07:55:22.09
>>29
質問者のレベルが落ちたからかな
エスパー待ちが昔より増えた
で、自己解決しても上手くいったコード貼らない質問者も多いしね

31:Name_Not_Found
11/09/06 08:26:06.33
>>29
親切な回答者はいるが、2-3年もそのスタイルで回答続けている人はまずいない
自分勝手な質問者に失望して離れていくのがほとんどだ
ここに限らないが年々質問者の質が下がってる気がする
君も回答すればわかるからやってみれ

32:Name_Not_Found
11/09/06 08:29:52.79
質問というよりコード制作依頼だから
回答の質は質問の質に比例するよ

33:Name_Not_Found
11/09/06 08:54:17.12
身の丈に合わない質問に回答しても大抵は理解されないし、
コード貼ってもらえないことに質問者が失望して逆ギレして終わるケースが多いな

34:TreeBoa
11/09/06 09:47:02.75
お前俺よりjavascriptできないくせしてでしゃばるなカスが早く死んでくれ

35:Name_Not_Found
11/09/06 10:39:06.27 F2aHqxar
あんだって?
とんでもねえ、あたしゃ神様だよ

36:Name_Not_Found
11/09/06 12:35:40.86
>>29
自己解決しても上手くいったコード貼らないで文句だけは一人前なのは何で?

37:Name_Not_Found
11/09/06 12:38:17.85
というか2年もjsに触れてるならこれぐらいできるはずなんだがな

38:Name_Not_Found
11/09/06 12:42:54.51
2、3年もjsに触れててdocument.write(笑)

39:Name_Not_Found
11/09/06 17:11:53.87 059RT+7E
いや、別にdocument.writeは問題ないと思うが

40:Name_Not_Found
11/09/06 17:59:16.80
なにこいつらサクラ?

41:Name_Not_Found
11/09/06 18:53:09.12
>>37
結果だけを求める人にありがちだな
いつまでも進歩しない永遠の初心者

42:Name_Not_Found
11/09/07 18:14:22.61
すごい民度低いよねw

43:Name_Not_Found
11/09/07 18:31:25.67
質問したタイミングがオランウータンだったのも原因w

44:Name_Not_Found
11/09/07 19:00:51.46 1Rx+ajbi
【環境】Windows 7 SP1 64bit,IE9,Firefox6.0.2,Opera11.51,Chrome13.0.782.220 m
【エラーメッセージ】false
【期待する結果】true
【サンプルコード】URLリンク(jsfiddle.net)
console.log('onload' in XMLHttpRequest.prototype);

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

これはどちらの挙動が正しいのでしょうか
また、onload プロパティ対応の有無に関わらず false が表示されるブラウザにおいて
onload プロパティに対応しているかどうかを確認するにはどうすれば良いのでしょうか

45:Name_Not_Found
11/09/07 19:23:03.09
chromeだけだけど
console.log('onload' in new XMLHttpRequest());
これならtrueなるよ

46:Name_Not_Found
11/09/07 19:23:51.99
ajax通信がしたいことだろうとすると、prototype.jsやjQueryからajax関数を持ってくれば問題無いと思うよ。
根本的解決じゃないけどね

47:44
11/09/07 19:31:00.73 1Rx+ajbi
>>45-46
有り難う御座います
'onload' in new XMLHttpRequest() で、Opera や Chrome でも正常に確認できるようになりました

48:Name_Not_Found
11/09/07 19:34:15.11
関係ないけどXMLHttpRequestはIEだけ特別扱いすればライブラリ使うほど難しいものじゃない

49:Name_Not_Found
11/09/07 19:42:01.47
携帯は?

50:Name_Not_Found
11/09/08 00:22:46.74
jquery-1.6.2.jsとjquery-1.6.2.min.js違いって何ですか?
両方ともjQuery JavaScript Library v1.6.2と書いてありますが、
容量が違うので別物だと思いますが、よくわかりません。

51:Name_Not_Found
11/09/08 01:27:20.60
>>50
容量(サイズ)が違うだけ。

52:Name_Not_Found
11/09/08 02:37:57.50
>>51
同じ物だったんですか。ありがとうございました。

53:Name_Not_Found
11/09/08 15:32:53.68
mixiのつぶやくボタンでURLを渡す際にURLパラメータの「&」のところで
途切れてしまいます。%26で記載してて、Twitterだと大丈夫なんですが
mixiボイスだとダメです。解決法がわかるかたお願いします。

54:Name_Not_Found
11/09/08 19:28:03.80
&amp;でも駄目?

55:Name_Not_Found
11/09/08 20:07:41.09
mixi利用上の問題なら運営に聞けば

56:53
11/09/08 20:26:46.61
レスありがとうございます。
&でやってみましたが同じように
&以降の文字が消えてしまってます。
&を使わないようにURLをどうにかするか、
諦めるかでとりあえず対応いたします。

57:53
11/09/08 20:27:28.65
↑ &amp; でやってましたが、です。訂正。

58:Name_Not_Found
11/09/08 21:15:59.52 ZKcnsOFz
ユニコードエスケープの\が\\みたいに二重になっているやつを、
\がひとつしかないときと同じような結果にするにはどうすればいいですか?
javascript:alert("\\u307b\\u3052"); //「\u307b\u3052」と表示される
↑これを↓これと同じ結果になるようにしたい
javascript:alert("\u307b\u3052"); //「ほげ」と表示される←期待する結果

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

↓\nの場合はこれでいけました
javascript:alert("a\\nb\\nc".replace(/\\n/g,"\n"));

59:Name_Not_Found
11/09/08 21:39:06.70
>>58
Unicodeエスケープとして解釈させるには new Function でコードを評価させるしかない
String.fromCharCode で対象の文字に変換する代替手段が妥当だと思う
ちなみに、"\n" は改行コードそのものだから上手くいく

60:Name_Not_Found
11/09/08 21:47:40.48
>>59
できました
ありがとうございます

61:Name_Not_Found
11/09/09 01:16:50.75 2Ys/fsBO
こんばんは。

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

極めて端的な質問なのですが、親ページで取得した値を元に、iframe内のソースを
書き換え、更に書き換えられた状態でiframe内をリロードさせるのは可能でしょうか?

62:Name_Not_Found
11/09/09 02:29:50.69
同一ドメイン同士のサイトなら可能です
書き換えられた状態でリロードというのがいまいちよくわかりませんが
まあだいじょぶでしょう

63:Name_Not_Found
11/09/09 03:23:43.73
2つのウィンドウがあって、Aのウィンドウのリンクを押すたびに、
Bのウィンドウが更新されて、かつ最前列になる方法が知りたいのですが、教えていただけると助かります。

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

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



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

>更に書き換えられた状態でiframe内をリロード
リロードがF5更新みたいに通信を伴うなら、Cookieとかで変更を記憶してどうにかしないといけない。

65:Name_Not_Found
11/09/09 11:48:52.52
他のスレで質問したものですが、
ここで質問したほうが良いのかと思い、
ここで質問しますが、よいでしょうか?
で、下のが、その質問です。


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

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

334 :333:2011/09/09(金) 11:43:22.50 ID:E9CsJGgr0
ブラウザが破損でもしたのか?
うまくいきません。
ウェブブラウザの JavaScript を有効にして、
ページを再読み込みしてください。
ってでて、いちおう、ぐーぐって調べた通りにやったのですが。。。


66:Name_Not_Found
11/09/09 11:53:56.99
カエレ。そもそも板違い。自分の用さえ足りれば何でもいいという傲慢を
自覚して反省しろ。

67:Name_Not_Found
11/09/09 12:01:08.29
>>66
すいません。直接的にはツイッターに関する質問なんですが、
でも、JavaScriptの質問だと思って。。。
IEの設定で普通に、JavaScript使えるように設定したつもりなんだけど
うまくいきません。
もしかして、IEかなんかが破損したとか壊れたとか?
よく分からないんです。


68:Name_Not_Found
11/09/09 12:05:10.97
【解決】再インストールか別ブラウザでどうぞ

はい、次の方どうぞ~

69:Name_Not_Found
11/09/09 20:55:45.16
>>67
マジレスすると、ここはjsでプログラムを書く人の質問スレッド。
あなたのは、jsを使ったプログラムをブラウザ上で利用するための質問。
ブラウザのスレか、OSの設定のスレに行きましょう。

70:Name_Not_Found
11/09/10 08:12:30.73
formからsubmitするときにmimeタイプ指定する方法ってなんだっけ?

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

もしajaxで同じことができるならそっちも教えて(同期通信)

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

本質的には失敗する可能性は同じサーバでのphpでの登録フォームの遷移に失敗するのと同じで、
ajaxだから失敗する可能性が高くなるというようなものではない、という理解で良いんでしょうか?
なれない技術なので不安で質問しました

72:Name_Not_Found
11/09/10 08:17:06.72
>>71 ページ遷移しないけど通信自体は普通の場合と同じだから、失敗する確率は普通にリンクとかをクリックしたときと同じだと思われ

73:71
11/09/10 08:26:39.64 ojWvVoIn
>>72
ご意見ありがとうございます、納得できました
あと、jqueryのpost()とajax()の現実的な使い分けについても聞きたいんですが
失敗の捕捉がajax()しかできないということは、クリティカルな要素についてはajax()を使って
失敗時のフォローをした方が良いってことですよね
バナー領域の自動更新みたいなコンテンツとして死活問題にならないのはpost()でいいけど…という感じで

74:Name_Not_Found
11/09/10 08:38:55.88
>>73 $.post()とか$.get()は$.ajax()の簡易版みたいな感じやから それでええと思うで

75:71
11/09/10 11:59:36.81
>>74
どうもありがとうございました

76:Name_Not_Found
11/09/10 12:25:14.29
>>70

77:Name_Not_Found
11/09/10 12:53:42.45
>>70
つ beforeSend、overrideMimeType

78:Name_Not_Found
11/09/10 14:31:52.99
>>70
勉強不足なのかもしれないが…。
ブラウザが受け入れる MIME-Type は Accept ヘッダで指定可能だが、サーバでないブラウザに MIME-Type を送信しないと思ってた。

>>77
overrideMimeType はサーバから送信された MIME-Type を上書きする仕組みだったはず。

79:78
11/09/10 14:44:56.78
URLリンク(www.studyinghttp.net)
ブラウザも Content-Type を送信できるんだな。>>78は忘れてくれ…。

80:Name_Not_Found
11/09/10 14:54:03.77
ヘッダの送信はsetRequestHeaderだよ

81:Name_Not_Found
11/09/10 15:06:00.14
しかし、サーバで Content-Type を受け取るメリットって何かある?
信頼性が低いと聞いたことがあるし、ファイルの拡張子を見るのと大して変わらない気がする
>>70の要件ならJSONをValidateするだけで事足りるような

82:Name_Not_Found
11/09/10 17:12:11.44
>>81
サーバにファイル名が渡るとは限らないでしょ。

83:Name_Not_Found
11/09/10 17:55:33.73
>>82
ファイル名を渡さないUAがあるってこと?

84:Name_Not_Found
11/09/10 18:13:30.24
>>82
「ファイル名を見るべき」と主張しているわけではなく、ファイル名も Content-Type も同じように信頼性が低いと主張しているわけで


85:Name_Not_Found
11/09/10 18:57:14.98
文字コードの指定もできるし送れる場合は送ったほうが良いでしょう

86:Name_Not_Found
11/09/10 18:57:45.65
JavaScriptでリンクをすると
検索ロボットにページを拾われないんですか?

87:Name_Not_Found
11/09/10 19:22:44.69
>>70 の人です 色々ありがとうございます
僕がなんでわざわざmineを送ろうとしたかはmineを送らなかったらサーバー側でなぜか受け取ったJSONをパース出来なかったからです
JSONをただのフォームデータだと思ったのかな?

サーバー側はnode.jsで、JSON.parse()やるとなぜかそれはJSONじゃねーとエラーが帰ってきました

88:Name_Not_Found
11/09/10 20:54:20.81
>>87
JSON.parse に MIME-Type は関係ないはず
JSON.parse は通信が発生するAPIではないから
パースしようとしている文字列がJSON文字列ではなかったからエラーを吐いてると思われる

89:Name_Not_Found
11/09/10 21:01:31.20
>>87
JSONじゃねーとエラーが変えるJSONデータを晒すほうが早い


90:Name_Not_Found
11/09/10 22:34:04.02 vlcMCJ4R
>>89
<form method="POST">
<input type="hidden" name="a" value="{'data':{'test':'hello'}}" />
<input type="submit" value="submit" />
</form>

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

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

ちなみにXHRでなんとかapplication/jsonに指定すると
{'data':{'test':'hello'}} がPOSTされて
alert(req.body.data.test) でhelloが出た
mineでJSON指定して送ると、パースしなくても受け取ったオブジェクトの値が参照できた

91:Name_Not_Found
11/09/10 22:45:52.94
>>90
試してみればわかることだと思うんだが…。
JSON.parse('{"data":{"test":"hello"}}'); // Object
JSON.parse("{'data':{'test':'hello'}}"); // SyntaxError


92:Name_Not_Found
11/09/10 22:53:58.11
>>90
むしろ、XHRで上手くいくことが不思議。
ところで req.body.data って何なんだろ。Node.jsの拡張?
URLリンク(www.w3.org)

93:Name_Not_Found
11/09/10 23:07:35.17 vlcMCJ4R
>>92 >>92 え まじで...
いまちょっと無理やからあとで試してみる

node.js+express
server.on("message",function(req,res){
console.log(req.data);
//
//
});
てな感じでつかう

94:Name_Not_Found
11/09/11 19:07:24.71 XiyvnHw9
事前の準備なしに、DOM構築中なら構築を待ってから実行、構築済みならすぐ実行
って無理ですか?
jQuery.event.special.ready.setup()
って結局はDOM構築前に実行しておかないといけないんですよね?

URLリンク(www.google.com)

95:Name_Not_Found
11/09/11 19:28:40.93 KwsWdHlC
JSのサンプルを落として組み込み、DWでバリデートすると
「タグとタグの間に<があります_」との警告が出ます。スクリプトの動作自体は問題ないのですが。
以下の部分の4行目の右端 "Close">の「>」なのですが、本来どうあるべきなのでしょうか。
<script type="text/javascript">
//<![CDATA[
hs.registerOverlay({
html: '<div class="closebutton" onclick="return hs.close(this)" title="Close"></div>',
position: 'top right',
fade: 2 // fading the semi-transparent overlay looks bad in IE
});

96:Name_Not_Found
11/09/11 21:00:43.20
>>94
document.readyStateとか見れば

97:Name_Not_Found
11/09/11 21:01:51.08
>>95
HTMLとスクリプトの分離

98:94
11/09/11 21:19:24.07
>>96
レスどうもありがとうございます
onloadではなくDOM構築のタイミングはdocument.readyStateだと難しいです
バージョンによっても違うかもしれませんが
各ブラウザのdocument.readyStateはこんな感じみたいです↓
firefox ... loading -> (DOMContentLoaded) -> interactive -> (onload) -> complete
safari ... loading -> (DOMContentLoaded) ->loading -> (onload) -> complete
ie ... loading or interactive -> (DOMContentLoaded) -> interactive -> (onload) -> complete

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

body要素の最後に任意の要素を配置しておいてそれが取得できるかどうかで判断するとかではなく
Javascriptだけで完結したいです

99:Name_Not_Found
11/09/11 22:07:01.04 2NNNxBWS
下の二つの結果は違ってきます。

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

正規表現でも、a1 のような配列を作る表現方法はないでしょうか?

100:Name_Not_Found
11/09/11 22:14:45.04
>>99
どっちも配列が返ってくるけど…

101:Name_Not_Found
11/09/11 22:40:29.68 2NNNxBWS
>>100
ホントだ・・。すみません。
一応、この事象は Windows7 の hta環境 で起きたんですけどね。JavaScript(JScript?)のエンジンが古いんでしょうね・・。

102:Name_Not_Found
11/09/11 22:44:55.60
IE splitでググればいろいろ出てくるとおもうよ

103:Name_Not_Found
11/09/12 05:07:36.35
>>98
3.6より前のFirefoxはセキュリティアップデートとっくに終わってるよ

104:Name_Not_Found
11/09/12 05:35:52.32 BOyWFed+
>>94
$(function(){});

ではいかんの?

105:Name_Not_Found
11/09/12 08:03:48.60
>>104
それもDOMContentLoaded以前に呼んどかないといけない

106:Name_Not_Found
11/09/12 11:27:55.84
そもそも、DOMontentLoaded 以前かどうかはコードを書く場所で自明じゃないの?

107:Name_Not_Found
11/09/12 12:40:20.15 S0m2e7zf
こういうのは違う?
getScriptがどういう振る舞いなのかよくわかってないですが

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


test.jsのなかみ ---------------------
$(function(){
    console.log($('#test').html());
});


108:Name_Not_Found
11/09/12 13:13:02.49
jQueryの$(function(){});、というかready()はDOMContentLoaded後に呼ばれたら
即時実行するぜ?

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

基本的には小難しいこと考えずにready()実行しとけばおk

109:Name_Not_Found
11/09/12 17:42:58.53
>>98
jQuery はFirefox3.6以降しかサポートしないよ
URLリンク(docs.jquery.com)

110:Name_Not_Found
11/09/12 18:57:49.98
トップページだとIE 6.0+, FF 2.0+, Safari 3.0+, Opera 9.0+, Chromeだね

111:Name_Not_Found
11/09/12 20:58:17.27 K51yHnKM
失礼します。
スクリプトについて教えて頂きたいのですが、
横の解像度が
1024px以上、1280px以下のときはdesign-1.css
1280未満から上はdesign-2.css
を読み込ませるには、どのようにhtmlへ記述すればよろしいのでしょう?
色々調べてみたのですが、解決できず悩んでおります。
よろしければ記述方法を教えていただけませんでしょうか?

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

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

112:Name_Not_Found
11/09/12 21:21:08.81
only IE9 over ,Fx3.x over, Safari 3.x over
<link rel="stylesheet" media="only screen and (min-width: 480px)" href="./480.css">
<link rel="stylesheet" media="only screen and (min-width: 768px)" href="./768.css">
<link rel="stylesheet" media="only screen and (min-width: 1024px)" href="./1024.css">
[CSS]CSS3のMedia Queries(メディアクエリ)の使い方と実装例
URLリンク(coliss.com)

113:Name_Not_Found
11/09/12 21:51:27.24 K51yHnKM
112様
ご回答ありがとうございますm(__)m
大変、助かりました。
早速試してみます。


114:Name_Not_Found
11/09/12 22:22:42.48
>>110
過去版も含めれば対応範囲は増えるだろうけど、わざわざ古いバージョン使う理由も思い浮かばないなあ

115:Name_Not_Found
11/09/12 22:54:09.00
過去のバージョンが最新ブラウザをサポートしている保証はないから複数バージョンを併用する形になって混乱を招く気がする
ついでに過去のバージョンに対応したpluginも必要だが、今探しても見つかりにくいだろうからかなりの部分で自前実装になるんじゃないかね

Fx2.0から対応すると検証にとんでもない時間がかかることも考慮した方がいい
Fx2, 3, 3.5, 4, 5, 6
Op9, 10, 11, 11.5
IE6, 7, 8, 9
GC9, 10, 11, 12, 13

116:Name_Not_Found
11/09/13 00:22:34.83
>>111,113
URLリンク(okwave.jp) で解決したんじゃなかったの?
同じ質問をして同じ回答をもらって「大変助かりました」とレスする不思議

117:Name_Not_Found
11/09/13 00:58:05.08 z5bv1WTP
div#sortedを並び替えして、かつappendChildで追加しても
h3はtest1→test2→test'n'の順番でテキストを保持したいのですが
どうすればよいでしょうか?

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


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



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

118:Name_Not_Found
11/09/13 01:28:07.32
>>117
var h3 = jQuery('div.sorted'); // キャッシュしておく

119:Name_Not_Found
11/09/13 01:37:10.46
jqueryで取った要素ってlive?

120:Name_Not_Found
11/09/13 03:02:54.65 b7gmRBdg
質問させて下さい。

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

cssのケースは見つかったのですがjsの場合がどうしても分からず・・・
よろしくお願いします。

121:Name_Not_Found
11/09/13 03:17:21.30 z5bv1WTP
>>117
アホですみません。よくわかりません。
>>119
liveでは無いですが自分のブラウザでは問題なく動いてます。

122:Name_Not_Found
11/09/13 03:23:02.55
>>119
liveじゃない

123:120
11/09/13 04:08:48.04 b7gmRBdg
度々すみません。
あれから色々調べて、ユーザーエージェントで振り分ける方法がある、
と言う事が分かりました。

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

<script type="text/javascript">
var device = navigator.userAgent;
$(function(){
if((device.indexOf('iPhone') > 0 && device.indexOf('iPad') == -1) || device.indexOf('iPod') > 0 || device.indexOf('Android') > 0){
document.write("<script type='text/javascript' src='スマホ用.js'></script>");
}else{
document.write("<script type='text/javascript' src='パソコン用.js'></script>");
}
});
</script>

124:Name_Not_Found
11/09/13 07:01:08.92 3ggxStTT
エラってるの?

125:Name_Not_Found
11/09/13 07:09:59.86
$(function(){ })に書いたらDOM構築後に実行されるから

126:Name_Not_Found
11/09/13 12:09:06.58
>>121
liveではないからソート前にキャッシュしておけば順序が保持される

127:Name_Not_Found
11/09/13 12:31:36.76 yaFq+xAf
みうの新作キタッ

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

URLリンク(report.seo-miu.com)

128:Name_Not_Found
11/09/13 12:55:49.94 wRqv8xMI
moocheck.jsを使ってラジオボタンを画像に置き換えていますが
同ページ内で一部だけ画像置き換え、残りは普通のラジオボタンに
するにはどうしたらいいでしょうか?

129:Name_Not_Found
11/09/13 13:00:54.94 wRqv8xMI
moocheck.jsを使ってラジオボタンを画像に置き換えていますが
同ページ内で一部だけ画像置き換え、残りは普通のラジオボタンに
するにはどうしたらいいでしょうか?

130:Name_Not_Found
11/09/13 20:47:09.55
すっごい初心者で、他サイトのHTML転用していろいろ試してたんですが、
JQUERYの動作がうまくいきません。
下記ソースです。

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

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

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

</body>
</html>

これで、idがふられてるdivの中だけを表示したいんですが、何故か全体が表示されます。
対処法はどうしたらよいでしょうか?

131:Name_Not_Found
11/09/13 21:56:04.66
idがふられているdiv以外の部分を表示しないことはどのようにして
実現されているの。

132:Name_Not_Found
11/09/13 22:08:12.97 Va5MbK+1
実現できてるサンプルが見当たりません・・・

133:Name_Not_Found
11/09/14 00:51:22.03
>>130
そのprettyPopinてやつについて調べてみると
hrefに設定されてるアドレスを読み込んで表示するもののようなんだが…
href="#testid" のようにページ内のid指定できるってのはどこに書いてあるの?

134:Name_Not_Found
11/09/14 04:19:33.91
URLリンク(twitter.com)
の意味を調べようとしてたんですが、
degenerate array が何のことかわかんないです。
教えてください。

135:Name_Not_Found
11/09/14 09:57:26.45
jQueryのScroll Followでスクロールする要素の上マージンを常に5pxとりたいんだけど、どうればいいでしょうか?




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

内側のセットの数が固定なら下記でいける?
alert('{"{bc}","英]"}'.match(/{(?=\"[^\"]*?\"\,\"[^\"]*?\"\})/g));
内側のセットの数が可変なら正規表現だけでは無理??


137:Name_Not_Found
11/09/14 16:28:15.19 MAsF+0z7
ajaxでencodeURIComponent(document.fm.name.value)で
フォームに入力した値を$_POST['name']で受け取って表示させるの
ですが、<font>とフォームに書いた場合なにも表示されません。
<font>が< font >に変換するのがencodeURIComponentと思ってましがが
<font>をそのまま受け取って、<font>と表示させてるみたいです。
encodeURIComponentって何するものなんですか?

138:Name_Not_Found
11/09/14 18:31:27.15 Zy7OCsez
>>137
encodeURIがやるのはURLエンコードだよ
あなたが期待しているのはHTMLエンティティ化ではないかい?

139:Name_Not_Found
11/09/14 19:07:36.03 kWaVNw/1
aやa.bがundefinedかもしれない場合も含めて
try-catchを使わずa.b.cがundefinedかどうかを一発で判断する方法を教えてください

140:Name_Not_Found
11/09/14 20:01:33.72 MAsF+0z7
>>138
わかりましたURAエンコードですね。
xmlhttp = new XMLHttpRequest();を
xmlhttp.open("GET", 'hello.php?name='+encodeURIComponent(document.fm.name.value),true);
xmlhttp.open("GET", 'hello.php?name='+document.fm.name.value,true);
encodeURIComponentを使っても使わなくても正常に平仮名、漢字が
受け取りがfirefox、文字コードUTF-8で動いてますが、encodeURIComponentの
URLエンコードする意味ってあるのですか?

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

141:Name_Not_Found
11/09/14 20:09:07.92 Zy7OCsez
>>140
>わかりましたURAエンコードですね

ホントにわかった…のか?
まあそれはさておき、POSTしたかったんじゃなかったの?

142:Name_Not_Found
11/09/14 20:18:00.05 MAsF+0z7
URAでなくURLでした間違えました。
postの場合もencodeURIComponentがあってもなくても動きます。
このへんがよく分かりません。
xmlhttp.open("POST", 'hello2.php',true);
xmlhttp.setRequestHeader('content-type','application/x-www-form-urlencoded;charset=UTF-8');
xmlhttp.send('name='+encodeURIComponent(document.fm.name.value));

143:Name_Not_Found
11/09/14 20:19:30.81 Zy7OCsez
動いてるならそれでいいんじゃね?
自分以外の環境でもそうなるなら

144:Name_Not_Found
11/09/14 20:24:35.58 Zy7OCsez
あと最初の自分の質問を見なおしてみたほうがいいかも
そうすると問題点がわかるってのはよくある話


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

どこに表示されないの?

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

誰が受け取っているの?
誰がどこに表示させてるの?
表示されないんじゃなかったの?

145:Name_Not_Found
11/09/14 21:36:56.34 Yj+JaE1y
質問です。

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

よろしくお願いします。

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

147:Name_Not_Found
11/09/15 02:01:39.60 TyMaU8YT
>>133

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

そこで質問なのですが、特定の動作(onkeyup等)をトリガーにして、
ライトボックス風のポップアップウィンドウを表示させるプラグイン
はありますでしょうか?

148:Name_Not_Found
11/09/15 02:03:58.77
>>147

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

もしこんなプラグインがあったら、是非教えていただけないでしょうか。

149:Name_Not_Found
11/09/15 02:07:13.60
JavaScript を自ら学ぶ人のための質問スレッドです。

150:Name_Not_Found
11/09/15 09:27:09.78
JavascriptとcookieでどこまでPCを特定できますか?

151:Name_Not_Found
11/09/15 09:33:50.33


152:Name_Not_Found
11/09/15 10:22:22.72
ユニークIDを振るって意図なら、ユーザーが手を加えなければ特定はできるけど、
クッキーなんていくらでも改竄可能だよ。

153:Name_Not_Found
11/09/15 10:24:46.56
>>152
その場合の「特定」ってのは、一度来訪した人が再び来訪した時に
「来た事のある人だ」って判る程度ね。
「どこそこに住んでる誰々さん」っていう特定はもちろん不可能。

154:Name_Not_Found
11/09/15 14:13:52.63 Ah9k2j7O
javascriptでサイトのリダイレクトの処理を行いたいのですが

URLリンク(www.hogehoge.co.jp) ←にアクセスしたら
URLリンク(www.hogehoge.co.jp) に飛ばす。

URLリンク(www.hogehoge.co.jp) ←にアクセスしたら
URLリンク(www.hogehoge.co.jp) に飛ばす

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

先輩方宜しくお願い致します。

155:Name_Not_Found
11/09/15 14:17:25.11
perlでは?

156:Name_Not_Found
11/09/15 14:20:15.61
>>155

どの様にやればいいかさっぱり分かりません・・・。

157:Name_Not_Found
11/09/15 15:08:39.02
if (location.href=='URLリンク(www.hogehoge.co.jp)') location.href='URLリンク(www.hogehoge.co.jp)';
if (location.href=='URLリンク(www.hogehoge.co.jp)') location.href='URLリンク(www.hogehoge.co.jp)';

JavaScriptでやること?

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

どうすればよろしいでしょうか??

159:Name_Not_Found
11/09/15 16:08:19.43
>>158
2つのURLを、目的の物に変えてみそ。

160:Name_Not_Found
11/09/15 16:13:52.19
>>159

ほんとすみません、解決しました。
こんな質問に回答頂き
本当にありがとうございました!

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

よろしくお願いします。


162:Name_Not_Found
11/09/15 18:39:29.65
>>161
値の使い方による。
その3行だけなら必要ないけど、localStorage から取り出した後でサニ
タイズが必要になる可能性はある。



163:161
11/09/15 19:17:57.69
すみません。確かに値の使い方を記すのを忘れてました。

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

localStorage.setItemで保存させた値を単純にテーブルに書き出す物になってます。
サーバーサイドで動かす事は何もしません。


164:Name_Not_Found
11/09/15 19:38:32.09
サニタイズとエスケープを一緒にすんな

165:Name_Not_Found
11/09/15 20:36:54.17
ユーザーが入力してユーザーしか使わないブラウザで完結するデータならサニタイズは不要
この場合innerHTMLを使わずdocument.createTextNodeとかでテーブルを作ればエスケープも不要

166:Name_Not_Found
11/09/15 20:57:21.11 6bDq/BE/
jQueryを使って制作をしている者です。

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

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

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

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


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



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


167:161
11/09/15 21:01:11.80
>>162 >>164 >>165
ありがとうございました!
ブラウザで完結する物なのでcreateTextNodeを使ってみます。
サニタイズとエスケープの違いも、よくわかっていないまま言葉を使っていたので調べてみます。

168:Name_Not_Found
11/09/15 22:21:21.34
>>166
マウス何個使ってるの?

169:166
11/09/15 22:39:44.30 6bDq/BE/
マウスは1つだけです。
一般的なパソコンやブラウザの環境で動くようにしたいです。


170:Name_Not_Found
11/09/16 00:01:25.79
>>166
div#aaaの子要素(のひとつ)にdiv#bbbがあるって意味なら
イベントのバブリングを調べてみるといいんでは。
jQueryならdelegate()とかlive()で書くことになる

171:Name_Not_Found
11/09/16 01:11:57.90
jQueryはevent.targetで捕捉できるけど、意外と知られていないよね

172:Name_Not_Found
11/09/16 11:05:41.66 zEqFxabs
xhrでcsvを読み込んでごにょごにょ・・というコードを書いています。
一部のブラウザでレスポンスのステータスの取得がうまくいきません。

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

var loadCsv = function(myHeaders) {
xhr.sendRequest({ //自前のxhrオブジェクト
url: 'hoge.csv',
headers: myHeaders, //任意のヘッダを追加できる
callback: { //どこかで見たような作りのコールバック
success: function(req) { var csv = req.responseText; ... },
failure: function(req) { if (304 === req.status) { loadCsv(); } ... } //304なら引数(追加ヘッダ)なしで再リク
}
});
};
// 最初はヘッダを追加して呼び出し
loadCsv({'If-Modified-Since':'/*Last-Modifiedの値*/', 'If-None-Match':'"/*Etagの値*/"'});

173:続き
11/09/16 11:06:31.49 zEqFxabs
流れはこうなります
(1回目の読み込み)新規取得で200が返りコールバックのsuccessが実行される
(2回目の読み込み)csvが更新されてれば200が返りsuccessが実行、
更新されてなければ304が返りコールバックのfailureが実行される
=>追加ヘッダなしで再リクエストするとブラウザのキャッシュが(あれば)読み込まれる=>successが実行

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

ネットで見るとxhrとキャッシュはややこしいみたいで混乱もあるのですが
statusが0になる理屈が見当つく方いたら、おきかせください。

174:172
11/09/16 11:33:28.47 zEqFxabs
すいません、今見つけたんですがOperaのバグだって話のようです
URLリンク(my.opera.com)

とりあえず上記ページを参考に回避するようにしてみようと思いますm(_ _)m

175:Name_Not_Found
11/09/16 12:18:46.72
function abc(a,b,elem) {
var c = a+b;
if (typeof(elem) == "object") {
elem.innerHTML = c;
} else {
return c;
}
}

if (typeof(elm) == "object")の所をもっと確実にしたいのですが、どうしたらいいでしょうか

176:Name_Not_Found
11/09/16 13:59:16.64
>>175
typeof elem === "object" && elem.nodeType === 1 && typeof elem.nodeName === "string"

177:Name_Not_Found
11/09/16 15:07:07.33 4X8snwj8
URLリンク(phpjavascriptroom.com)

このページの設置サンプルっていうのをコピペしてDreamweaverのソースのところにコピペしてみたんですがうまく表示されていません。
何か手を加えないといけないんでしょうか

178:Name_Not_Found
11/09/16 15:37:35.69
>>176
ありがとう

179:Name_Not_Found
11/09/16 16:42:49.56
>>176
nullもobjectだよね?

180:Name_Not_Found
11/09/16 16:48:29.76
DOM操作の質問です
<div id="hoge">
アイマス
</div>

の時、先頭に愛媛のを付けたいのですが+=だと後ろについてしまうので
document.getElementById("hoge").innerHTML = "愛媛の"+document.getElementById("hoge").innerHTML
とやっているのですが、どうも効率が悪いような気がしてなりません
先頭に付け加える時いい方法とかってあるんでしょうか?

181:Name_Not_Found
11/09/16 16:53:32.62
>>180
var doc = document;
doc.getElementById("hoge").firstChild.insertBefore(doc.createTextNode(愛媛の"));

182:Name_Not_Found
11/09/16 16:59:45.05
>>181
ありがとうございます、こういう時につかうんですね

183:Name_Not_Found
11/09/16 17:01:58.27
>>175
if (elem && typeof elem === 'object' && elem instanceof Element)
if (elem && typeof elem === 'object' && 'innerHTML' in elem && elem.nodeType === 1)
ところで、a, b は型チェックしなくていいの?
型によって加法演算子の処理が変わると思うけど

184:Name_Not_Found
11/09/17 08:18:34.83 rQkq0Xjw

console.log をファイルに出力したいんだけど、どうしよう。。。
メインはFirefoxですが、なんでもいいです。
セキュリティの関係上、なんかAdd-on なり about:configなりが必要なことはわかってます。
browser.dom.window.dump.enabled
はうまくいきませんでした。


185:Name_Not_Found
11/09/17 10:34:27.42
>>181
なにこれ?

186:Name_Not_Found
11/09/17 10:46:39.61
docとかなんも意味なさそうな変数宣言してるあたり入門者やな

187:Name_Not_Found
11/09/17 12:04:06.00
>>185-186
わからないものは入門者と決めつけない方がいいよ
URLリンク(www.hyuki.com)
というか入門者ならローカル変数なんてまず使わない
巷にあるサンプルでローカル変数使っているコードはほとんどない

188:Name_Not_Found
11/09/17 12:22:03.07
えっ

189:Name_Not_Found
11/09/17 12:41:45.19
>>188
文脈を読めばわかるだろ
煽ることしかできないのか、おまえはw

190:Name_Not_Found
11/09/17 12:51:16.73
えっ

191:Name_Not_Found
11/09/17 13:13:04.44
> (1) 質問にならない投稿はご遠慮ください。(煽り、コード制作依頼など)

192:Name_Not_Found
11/09/17 13:24:52.26
> ■質問を書く上で
> (1) 質問にならない投稿はご遠慮ください。(煽り、コード制作依頼など)

193:Name_Not_Found
11/09/17 13:28:28.02
>>192
>なにこれ?
これは質問ですよね

194:Name_Not_Found
11/09/17 13:40:17.21
>>193
それは回答がついてるし、「えっ」は質問じゃないだろ

195:Name_Not_Found
11/09/17 15:12:06.58
>>184
GM_setValueで保存したデータをprefs.jsから取るとか?

196:Name_Not_Found
11/09/17 15:16:35.15
>>184
File APIを使えばいい
URLリンク(ascii.jp)

197:Name_Not_Found
11/09/17 15:49:52.69
URLリンク(ideone.com)
今こんな感じなんですが、同じように出力するpageBtn()
をもう少しかっこ良く書いてもらえませんか?人に見せなきゃいけないんで

198:Name_Not_Found
11/09/17 15:58:52.07 5REbP0vF
現在メディアクエリを使いウィンドウサイズごとにCSSを振り分けています。
IE6.7.8に対応させるため、調べた結果「css3-mediaqueries.js」で対応できるそうなんですが、
htmlへ記述しても起動しません。私の記述が間違っているのでしょうか?
どなたか、ご教授のほど、よろしく、お願いいたします。


<title>テスト</title>

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

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

<!--[if lt IE 9]>
<script src="URLリンク(css3-mediaqueries-js.googlecode.com)"></script>
<![endif]-->

</head>

199:Name_Not_Found
11/09/17 16:00:38.16
他人に見せるならわかりやすく書こう
カッコやインデントを省くのは自己満足、コードがカッコいいとか他人が見ればそんなのどうでもいい

200:Name_Not_Found
11/09/17 16:03:39.78
>>199
どれにレスしてんだよ

201:Name_Not_Found
11/09/17 16:05:50.49
>>200
文脈を読めばわかるだろ
煽ることしかできないのか、おまえはw

202:Name_Not_Found
11/09/17 17:03:46.64
インデントは消えちゃうんだよな。
専ブラでポップアップすると残ってるんだけど。
全角空白でインデントすると、回答してみようかとコピペした時に困る。

203:Name_Not_Found
11/09/17 17:34:58.26 dUaxHKt4
俺はテキストエディタでタブを&amp;に置換してコピペしとるな

204:Name_Not_Found
11/09/17 17:52:13.38 ZUPb0XKt
>>201
わからんわ!どのコードがわかりやすくないんだ?

205:Name_Not_Found
11/09/17 17:58:50.63
>>204
コピペは無視していいですよ

206:Name_Not_Found
11/09/17 18:20:03.19
>>187
あーえろうすんません入門者は僕でした
documentをキャッシュした方がIEさんが劇的に速い云々いうのは
昔どこかで読んでたけどすっかり失念してましたわ

207:Name_Not_Found
11/09/17 18:24:35.34
>>206
お前ダサすぎワロタw

208:Name_Not_Found
11/09/17 19:02:53.44 vr5XGV5L
ちゃんと誤ってるのにそれを罵倒するなんて

209:sage
11/09/17 19:03:13.01 vr5XGV5L
謝ってるのに

210:Name_Not_Found
11/09/17 19:34:39.69
>>181 の問題はそこじゃないけどね

211:Name_Not_Found
11/09/17 19:38:27.88
>>200,204
>>197のことじゃないかな、多分
文脈云々は関係ないから気にしなくていいと思う

>>210
問題点は具体的に指摘して欲しいんだけどな
わかると思ったからあえて訂正しなかったけど、>>181の " はtypoね

212:Name_Not_Found
11/09/17 19:48:05.31
>>211
問題は 2つあるけど、それを指摘されないと分からないようでは、ちょっと…

213:Name_Not_Found
11/09/17 20:08:02.54
痛々しい。。。

214:Name_Not_Found
11/09/17 20:14:36.60
☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

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

☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

215:Name_Not_Found
11/09/17 20:16:35.54
>>181 みたいに、知識もないのに回答する奴ってどうなの?

216:Name_Not_Found
11/09/17 20:38:31.02
&nbsp;使いなすえ。専ブラ以外でコピペしたらええ

217:Name_Not_Found
11/09/17 20:46:29.48
>>212
んー、問題点があるってことだけ気にとめておく
ありがとね

218:Name_Not_Found
11/09/17 20:55:33.91
ああ、「#hogeがない場合にTypeError」「#hogeの子要素がない場合にTypeError」のことかな
少し迷ったけど>>180の「先頭に付け加える」という要件は満たしていたからスルーしてた
質問の趣旨から逸れてるし、気になる人が指摘すればいい些細な問題だと思う

219:Name_Not_Found
11/09/17 21:02:32.72
痛々しい。。。

220:Name_Not_Found
11/09/17 21:03:48.63
んー?insertBeforeやろ
親エレメントから実行するメソッドやで

221:Name_Not_Found
11/09/17 21:04:22.35
稚拙な書き込みはスルーで
ところで、皆は何のエディタでJavaScript書いてる?
俺は秀丸エディタ使ってる

222:Name_Not_Found
11/09/17 21:09:27.28
>>220
ありがとう、完全に間違って覚えてた
URLリンク(jsfiddle.net)

223:Name_Not_Found
11/09/17 22:02:51.57
引用符もな
つかぐだぐだ言ってないで動作確認くらいしろ
頭でっかちで何も作れない奴になるぞ

224:Name_Not_Found
11/09/17 22:13:15.10
とあるサイトにjsを納入する。
そのサイトを書き換えるのにいちいち管理人に指示してやってもらわないといけない。
ajaxを使うからそのページ上じゃないとテストできない。
どうしたらjsだけローカルのに差し替えてテストできる?

225:Name_Not_Found
11/09/17 22:24:25.43
ajaxの通信先変えてローカルで試すのでないの?
proxomitronでもページ書き換え&クロスドメイン通信できるけど。

226:Name_Not_Found
11/09/17 22:25:23.80
Greasemonkeyを使えばクロスドメインでもへっちゃらさ!

227:Name_Not_Found
11/09/18 00:02:58.15 cYshN7ZR
>>224
仕事だったら仮アップ環境あるでしょ

228:Name_Not_Found
11/09/18 00:31:48.44
ローカルに環境構築してからUPするものだと思ってたが、最近は違うのか…

229:Name_Not_Found
11/09/18 01:06:24.31
Apacheインストール済みのMacが勝ち組ということだな

230:Name_Not_Found
11/09/18 01:18:10.19
ローカルにphp入れてないしソースもないんだよ
proxomitronでサイト上の<script src~>書き換えてしまうのが一番てっとり早そうだな
サンキュ

231:Name_Not_Found
11/09/18 03:30:28.32
一番早いのはChrome入れてコンソール叩くこと

232:Name_Not_Found
11/09/18 16:31:03.63
jQueryでの質問です、本当に初歩的なことでここで質問すべきではないかもしれませんが
$("#hoge").animate({"left":"+=240px"},1000);
$("#hoge").animate({"width":"+=20px"},500);
一つの要素でこれを同時に行いたいのですが、方法あるんでしょうか?
上は1秒、下は0.5秒で処理したいのでどうも

233:Name_Not_Found
11/09/18 17:10:24.70 OHc7CxwA
手作りすればいいんじゃないかな
あと、500msで10回繰り返しても、きっちり5秒ってわけじゃないけど
そのへんは問題ない?

234:Name_Not_Found
11/09/18 17:13:14.19
問題ないですが、jQueryじゃ無理なんですかね?
一つの要素をバラバラの時間で処理するというのは

235:Name_Not_Found
11/09/18 17:39:24.45
500 * 2が1000にならないからきっちり合わせたいってこと?
1行で書きたいってこと?
$("#hoge").animate({"left":"+=240px"},1000).animate({"width":"+=20px"},500);

236:Name_Not_Found
11/09/18 17:41:48.84
>>235
それだとleftが1秒かけて240px+された「後」に0.5秒かけて横幅が+20されるので
同時にできたらなーと

237:Name_Not_Found
11/09/18 18:12:37.66
$("#hoge").animate({"left":"+=240px", "width":"+=20px"}, 500).animate({"left":"+=240px"},500); 

238:Name_Not_Found
11/09/18 18:18:34.79
あ、ごめん。animateを勘違いしてた。

$("#hoge").animate({
"width": "+=20px"
"left": "+=120px"
}, 500).animate({
"left": "+=120px"
}, 500);
こんなの思いついたけど、(線形変化じゃない場合)速度が一定じゃないからダメだな。多分自作がいいんじゃないかと思う。

239:Name_Not_Found
11/09/18 23:28:50.33
グリモンの練習中なんですが質問です

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

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

240:Name_Not_Found
11/09/18 23:50:33.75
> 指定されたURLに対してまたwindow.onloadがかかるから、という解釈で合ってますか?
違う。

全体的に、コードからして知識不足丸出し。
書き始める前に、少し位、勉強したらどうか。

241:Name_Not_Found
11/09/19 00:49:19.14
setTimeoutの第一引数に文字列を渡す必要はないすな

242:Name_Not_Found
11/09/19 01:52:54.43
setTimeout("w"+i+"=window.open*****)",(i*2)*1000);
setTimeout("w"+i+".close()",(i*2+1)*1000);

こんなんでいいんじゃね

243:Name_Not_Found
11/09/19 02:00:43.64
開くタイミングは 0, 2, 4 秒後、閉じるタイミングは 1, 3, 5 秒後だから、
変数 w を上書きしているせいで、閉じれていないわけじゃない。

244:Name_Not_Found
11/09/19 02:05:04.95
なるほど・・・関数にして渡した方がいいみたいですね
>>240氏の言われる通り、下手なtry&errorやるよりちゃんと読みながらやってみますo(_ _o)

245:Name_Not_Found
11/09/19 13:01:52.96
サーバーの状況(カウンターなど)をリアルタイムで確認するnode.jsみたいなのが結構ありますが
オススメなのとかってありますか?

Ajaxで2秒毎に更新するとか無茶苦茶なのとかありますが

246:Name_Not_Found
11/09/19 13:23:17.60
本当の意味でリアルタイムな状況を取得するにはサーバー側から変化があったことを通知(PUSH)する必要があるね
URLリンク(libro.tuyano.com)
こだわらないならAjaxみたいに一定期間ごとに取得する(PULL)従来のやり方でいいと思うが

247:Name_Not_Found
11/09/19 13:38:21.81
2chのdatファイルでやったら鯖が死ぬな

248:Name_Not_Found
11/09/19 13:51:12.89
っ Ajax+Comet

249:Name_Not_Found
11/09/19 13:52:38.23
node.jsって一時期話題になってリアルタイムチャットが至る所で簡易設置されてたがその後どうなった?

250:Name_Not_Found
11/09/19 23:19:27.96 JbXQ2Isi
javascript使うと
webブラウザで結構な人がactiveXがどうとか
ブロックされましたとか、ポップアップでるよね?
あれって開いたページから強制的に有効へ変更し、
ポップアップが出ないようにするなんてできますか?


あと、最近はwebでポータルみたいなサイト作ろうと思ったら流行りはなんです?

251:Name_Not_Found
11/09/19 23:21:15.89
なんて恐ろしいことを・・・

252:Name_Not_Found
11/09/19 23:27:32.17 JbXQ2Isi
そーなんだよね
強制的にそんな事できたらウイルスも
蔓延しまくりなんだろうけど、
内輪だけで使うポータルサイトを作りたくて

253:Name_Not_Found
11/09/19 23:35:17.07
iframeとかframe使えばいいんじゃね。

254:Name_Not_Found
11/09/19 23:46:03.39 JbXQ2Isi
うーん
何故scriptを選んだかと言うと
日付と時間が欲しいんだよなぁ

255:Name_Not_Found
11/09/19 23:57:54.45
window.open()でポップアップして開くのもtarget=_blankで開くのと同じで、
iframeとかで開くのもウィンドウ(タブ)が増えるか増えないかの違いでしか無い。
すべてにjsでクリック検知をさせることが可能。
多分target=_blankでブロックは無いしjsうまくやれば解決するはず。勉強しといで

256:Name_Not_Found
11/09/20 00:17:05.39 rRpJ8N3P
それってリンクから新しいページ開くのでなく
ショトカとかから起動されたページでも可能なものです?

まぁ少し調べてみようとは思いますけど

257:Name_Not_Found
11/09/20 02:20:45.05
>>250
いまどきJavaScript使ったくらいでそんなの出る奴のが少ないやろ

258:Name_Not_Found
11/09/20 08:51:48.64 rRpJ8N3P
>257
俺ie初期設定のままだけど
毎回出ちゃうんだなぁ…

259:Name_Not_Found
11/09/20 12:40:19.69
>>258
file:///でテストしている時限定ではなく?

260:Name_Not_Found
11/09/20 17:22:49.05
>>249
Node.jsの開発自体はのんびりやってる
WebSocketが固まらないことにはな
Ajaxで乗り遅れたアホどもが今度は乗り遅れまいと騒ぎ立て
愚にもつかないアプリを作ってみただけ

261:Name_Not_Found
11/09/21 07:50:57.94 cD+zIIkg
AS経由で、と時代錯誤なことを言ってみる

262:Name_Not_Found
11/09/21 08:06:58.49
内輪だけで使うポータルサイトなら
ポップアップブロックの設定でそのURLを許可しとけばいいじゃん
設定は最初の一回だけで何度も煩わされることはない

263:Name_Not_Found
11/09/21 08:11:03.04
×許可しとけばいい
○許可してもらえばいい
ブラウザのポップアップブロックの許可設定するのは内輪のメンバーそれぞれね
強制的にポップアップブロックを無効にする方法とか怖いことを考えるよりは現実的かと

264:Name_Not_Found
11/09/21 19:36:44.27
ポップアップじゃなくて、ActiveXと情報バーの話じゃね

265:Name_Not_Found
11/09/21 20:00:54.35
IEはローカルゾーンでスクリプトが仕込んであるページを開くと
警告を出すがあれの事かな
つか状況説明が適当すぎて解決する気があるんだか無いんだか

266:Name_Not_Found
11/09/21 22:13:51.79 6ZA3uTAo
var hoge = document.createElement("img");
hoge.src = "画像のURL";
これだけでは必ず「画像のURL」が呼ばれるとは限りませんか?
ドキュメントに挿入しないと駄目ですか?
FirefoxとChromeはドキュメントに挿入せずに上記だけで「画像のURL」にアクセスしてました

267:Name_Not_Found
11/09/21 22:41:18.95
質問がわからんが読み込ませるのが目的なら
new Image().src = "URL"が安定

268:Name_Not_Found
11/09/21 22:44:18.31
>>267
どうもありがとうございます

269:Name_Not_Found
11/09/22 02:02:47.32
「Coda-Slider 2.0」というjavascriptについて質問させていただきます。

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

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

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

何が原因だと考えられるでしょうか?
よろしくお願いいたします。


270:Name_Not_Found
11/09/22 05:02:37.84
そのcgiが吐いたページのソースをhtmlとして保存して動くかどうか試してみたらどうでしょう

271:Name_Not_Found
11/09/22 10:57:32.54
ちょっとした質問なんですがjQueryで
.css({"background-color":"#FFFFFF"})
を白ではなく設定しない、背景色をナシの状態にしたいのですがどのようにすればいいんでしょうか?
nullとかでは上手くいきませんでした

272:Name_Not_Found
11/09/22 10:59:22.75
.css({"background-color":""})

答える側としてはこういう質問は楽でいいな

273:Name_Not_Found
11/09/22 11:05:32.32
ありがとうございます!

274:Name_Not_Found
11/09/22 12:52:56.26 HMSOfFyI
jQueryてtransparentてかかなくていいのんか
11文字分勉強になりますた!

275:Name_Not_Found
11/09/22 13:24:15.60
function add() {
 var a = document.getElementById('post');

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

}

<div id="post">

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

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

項目を追加するスプリクトなのですが追加すると<input type="text">に入力してた内容が全て消えてしまいます。
維持したまま追加するにはどうしたらいいでしょうか

276:Name_Not_Found
11/09/22 15:04:53.01
>>275
それは「a.innerHTML = a.innerHTML + '...'」と同等だから。aの中身全体を
書き換えたら消えるのが当り前。DOMで要素を追加していくようにするのが
いいんでは。

277:Name_Not_Found
11/09/22 15:14:55.21
>>276
なるほど!
ありがとうございました!

278:Name_Not_Found
11/09/22 22:35:59.83 7bVbNRc6
URLリンク(www.scollabo.com)
このメールフォームを送信した後に
『送信ありがとうございました』
と表示させたいのですがJAVAスクリプトでどうやったらいいですか?

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

一番簡単な方法を教えてください
お願いします

279:Name_Not_Found
11/09/22 22:47:57.49
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。

280:Name_Not_Found
11/09/23 00:20:16.76
form の action 先が mailto: である以上、熟練者でも
送信されたか判定することは無理だと思うよ。

281:269
11/09/23 04:40:35.97
>>270
的確なアドバイスありがとうございます。

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

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

お手数おかけしました。
どうもありがとうございました。

282:Name_Not_Found
11/09/23 12:48:04.40
>>278
どんだけマルチポストしてんだよ

283:Name_Not_Found
11/09/23 14:42:05.00
>>278
スレリンク(hp板:445番)n-
スレリンク(hp板:863番)n-

284:Name_Not_Found
11/09/23 14:51:56.18
マルチポストしてすぐ解決するんなら
1つのスレでgdgdやられるよりよくね?
おまえら面倒臭い質問には答えんしそれだけならいいが
愚痴言ってスレ埋めるだろ
質問者にもそれくらいの権利はある(棒)

285:Name_Not_Found
11/09/23 15:17:19.41
筋の通らない論理だな

286:Name_Not_Found
11/09/23 15:53:12.95
それを屁理屈という

287:Name_Not_Found
11/09/23 16:38:34.08
ここまでコピペ

288:Name_Not_Found
11/09/23 16:43:15.28
ここまでコピ屁

289:Name_Not_Found
11/09/23 17:18:54.06
もう、本当に素人で許してください。

業務の瑣末なことにちょっとした自分用アプリを作るべくjavascript(Jscript)をいじっているのですが、
どうにもまったく理解がいきません。
MakeExeというソフトを使い、スクリプトを.exe化したい、と思っているのですが、コンパイル?して
実行すると、Hello, world.的なことをしたいと思って
window.ppen()とか
document.write()
などとしても「windowとかdocumentとか変数宣言されてねーよ」的なことを言われます。
たしかにそうだ、と変数にWindowオブジェクトとかDocumentとか宣言したいと思っていろいろ初心者用
参考書をあさるのですが、window.ppen()とかdocument.write()はそういうもんだ、と書いてあるだけで、
コードではいきなり宣言もなしにwindow.ppen()とかdocument.write()とか書かれちゃってます。
WEBのhtml組み込みならhtmlを開いた時点でウインドウが開いているので、それもまあそうなんだろう
と思いますが、このあたりのことがどうにも理解できません。明確にWindowオブジェクトやDocument
オブジェクトを宣言して別ウインドウでHello, world.的なことってどう書けばいいんでしょう?
そしてなぜにこんな糞仕様なんですか?

290:うぃんどう.ぺぺん
11/09/23 17:26:26.55
何がやりたいのか、さっぱり分からんのだけど、HTA では駄目なのか?

291:Name_Not_Found
11/09/23 17:36:53.47
一貫してwindow.ppenなんだな。
openだぞ。開くんだ。

292:Name_Not_Found
11/09/23 17:46:59.47
>>289
windowもdocumentもブラウザの為のものでしょ
あなたがいじろうとしているJScriptにはない概念なんじゃないの?
糞仕様と罵る前に仕様を調べるべきだと思うけど

293:Name_Not_Found
11/09/23 17:54:53.77
>>289は、WSHの話だと思うが、>>289のアタマはなぜにこんな糞仕様なんですか?

294:Name_Not_Found
11/09/23 18:01:25.63
>>289の仕様です

295:window.ppen
11/09/23 18:28:00.08
とりあえず作りたいのは、ファイル名変更ソフト。

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

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

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

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

まあ、基本は

296:Name_Not_Found
11/09/23 18:30:12.93
スレ違いであることも分からない糞仕様アタマですかね?????

297:window.ppen(糞仕様)
11/09/23 18:33:54.61
ああ、途中でorz

基本的にはドラッグアンドドロップでファイル名が取得できればいいだけなんですけど、根本的ににはw
まだjavascriptなるものをいじり始めて2週間ですので糞などと名前を付けていただけるだけで光栄ですw
ローカルのファイルの名前変更もjavascriptでは結構大変ということを知り驚いている今日このごろ。
Jscriptバンザァイw

298:Name_Not_Found
11/09/23 18:38:54.24
exe 化する意味が分からん。
ファイルかフォルダを必要なだけ .js ファイル上にドロップすれば、
各フルパスが引数として渡る (トータルの引数の長さに上限はあるが)。
それを WScript.Arguments で参照すればいいだけ。

299:window.ppen(糞仕様)
11/09/23 18:41:29.98
>>296
Web制作スレにすまんこってす。
自分のこれからやりたいことは
・javascriptを使って、アドビ系のアプリのスクリプトを書く
・ちょいちょいある定型雑務のためにスクリプトを書く
の2つなんです。いろいろなスレを回ってみましたが、そういうスレ、ないんですよね……orz
もしいいところがあったら誘導お願いします。

300:Name_Not_Found
11/09/23 18:44:27.09
糞仕様に意味などないわ
誘導先が迷惑なので誘導すんな

301:window.ppen(糞仕様)
11/09/23 18:47:40.40
>>298
jsファイルにドラッグアンドドロップするっていう発想はありませんでした!
アプリにドラッグアンドドロップはするけどファイルにドラッグアンドドロップですか……

いろいろありますね。ありがとうございます。なんかできそうです!

302:Name_Not_Found
11/09/23 19:53:40.59
powershell使えpowershell

303:Name_Not_Found
11/09/23 21:53:38.71
WSHスレあるんだからWSHの質問はそっち行ってよ。

304:Name_Not_Found
11/09/24 09:52:42.58 gN4HwSWB
激しく初心者ですが、質問させてください。

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

【環境】Win IE8
【エラーメッセージ】セキュリティ保護のため、このコンピュータにアクセスする可能性のあるスクリプトやActiveXコントロールを実行しないよう、IEで制限されています云々

305:Name_Not_Found
11/09/24 10:23:25.46
自分のパソコンで試してる?アップロードして試してる?
自分のパソコンで試してるならアップロードして試してみて

306:Name_Not_Found
11/09/24 10:58:23.94
>>304
そんなエラーメッセージはない。多分下記のどちらかだろうけど。
「セキュリティの設定により、Web サイトによる、このコンピュータにインストールされている ActiveX コントロールの実行は許可されません。そのため、ページは正確に表示されない可能性があります。オプションを表示するには、ここをクリックしてください。」
「セキュリティ保護のため、コンピュータにアクセスできるアクティブ コンテンツは表示されないよう、Web ブラウザで制限されています。オプションを表示するには、ここをクリックしてください。」
URLリンク(windows.microsoft.com)
URLリンク(support.microsoft.com)
設定でブロックしている機能を使用しているときに現れるエラーメッセージと覚えておけばいい。

307:Name_Not_Found
11/09/24 11:51:32.64
つかきみ>>250ちゃうんかい
なに仕切りなおしとんねん

308:304
11/09/24 12:56:17.14
>>305
思いっきり自分のパソコンです。
てかアップロードまだできない環境っす。

>>306
うーん。エラーメッセージはそのままなんです。
やっぱりアップしてないのがダメなんですかね。。。
ちょっとアップして試してみます。ありがとう。

309:Name_Not_Found
11/09/24 13:26:21.77
motw

310:Name_Not_Found
11/09/24 14:34:13.41
<A HREF="#" onClick="this.innerHTML='Clicked';return false;">innerHTML</A><BR>
<A HREF="#" onClick="this.innerText='Clicked';return false;">innerText</A><BR>
<A HREF="#" onClick="this.text='Clicked';return false;">text</A><BR>
クリックしたリンク文字列の内容を変えたいので上のように試してみました。
innerHTML で大抵のブラウザで期待した動作はしてくれます。
ただ、IEのみ対応の innerText がそれのみで動くのはいいんですが
FireFox3.6 で対応してるはずの text プロパティで同様のことを試しても動いてくれません。
this.text で内容を読むことはできるのでこれは書き込みはできないのでしょうか?


311:Name_Not_Found
11/09/24 15:52:11.79 gMFl8YSH
質問です。
javascriptファイルのコードを人に見れないようにしたく、いろいろと調べたところ、
adobeのExtendScript toolkitなるものを使い、コードをバイナリ化しようとしています。
バイナリ化以前のファイルは問題なく動くのですが、
バイナリ化をしたファイルを動かそうとすると
missing ; before statement
のエラーが出てしまいます。
どのように修正したらよろしいでしょうか?
もしくは他の方法で、コードを見れなくする方法があるのでしょうか?
回答よろしくお願いいたします。

312:Name_Not_Found
11/09/24 16:01:54.27
Script.Encode

313:Name_Not_Found
11/09/24 16:46:51.34
>>310
innerText は IE のみ対応じゃないし、text は勧告されてないけど Firefox 6 で対応してるし、text と innerText は対応関係にないし、突っ込みどころが多いです
ところで、なんで「FireFox3.6 で対応してるはず」なの?
FireFox じゃなくて Firefox ってのは野暮な指摘?

314:Name_Not_Found
11/09/24 20:43:39.82
>>310 >>313 普通にDOMにあるthis.firstChild.nodeValue = ... の方がはるかにマシでは。

315:Name_Not_Found
11/09/24 20:53:25.25
firstChildがTextNodeとは限らないし、TextNodeが連続してないとは限らない(normalizeしろ)

316:Name_Not_Found
11/09/24 20:59:10.29
function getLooseTextContent (node) {
    switch (node.nodeType) {
        
    case Node.TEXT_NODE :
    case Node.CDATA_SECTION_NODE :
        return node.data;
        
    default :
        if (node.hasChildNodes ()) {
            return Array.prototype.concat.apply ([ ],
                Array.prototype.map.call (node.childNodes, arguments.callee)).join ('');
        }
        return '';
    }
}

317:Name_Not_Found
11/09/24 21:09:48.55
>>314
textContent も DOM にあるよ

318:Name_Not_Found
11/09/24 21:17:24.43
>>316
textContent未対応UA用に見えるけど、'use strict'; とIEに対応してなくない?

319:304
11/09/24 23:00:50.00
>>305,306
ありがとう、アップロードして見たらエラーポップアップ出なかったよ。
アップしない環境でしか出ないエラーなんてあるんだね。
助かった。

320:Name_Not_Found
11/09/25 00:02:09.88
馬鹿

321:Name_Not_Found
11/09/25 01:31:24.50
エラーメッセージが出たら、その文言そのままGoogleで調べてみるのをおすすめする。

322:Name_Not_Found
11/09/25 04:10:53.78
var uri = document.location.href;
var list = [ 'URLリンク(*google.*)', 'URLリンク(*yahoo.co.jp)' ];

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

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



323:Name_Not_Found
11/09/25 08:16:00.03
>>322
ワイルドカードを正規表現に置換して、メタキャラクタを全てエスケープしてください

324:Name_Not_Found
11/09/25 12:22:45.27
作ってやったぞ、カス。

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

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

var url = "URLリンク(google.mizutama.lemon.co.jp)";

alert(func(url));

325:Name_Not_Found
11/09/25 12:27:01.66
greasemokeyとかそれに類似するものから該当するコードをパクってくればよくね

326:Name_Not_Found
11/09/25 14:34:11.99
JAVASCRIPTに関してはズブの素人です。
コチラのサイトを参考に
同様のものをつくろうと思うのですが試しに
ソースをコピーしローカルに保存後確認してみたのですが
画像が全く表示できません
どのようにすれば表示されるのでしょうか?
是非ともご回答をお願い致します。

Simple Controls Gallery - Dynamic Drive DHTML Scripts | 設置サンプル
URLリンク(phpjavascriptroom.com)

327:Name_Not_Found
11/09/25 15:16:44.79
ひとつ質問させてください
DOMWindow を取得する方法としての
var win1 = window と
var win2 = document.defaultView の違い(特に使い方)は何なのでしょうか

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



328:Name_Not_Found
11/09/25 15:26:21.00
Safariはdocument.defaultViewはviewだけどwindowはviewではない // document.defaultView ≠ window
Firefox, Opera,Chrome, IE9 はdocument.defaultViewはviewでありwindowである // document.defaultView = window


329:Name_Not_Found
11/09/25 15:53:43.94
>>328
ありがとうございました

330:Name_Not_Found
11/09/25 16:16:53.86 ur8U8M1b
<a href="javascript:alert(location.href)" target="_blank">hoge</a>
こういうtargetがある場合、スクリプトは新しく開いたウィンドウ内で処理されるんですか?

331:Name_Not_Found
11/09/25 16:20:09.50
試してから書け

332:Name_Not_Found
11/09/25 16:23:37.74
試したら書かないと思う
書く前に試せと言う

333:330
11/09/25 16:23:47.98
レスどうもありがとうございます
一部のブラウザで試しました(新しく開いたウィンドウかどうか確認しやすいようにlocation.hrefをアラートしています)
ほかのもすべて同じと思っていいんでしょうか

334:Name_Not_Found
11/09/25 16:38:11.69
ウィンドウという概念のない実装だとどうだかわからんけどそういうのはjavascriptスキーマも認識しない気がする

335:Name_Not_Found
11/09/25 17:44:45.58
最近のガラケーでもjavascriptスキーマは認識する


336:Name_Not_Found
11/09/25 18:20:12.57
target="_blank"指定してたら自分のドメインで実行されないから
サーバサイド側でスキーマチェックしなくてもいいか
とかそういう話?

337:Name_Not_Found
11/09/25 22:36:30.00
>>324
複雑すぎやろ
>>323の方法でええやろ
三行くらいで済むで

338:Name_Not_Found
11/09/25 23:21:15.01
実際にマウスをクリックするのと
click() を呼ぶのと
dispatchEvent(マウスイベント) を呼ぶのとはそれぞれどんな違いがありますか?

339:Name_Not_Found
11/09/25 23:46:04.70
>>323-324
ありがとうこざいます!

340:Name_Not_Found
11/09/26 00:35:02.84
多次元配列の書き方って [ と { どっちでも動くんですが
どちらが合ってるんでしょうか?

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



341:Name_Not_Found
11/09/26 00:48:17.01
後者は動かないだろ

342:Name_Not_Found
11/09/26 01:12:12.22
ああすみません。
本当は連想配列だったんですが
配列だと [ ] で連想だと { } なんですね


343:Name_Not_Found
11/09/26 01:34:25.55
初めてFirefoxのアドオンを作ってます、
今まで簡単なGreasemonkeyスプリクトしか書いたことがなく、書き方がイマイチわかりません
↓のは名前空間を汚さないようにする為(?)なんですが自作関数の呼び出しでエラーが出てしまいます。
他のアドオンのソースを見ても同じ記述でなぜエラーになるのかが分かりません・・・

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

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

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

};


344:Name_Not_Found
11/09/26 01:39:41.49
aa.onContentLoad

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

全体を無名関数でくくっても名前空間は汚さないから使い分けるといいよ。
(function(){
//ほにゃらら
})();

345:Name_Not_Found
11/09/26 01:44:56.05
>>342
連想配列なんてそんなのはない

346:Name_Not_Found
11/09/26 02:07:18.54
>>344
無事出来ました。ありがとうこざいます。
もっと勉強してきます。


347:Name_Not_Found
11/09/26 02:12:38.01
>>346
数レス前にもあった話だけど
thisの挙動が呼ばれ方によって色々だからそこは把握しておくと良いよ

348:Name_Not_Found
11/09/26 02:15:17.71
あ、数レスじゃなく数スレだった・・・

349:Name_Not_Found
11/09/26 16:43:47.54
そんな過去の話はどうでもいいお

350:Name_Not_Found
11/09/26 17:11:07.13
過去の話じゃなく現に今のクライアント側JSのthisのふるまいが
どうだったかというよくできたまとめだった。別に熟知してる奴には
どうでもいい(というより当り前の)ことだったが。

351:Name_Not_Found
11/09/26 18:58:42.12
>>310
亀だがanchor.textなんてJS1.2の遺物をよくひっぱってきたな
その15年前の参考書をよく見ろread-onlyだろが

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

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

>>338
HTMLの仕様書で"Firing a click event"を探して読め
"fire"の定義はDOM4にある

352:Name_Not_Found
11/09/26 19:28:42.02
URLリンク(miel-c.com)
みたいな横スクロールしてページ移動をしたいのですがうまくできません

つくってるのはこのサイトです
URLリンク(more-android.com)

うまくUTF-8に切り替えれず文字化けしてますが

353:Name_Not_Found
11/09/26 20:31:45.92 FZOkhgN8
ドキュメントには挿入しない一時的な何らかの要素ノードが必要なんですが
そういう場合はどの要素を使えばいいですか?どれでも同じですか?
プロトタイプのより祖先に近いものの方が無駄がないとかありますか?

354:Name_Not_Found
11/09/26 22:57:32.02
>>347-348
具体的にどのスレかいった方がいいと思う
part88はイベント周りのまとめだから違うか…

355:Name_Not_Found
11/09/26 22:59:05.58
>>353
用途がないと何ともいえない
ノード集合を作りたいだけならDocumentFragment

356:Name_Not_Found
11/09/26 23:13:33.05
DOCUMENT_FRAGMENT_NODEはELEMENT_NODEとは違うでしょ


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