投稿者: admin Page 18 of 47

MacでターミナルからSublimeTextを素早く開く方法。

MacでターミナルからSublimeTextを素早く開く方法。

openコマンドを使うと楽、-aでアプリを指定して、‘.(ドット)’ カレントディレクトリを指定してあげると、プロジェクトバー(サイドバー)に開いてくれる。

$ open -a /Applications/Sublime Text.app .

これをDashなどのスニペットアプリにトリガーを登録しておけば。‘open;’ とタイプするだけで一瞬で開けて便利。

WordPressの更新の場合のメンテナンス表示の時間について調べてみた。

WordPressの更新の場合のメンテナンス表示の時間について調べてみた。

WordPressの更新のときに基本自動アップデートにしたいんだけど、いろんな事情で手動で更新してて、それってサイト止まるの?って場合に出くわしまして。

掘り下げていくと、includes/update-core.phpのコメントにかかれていた。

  1. Test unzipped location for select files to ensure that unzipped worked.
  2. Create the .maintenance file in current WordPress base.
  3. Copy new WordPress directory over old WordPress files.
  4. Upgrade WordPress to new version.
    4.1. Copy all files/folders other than wp-content
    4.2. Copy any language files to WP_LANG_DIR (which may differ from WP_CONTENT_DIR
    4.3. Copy any new bundled themes/plugins to their respective locations
  5. Delete new WordPress directory path.
  6. Delete .maintenance file.

上記手順は、基本的には、Downloadされてものを準備された後の話。
2の手順でメンテ開始(.mainteannceファイルがあるとメンテになります。)
3,4でコピーなどが行われて5–6で更新ファイルを削除して完了。

気になるのは、4.3あたりで新しいテーマなどが入ってきたときは一瞬では終わらない可能性とかありそうです。

一瞬で切り替えたい場合は、並行してどこかで更新後の状態のファイル郡をつくって、どうさ確認などしてDodumentrootのリネームなどなのかなとか考え

Webサイトでの videoタグのインライン自動再生用に動画の音声トラックを外す方法。

めも。Macです。

brewでffmpegをインストール

依存パッケージエンコーダーいろいろと入ります。

$ brew install ffmpeg

できたらffmpegコマンドで抜く(正確には映像コーデックのみをコピー)

ffmpeg -i input.mp4 -vcodec copy -an output.mp4

いろいろmp4コンテナいじれて面白そう。

Youtube 埋め込み iFrame APIでスマホで動画を自動再生する方法。(一部はできない

Youtube 埋め込み iFrame APIでスマホで動画を自動再生する方法。(一部はできない

基本音声が入っているとできない、古い機種はできない、最近はわりとできるようになってきている。
微妙に悩ましい状況、動画GIFや独自mp4やボタンを置いて再生とかいろいろ検討する。
(本質的なところを掘り下げたい、、昔のIE5とか6とかwindows2000とか思い出す不毛)

ES6の抜粋
ポイントは、onReady で再生準備できたところで、いったん、
this.player.mute();
とミュートしてから再生しているとこ。(音声はYoutubeにかかわらずスマホは全般自動はだめ)

class Hoge { 
    player;
    isPlay=false;
    
    constructor() {
        window.onYouTubeIframeAPIReady = $.proxy(this.loadYoutubeApi,this);
        let scriptEl = document.createElement('script');
        let headEl = document.querySelector('head');
        scriptEl.src = "https://www.youtube.com/iframe_api";
        headEl.appendChild(scriptEl);
    }
        
    loadYoutubeApi(){
        this.player = new YT.Player('bgndVideo', {
            videoId: 'YOUR_LIKE_VIDEO_ID',
            width: '1920',
            height: '1024',
            playerVars: {
                playsinline: 1,
                showControls: 1,
                modestbranding:1,
                showinfo:0,
                controls:0,
                rel:0
            },
            events: {
                'onReady': $.proxy(this.onReadyYoutube,this)
            }
        });
    }

    onReadyYoutube(e){
        this.player = e.target;
        this.player.mute();
        this.playVideo();
        $('#bgndVideo').addClass('ready');
    }

    playVideo(){
        this.player.seekTo(1);
        this.player.playVideo();
        this.isPlay = true;
        setTimeout($.proxy(this.playVideo),19*1000);
    }

全体はこんな感じ、これは実は短い動画をループ再生していて、
最後まで再生するとチラッっと黒くなってピカピカちらつくので、最後に到達する前にループしています。(背景のまぁいめーじなので、大丈夫)

css3,transform: translate3dでのちらつきと、重なり順のバグ表示

css3,transform: translate3dでのちらつきと、重なり順のバグ表示

アニメーションをつくっていたら、最後の方でちょこっとチラついたり、zIndexがおかしくなってみえなくなったりすることが有りました。

結果からいうと、以下で解決。

@keyframes animename
from
transform: translate3d(0,20%,0)
to
transform : none; × これを、→ translate3d(0,0,0) に修正

具体的ところでは、要素の書く順番で、普通はBが上に来る。


animeA,animeB{
    position: absolute;
}
~~
<div id="animeA"></div>
<div id="animeB"></div>

けどアニメーションの途中などで以下のスタイルの状態になると、瞬間的にAが上に重なる。

animeA{
    transform: translate3d(0, 0,0);
}
animeB{
    transform: none;
}
~~

これは、translate3dを使った場合に CPUでなくGPUレンダリングが利用され、その描画レイヤーが通常のCPUレンダリングの上に来てしまうらしい。

高速化と確実性の両立がベストだけど高パフォーマンスをだすためにいろいろ頑張っているそのすきまなのかもしれなない。

gulpタスクランナー、babel(ES6)で、クラスプロパティーを使う。

gulpタスクランナー、babel(ES6)で、クラスプロパティーを使う。

ES6の私用でクラスプロパティーがつかえない、TyepScript,Coffeとかは使える。
Class properties transformプラグインをインストールする。

$ npm install --save-dev babel-plugin-transform-class-properties

Class properties transform
https://babeljs.io/docs/plugins/transform-class-properties/

gulpfile.jsでbabelするときにオプションで渡す。

gulp.task('babel', function() {
  browserify({
    entries: ['src/js/app.js']
  })
    .transform(babelify, {
      presets: ["es2015"],
      plugins: ["transform-class-properties"] // ★ココ , presetsとおなじく渡せばいいだけ
    })
    .bundle()
    .on("error", function (err) {
      console.log("Error : " + err.message);
      this.emit("end");
    })
    .pipe(source('app.js'))
    .pipe(gulp.dest('app/js/'));
});

フルスクリーンで縦にコンテンツごとスライドするJavaScriptを比較しようと思ったけど、fullPage.jsで良さそうなので比較しなかった。

フルスクリーンで縦にコンテンツごとスライドするJavaScriptを比較しようと思ったけど、fullPage.jsで良さそうなので比較しなかった。

タイトルの通り比較しようとしてfullPage.jsからみた。

fullPage.js

https://alvarotrigo.com/fullPage/

DocumentやDemoや有料のExtensionを見ていくと。

  • タブレット可能
  • 横も有り。
  • 縦のドットあり
  • スクロールバー付可能
  • なし

  • 横スクロールのドットあり
  • セクション内でスクロール可能(これ良いかも
  • faceエフェクトもある。

ほとんどなんでもできそうで比較せずにこちら採用で.orz.

全画面背景動画をスマホでも自動再生させる方法を考える。

全画面背景動画をスマホでも自動再生させる方法を考える。

情報を探してましたが散乱していて大変だったのでまとめてみました。(ツッコミなど歓迎)
いきなりですが結果Youtubeのiframeplayer apiが結局よかった。

YoutubeのJavvscriptAPIで自動を実装する。

この方法がお手軽でよいかも。以下のJSのライブラリが簡単。
mp4を直接使う方法などいろいろ見ていたのですが、結局 videoタグ/APIでできることは、YoutubeAPIでもできそうで、ソースを見ると、モバイルブラウザの判定eteもしっかり実装されているので、結局のところこちらを使うことにしました。

Modernize Your Site: Building a YouTube Video Background
https://designmodo.com/demo/videobackground/

MP4のビデオ形式や、videoタグ/APIなどについていろいろ調べたので、ついでにメモを貼っておきます。

以下、Webで使える動画形式などの条件

条件 方式など メモ
ファイルフォーマット(コンテナ) MPEG4 (拡張子が.mp4)
動画の圧縮形式 H.264 昔はFirefoxがNGだったけど今はOK
H.264のProfile high profile ( or main profile) 細かく検証できて無くサイトを調べているとhighprofileでも再生できている箇所が多かった orz..
H.264のレベル 3.1 (4でも行けそうだけど。ちょっと検証不足。)
音声 無し これはモバイルでほとんど自動再生ができないため自動再生の場合は無し

動画のコーデックなどの詳細情報の調べ方。

私は、黒羽製作所さまの“真空波動研Lite” を利用させていただきました。

生産物 黒羽製作所
http://kurohane.net/seisanbutu.html

その他参考サイト

H.264 Wikipedia
https://ja.wikipedia.org/wiki/H.264

動画コーデックの種類と違い(H.264・VP9・MPEG・Xvid・DivX・WMV等)【比較】
http://aviutl.info/ko-dekku-tigai/

HTML5 の audio 要素と video 要素でサポートされているメディアフォーマット
https://developer.mozilla.org/ja/docs/Web/HTML/Supported_media_formats

Android/iOS同時対応動画をエンコードする心得
http://qiita.com/yuya_presto/items/9fed29296dbdc7fd1d5d

Supported Media Formats | Android Developers
https://developer.android.com/guide/topics/media/media-formats.html

番外(動画GIFをという話) 【Web制作】スマホのブラウザでも動画を自動再生する方法
http://www.groovoost.com/blog/web/play-video-sp
Androidで再生できる動画フォーマットを調べてみた Zenfone3編
https://www.timbreofprogram.info/blog/archives/1192

はたして iPhone は iOS 10 なら動画を自動再生できるのか
http://qiita.com/haribote/items/ef7ec97ca059eeb6d9ae

iOS10 Mobile Safariにおけるビデオの自動再生
http://qiita.com/hayakix/items/4c841ea76eab70a66e91

AndroidとiOS両方に対応するならmp4を使う
http://qiita.com/yuya_presto/items/9fed29296dbdc7fd1d5d

Can I use… Support tables for HTML5, CSS3, etc
https://caniuse.com/#search=h264

iPhone Safariで動画をインライン再生する方法
http://qiita.com/hadakadenkyu/items/75162099d0bf7cdcfdc7

スマホでの動画インライン自動再生まわりについて調べたことまとめ
http://kimagureneet.hatenablog.com/entry/2016/10/23/020054

Modernize Your Site: Building a YouTube Video Background
https://designmodo.com/demo/videobackground/

デンソー ブランドサイト
https://brand.denso.com/ja/

スマホではtouchstartイベント、PCではclickイベント両方に対応する方法

スマホではtouchstartイベント、PCではclickイベント両方に対応する方法

Javascriptでクリックイベントだとスマホで反応がおもいので、タッチイベントと、クリックイベント両方を実装する方法。
touchstartイベント後にstopPropagation()でイベントフローをストップします。

    var showSmartPhoneMenu = function (e) {
      e.preventDefault();
      var $target = $(e.currentTarget);
      $target.toggleClass('on');
      e.stopPropagation();
    };
    $('#menuBtn').on('touchstart',showSmartPhoneMenu );
    $('#menuBtn').on('click',showSmartPhoneMenu);

よく忘れるPhotoshopを使ったマークアップ方法

よく忘れるPhotoshopを使ったマークアップ方法

スライスの作成方法

  1. 選択レイヤーを残したまま別レイヤーに統合(Cmd + Alt + E)
  2. レイヤーに名前をつける(log.png)など
  3. [ファイル]メニューの[生成] > [画像アセット] で画像下記出し( psdファイルと同じフォルダに出力) 個人的ショートカット割汗(Cmd+Shift+Ctrl+E)

画像の幅を調べる

  1. 選択して Cmd + T (自由変形) をすると、情報パネルにwidthが出る。

距離を測る

  1. 方法1、選択して Shift + 矢印キーで10px及び、矢印キー 1pxを測る
  2. 方法2 物差しツール Shift + i でツールを変更してなぞる。
  3. 方法3 方法2の応用 ガイドを引いて物差しで測る

Page 18 of 47

Powered by WordPress & Theme by Anders Norén