のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,687,757人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

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

JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
451 : Name_Not - 2018/02/01(木) 12:01:57.89 ID:???.net (+16,-30,-148)
http://sdsoffice.com/tools/homepage-patrol-v2b.html
上記サイトのwebサイトを巡回してくれるJavaScriptを利用をしようと思います。

windows8.1(64bit) + IE11の環境で、上記サイト上で実行させるには問題ないのですが、
htmlファイルとしてローカルに保存して、ローカルで実行するとエラーとなります。
(巡回してくれない)

windows7(64bit) + IE11の環境でしたら、ローカルでも問題なく動きます。

windows8.1でエラーになる原因がわかりません。
お詳しい方、力になっていただけないでしょうか?
よろしくお願いいたします。
452 : Name_Not - 2018/02/01(木) 22:16:16.86 ID:Es0XuYnt.net (+44,+29,-59)
別フレームに指定の複数のページをランダム時間(何分から何分の間ランダム)で表示する。

の参考資料とかありませんか?
十数年前「html」だったのか「javascript」か覚えていないけど
色んな例を組み合わせて作って偶然動いたことがあったのでどこかに保存しておいたんだけどなくなってしまったので・・・
よかったら教えてください。
453 : Name_Not - 2018/02/01(木) 22:38:53.38 ID:???.net (+40,-30,-175)
>>451
そもそも普通は、crossOrigin (CORS)アクセス禁止だろ

自分のPC 上の、HTML ファイルから、他のドメインにアクセスできないだろ。
iframe 内に、他のドメインのページを読み込んでも、
iframeの内外で、異なるサイトになるから、アクセスできない

自分のPC で、サーバーを立てて、それを経由しないとアクセスできない。
または、ネット上のそういうサーバーを利用するとか

以前使えていた、Yahoo Query Language (YQL) も、使えなくなった
454 : Name_Not - 2018/02/01(木) 22:41:17.04 ID:???.net (+28,-30,-24)
aからbまでの間でランダムは
a+(0からb-a)までランダムと表せられる
つまりa+Math.random()*(b-a)となる
455 : Name_Not - 2018/02/01(木) 22:42:29.86 ID:???.net (-29,-29,-54)
>>452
「iframe ランダム表示」で検索!

iframe 内に、他のドメインのページを、ランダムに読み込む
456 : Name_Not - 2018/02/02(金) 00:10:56.52 ID:???.net (+7,-29,-116)
あるある質問かもしれませんが
Javascriptのソースコードからコメントをすべて除去するツールなり方法ってどんなものがあるでしょうか?
単独のフリーソフトでも良いですし
atomのbeautify等、構文解析するプラグイン等にオマケでついていてもおかしくないと思うのですが
windows7を使っています
457 : Name_Not - 2018/02/02(金) 00:28:03.36 ID:???.net (-29,-30,-137)
<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>タグの中に書いて実行すれば、毎回違うサイトが読み込まれる
458 : Name_Not - 2018/02/02(金) 00:46:27.79 ID:???.net (+3,-29,-36)
>>452
「jquery plugin カルーセル」で検索!

jQuery Plugin を探す方が、簡単かも
459 : Name_Not - 2018/02/02(金) 00:54:55.79 ID:???.net (+4,-28,-6)
>>456
「javascript コメント 削除 ツール」で検索!
460 : Name_Not - 2018/02/02(金) 02:38:55.11 ID:???.net (-1,-29,-51)
>>459
ありがとうお陰でbeautifierの反対語にminifierという言葉があることを知ってatom minifierを入れて解決しました
461 : 454 - 2018/02/02(金) 04:53:16.01 ID:???.net (+8,-30,-215)
>>452
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>
462 : 454 - 2018/02/02(金) 07:06:29.03 ID:???.net (+7,-30,-213)
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>
463 : Name_Not - 2018/02/02(金) 07:23:25.57 ID:???.net (+52,+29,-6)
自ら学ぶ人とは回答者の事だったのか
464 : Name_Not - 2018/02/02(金) 12:37:30.47 ID:???.net (+39,-30,-36)
>>462
setInterval使わずにsetExternalWebsiteの最後で毎回setTimeoutすればいいだけやで
465 : Name_Not - 2018/02/02(金) 12:43:41.74 ID:???.net (+57,+29,-21)
問題にはならんと思うんだけどどんどん再起が深くなっていくのが気持ち悪い
466 : Name_Not - 2018/02/02(金) 12:44:46.38 ID:???.net (+61,+29,-3)
>>464
それってスタックオーバーフローしないの?
467 : Name_Not - 2018/02/02(金) 13:12:21.97 ID:???.net (+86,+29,-3)
スタックは積まれない
468 : Name_Not - 2018/02/02(金) 15:06:20.75 ID:???.net (+69,+29,-18)
>>467
積まれないんすね、ありがとうございます
関数ポインタみたいなのがどんどん積まれていくのかと思った
470 : Name_Not - 2018/02/02(金) 19:01:30.35 ID:???.net (+33,-28,-24)
webpackやgulpについて質問したいのですが、その類のスレッドってありますかね??。
なければここで質問してもよろしいでしょうか?
471 : Name_Not - 2018/02/02(金) 22:10:29.45 ID:???.net (+11,-30,-58)
function(t, i) {
t.target = i, e.apply(this, arguments)
}
こういう構文があったんですが
「 t.target = i;
e.apply(this, arguments);

つまりこういう構文を略して書く書き方って認識であってますか?
472 : 454 - 2018/02/02(金) 23:46:50.02 ID:???.net (+24,-30,-121)
>>464-468
1. function f() { setTimeout(f, 5000); }
2. setTimeout(f, 5000);

まず、2の実行では、setTimeout()は実行されるけど、f()はまだ実行されない。
つまり、キューに、fが積まれるだけ

次に5秒後、キューからfが削除されて、1が実行される。
その時に、setTimeout()で、またキューに、fが積まれる

つまり、キューには常に、fが1個しか積まれていない

>>471
わかりにくいから、そんなカンマの使い方をしない方が良い。
勘違い・バグを誘発する

普通に、; で文を区切るべき
473 : Name_Not - 2018/02/03(土) 01:26:18.14 ID:PujzEQQR.net (+28,+29,-2)
>>472
認識があってるか確認してんだよボケ
474 : Name_Not - 2018/02/03(土) 02:24:56.13 ID:???.net (+68,+29,-4)
>>470
いいよ。他に該当のスレなんて有るわけないし
475 : Name_Not - 2018/02/03(土) 06:33:39.21 ID:???.net (+73,+29,-57)
>>453
ありがとうございました。
ローカルファイルで他サイトの呼び出しの規制に引っかかっているわけですね。
今回の案件だけ個別に許可はできないものでしょうか?(ブラウザのセキュリティ上難しい?)
476 : Name_Not - 2018/02/03(土) 07:05:49.60 ID:???.net (+9,-28,-16)
>>475
ブラウザじゃなくてサーバー側のセキュリティな
477 : Name_Not - 2018/02/03(土) 12:01:19.79 ID:???.net (+11,-29,-137)
制限をかけてるのがブラウザで
サーバはブラウザがかけてる制限を任意に解除できるだけじゃないのか
違いは無設定の鯖に対してどういう挙動になるか

というか>>451はCORS関係なんか?
みたところ子ウィンドウを開いて、子のlocation.hrefで移動させてるだけ
IE自身のセキュリティ設定、イントラネットのセキュリティポリシーな気がするんだが
478 : Name_Not - 2018/02/03(土) 12:08:23.84 ID:???.net (+28,+27,-39)
グローバル変数を1つ宣言するのと
関数を1つ宣言するのとでは
グローバルの汚染度は変わらないですよね?
479 : Name_Not - 2018/02/03(土) 12:40:30.96 ID:???.net (-3,+12,+0)
>>478
変わる
480 : Name_Not - 2018/02/03(土) 12:43:46.29 ID:???.net (+62,+29,-149)
>>478
変数というのは「変えられる値」関数というのは、変えられない。

(まあ正確に言えば、JavaScriptでは関数もオブジェクトなので変えようと思えば変えられるが、
普通そういう使い方はしないしそういう使い方はグローバル変数と同様になってしまうから
ダメなやり方であるという考え方をする)

グローバル汚染というのは、値がどこから書き換えられるかわからないから問題なので、
グローバル変数はアウトだが、グローバル関数(グローバルクラス含む)は問題ない
481 : Name_Not - 2018/02/03(土) 12:56:39.57 ID:???.net (+3,-30,-188)
>>479-480
無名関数を使うとかなら、変わると言われても納得なんですけど

function ffff(){}と定義するのとvar ffff = function(){}と定義するのでは変わらないし
どちらの場合も変数名ffffに対する文字列値の再代入も関数再定義も特別の構文なしにできてしまうし
同じ名前の関数宣言があってもエラーも何も出ないのを考えると
宣言時には入れ物はどちらも変数であって(というかポインタと考えたほうが)
中身が、関数か、文字列や数値や配列やオブジェクトか、の違いでしかない、という風に思うんです

そうなると、1個グローバル変数を使うのと1個グローバル関数を使うのとでは、もはや変わりが無いように思うんですが
482 : Name_Not - 2018/02/03(土) 13:08:32.34 ID:???.net (+57,+29,-56)
ニュアンス的には幾らかの違いがあるけど、汚染度と言う視点だと無いよ
つか、関数もオブジェクトだから変えられるという言い用はJSer失格
483 : Name_Not - 2018/02/03(土) 13:13:24.91 ID:???.net (+57,+29,-23)
だからnamespace的に1つのオブジェクトに全部押し込めて汚染度下げたりしてたわけですし
484 : Name_Not - 2018/02/03(土) 13:13:46.96 ID:???.net (-3,-26,-2)
関数は関数だもんな
485 : Name_Not - 2018/02/04(日) 13:01:29.10 ID:???.net (-22,-30,-88)
>>474
ではこちらで質問させていただきます。
gulpであればgulp-uglifyを、webpackであればUglifyJsPluginを使って
minify化しようと思うのですが、どちらもjsに記述している変数名がiやfに変わってしまいます。
どちらのnpmもオプションに変数名が変わらない様な設定があるかと思ったのですが無いようでした。

変数名が変わるのは困るので、ただ単に改行、コメント削除、空白削除をしたいのですが、何か方法はありますでしょうか。
486 : Name_Not - 2018/02/04(日) 13:04:16.82 ID:???.net (+91,+27,-3)
変数名が変わって困るのがそもそもおかしい
487 : Name_Not - 2018/02/04(日) 14:12:57.48 ID:???.net (+75,+29,-51)
>>486
HTMLに直接変数名が書いてあり、その変数を外部jsファイルで使用する時に使えなくなると思ったのですが。
ということは、そもそもjsの書き方がおかしいということでしょうか?
例を出せと言われてもすぐには出せませんが・・・・
488 : Name_Not - 2018/02/04(日) 14:26:32.98 ID:???.net (+35,-29,-9)
> HTMLに直接変数名が書いてあり
そんなことはしない。HTMLにJavaScriptの変数は出てこない
489 : Name_Not - 2018/02/04(日) 19:14:59.77 ID:???.net (+35,-29,-16)
uglify=難読化、minify=軽量化、全然別だ
uglifyやってんなら、そりゃそうなる
490 : Name_Not - 2018/02/04(日) 19:24:47.55 ID:???.net (+35,-29,-51)
ところでnpmに gulp-minify (-cssや-htmlがつかない)があって
minify()で普通に無駄な空白類やコメントの削除してくれるらしいが
493 : Name_Not - 2018/02/04(日) 21:22:12.95 ID:???.net (+40,-30,-88)
gulp-uglifyは詳しくないけど、
サードパーティー製のライブラリで使用しているグローバル変数(いわゆるネームスペース)を
スクリプト内で参照している場合に、その変数名をminifyしない設定があるのでは?
494 : Name_Not - 2018/02/04(日) 22:44:24.61 ID:???.net (+100,+29,-100)
>>488
多分私の説明が下手でうまく伝わっていない気がするのでちょっと考え直して
再度ご質問します。ありがとうございました。

>>489
その違いが知りませんでした。
勉強になります。ありがとうございます。

>>490
gulp-minifyですか。ちょっと試してみます。

>>492
uglify-jsも知りませんでした。
これも検証してみます。

>>493
ごめんなさい。話に追いついていけません。。。
496 : Name_Not - 2018/02/05(月) 00:36:25.08 ID:???.net (+71,+29,-13)
>>494
だからHTMLに直接変数名を書くことが
間違いだって話だよ

他のやつもやる必要のないことを書くな
497 : Name_Not - 2018/02/05(月) 01:08:14.66 ID:???.net (+90,+28,-30)
そんなの環境とコーディング規約次第だろ
498 : Name_Not - 2018/02/05(月) 01:09:29.45 ID:???.net (+70,+29,-58)
>>497
その理屈だと、腐った環境やクソなコーディング規約に
したがって開発しろって言ってるように見えるが?
499 : Name_Not - 2018/02/05(月) 01:10:08.48 ID:???.net (+57,+29,-37)
だからHTMLに直接変数名を書くことが
腐った環境やクソなコーディング規約だって話だ
500 : Name_Not - 2018/02/05(月) 01:44:44.15 ID:???.net (+32,-29,-54)
ページごと、ユーザーごとのパラメータをHTMLに書くことはあるぞ
どうせlocalStorageかHTMLに書くかAjaxで取得するかくらいしかないし
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について