javascript

chrome54以上でtouchstartでvideo.playが使えなくなったときの対応メモ

はじめに Androidでの動画自動再生のやり方がわからなかったのでタッチイベントで無理やりvideoを再生するようなやり方をしていることがあった。 で、今のところ問題なかったのだがふとchromeのコンソール見ると以下のようなワーニングが出ていた Performing…

【bootstrap】Modal内での画面遷移する方法

どうやるのが1番いいのかわからないけど今回は以下の対応 ・Modal内に複数ページのHTMLを入れておく ・現在のページ番号を変数に保持しておく ・[前へ][次へ]ボタンが押されるたびにページ番号を+または-してModal内を再表示 <div class="container" style="margin-top:5px;"> <button id="onModal" class="btn btn-default">Open</button> </div> <div id="myModal" class="modal fade"> </div>

【bootstrap】Modalの初期値を動的に設定する方法

たまにやろうとするとパッと出てこずに何度も調べている気がするのでメモしておく 一覧のクリックする行によってモーダルの中身を変えたい時などにも使える <button id="onModal" class="btn btn-default">Open</button> <div id="myModal" class="modal fade" role="dialog"> <div class="modal-dialog"> <div class="modal-content"> </div></div></div>

【node.js】export defaultで作ったモジュールをexpressからrequireできなくてes6にして対応した

はじめに 以下のようなディレクトリ構成でserver以下にexpressでサーバーを作成。 で、client以下にreactとかでフロント側のコードを作成。 で、common以下にserverとclientと両方から呼ばれるモジュールとかを置こうとした。clientとcommonはbabelでビルド…

【node.js】expressでstaticが有効にならないと思ったら。。。

地味にハマった。。。 import express from "express"; import path from "path"; var app = express(); // ★こうじゃなくて // app.use(express.static(path.join(__dirname, "..", "dist"))); // ★コレしたら動いた app.use("/dist", express.static(path.…

【node.js】es6での開発で最低限必要な設定メモ〜npm・bower・gulp・grunt・browserify 色々あるけど。。。

はじめに javascriptで開発しているとnpm、bower、gulp、grunt、browserifyなどなど用語が多くて久々にやろうと思うとわからなくて気持ちが落ちる。 で、何もわからずネットで見つけた記事をコピペしてゆくとよくわからないものが一杯入っているというのも嫌…

【socket.io】複数サーバーへの対応メモ

はじめに 今更な内容ですが実際に試したことがなかったのでメモ。 socket.ioをスケールアウトさせるような規模のサービスを作る機会がないのでやっていなかった。。。 まぁ今後もあるかどうか不明だけど、いちおう試しということで実装自体はredisのpub/sub…

スマホでの動画インライン自動再生が解禁されるらしい〜iPhone(safari)・Android(chrome)

スマホ(iPhoneとAndroid)での動画をインラインでの自動再生をやりたくて以前ちょくちょく調べていました。 確かそのときは端末の制限でまぁ難しいかなという結論に至りました。> iPhone(Safari) http://www.appbank.net/2016/06/16/iphone-application/12169…

【node.js】expressで必ずやる設定などまとめ

はじめに expressでWebアプリを開発してみて次回以降もやるであろうなという作業をまとめておく といっても自分の趣味レベルで作ったものなので大規模にも考慮してとかは全然できていません。とはいえせっかくやったのでできる範囲で案件で使えるようにと考…

【node.js】connect-mongoでSyntaxError: Use of const in strict modeエラーの対応

はじめに Node.js + Express4を使っていて、つまづいた注意点まとめ - Qiita expressでセッションを使おうとしたら上記の記事のワーニングが出ました。 これはセッションの保存先がローカルファイルだと出るワーニングだそうでとりあえずmongodbを入れてそち…

【node.js】expressでエラー処理を実装する方法

はじめに expressでの開発で必須のエラー処理を実装したので次回やるときのためにまとめておくやりたいことは以下 ・エラーが発生したらエラー内容をログ出力 ・ユーザーにはエラーページを表示 ・エラーでサーバーが落ちないように 実装 サーバー本体の実装…

【node.js】expressでログイン処理を実装する方法

はじめに また基本的な機能だけど、node.jsで初めてだったのでよくわからなかったやりたかったことは以下 ・ログイン情報はセッションにいれる ・特定のurl以下はログインしていないと見れなくしたいちょっと調べてみるとPassportというミドルウェアを使うの…

【javascript】promiseの使い方メモ〜条件分岐とか

はじめに node.jsでのサーバーサイドの処理です。 今回やりたかったことはPHPだと以下のような処理 ※あまり意味のないコードをズラズラ書いてわかりずらいが、やりたことはDBから取得した値を見て処理を分岐するような処理を繰り返し行うようなイメージPHPの…

【node.js】expressでapiサーバーを実装するときに最低限必要そうなことをまとめておく

はじめに socket.ioを使って簡単なチャットサーバーを作ろうとしました当初、socket.ioを使わないapiの実装はphpで、socket.ioの部分だけnode.jsで・・・と考えていたのですが どうせならapiの部分もnode.jsで作った方がいいのかなと思ってちょっと調べこと…

【node.js】pm2でexpressが意図せず再起動していたときの原因

今回、ちょっと迷った内容は以下 (1)expressを使ったサーバー起動 (2)urlを叩いてみる (3)(2)のレスポンスは返ってくるけど、サーバーが再起動されるサーバー起動 ./node_modules/pm2/bin/pm2 start app.js --watchurlを叩いてみる curl http://example.com:…

【node.js】expressにてmysqlを使う方法メモ

はじめに 今回やりたかったことは以下 ・expressからmysqlへクエリ実行 ・ormは使わずsqlを直接実行したい ・dbの処理部分は共通化したい ・エラー処理も実装するnode-mysqlというライブラリを使いました 実装 ファイル構成 ├── app.js ├── db.js # dbの共通…

【node.js】expressにてCan't set headers after they are sentでサーバーが落ちる

はじめに 最近ちょっといじってますが、またよくわからず簡単な事にはまってる気がする・・・ やりたかったことはurlパラメータを受け取ってmysqlを検索。結果をjsonで返すというだけですで、mysqlからデータ取得してconsole.logすると取得できるところまで…

react.jsでの開発の作業手順まとめメモ 〜 redux + router

はじめに まだまだよくわかっていないがやっと少し慣れてきたので自分用に作業手順をまとめておく ディレクトリ構成とベースとなる部分を作る 自分はこんな感じにしてみている。 基本的な構成がこんな感じで、開発するにつれてactions、components、reducers…

【react】ログイン・ログアウトを実装する方法メモ

はじめに 今回やりたかったことはよくあるログイン・ログアウトの実装です。 で、react-routerを使っての実装方法が以下にありました。わかりやすかったです React Routerで認証を制御する方法 - Qiitaログインしているかどうかの判定はstoreにuser.session…

【react】react-routerの使い方メモ

はじめに reactやらreduxやらいじり始めてみたけどわからないことが多い・・・ 今回やりたいのはコンポーネント間の画面遷移とりあえず画面遷移などでのルーティング機能はreact-routerというのを使ってる人が多そうなのでこれの使い方を調べてメモ 構成 . ├…

【react】react-routerにて画面遷移と「TypeError: this.context.router is undefined」の対応

はじめに 今回やりたかったことは component内で何かボタンとか押されたときに別のページへ遷移させるということをしたかったのですが 「TypeError: this.context.router is undefined」とエラーが・・・ 対応 修正前 export default class Page1 extends Re…

iPhoneのaudioではミュート(muted)が効かない

地味に色々はまる・・・audioで音声再生して、画面がアクティブでなくなっても音声が流れ続けるので アクティブでなくなったらaudio.muted = trueに切り替えてみたpcとandroidではこれで良かったのだが、iPhoneではaudio.pause()して再生停止しないとダメな…

【javascript】android x chromeでAudio.currentTimeをセットしても効かなかったときの対応〜音声再生

やりたかったことは、javascriptでのAudioの再生で所定の場所から再生したいということでした 基本的は以下でできたのですが、android + chromeで動作確認できなかった。 currentTimeを設定しても0になってしまってうまくできませんでした。 <button onclick="playAudio();">再生</button> <script> function …

【javascript】canvasにimg画像(アニメーションgif)を重ねて中央寄せする

たいした話じゃないけど、やりたかったことは canvasへの描画処理を開始する前の事前処理(準備)中にローディング画像みたいのを出したかったのですが、 canvasにグルグル回るアニメーションgifを描画すると1枚目の静止画となってしまうのでcanvasとimgタグを…

動画ファイルからパラパラ漫画を作ってjavascriptで再生する

はじめに 今回やろうとしたことは動画ファイルから画像のキャプチャを作って、その画像を順番にcanvasに描画し続けるということ。 手順としては> キャプチャ画像の生成(ffmpeg使用) ・動画ファイルの情報を取得(fps、再生時間、画像サイズ) ・音声ファイルを…

【javascript】videoタグを使わずスマホで動画を自動再生できるライブラリ

はじめに 今回やりたかったことは以下 ・ページが表示されたら動画を自動再生する ・全画面表示ではなくページに埋め込む形でインライン再生 ・スマホ(ios・android)で実装動画広告のようなイメージでしょうかvideoタグを使えばできると思ったのですが、ス…

XMLHttpRequestで送信する時に改行コードが消えてしまったときの対応

また、基本的なことができていなくてはまった・・・やりたかったことは フォーム(textarea)のデータをXMLHttpRequestを使って送信する時に改行コードが消えてしまったこと修正前 // フォームの値からurlパラメータを作成 var textarea = document.getElement…

【adminLTE】スライダーメニューのデフォルトの開閉状態を指定する方法

はじめに bootstrap製の管理画面テンプレートのadminLTEの画面左のスライドメニューについてメニューオープン メニュークローズ こんな感じのかっこいいのがあるのですが、 1. メニューを閉じる 2. 画面遷移する 3. メニューが開いた状態になってしまうこう…

【chart.js】x軸(横軸)のラベルに間隔を空ける方法メモ

はじめに 今回初めてadminLTEというboostrap製の管理画面用のデザインテンプレートを使ったのですがかなりイイです。 情けない事に今までcssは1ミリもいじりたくないってタイプだったのですが、それなりの見た目の画面が用意できましたで、その中でchartjsと…

【javascript】要素が表示されたら実行する方法メモ

はじめに 今回やりたかったのは、ある要素が画面に表示されたら1度だけajaxでサーバ通信するという処理の実装です。 検索するとjqueryのライブラリでjquery.inviewというのがあったのですが今回は前提条件としてjqueryが使えなかったため自前で実装すること…