JavaScript を自ら学ぶ人のための質問スレッドです。
次スレは>>950が(本スレで改善案があれば考慮して)立ててください
■規則/推奨ルール
・メール欄を空欄にし、名前にレス番を入れることを強く推奨(なりすまし防止)
・質問内容は具体的に。言葉だけでなく、出来る限り再現性を確認したサンプルコードの掲示。
・質問テンプレートの利用推奨。
・質問への「答え」だけでなく「意見」を出しても良い。
■禁止行為
・丸投げ質問
・迷惑スクリプトの質問
・オレオレ用語の使用(一般的な用語を使用する事)
・煽り、批判等の他人を不快にさせる行為(批判の代わりに「AよりBが良い」のような代案を出す事)
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【条件】期待する回答の条件を書いてください。(ex: jQuery不可, フレームワーク不可)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
1レスに収まらないならコード投稿サイトを利用してください。
http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
■回答者へ
・回答には多様性があります。他人の回答を尊重してください
・動作ブラウザや環境が限られる場合は、それを明記してください
・他人の回答を批判する代わりに、自分ならこう書くという例を示してください
・質問者がJavaScriptでなければ実現できないと勘違いしてるなら、その否定としてHTMLとCSSで実装しても良い
・他人の回答を見たくないのであれば、文句をつける代わりにNGにして見えないようにしてください。文句をつける=荒らしです
探検
+ JavaScript の質問用スレッド vol.131 +
■ このスレッドは過去ログ倉庫に格納されています
2017/11/21(火) 21:58:33.01ID:???
366Name_Not_Found
2018/01/22(月) 18:23:42.71ID:RO0qKM/0 スクレイピングのサイト巡回を自動化するスクリプトかいてて
テストでクロムの開発者ツールでいろいろためしているんだけど
ログインが必要なサイトで名前とかのフォーム入力まではできたのですけど
それをsubmitするほうほうがわかりません。
「送信」ボタンのセレクターからノード?オブジェクトを取得。
例えば var button = document.querySelector('セレクター')
それにbutton.submit()という感じでsubmit()をつけてみたけど↓みたいなエラーがでます
どうすればいいのでしょうか?
button.submit()
VM775:1 Uncaught TypeError: button.submit is not a function
at <anonymous>:1:8
とコンソールにエラーがでます
テストでクロムの開発者ツールでいろいろためしているんだけど
ログインが必要なサイトで名前とかのフォーム入力まではできたのですけど
それをsubmitするほうほうがわかりません。
「送信」ボタンのセレクターからノード?オブジェクトを取得。
例えば var button = document.querySelector('セレクター')
それにbutton.submit()という感じでsubmit()をつけてみたけど↓みたいなエラーがでます
どうすればいいのでしょうか?
button.submit()
VM775:1 Uncaught TypeError: button.submit is not a function
at <anonymous>:1:8
とコンソールにエラーがでます
2018/01/22(月) 18:43:34.12ID:???
>>359が何言いたいのかわからん
2018/01/22(月) 19:12:58.02ID:???
配列はfor かfor of
for in はオブジェクとって本に書いてた
for in はオブジェクとって本に書いてた
2018/01/22(月) 19:53:51.03ID:???
>>364
配列でもあんま変わらなくね?
配列でもあんま変わらなくね?
370Name_Not_Found
2018/01/22(月) 20:04:42.30ID:RO0qKM/0 >>365
自分も初心者だとことわっておくけど
mapオブジェクト使えば?
マップオブジェクトの作成
var mail = new Map()
中身の追加
mail.add('name3','address3')
IDとの名前の対応表を作成
var id = {1:"name3"}
要素数の取得
var size = mail.size
console.log(size)
名前からアドレスの取得
console.log(mail.get('name3'))
自分も初心者だとことわっておくけど
mapオブジェクト使えば?
マップオブジェクトの作成
var mail = new Map()
中身の追加
mail.add('name3','address3')
IDとの名前の対応表を作成
var id = {1:"name3"}
要素数の取得
var size = mail.size
console.log(size)
名前からアドレスの取得
console.log(mail.get('name3'))
371Name_Not_Found
2018/01/22(月) 20:08:18.30ID:RO0qKM/0 中身の追加 はaddじゃなくてsetだった
mail.set('name3','address3')
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Map/prototype
mail.set('name3','address3')
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Map/prototype
372Name_Not_Found
2018/01/22(月) 20:28:08.39ID:RO0qKM/02018/01/22(月) 21:40:41.15ID:???
>>365
Object.keys(accounts)でキーの配列を取得できる
総数が欲しいならObject.keys(accounts).length
ES2017からはObject.entries(accounts)が理想的
ただし順序は保証されない
可能ならオブジェクトは避けるべき
Object.keys(accounts)でキーの配列を取得できる
総数が欲しいならObject.keys(accounts).length
ES2017からはObject.entries(accounts)が理想的
ただし順序は保証されない
可能ならオブジェクトは避けるべき
2018/01/22(月) 22:18:37.71ID:???
375Name_Not_Found
2018/01/22(月) 23:43:57.35ID:RO0qKM/0 <div ng-if="vm.isProgressBarShowing()" qa-value="{"label": 90,"percentage" :0.9}"
qa-id="jss-score" eo-round-progress="" round-progress-model="vm.roundProgressData"
round-progress-width="210" round-progress-height="210" round-progress-outer-circle-width="15"
round-progress-outer-circle-radius="95" round-progress-label-font="40pt Gotham SSm" class="ng-scope"><canvas width="210" height="210" class=""></canvas></div>
これから一行目のqa-valueの90を正規表現でstringを解析する方法以外で取り出す方法ってありますか?
obj.qa-valueとかobj.qa-value.labelではとりだせないのですが
qa-id="jss-score" eo-round-progress="" round-progress-model="vm.roundProgressData"
round-progress-width="210" round-progress-height="210" round-progress-outer-circle-width="15"
round-progress-outer-circle-radius="95" round-progress-label-font="40pt Gotham SSm" class="ng-scope"><canvas width="210" height="210" class=""></canvas></div>
これから一行目のqa-valueの90を正規表現でstringを解析する方法以外で取り出す方法ってありますか?
obj.qa-valueとかobj.qa-value.labelではとりだせないのですが
2018/01/22(月) 23:59:04.35ID:???
377Name_Not_Found
2018/01/23(火) 00:03:29.33ID:WLPFoLKy378Name_Not_Found
2018/01/23(火) 00:43:41.02ID:WLPFoLKy obj.getAttribute('qa-value')でとれました!!!!
感動!!!
感動!!!
2018/01/23(火) 00:48:19.81ID:???
とれるっていうのならそうなんだろうけどさ
angularのやり方じゃねーぞ?
それで良いのか悪いのか知らんけどさ
普通は正しくないやり方だろうな
angularのやり方じゃねーぞ?
それで良いのか悪いのか知らんけどさ
普通は正しくないやり方だろうな
2018/01/23(火) 15:14:35.38ID:???
勝手なやり方をしたら、ダメ!
フレームワークのやり方に従っていないのなら、誤動作を起こす
Angular を勉強すべし
フレームワークのやり方に従っていないのなら、誤動作を起こす
Angular を勉強すべし
2018/01/23(火) 20:05:46.77ID:???
382Name_Not_Found
2018/01/24(水) 01:04:14.72ID:UdszAn8A2018/01/24(水) 02:08:15.18ID:???
何を目指すかによる
JavaScript必須なページを作りたいならAngular
JavaScript必須なページを作りたいならAngular
384Name_Not_Found
2018/01/24(水) 08:55:26.78ID:UdszAn8A 今一番やりたいのはスクレイピングで
次にデータ可視化なんで
サイトの仕組みの理解とスクレイピングのスクリプトかくためにJavaScriptの勉強初めたんだけど
jQuery使ってるサイトが多いのであとでjQueryもやろうとおもってたけど
JavaScriptの勉強一通りおわったら
Angurlarやってみることにしました
そのあとD3やるかな
ほんでひつようそうだったらjQueryやるかな
やることおおすぎ。。。
次にデータ可視化なんで
サイトの仕組みの理解とスクレイピングのスクリプトかくためにJavaScriptの勉強初めたんだけど
jQuery使ってるサイトが多いのであとでjQueryもやろうとおもってたけど
JavaScriptの勉強一通りおわったら
Angurlarやってみることにしました
そのあとD3やるかな
ほんでひつようそうだったらjQueryやるかな
やることおおすぎ。。。
2018/01/24(水) 23:13:43.54ID:???
var s = '<tag>hoge</tag><tag>poge</tag><tag>fuge</tag>';
var r = s.match(/\<tag\>(.*?)\<\/tag\>/g);
console.log(r);
とすると結果は
["<tag>hoge</tag>", "<tag>poge</tag>", "<tag>fuge</tag>"]
になります
つまりグループ化した部分を取り出していません
gスイッチを使った場合はグループ化を使えないのでしょうか?
こういう場合どうするのがいいのでしょうか?
var r = s.match(/\<tag\>(.*?)\<\/tag\>/g);
console.log(r);
とすると結果は
["<tag>hoge</tag>", "<tag>poge</tag>", "<tag>fuge</tag>"]
になります
つまりグループ化した部分を取り出していません
gスイッチを使った場合はグループ化を使えないのでしょうか?
こういう場合どうするのがいいのでしょうか?
2018/01/24(水) 23:14:33.52ID:???
スクレイピングなら、Angular なんて関係ない。
君が、たまたま、Angular製のページを対象にしただけだろ
JavaScript なら、jQuery は必須
Ruby で、Nokogiri とか、
Selenium WebDriver, PhantomJS とか、
Chromium, Chrome のヘッドレスモードとか
君が、たまたま、Angular製のページを対象にしただけだろ
JavaScript なら、jQuery は必須
Ruby で、Nokogiri とか、
Selenium WebDriver, PhantomJS とか、
Chromium, Chrome のヘッドレスモードとか
2018/01/24(水) 23:22:55.14ID:???
2018/01/24(水) 23:24:07.94ID:???
2018/01/24(水) 23:25:21.67ID:???
2018/01/24(水) 23:37:05.77ID:???
結局、jQuery でも、Ruby のNokogiri でも、
取得する要素を、CSS セレクターで指定するのは同じ
上はjQuery、下はNokogiri
$('tag').text();
doc.css('tag').text
xpath で指定するのではなく、CSSセレクターの方が、簡単に指定できる
取得する要素を、CSS セレクターで指定するのは同じ
上はjQuery、下はNokogiri
$('tag').text();
doc.css('tag').text
xpath で指定するのではなく、CSSセレクターの方が、簡単に指定できる
2018/01/24(水) 23:49:50.17ID:???
正規表現では、データに親子関係のような構造があるものは、うまく取れない
<tag1><tag2></tag2></tag1>
このように要素がネストしていると、<tag1></tag2> が対応してしまうから
jQuery とか、Ruby のNokogiri で、
取得する要素を、CSS セレクターで指定する
<tag1><tag2></tag2></tag1>
このように要素がネストしていると、<tag1></tag2> が対応してしまうから
jQuery とか、Ruby のNokogiri で、
取得する要素を、CSS セレクターで指定する
392387
2018/01/24(水) 23:54:01.21ID:??? 失礼、(.*?)だけを取り出したいってことか
gフラグは正規表現全体で配列にする
ので、こんなのしか思いつかない
let s = '<tag>hoge</tag><tag>poge</tag><tag>fuge</tag>';
let regex = /\<tag\>(.*?)\<\/tag\>/;
let result = [];
while(s){
s = s.replace(regex, (...args) => {
result.push(args[1]);
return '';
})
}
console.log(result);
入れ子は考慮せず
そこまでやると複雑すぎてどうにもならない
gフラグは正規表現全体で配列にする
ので、こんなのしか思いつかない
let s = '<tag>hoge</tag><tag>poge</tag><tag>fuge</tag>';
let regex = /\<tag\>(.*?)\<\/tag\>/;
let result = [];
while(s){
s = s.replace(regex, (...args) => {
result.push(args[1]);
return '';
})
}
console.log(result);
入れ子は考慮せず
そこまでやると複雑すぎてどうにもならない
393392
2018/01/25(木) 00:07:22.24ID:??? >>392
while(s)
じゃなくて、
while(regex.test(s))
のほうがいいかも
DOM(jQueryでもできるはず)で、
let div = document.createElement('div');
div.innerHTML = s;
let elements = div.querySelectorAll('tag');
// で、各elementsのtextContentを取得
というのもありかと
タグの入れ子は考慮せず
while(s)
じゃなくて、
while(regex.test(s))
のほうがいいかも
DOM(jQueryでもできるはず)で、
let div = document.createElement('div');
div.innerHTML = s;
let elements = div.querySelectorAll('tag');
// で、各elementsのtextContentを取得
というのもありかと
タグの入れ子は考慮せず
2018/01/25(木) 01:19:36.76ID:???
2018/01/25(木) 06:23:05.64ID:???
String.matchで正規表現にgオプションをつけるとキャプチャが取れるのかどうかの話で答えは上の通り「取れない」
RegExp.execを(複数回)使うか正規表現をやめてHTMLパーサを使うかだが正直後者を推奨する
RegExp.execを(複数回)使うか正規表現をやめてHTMLパーサを使うかだが正直後者を推奨する
2018/01/25(木) 09:05:37.30ID:???
var s = '<tag>hoge</tag><tag>poge</tag><tag>fuge</tag>';
根本的に参照が間違っている
根本的に参照が間違っている
2018/01/25(木) 10:29:09.69ID:???
HTMLタグならHTMLパーサーやXMLパーサーが使えるけど
正規表現はセパレーターがタグ(<>記号で囲まれた文字列)でない場合でも使える
正規表現はセパレーターがタグ(<>記号で囲まれた文字列)でない場合でも使える
2018/01/25(木) 20:01:44.28ID:???
var resAry = [];
function replacer(match, p1) { resAry.push(p1); };
var oldStr = '<tag>hoge</tag><tag>poge</tag><tag>fuge</tag>';
var re = new RegExp('\<tag\>(.*?)\<\/tag\>', 'g');
// 第2引数は、コールバック関数
oldStr.replace(re, replacer);
console.log(resAry); // ["hoge", "poge", "fuge"]
String.prototype.replace()
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/replace
function replacer(match, p1) { resAry.push(p1); };
var oldStr = '<tag>hoge</tag><tag>poge</tag><tag>fuge</tag>';
var re = new RegExp('\<tag\>(.*?)\<\/tag\>', 'g');
// 第2引数は、コールバック関数
oldStr.replace(re, replacer);
console.log(resAry); // ["hoge", "poge", "fuge"]
String.prototype.replace()
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/replace
2018/01/26(金) 01:32:12.62ID:???
jsで初めてプロトタイプベースに触れたけど、最初クラスベースとの違いに混乱して悪態ついたりしたけど今じゃクラスベースより好きだわ。
js以外クラスベースが主流なのは大規模設計手法が確立されてるというエンタープライズ用途のためってことかな?
それにしてもプロトタイプベースのメジャー言語なさすぎじゃ…
js以外クラスベースが主流なのは大規模設計手法が確立されてるというエンタープライズ用途のためってことかな?
それにしてもプロトタイプベースのメジャー言語なさすぎじゃ…
2018/01/26(金) 02:05:33.69ID:???
あ、お題はこれでいいんじゃないか?
var s = '<tag>hoge</tag><tag>poge</tag><tag>fuge</tag>';
var r = s.split(/<\/?tag>/g).filter(item => item !== '');
console.log(r); // ["hoge", "poge", "fuge"]
var s = '<tag>hoge</tag><tag>poge</tag><tag>fuge</tag>';
var r = s.split(/<\/?tag>/g).filter(item => item !== '');
console.log(r); // ["hoge", "poge", "fuge"]
2018/01/26(金) 02:07:33.86ID:???
すまん空文字列はfalsyだから比較要らんわ訂正
var s = '<tag>hoge</tag><tag>poge</tag><tag>fuge</tag>';
var r = s.split(/<\/?tag>/g).filter(item => item);
console.log(r); // ["hoge", "poge", "fuge"]
var s = '<tag>hoge</tag><tag>poge</tag><tag>fuge</tag>';
var r = s.split(/<\/?tag>/g).filter(item => item);
console.log(r); // ["hoge", "poge", "fuge"]
2018/01/26(金) 02:13:06.24ID:???
グローバルスイッチも要らんかった…
これからゲームしようと思ってたけどもう寝とくわ…
var s = '<tag>hoge</tag><tag>poge</tag><tag>fuge</tag>';
var r = s.split(/<\/?tag>/).filter(item => item);
console.log(r); // ["hoge", "poge", "fuge"]
これからゲームしようと思ってたけどもう寝とくわ…
var s = '<tag>hoge</tag><tag>poge</tag><tag>fuge</tag>';
var r = s.split(/<\/?tag>/).filter(item => item);
console.log(r); // ["hoge", "poge", "fuge"]
2018/01/26(金) 02:29:08.11ID:???
クラスベース言語が多いのは皆C++に影響を受けているから
多くの言語は別に人間工学的や信念として選んでいるのではなく揃えるのが無難だからそうしているだけ
C++がクラスベースなのはCの構造体からの自然な発想
CにOOPを組み込むに当たって当然プロトタイプベース的な方向にはなり得ない
JSがプロトタイプベースなのはクラスベースのインタプリタエンジンは実装も大変で
生半可なものではシンプルなプロトタイプベースに比べて性能を出すのが難しいという事実があるから
また、スクリプト言語としてはクラスに縛られるというのは不便となることも多い
クラスかプロトタイプかと言うよりはクラスベースを選んだか、選ばなかったかという違い
多くの言語は別に人間工学的や信念として選んでいるのではなく揃えるのが無難だからそうしているだけ
C++がクラスベースなのはCの構造体からの自然な発想
CにOOPを組み込むに当たって当然プロトタイプベース的な方向にはなり得ない
JSがプロトタイプベースなのはクラスベースのインタプリタエンジンは実装も大変で
生半可なものではシンプルなプロトタイプベースに比べて性能を出すのが難しいという事実があるから
また、スクリプト言語としてはクラスに縛られるというのは不便となることも多い
クラスかプロトタイプかと言うよりはクラスベースを選んだか、選ばなかったかという違い
2018/01/26(金) 02:57:54.16ID:???
よっしゃジャバスクリプトの勉強始めるで!
お前らよろしく!!!!!!!!!!!
お前らよろしく!!!!!!!!!!!
2018/01/26(金) 09:55:40.02ID:???
プロトタイプベースは型システムとの相性が良くない, 気がする
2018/01/26(金) 10:32:36.63ID:???
htmlをStringで参照していることが笑えるw
2018/01/26(金) 13:42:13.67ID:???
独学で参考書をペン片手に読んでる。今2冊目。
読み終えたところまでのコード解読はいける。
まだまだ何もできないけど
まずは基礎知識の積み重ねが大事だなと深く感じてる
読み終えたところまでのコード解読はいける。
まだまだ何もできないけど
まずは基礎知識の積み重ねが大事だなと深く感じてる
2018/01/26(金) 14:52:29.75ID:???
ペン片手は駄目 キーボード片手でないと
とにかくサンプルを試して、自分で改変して仕組みを学び
分からない所は調べてそのうち1%でも理解したような気になるようにする
本はあくまで導入と思うこと
とにかくサンプルを試して、自分で改変して仕組みを学び
分からない所は調べてそのうち1%でも理解したような気になるようにする
本はあくまで導入と思うこと
2018/01/26(金) 17:20:08.99ID:???
いいえ、自分にあったやり方を見つけているのでこの順番が自分にとって最善。
2018/01/26(金) 20:02:12.46ID:???
2018/01/26(金) 21:10:49.59ID:???
>>408はごく普通な方法だな。誰でもいえる事。
2018/01/26(金) 23:20:17.26ID:???
jQuery で作った
var oldStr = '<div>hoge</div><div>poge</div><div>fuge</div>';
$('body').append(oldStr);
var resAry = [];
$( 'div' ).each( function(){ resAry.push( $(this).text() ); } )
console.log( resAry ); // ["hoge", "poge", "fuge"]
var oldStr = '<div>hoge</div><div>poge</div><div>fuge</div>';
$('body').append(oldStr);
var resAry = [];
$( 'div' ).each( function(){ resAry.push( $(this).text() ); } )
console.log( resAry ); // ["hoge", "poge", "fuge"]
413Name_Not_Found
2018/01/27(土) 01:31:35.31ID:+mZ3NtMu やり方なんて自分が一番吸収しやすい方法をみつければいいんだよ
こればかりは人によって違うもの。
こればかりは人によって違うもの。
2018/01/27(土) 01:51:37.67ID:???
まだまだ何もできないのにどうしてそれが最善なの?
その人の最善の方法見つけるには他の方法も試さなきゃダメでは?
合理化とか埋没費用の誤謬とかで既に時間かけた方法に固執してるだけでは?
その人の最善の方法見つけるには他の方法も試さなきゃダメでは?
合理化とか埋没費用の誤謬とかで既に時間かけた方法に固執してるだけでは?
2018/01/27(土) 02:19:18.35ID:???
jQueryありなの?ならこうするわ。
var s = '<tag>hoge</tag><tag>poge</tag><tag>fuge</tag>';
var r = $(s).get().map(item => item.innerHTML);
console.log(r); // ["hoge", "poge", "fuge"]
rのとこは
var r = $(s).map(function() {return this.innerHTML}).get();
でもいいけど。
上のmapはjavascriptネイティブのmapでこっちはjQueryのmapね念のため。
var s = '<tag>hoge</tag><tag>poge</tag><tag>fuge</tag>';
var r = $(s).get().map(item => item.innerHTML);
console.log(r); // ["hoge", "poge", "fuge"]
rのとこは
var r = $(s).map(function() {return this.innerHTML}).get();
でもいいけど。
上のmapはjavascriptネイティブのmapでこっちはjQueryのmapね念のため。
2018/01/27(土) 02:32:38.95ID:???
var r = $(s).get().map(item => item.innerHTML);
var r = $(s).map(function() {return this.innerHTML}).get();
var r = $.map($(s), item => item.innerHTML);
jQuery.mapを使ったほうが僅かに短いよ
var r = $(s).map(function() {return this.innerHTML}).get();
var r = $.map($(s), item => item.innerHTML);
jQuery.mapを使ったほうが僅かに短いよ
2018/01/27(土) 03:08:14.13ID:???
ほんまや!
速度はどんなもんかperformance.now()で測ってみたけど長さ10のランダム文字列をtagでくくったものを1000個連結したもので確認した限り3つとも5ms前後で目立った差なかったわ。
もっと大きくなると差もあるかも知れないけど実用上はどれも問題ないね。
速度はどんなもんかperformance.now()で測ってみたけど長さ10のランダム文字列をtagでくくったものを1000個連結したもので確認した限り3つとも5ms前後で目立った差なかったわ。
もっと大きくなると差もあるかも知れないけど実用上はどれも問題ないね。
2018/01/27(土) 09:01:48.16ID:???
また俺様の世界を語ってるのw
2018/01/27(土) 09:12:05.42ID:???
>>418
おまえも語って良いんやで?
おまえも語って良いんやで?
420Name_Not_Found
2018/01/27(土) 16:25:13.08ID:+mZ3NtMu >>414
試した上で書いてるのでは。
試した上で書いてるのでは。
2018/01/28(日) 04:41:23.29ID:???
その人の最適な方法とかいう魔法みたいなものはない
人間の脳はニューラルネットと同じなんだから
Web技術の情報、特に本の内容は糞な場合が多いという事実がある以上
沢山の検索と試行錯誤をして知識を積み重ねていって形にする以外はない
ブロックを積み上げるように体系的に学ぶのは無理
薄い絵の具を塗り重ねて絵を浮かび上がらせる感じしか無い
人間の脳はニューラルネットと同じなんだから
Web技術の情報、特に本の内容は糞な場合が多いという事実がある以上
沢山の検索と試行錯誤をして知識を積み重ねていって形にする以外はない
ブロックを積み上げるように体系的に学ぶのは無理
薄い絵の具を塗り重ねて絵を浮かび上がらせる感じしか無い
2018/01/28(日) 04:46:06.46ID:???
2018/01/28(日) 04:57:00.46ID:???
その最適化は恐らくoptimizationの訳語としての用法だから最善の方法を見つけ出しそして実装した!という意味ではないだろう。
virtual→仮想と並ぶ近代クソ訳語のひとつ。
virtual→仮想と並ぶ近代クソ訳語のひとつ。
424Name_Not_Found
2018/01/28(日) 18:13:39.13ID:zZNs90iR 他者を認められない受け入れられないというのも
自分の、個人の考え方やり方なんだよね
自分の、個人の考え方やり方なんだよね
425Name_Not_Found
2018/01/28(日) 20:11:26.66ID:ZkfV466A 【ほら吹きマネク】マイトLーヤ「太陽凝視は危険」
http://matsuri.5ch.net/test/read.cgi/esp/1517129538/l50
http://matsuri.5ch.net/test/read.cgi/esp/1517129538/l50
2018/01/29(月) 01:29:43.15ID:???
427Name_Not_Found
2018/01/29(月) 08:15:52.37ID:r/D88pTD onclick="javascript:ac_tracer(
って何でしょうか?ボタン画像を挟む<a>タグ内にあります。
って何でしょうか?ボタン画像を挟む<a>タグ内にあります。
2018/01/29(月) 09:15:51.45ID:???
イベントハンドラの設定方法のひとつです。
今回の場合onclickなのでクリックイベントのハンドラ。
クリックするとそこに書かれたJavaScriptコードが実行されます。
今回の場合onclickなのでクリックイベントのハンドラ。
クリックするとそこに書かれたJavaScriptコードが実行されます。
429427
2018/01/29(月) 10:53:12.05ID:MncMfLpu ありがとうございます。
このac_tracerというのは何でしょう?
このac_tracerというのは何でしょう?
2018/01/29(月) 10:55:50.48ID:???
さあ?
2018/01/29(月) 11:52:50.50ID:???
>>429
ブラウザの検証機能でコードを見るのが早い
ブラウザの検証機能でコードを見るのが早い
2018/01/29(月) 11:54:02.20ID:???
極悪onclick
2018/01/29(月) 12:19:15.81ID:???
2018/01/29(月) 12:50:41.45ID:???
>>429
銭湯に行ったらオッサンが湯につかっていました。このオッサンは何でしょう?
銭湯に行ったらオッサンが湯につかっていました。このオッサンは何でしょう?
2018/01/29(月) 13:12:25.96ID:???
あるところにおじいさんとおばあさんがいました。
さて私は誰でしょう?
さて私は誰でしょう?
2018/01/29(月) 13:29:23.97ID:???
>>429
関数です。
ただし、ac_tracerという名前の関数はJavascriptに元々用意されているものでも、web開発者が利用するDOM APIのものでもないため、ユーザー定義関数、つまり誰かが何かの目的のために作った関数です。
つまり、作った人に聞くか、ac_tracerの定義部分を含むコードを読まなければ、この関数が何なのかエスパーを除き誰にも分かりません。
関数です。
ただし、ac_tracerという名前の関数はJavascriptに元々用意されているものでも、web開発者が利用するDOM APIのものでもないため、ユーザー定義関数、つまり誰かが何かの目的のために作った関数です。
つまり、作った人に聞くか、ac_tracerの定義部分を含むコードを読まなければ、この関数が何なのかエスパーを除き誰にも分かりません。
2018/01/29(月) 13:54:25.86ID:???
長いキッスの途中で
2018/01/29(月) 15:44:45.33ID:???
Fu Fu さりげなく
2018/01/29(月) 16:44:00.27ID:???
首狩り族を倒した
2018/01/30(火) 00:37:08.63ID:???
2018/01/30(火) 00:38:26.46ID:???
>>440
そうだねイベントハンドラの設定方法のひとつだね
そうだねイベントハンドラの設定方法のひとつだね
2018/01/30(火) 00:44:51.93ID:???
>>435
> あるところにおじいさんとおばあさんがいました。
> さて私は誰でしょう?
そんなことよりよ、桃太郎の
おじいさんとおばあさん、子供がいないらしいぜ?
ってことは、おじいさんとおばあさんじゃないよな?
子供ができたら、やっとおとうさんとおかあさんになるはずだ
孫も子供もいないのにおじいさんとおばあさんというのはおかしすぎる
っていうか、子供いないのに孫を養子に取ることってできるのかよ?
孫悟空の孫じゃないぞ。子供の子供という意味の孫だ
> あるところにおじいさんとおばあさんがいました。
> さて私は誰でしょう?
そんなことよりよ、桃太郎の
おじいさんとおばあさん、子供がいないらしいぜ?
ってことは、おじいさんとおばあさんじゃないよな?
子供ができたら、やっとおとうさんとおかあさんになるはずだ
孫も子供もいないのにおじいさんとおばあさんというのはおかしすぎる
っていうか、子供いないのに孫を養子に取ることってできるのかよ?
孫悟空の孫じゃないぞ。子供の子供という意味の孫だ
2018/01/30(火) 02:07:29.66ID:???
歳的な意味での爺婆だし
子供と言っても当然手続きもして無かろうし家系図にも組み込まれてないだろうし
桃太郎から見たらお父さんお母さんでも
全く関係ない第三者が伝聞として話したり聞く際にはふさわしくないと思う
子供と言っても当然手続きもして無かろうし家系図にも組み込まれてないだろうし
桃太郎から見たらお父さんお母さんでも
全く関係ない第三者が伝聞として話したり聞く際にはふさわしくないと思う
2018/01/30(火) 04:58:54.24ID:???
>>442
でもお前甥も姪もいないのにおじさんじゃん。
でもお前甥も姪もいないのにおじさんじゃん。
2018/01/30(火) 15:13:26.78ID:???
2018/02/01(木) 08:38:52.20ID:???
localStorageやsessionStorageなどwebStorageには文字列値しか保存できないとMDNで読んだ
でも[ 3, 6, 1, 23 ]や[ 'apple', 'orange', 'kiwi' ]など単純な配列は
特に変換することなしに、そのままsetItem()/getItem()できているようにみえる
値を取り出してすぐ直接push()やslice()などで操作できるしindexOf()もできてる
これはどういう理屈でこういう挙動になるんでしょうか?ブラウザが勝手にやってくれてる?配列関数が優秀?
試したのはMacのSafariとWindowsのFirefoxでsessionStorage利用
でも[ 3, 6, 1, 23 ]や[ 'apple', 'orange', 'kiwi' ]など単純な配列は
特に変換することなしに、そのままsetItem()/getItem()できているようにみえる
値を取り出してすぐ直接push()やslice()などで操作できるしindexOf()もできてる
これはどういう理屈でこういう挙動になるんでしょうか?ブラウザが勝手にやってくれてる?配列関数が優秀?
試したのはMacのSafariとWindowsのFirefoxでsessionStorage利用
447446
2018/02/01(木) 09:12:03.27ID:??? ごめん完全に気のせいだった
2018/02/01(木) 12:01:57.89ID:???
http://sdsoffice.com/tools/homepage-patrol-v2b.html
上記サイトのwebサイトを巡回してくれるJavaScriptを利用をしようと思います。
windows8.1(64bit) + IE11の環境で、上記サイト上で実行させるには問題ないのですが、
htmlファイルとしてローカルに保存して、ローカルで実行するとエラーとなります。
(巡回してくれない)
windows7(64bit) + IE11の環境でしたら、ローカルでも問題なく動きます。
windows8.1でエラーになる原因がわかりません。
お詳しい方、力になっていただけないでしょうか?
よろしくお願いいたします。
上記サイトのwebサイトを巡回してくれるJavaScriptを利用をしようと思います。
windows8.1(64bit) + IE11の環境で、上記サイト上で実行させるには問題ないのですが、
htmlファイルとしてローカルに保存して、ローカルで実行するとエラーとなります。
(巡回してくれない)
windows7(64bit) + IE11の環境でしたら、ローカルでも問題なく動きます。
windows8.1でエラーになる原因がわかりません。
お詳しい方、力になっていただけないでしょうか?
よろしくお願いいたします。
449Name_Not_Found
2018/02/01(木) 22:16:16.86ID:Es0XuYnt 別フレームに指定の複数のページをランダム時間(何分から何分の間ランダム)で表示する。
の参考資料とかありませんか?
十数年前「html」だったのか「javascript」か覚えていないけど
色んな例を組み合わせて作って偶然動いたことがあったのでどこかに保存しておいたんだけどなくなってしまったので・・・
よかったら教えてください。
の参考資料とかありませんか?
十数年前「html」だったのか「javascript」か覚えていないけど
色んな例を組み合わせて作って偶然動いたことがあったのでどこかに保存しておいたんだけどなくなってしまったので・・・
よかったら教えてください。
2018/02/01(木) 22:38:53.38ID:???
>>448
そもそも普通は、crossOrigin (CORS)アクセス禁止だろ
自分のPC 上の、HTML ファイルから、他のドメインにアクセスできないだろ。
iframe 内に、他のドメインのページを読み込んでも、
iframeの内外で、異なるサイトになるから、アクセスできない
自分のPC で、サーバーを立てて、それを経由しないとアクセスできない。
または、ネット上のそういうサーバーを利用するとか
以前使えていた、Yahoo Query Language (YQL) も、使えなくなった
そもそも普通は、crossOrigin (CORS)アクセス禁止だろ
自分のPC 上の、HTML ファイルから、他のドメインにアクセスできないだろ。
iframe 内に、他のドメインのページを読み込んでも、
iframeの内外で、異なるサイトになるから、アクセスできない
自分のPC で、サーバーを立てて、それを経由しないとアクセスできない。
または、ネット上のそういうサーバーを利用するとか
以前使えていた、Yahoo Query Language (YQL) も、使えなくなった
2018/02/01(木) 22:41:17.04ID:???
aからbまでの間でランダムは
a+(0からb-a)までランダムと表せられる
つまりa+Math.random()*(b-a)となる
a+(0からb-a)までランダムと表せられる
つまりa+Math.random()*(b-a)となる
2018/02/01(木) 22:42:29.86ID:???
2018/02/02(金) 00:10:56.52ID:???
あるある質問かもしれませんが
Javascriptのソースコードからコメントをすべて除去するツールなり方法ってどんなものがあるでしょうか?
単独のフリーソフトでも良いですし
atomのbeautify等、構文解析するプラグイン等にオマケでついていてもおかしくないと思うのですが
windows7を使っています
Javascriptのソースコードからコメントをすべて除去するツールなり方法ってどんなものがあるでしょうか?
単独のフリーソフトでも良いですし
atomのbeautify等、構文解析するプラグイン等にオマケでついていてもおかしくないと思うのですが
windows7を使っています
2018/02/02(金) 00:28:03.36ID:???
<iframe src="#" id="ifrm"></iframe>
<script type="text/javascript">
window.onload = function(){
var urls = ['http://www.example.com', 'http://www.yahoo.co.jp', 'http://www.google.co.jp'];
// 0以上、3未満。つまり、0〜2
var idx = Math.floor( Math.random() * urls.length );
var ifrm = document.getElementById('ifrm');
ifrm.src = urls[idx];
}
</script>
これを、<body>タグの中に書いて実行すれば、毎回違うサイトが読み込まれる
<script type="text/javascript">
window.onload = function(){
var urls = ['http://www.example.com', 'http://www.yahoo.co.jp', 'http://www.google.co.jp'];
// 0以上、3未満。つまり、0〜2
var idx = Math.floor( Math.random() * urls.length );
var ifrm = document.getElementById('ifrm');
ifrm.src = urls[idx];
}
</script>
これを、<body>タグの中に書いて実行すれば、毎回違うサイトが読み込まれる
2018/02/02(金) 00:46:27.79ID:???
2018/02/02(金) 00:54:55.79ID:???
>>453
「javascript コメント 削除 ツール」で検索!
「javascript コメント 削除 ツール」で検索!
2018/02/02(金) 02:38:55.11ID:???
>>456
ありがとうお陰でbeautifierの反対語にminifierという言葉があることを知ってatom minifierを入れて解決しました
ありがとうお陰でbeautifierの反対語にminifierという言葉があることを知ってatom minifierを入れて解決しました
458454
2018/02/02(金) 04:53:16.01ID:??? >>449
454 を修正した。
ランダム時間は難しくてできない。一定時間ならできる
以下を、<body>タグの中に書いて実行すれば、5秒毎に、違うサイトが読み込まれる。
タイマーを止めるには、clearInterval を使う
<iframe src="#" id="ifrm"></iframe>
<script type="text/javascript">
window.onload = function(){
var urls = ['http://www.example.com', 'http://www.yahoo.co.jp', 'http://www.google.co.jp'];
var ifrm = document.getElementById('ifrm');
var timerID = setInterval(function () {
// 0以上、3未満。つまり、0〜2
var idx = Math.floor( Math.random() * urls.length );
ifrm.src = urls[idx];
}, 5000); // 5分なら、5 * 60 * 1000 とする
}
</script>
454 を修正した。
ランダム時間は難しくてできない。一定時間ならできる
以下を、<body>タグの中に書いて実行すれば、5秒毎に、違うサイトが読み込まれる。
タイマーを止めるには、clearInterval を使う
<iframe src="#" id="ifrm"></iframe>
<script type="text/javascript">
window.onload = function(){
var urls = ['http://www.example.com', 'http://www.yahoo.co.jp', 'http://www.google.co.jp'];
var ifrm = document.getElementById('ifrm');
var timerID = setInterval(function () {
// 0以上、3未満。つまり、0〜2
var idx = Math.floor( Math.random() * urls.length );
ifrm.src = urls[idx];
}, 5000); // 5分なら、5 * 60 * 1000 とする
}
</script>
459454
2018/02/02(金) 07:06:29.03ID:??? 458 を修正した
setTimeout() で、最初から表示する。
その後、setInterval() で、一定時間ごとに表示する
<iframe src="#" id="ifrm"></iframe>
<script type="text/javascript">
window.onload = function(){
var urls = ['http://www.example.com', 'http://www.yahoo.co.jp', 'http://www.google.co.jp'];
var ifrm = document.getElementById('ifrm');
function setExternalWebsite() {
// 0以上、3未満。つまり、0〜2
var idx = Math.floor( Math.random() * urls.length );
ifrm.src = urls[idx];
}
setTimeout(setExternalWebsite, 0); // 最初から表示する
// 5分なら、5 * 60 * 1000 とする
var timerID = setInterval(setExternalWebsite, 5000);
}
</script>
setTimeout() で、最初から表示する。
その後、setInterval() で、一定時間ごとに表示する
<iframe src="#" id="ifrm"></iframe>
<script type="text/javascript">
window.onload = function(){
var urls = ['http://www.example.com', 'http://www.yahoo.co.jp', 'http://www.google.co.jp'];
var ifrm = document.getElementById('ifrm');
function setExternalWebsite() {
// 0以上、3未満。つまり、0〜2
var idx = Math.floor( Math.random() * urls.length );
ifrm.src = urls[idx];
}
setTimeout(setExternalWebsite, 0); // 最初から表示する
// 5分なら、5 * 60 * 1000 とする
var timerID = setInterval(setExternalWebsite, 5000);
}
</script>
2018/02/02(金) 07:23:25.57ID:???
自ら学ぶ人とは回答者の事だったのか
2018/02/02(金) 12:37:30.47ID:???
>>459
setInterval使わずにsetExternalWebsiteの最後で毎回setTimeoutすればいいだけやで
setInterval使わずにsetExternalWebsiteの最後で毎回setTimeoutすればいいだけやで
2018/02/02(金) 12:43:41.74ID:???
問題にはならんと思うんだけどどんどん再起が深くなっていくのが気持ち悪い
2018/02/02(金) 12:44:46.38ID:???
>>461
それってスタックオーバーフローしないの?
それってスタックオーバーフローしないの?
2018/02/02(金) 13:12:21.97ID:???
スタックは積まれない
2018/02/02(金) 15:06:20.75ID:???
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】吉本興業、令和ロマン・高比良くるまの契約終了を発表 [Ailuropoda melanoleuca★]
- 吉本興業、令和ロマン・高比良くるまの契約終了を発表 オンラインカジノ問題から活動再開 ★2 [Ailuropoda melanoleuca★]
- コメ5キロ、最高値4220円 16週連続上昇、前年比2倍 [蚤の市★]
- 【移民】日本史上初めての中国人の大量移住が始まる ★3 [ぐれ★]
- 【芸能】30歳歌手、万博の野外ライブの写真を公開しネット騒然 1・6万人収容の会場が衝撃のスカスカ… 「これ本番です」「実力不足」 [冬月記者★]
- 【移民】日本史上初めての中国人の大量移住が始まる ★4 [ぐれ★]
- 日本政府、輸入車特例を拡充へ 非関税障壁批判受け [377482965]
- ゴールデンウィークのお🏡
- 【実況】博衣こよりのえちえちホロRust🧪
- トランプ政権、米陸軍9万人を削減へ [834922174]
- やす子「………………いいえ」←否定してそうなこと🏡
- ロシア、戦争一時停止(72時間) [943688309]