X



+ JavaScript & jQuery 質問用スレッド vol.7 + [無断転載禁止]©2ch.net
0001Name_Not_Found垢版2016/11/01(火) 21:15:50.05ID:???
JavaScriptで一番有名なDOM用関数型風ライブラリであるjQueryのスレです。
jQueryを使うとJavaScript単体では面倒な処理でもほんの数行で実現可能になります。

一部でもうjQueryは要らない等と言ってますが、あれはjQueryよりも導入が大変な
フレームワークを導入したらいらなくなるって話であって、従来通りHTMLにちょっと
動きをつけたい程度ならjQueryが最適です。

このスレはjQueryそのものの使い方やjQuery UIの使い方やjQueryプラグインの作り方を質問するスレです。
JavaScriptだと面倒だけどjQueryを使えばもっと簡単に書けませんか?というのもOKです。
ですが、jQueryを使って作る側のスレであって、こんなjQueryプラグインありませんか?と聞くスレではありません。
また野良jQueryプラグインの質問スレでもありません。そういうのは自分で探してください。
ろくにサポートもされてなさそうな野良jQueryプラグインの使用はおすすめしません。

前スレ
+ JavaScript & jQuery 質問用スレッド vol.6 + [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/hp/1465566635/
0003Name_Not_Found垢版2016/11/01(火) 21:16:30.88ID:???
Q. jQueryはどのバージョンを使えばいいのですか?
A. IE9以上であれば、jQuery 3.0を使用してください。
IE8以下にも対応するならば、jQuery 1.12を使用してください。

補足

jQuery 1.9 までは一系統しかなく、古いブラウザも含めて全て対応していました。
その後、古いブラウザを切り捨てるためにバージョンを分岐させました。
古いブラウザにも対応した1系(1.10、1.11、12)と
古いブラウザを切り捨てた2系(2.0, 2.1, 2.2)です。

1系と2系は対応ブラウザの違いだけで機能は全く一緒です。
機能が同じなのにメジャーバージョンが違っているのが分かりにくい
ということでバージョン番号の付け方を変えることになり、
新たに古いブラウザを切り捨てたjQuery 3.0、そして古いブラウザにも対応した
jQuery Compat 3.0がリリースされる予定でした。

しかしマイクロソフトが古いIEのサポートポリシーを変更し
サポート中であるOSで動く、最新のIEしかサポートしなくなったために、
2016年1月でVista上のIE8のサポートが終了しました。

そのため予定されていたjQuery Compat 3.0がなくなり、
jQueryは3.0に一本化されました。
0004Name_Not_Found垢版2016/11/01(火) 21:19:28.52ID:???
jQuery 3.0正式版がついにリリース。通常版のほかに、Ajax機能を省略したスリムビルド版も提供
http://www.publickey1.jp/blog/16/jquery_30ajax.html


2006年1月にjQueryが初めて世の中に登場してから10周年となる今年。jQuery 3.0の正式版が登場しました。

jQuery 3.0 Final Released! | Official jQuery Blog
これまでjQueryは、、モダンブラウザのみをサポートすることで軽量化と安定化をはかった
「jQuery 2.x」系と、Internet Explorer 8以前を含む古いバージョンのブラウザまで
サポートする互換性重視の「jQuery 1.x」系の2系統が存在しました。

また、フル機能のjQuery 3.0のほかに、Ajaxの機能を省略して軽量化したスリムビルド版のjQuery 3.0の提供が行われます。

Along with the regular version of jQuery that includes the ajax and effects modules, we’re releasing a “slim” version that excludes these modules.

通常バージョンとしてAjaxやエフェクトモジュールなどを含んだjQueryと同時に、これらを外した“スリム”バージョンも提供する。
最近のWebアプリケーションではjQueryのAjaxを使うことは少なくなったと思われますので、スリム版のjQueryで十分だという開発者も多いでしょう。
圧縮後のサイズは通常版が30kbなのに対し、スリム版は23.6kb。
0005Name_Not_Found垢版2016/11/04(金) 18:36:31.36ID:???
それども23.6KBも必要なのな
もっと削れるんじゃない?
0007Name_Not_Found垢版2016/11/21(月) 22:53:25.96ID:OQ9gQCwm
性能を決める関数で for-in を使うのはやめよう

for-in にも使い道はあるものの, for を使うべき場面でよく誤って使われている. for-in で列挙をする前に,
スクリプトエンジンは列挙可能なプロパティのリストを作って重複を弾かなければいけない.

スクリプト側が列挙するプロパティを知っていることはよくある. こうしたプロパティをなめるならふつうの for 文が使える.
配列や, 配列風のプロパティを持つオブジェクト (DOM の NodeList? など) のように, 連番の数字なら特にそうだ.

for-in 誤用の例を以下に示す:

var oSum = 0;
for( var i in oArray ) {
oSum += oArray[i];
}

for を使う方が効率的になる:

var oSum = 0;
var oLength = oArray.length;
for( var i = 0; i < oLength; i++ ) {
oSum += oArray[i];
}
0009Name_Not_Found垢版2016/11/21(月) 22:58:57.98ID:???
var sum = 0;
var array = [1, 3, 4, 7];
for (let value of array) {
  sum += value;
}

ついでに言うならば、sumはこう書いたほうが良い。
const sum = array.reduce((a, b) => a + b);

変数への再代入がない所に注目な
0010Name_Not_Found垢版2016/11/22(火) 01:04:41.27ID:???
誘導。

■JavaScriptスレ
JavaScript の質問用スレッド vol.131
http://echo.2ch.net/test/read.cgi/hp/1478053599/
JavaScript の質問用スレッド vol.122
http://echo.2ch.net/test/read.cgi/tech/1472426483/
JavaScript(ECMAScript)質問用スレッド vol.122
http://echo.2ch.net/test/read.cgi/tech/1472401404/

■ライブラリスレ
JavaScript ライブラリ総合質問所 vol.5
http://echo.2ch.net/test/read.cgi/hp/1465399470/
jQuery 質問スレッド vol.7
http://echo.2ch.net/test/read.cgi/hp/1478055094/
0011Name_Not_Found垢版2016/11/24(木) 17:51:17.71ID:???
clientのJSからサーバーにデータをajaxでPOSTして
サーバーでそのデータを加工して加工結果を新しいページに表示したいのです。
ajaxでPOSTしてデータを加工するところまでは出来たのですが、ajaxなので
そのデータはクライアントのsucessに戻りますよね
このあとどうすればいいのか分かりません。
あるいはもっと良い方法がありますか?
0012Name_Not_Found垢版2016/11/24(木) 18:06:31.81ID:???
誘導。

■JavaScriptスレ
JavaScript の質問用スレッド vol.131
http://echo.2ch.net/test/read.cgi/hp/1478053599/
JavaScript の質問用スレッド vol.122
http://echo.2ch.net/test/read.cgi/tech/1472426483/
JavaScript(ECMAScript)質問用スレッド vol.122
http://echo.2ch.net/test/read.cgi/tech/1472401404/

■ライブラリスレ
JavaScript ライブラリ総合質問所 vol.5
http://echo.2ch.net/test/read.cgi/hp/1465399470/
jQuery 質問スレッド vol.7
http://echo.2ch.net/test/read.cgi/hp/1478055094/
0013Name_Not_Found垢版2016/11/24(木) 21:30:51.15ID:???
>>11
そのsuccessで戻ってきたJSONなりから
画面を作ればいいだけでは?

面倒ならテンプレートエンジンでも調べてみると良い。
0014Name_Not_Found垢版2016/11/25(金) 05:19:05.92ID:???
>>13
>画面を作ればいいだけでは?
戻って来たJSONは数百キロバイト以上のHTMLデータで、
そのデータを使って新しいページを作る方法が分かりません。
urlのパラメータではそんな大きなデータを渡せないですよね?
0015Name_Not_Found垢版2016/11/25(金) 05:59:57.76ID:???
>>15
HTMLで受け取ってるならそれをDOMの任意の場所にappendするだけで済みそうだが
なんでそれをもう一度サーバに渡そうとしてるの?
(それにしたって数百キロ程度のデータを渡せないなんてことないが)

jsやjQueryによるDOM操作についてググる必要がありそう
0016Name_Not_Found垢版2016/11/25(金) 06:04:43.13ID:???
WEB+DB vol.94 では、Electronで開発しているけど、使っているのは、

Electron(Node.js + Chromium)
UIのパーツを作る、React
CSSフレームワークには、Photon
0017Name_Not_Found垢版2016/11/25(金) 07:56:12.72ID:???
>>15
今表示しているページではなくて、
別のページに移動してそのデータを表示したいのです。
0018Name_Not_Found垢版2016/11/25(金) 16:56:12.65ID:???
>>17
その別ページには他者もアクセスできるようにしたいのか?
それとも、当の利用者専用なのか?

後者なら、サーバ側で加工する必要はなさそうだが(
データを blob URL化してナビゲートしたり、ブラウザは限られるが SharedWorker を使う方法も考えられる
複数セッションにわたって残したければ localStorage に保存するだけで済むかもしれない)
0019Name_Not_Found垢版2016/11/25(金) 19:49:57.44ID:???
>>18
説明不足でした。
AJAXで戻って来たデータを表示する時に、現在のページはそのまま
残しておいて、新規に別ページを開いてそこに表示したいのです。
専用ページとかではなくて誰でもアクセスできるページです。
教えて頂いた方法を調べてみます。
0020Name_Not_Found垢版2016/11/27(日) 09:33:02.68ID:Er3ITcxf
HTML/JavaScriptのiframeタグについてご教授下さい。

■実施したい事
iframeでhtmlを取得したいが、
取得したhtmlの中身(cssや画像)は取得させたくない。
0021Name_Not_Found垢版2016/11/27(日) 09:33:16.25ID:Er3ITcxf
>>20
■詳細イメージ
@
<iframe src="http://xxxx/sample.html"></iframe>

A
WEBブラウザがhttp://xxxx/sample.htmlへGETリクエストを投げて、
レスポンスが返ってくる

B
WEBブラウザが返ってきたレスポンスをDOMツリーにロードする

C
WEBブラウザがhttp://xxxx/sample.htmlに記載されているcssや画像を取得する

@Aは実施させて、
Bの前後で処理を中断させて、
Cを実施させたくない。
0022Name_Not_Found垢版2016/11/27(日) 09:33:42.78ID:Er3ITcxf
>>20
>>21
■質問事項
上記を実現させるためにはどのようなHTML/JavaScriptの実装が必要でしょうか?
ご教授下さい。

■思うところ
Bのタイミングでイベントを発生させて、
Cを無効にするような処理が可能かな?と調べてみましたら、
「DOMContentLoaded」というDOM読み込み完了後に呼ばれるイベントがあったのですが、
うまく使えますでしょうか。

また、<xmp>タグ等を動的に発行して、
取得したhtmlを無効に出来るかな?と思っています、
うまく使えますでしょうか。

また、ブラウザで発生するHTTPリクエストを全てキャッチして、
http://xxxx/sample.htmlに記載されているcssや画像のHTTPリクエストを遮断できないかな?と思っています、いかがでしょうか。

その他、手段は問いません。
実現できる方法をヒントだけでも良いのでご教授下さい。
0023Name_Not_Found垢版2016/11/27(日) 12:38:25.68ID:???
<div>あああ<input type="text" />いいい</br>ううう</div>
こういう場合、

jQueryで
var input = $('div > input[type="text"]');
を取得したとして、その後ろにある文字
いいい
を取得する方法はありますか?
0025Name_Not_Found垢版2016/11/27(日) 12:54:49.23ID:???
>>20
普通にAjaxで中身だけを取得すればいいだけ
0027Name_Not_Found垢版2016/11/27(日) 13:58:37.10ID:???
正規表現なら楽勝だけど、他になにかあるんかね
0028Name_Not_Found垢版2016/11/27(日) 20:38:00.28ID:???
>>23
はい
var input = $('div > input[type="text"]');
var nextText = input.get(0).nextSibling.textContent; // いいい

nextSiblingを取得すると次にあるノード(要素/テキスト/コメント などなんでも)が取得できるから、これを利用するといい。
jQueryはテキストノードの扱いにはあまり向いていないので、標準のDOMを使わざるを得ない。
0029Name_Not_Found垢版2016/11/28(月) 05:16:18.82ID:???
>>20-22
2のGETで、取得しないファイルの拡張子を、指定できないの?

Aなど、丸囲み文字は、Windowsだけの環境依存文字だから、使うな

>>23-28
「いいい</br>ううう」の部分だろ。
素直に、<div>の内容を取得すれば?

「いいい」1行だけと言うのは、おかしいだろ
0030Name_Not_Found垢版2016/11/29(火) 00:04:00.21ID:OhNqSe55
>>29
2のGETってブラウザが自動的に行ってるものなんですが、
ブラックリストの拡張子って指定できるんですか?
具体的にどうやってやるのでしょうか?
0031Name_Not_Found垢版2016/11/29(火) 07:36:46.02ID:???
マルチポストは禁止!

他のスレに、返事をしておいた
0032Name_Not_Found垢版2016/11/29(火) 10:04:15.45ID:???
誘導。

■JavaScriptスレ
JavaScript の質問用スレッド vol.131
http://echo.2ch.net/test/read.cgi/hp/1478053599/
JavaScript の質問用スレッド vol.122
http://echo.2ch.net/test/read.cgi/tech/1472426483/
JavaScript(ECMAScript)質問用スレッド vol.122
http://echo.2ch.net/test/read.cgi/tech/1472401404/

■ライブラリスレ
JavaScript ライブラリ総合質問所 vol.5
http://echo.2ch.net/test/read.cgi/hp/1465399470/
jQuery 質問スレッド vol.7
http://echo.2ch.net/test/read.cgi/hp/1478055094/
0033Name_Not_Found垢版2016/12/01(木) 21:46:12.93ID:???
$('div[id="XXXXX"]')
$('div[id=XXXXX]')
ダブルクオーテーションで囲っても囲わなくても動くのですが、
どちらでも良いのでしょうか?
0034Name_Not_Found垢版2016/12/01(木) 22:09:56.64ID:???
>>33
囲まなくて動くからどっちでもいいよ。
!とか$みたいな半角の記号を含むidだと囲む必要があるから、その時だけ囲めばok。

補足だけど、idで選択する時は普通は
$('div#XXXXX')
あるいは
$('#XXXXX')
と書くのが一般的。
0035Name_Not_Found垢版2016/12/03(土) 15:16:05.13ID:6IkFDzpo
俺は特定のタグすべてを対象としないのであれば
ほとんどタグ名を書かないかな。
0036Name_Not_Found垢版2016/12/11(日) 11:23:29.68ID:Tn2z+E9L
【質問】JSのDOMContentLoadedが発火しません。

■事象
iframeを動的に作成(createElement)して、
addEventListenerに「DOMContentLoaded」を追加しているが、
iframeのsrc先のDOM読み込み完了時にイベントが発生しません。
0037Name_Not_Found垢版2016/12/11(日) 11:24:51.51ID:Tn2z+E9L
■コーディング
var parent_obj = document.getElementById("top");
var obj = document.createElement('iframe');

if(obj.addEventListener){
obj.addEventListener("DOMContentLoaded",xxx);//★これが発火しない
//obj.addEventListener("load",xxx);//☆遅い
}else if(obj.attachEvent){
obj.attachEvent("onload",xxx);
}else{
obj.onload = xxx;
}

parent_obj.appendChild(obj);
obj.src = "URL";

function xxx(e){
alert("発火");★これが発火しない
}
0038Name_Not_Found垢版2016/12/11(日) 11:25:25.49ID:Tn2z+E9L
>>36
>>37
■やりたい事
addEventListener("load",xxx)だと画像読み込み後にイベントが発生するので、遅いです。
iframeのソースが返ってきた直後にイベントを呼びたいのです。

■質問
なぜDOMContentLoadedが発火しないのでしょうか。
コーディングが悪いのでしょうか?

それともcreateElement('iframe')はDOMContentLoadedのイベントに対応していないのでしょうか?
その場合、上記【やりたい事】の代案はございますでしょうか?
0039Name_Not_Found垢版2016/12/11(日) 12:53:46.83ID:???
>>38
HTMLIFrameElementにはcontentWindowおよびcontentDocumentというプロパティが存在しますので、そちらのイベントを拾えばよいのではないでしょうか。

obj.contentDocument.addEventListener("DOMContentLoaded",xxx);

引用元
http://ja.stackoverflow.com/questions/31078/
0040Name_Not_Found垢版2016/12/11(日) 13:42:55.39ID:???
if(obj.addEventListener){
}else if(obj.attachEvent){


いまどきこんなコード書くなよ。
古いブラウザ切り捨てでいいならaddEventListener使えばいいし、
IE8とかにも対応させるならjQueryを使うべきだ。
コードを自分で書いたならばその行をテストしなきゃいけないんだぜ?
0041Name_Not_Found垢版2016/12/11(日) 15:57:02.71ID:???
> HTMLIFrameElementにはcontentWindowおよびcontentDocumentというプロパティが存在しますので

マジレスするとコレでは無理。

なぜならiframeの中のwindow(さらにその中のdocument)に触れるとは限らないから
触れると確定するのはiframeのsrcが設定された後。同じドメインであるなど
参照する権限があれば触れる。だから先にsrcを設定する必要がある。

だがsrcを設定した時点で読み込みが始まる。
つまり読み込みが始まった後にDOMContentLoadedをaddEventListenerしても
もう読み込まれてしまっているかもしれない。この場合は発火しない。

最初の一回はネットワークから取ってくるので処理が遅く、
addEventListenerが間に合って発火するかもしれないが
二回目以降はキャッシュがつかわれるため発火しない(ことがある)
この解決策を俺は知っているが、レスは返ってこなさそうだし
ここまでだなw
004241垢版2016/12/11(日) 15:58:35.69ID:???
マルチポスト先を見てもどうやらこの問題に触れているのはなさそうだなw
こういうのは経験が物を言う。やったことがある俺じゃないと気づきにくい
0043Name_Not_Found垢版2016/12/11(日) 16:16:24.89ID:???
俺は質問者ではないんだけど、同ドメインだとしても、src設定した直後にcontentWindowって触れないよな?
0044Name_Not_Found垢版2016/12/11(日) 16:27:39.55ID:???
そうだったかな?こまないところは忘れた。
作り方によると思う。古いブラウザ対応もあって
about:blankも併用していたからな。
0045Name_Not_Found垢版2016/12/11(日) 16:35:29.40ID:???
あ、ごめん確かに作り方によるわ
質問のコードをそのまま使うとアクセスできないだけだった
0046Name_Not_Found垢版2016/12/11(日) 21:01:53.10ID:Tn2z+E9L
>>39

クロスオリジン、クロスドメインがやりたい事の前提です。
その場合、DOM系のイベントが使えないのですね。
それでは上記【やりたい事】の代案はございますでしょうか?
0047Name_Not_Found垢版2016/12/11(日) 21:04:32.54ID:Tn2z+E9L
>>41

丁寧なご回答ありがとうございます。

クロスオリジン、クロスドメインがやりたい事の前提です。
その場合、DOM系のイベントが使えないみたいののです。
>>41 さんのご指摘のタイミングの問題もあります。
それでは上記【やりたい事】の代案はございますでしょうか?

一応「2秒待って」という苦肉の策はありましたが、
別の綺麗な順序保障の方法はないでしょうか?
0048Name_Not_Found垢版2016/12/11(日) 21:05:52.83ID:Tn2z+E9L
>>43-45

>>41

丁寧なご回答ありがとうございます。

クロスオリジン、クロスドメインがやりたい事の前提です。
その場合、DOM系のイベントが使えないみたいののです。
それでは上記【やりたい事】の代案はございますでしょうか?

一応「2秒待って」という苦肉の策はありましたが、
別の綺麗な順序保障の方法はないでしょうか?
0049Name_Not_Found垢版2016/12/11(日) 21:06:42.72ID:Tn2z+E9L
あ、元々の質問は以下です。
>>36-38
0050Name_Not_Found垢版2016/12/11(日) 21:21:56.81ID:???
クロスドメイン先は自分で管理してるものなの?
0052Name_Not_Found垢版2016/12/11(日) 22:43:26.63ID:???
1. image = new Image();
2. image.src = 何々
3. image.onload = ハンドラ

便乗して質問するが、
こう書いておいたら、画像を読み込んだ後に、ハンドラが確実に呼ばれるのか?
それとも、もし画像を読み込むのが速ければ、もうハンドラは呼ばれないのか?

確か、画像の読み込みは、非同期だよね。
読み込みしながら同時に、3行目も実行されるよね?
0053Name_Not_Found垢版2016/12/11(日) 23:55:19.70ID:???
>>52
onloadよりも先に画像が読み込まれれば、onloadは発生しない。
ただこの場合は単に2と3を逆にすればいい。
iframeが特殊なだけ
0054Name_Not_Found垢版2016/12/12(月) 00:57:04.81ID:???
>>52
>読み込みしながら同時に、3行目も実行されるよね?

1, 2, 3 を同期的に実行すればハンドラは必ず呼ばれるだろう
キャッシュされていようが image 読み込みは非同期になるので
0055Name_Not_Found垢版2016/12/12(月) 01:18:50.95ID:???
> 1, 2, 3 を同期的に実行すれば

その方法を書きなさい。出来ないこと言っても意味がない
0056Name_Not_Found垢版2016/12/12(月) 03:06:26.60ID:???
>書きなさい
って、まんまそのまま番号外しただけのコードなんだけど
0057Name_Not_Found垢版2016/12/12(月) 04:56:29.13ID:???
呼ばれるよ。他のあらゆるAPIでもね。
変更と同じイベントループで登録したイベントハンドラは
順番がどうであれ必ず呼ばれる実装になってる。
0060Name_Not_Found垢版2016/12/12(月) 12:39:21.88ID:???
誘導。

■JavaScriptスレ
JavaScript の質問用スレッド vol.131
http://echo.2ch.net/test/read.cgi/hp/1478053599/
JavaScript の質問用スレッド vol.122
http://echo.2ch.net/test/read.cgi/tech/1472426483/
JavaScript(ECMAScript)質問用スレッド vol.122
http://echo.2ch.net/test/read.cgi/tech/1472401404/

■ライブラリスレ
JavaScript ライブラリ総合質問所 vol.5
http://echo.2ch.net/test/read.cgi/hp/1465399470/
jQuery 質問スレッド vol.7
http://echo.2ch.net/test/read.cgi/hp/1478055094/
0061Name_Not_Found垢版2016/12/12(月) 12:40:15.81ID:???
>>57-58
本来、その回のイベントループ(フレーム)では、ハンドラが登録されるだけで、
画像は次のフレームから読み込まれるから、>52 の順番でもOKなのだな

結局、IE8以前のバグだったのか。
「onreadystatechange にハンドラを設定して、その中で readyState を見る」
とか、何かの本で読んだことがある
0063Name_Not_Found垢版2016/12/12(月) 19:38:33.39ID:???
おお、仕様にも書いてあるんだね
0064Name_Not_Found垢版2016/12/12(月) 21:10:07.74ID:???
>>61
仕様のほうが後で作られたのであれば
それはバグじゃない
0065Name_Not_Found垢版2016/12/12(月) 21:35:11.47ID:???
HTML4.01の仕様には当然無いとして、初めて仕様化されたのはこの時点かな。

W3C Working Draft 29 March 2012
https://web.archive.org/web/20120414181653/http://www.w3.org/TR/html5/introduction.html

IE9のリリースが2011年4月26日だからこれをバグと呼ぶのは無理がある。
0066Name_Not_Found垢版2016/12/12(月) 21:46:27.00ID:???
おお、やっぱり昔は仕様になかったんだね
0067Name_Not_Found垢版2016/12/12(月) 23:08:34.34ID:???
Safariシェア低すぎるからサポート打ち切ろう
0068Name_Not_Found垢版2016/12/12(月) 23:20:00.16ID:???
とんでもない
Safariは現在唯一 ECMAScript6に100%対応した最先端ブラウザやぞ
0069Name_Not_Found垢版2016/12/12(月) 23:47:22.65ID:???
ECMAScript6に100%対応しただけじゃ
API使えることにはならないし
0070Name_Not_Found垢版2016/12/13(火) 01:54:05.99ID:???
仕様をちゃんと読んでると言っても、最新の仕様と
最新のブラウザだけしか見てないのであれば
仕事としてやるには全然足りないからね。
プロとしては未熟。
0071Name_Not_Found垢版2016/12/13(火) 10:59:35.49ID:???
>>68
100%は対応していない
例えばtail-callの挙動が一部おかしい
そもそもES5のテストも未だ全クリできた実装はない
0072Name_Not_Found垢版2016/12/13(火) 21:16:09.62ID:???
まあSafariはテストはしなくていいと思う。
動けばラッキー、動かなければ残念でしたで終わり。
0073Name_Not_Found垢版2016/12/13(火) 21:40:02.32ID:???
もちろんiPhoneはテストするよね?
0074Name_Not_Found垢版2016/12/13(火) 22:57:59.94ID:???
ここで話題になってるのは
mac版safariかと
0075Name_Not_Found垢版2016/12/16(金) 09:29:07.61ID:???
js

xhr.open('POST', url);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send(params);

jquery

$.post(url, params);

rails でパラメーター取ろうとしたら js の方は取れないんですけど、2つに何か違いはあります?間違ってますか?
0076Name_Not_Found垢版2016/12/16(金) 09:34:22.18ID:???
xhr.send()にプレーンオブジェクトは指定できない
StringやFormDataにする必要がある
0077Name_Not_Found垢版2016/12/16(金) 09:38:05.71ID:???
>>76
ありがとうございます。'key=value' のようにしてます
0078Name_Not_Found垢版2016/12/16(金) 09:39:28.34ID:???
jQueryはそういった面倒なことをやってくれてるから使いやすい。
他にもHTTPレスポンスが4xx系や5xx系だと例外にしてくれたりね。
0079Name_Not_Found垢版2016/12/16(金) 09:44:46.38ID:???
>>78
そうですね。 js で取れなかったので jquery 使ったんですけど、結局「なんでなんだろ?」と思いまして質問した次第です。
0080Name_Not_Found垢版2016/12/16(金) 12:41:53.46ID:???
40Xで例外は間違った設計だと結論が出てる。
fetchのように通信の例外とステータスエラーは切り分けて提供するのが今時の正しい設計。
他にもjQueryの動作には非効率だったり人間工学的におかしい挙動が多いので、それを便利と勘違いして慣れてしまうのは危険。
まあ自分でjQueryに頼るよりも良い手段を常に把握しておけないのであれば仕方ないが、一生そこから成長することはないと思いなさい。
0082Name_Not_Found垢版2016/12/16(金) 21:36:14.08ID:???
>>80
> 40Xで例外は間違った設計だと結論が出てる。

お前の中で結論が出てるかどうかなんて関係ないんだよ。
0083Name_Not_Found垢版2016/12/17(土) 05:03:13.18ID:???
関係ないやつは黙っといて!(笑)
0084Name_Not_Found垢版2016/12/18(日) 12:32:37.39ID:???
現行スレはこちら。

■jQueryスレ
jQuery 質問スレッド vol.7
http://echo.2ch.net/test/read.cgi/hp/1478055094/

■ライブラリスレ
JavaScript ライブラリ総合質問所 vol.5
http://echo.2ch.net/test/read.cgi/hp/1465399470/

■JavaScriptスレ
JavaScript の質問用スレッド vol.131
http://echo.2ch.net/test/read.cgi/hp/1478053599/
JavaScript の質問用スレッド vol.122
http://echo.2ch.net/test/read.cgi/tech/1472426483/
JavaScript(ECMAScript)質問用スレッド vol.122
http://echo.2ch.net/test/read.cgi/tech/1472401404/
0085Name_Not_Found垢版2016/12/20(火) 09:21:42.26ID:???
過疎ってんだからスレ統合しろよ
0086Name_Not_Found垢版2017/01/05(木) 14:53:35.37ID:???
質問です。JSでインターネットに繋がっているかどうか判別する方法はありますでしょうか?
0088Name_Not_Found垢版2017/01/06(金) 22:45:59.31ID:???
それは「インターネット」に「接続している」かどうかではなく、
「ネットワーク」に「接続していないか」どうかのAPI。
絶対に接続されていないとブラウザが分かっているとき以外は、実質繋がらなくてもtrueだし、
それことイントラネットやコピー機に接続してるときでもtrueだ。
0089Name_Not_Found垢版2017/01/06(金) 23:21:38.17ID:???
そっか、ごめん。じゃあ実際に通信を試すのがいいかな。
画像でonload/onerrorしたり、試しにAjaxやfetchをしたりすればいけそう。
0090Name_Not_Found垢版2017/01/22(日) 13:37:49.05ID:???
スクリプトの質問です。
1つの関数内で、if文が複数ある場合、それぞれ検証されているのでしょうか?
それとも、最初のif文の結果次第で、後続のif文の中の処理を行っているのでしょうか?
自分で試したところ、後続の処理も行われているのは理解できたのですが、
条件分岐はどういう仮定で行われているかわかりませんでしたので、質問させていただきました。

下記のような記述です。よろしくお願いします。
$('.hage').click(function(){
if(...){..}
else{...}
if(...){...}
else{...}
});
0091Name_Not_Found垢版2017/01/22(日) 14:24:41.90ID:???
>>90
君がやらないといけないのはJavaScriptの文法の意味を調べることだよ。

if ・・・ これはなにか?
(...) ・・・ これはなにか?
{...} ・・・これはなにか?
else ・・・ これはなにか?
{...} ・・・これはなにか?

これを書けば君がわからないことの答えになる
0092Name_Not_Found垢版2017/01/22(日) 21:27:04.55ID:???
区切りが分かっていないんだろう、もとい
if() {} else if() {}
と混同してるんだろう
if() {} else {}
の場合はそこまでで一区切りで前後の文とは関係ないよ
0093Name_Not_Found垢版2017/01/22(日) 22:28:53.25ID:???
>>91-92
レスどうも。
説明がくそみそですみません・・・・・

if〜elseまでで1つってことでいいんでしょうか?
ということは、それぞれ条件に合うか調べられて、それぞれ処理を行われるということですか?
0094Name_Not_Found垢版2017/01/23(月) 00:16:32.33ID:???
>if〜elseまでで1つってことで
それでおk
0095Name_Not_Found垢版2017/01/24(火) 17:06:36.35ID:???
JSだと
(function(){
alert();
})();
の末尾の()を取るとalertを実行させないように出来ますよね。
$(document).ready(function(){
alert();
});
このjQeuryの場合にカッコか何か追加/削除するなどの方法でalertを実行させないように出来ますか?
//alert();
以外で。
とりあえず一時的にコメント化したい時に使いたいんです。
0098Name_Not_Found垢版2017/01/25(水) 00:41:18.86ID:???
現行スレはこちら。

■jQueryスレ
jQuery 質問スレッド vol.7
http://echo.2ch.net/test/read.cgi/hp/1478055094/

■ライブラリスレ
JavaScript ライブラリ総合質問所 vol.5
http://echo.2ch.net/test/read.cgi/hp/1465399470/

■JavaScriptスレ
JavaScript の質問用スレッド vol.132
http://echo.2ch.net/test/read.cgi/hp/1485265364/
JavaScript の質問用スレッド vol.122
http://echo.2ch.net/test/read.cgi/tech/1472426483/
JavaScript(ECMAScript)質問用スレッド vol.122
http://echo.2ch.net/test/read.cgi/tech/1472401404/
レスを投稿する


ニューススポーツなんでも実況