タグ

javascriptに関するFalkyのブックマーク (28)

  • JavaScript: 所望のイベントリスナの発火を妨げているイベントリスナを特定する | Wantedly Engineer Blog

    Webアプリケーションでは、DOMの要素にイベントリスナ(イベントハンドラ)を取り付けることで、ユーザーによる様々な操作 (クリックなど) に応じて処理を行うことができます。 しかし、イベントリスナを登録しても、他のイベントリスナとの干渉によって意図した通りに発火しないことがあります。ここではその調査方法を紹介します。 前提知識: イベントバブリングイベントについては筆者の過去記事でも解説しましたが、あらためてここでも説明します。イベントバブリングを理解することが、イベントデバッグの近道だからです。 DOMにおいて、要素はネストすることによって木構造を形成します。ある要素(ターゲット要素)がクリックされるなどしてイベントが発生したとき、イベントはその要素自体だけではなく、その祖先要素にも送られます。これをイベントバブリングといいます。 イベントバブリングは2つの段階に分けられます。 Cap

    JavaScript: 所望のイベントリスナの発火を妨げているイベントリスナを特定する | Wantedly Engineer Blog
    Falky
    Falky 2023/07/27
    図解が上手いなあ
  • 1週間で数百万回もダウンロードされる人気JavaScriptライブラリが乗っ取られる、Windowsデバイスはパスワード盗難の恐れも

    パッケージ管理ツールのnpmで公開されている「UAParser.js」は、ユーザーエージェントの判定処理を実行するJavaScriptライブラリであり、Facebook・MicrosoftAmazonGoogleなどの超大手企業を含む1000以上のプロジェクトで採用されています。そんなUAParser.jsがハッカーによってハイジャックされ、LinuxおよびWindowsデバイスを対象に暗号資産採掘やパスワードの盗難を行うトロイの木馬が仕込まれていたことが判明しました。 Security issue: compromised npm packages of ua-parser-js (0.7.29, 0.8.0, 1.0.0) - Questions about deprecated npm package ua-parser-js · Issue #536 · faisalman/u

    1週間で数百万回もダウンロードされる人気JavaScriptライブラリが乗っ取られる、Windowsデバイスはパスワード盗難の恐れも
    Falky
    Falky 2021/10/25
    まじ・・・?
  • 現代の JavaScript チュートリアル

    私たちはこのオープンソースプロジェクトを世界中の人々に提供したいと考えています。このチュートリアルの内容をあなたが知っている言語に翻訳するのを手伝ってください。

    現代の JavaScript チュートリアル
  • JavaScript で print デバッグ時に変数名を出力する - mizdra's blog

    数列の和を求めるプログラムを作成することになり、意気揚々と以下のようなプログラムを書いたという状況を想像して下さい。 function sum(nums, acc = 0) { if (nums.length === 0) return 0; if (nums.length === 1) return nums[0]; return sum(nums.slice(1), acc + nums[0]); } const nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; console.log(sum(nums)); // expected: 55 一見すると何も問題なさそうに見えるプログラムですが、実はバグがあります (皆さん分かりますか?) *1。実際に上記プログラムを実行すると 55 ではなく 10 が出力されます。 こうした場面に遭遇すると、自然と sum

    JavaScript で print デバッグ時に変数名を出力する - mizdra's blog
    Falky
    Falky 2021/05/03
    debugger; 知らなかった…
  • 新感覚!メソッドチェーンでアニメーションがスラスラ書ける「Tween24.js」を作りました - ICS MEDIA

    新感覚!メソッドチェーンでアニメーションがスラスラ書ける「Tween24.js」を作りました アニメーションを作る時に、「思いついた演出をすぐに実装したい」「頭の中ではできているのに、コーディングするのが面倒」と思ったことはありませんか?アニメーション作成にはライブラリを使用することが多いと思いますが、使い方を調べて覚えて、ドキュメントからコピペしたり、ひたすらタイピングをして… 私はこれらの問題を解決するために、「Tween24」というライブラリを作りました。Tween24はメソッドチェーンで記述するのが特徴で、たった1行でアニメーションが実装できます。依存ライブラリもなく、単体で動作します。アニメーションライブラリの多くはオブジェクト型でプロパティを指定するためタイピングが多くなりがちですが、メソッドチェーンであればエディターのコード補完機能でスラスラと記述できます。 その他にも、メソ

    新感覚!メソッドチェーンでアニメーションがスラスラ書ける「Tween24.js」を作りました - ICS MEDIA
  • サーバサイドレンダリングの導入から生じるSSRF | セキュリティブログ | 脆弱性診断(セキュリティ診断)のGMOサイバーセキュリティ byイエラエ

    オフェンシブセキュリティ部の山崎です。サーバサイドレンダリング(SSR)の導入によってSSRFが発生する問題を見つける機会があったため、記事では実例を交えながら紹介したいと思います。 サーバサイドレンダリング(SSR)とは? 記事で扱うSSRとは「サーバ上でHTMLを出力すること」を指しています。ただしerbやjspのようなテンプレートからHTMLを出力するのとは異なり、一般的には以下のようにクライアントサイドレンダリング(CSR)の文脈で使われることが主です。 近年のVue.jsやReactを代表するようなWebフロントエンドフレームワークはブラウザ上で動的にDOMツリーを構築して画面を描画(CSR)するのが主流となっています。これによってページ遷移を挟まずユーザ体験のよいシングルページアプリケーション(SPA)が作ることができるというメリットがあります。 ただ、単純なSPAにはデメ

    サーバサイドレンダリングの導入から生じるSSRF | セキュリティブログ | 脆弱性診断(セキュリティ診断)のGMOサイバーセキュリティ byイエラエ
    Falky
    Falky 2021/03/23
    たし蟹
  • 3歳娘「いつから論理式が真偽値のみを返すと錯覚していた?」 - Qiita

    ある日の某Web制作会社 ワイ「おはようございます〜」 社長「ん?やめ太郎」 社長「今日は有休とるんやなかったっけ?」 ワイ「そうなんでっけど、娘ちゃんがJavaScriptを教えてほしい言うもんでっから」 ワイ「よめ太郎と娘ちゃんと一緒に来たんですわ」 ワイ「会社のPC、勉強に使ってもええでっしゃろか?」 社長「(ええでっしゃろか?っていうか)」 社長「(もう、来てもうてるやん・・・)」 社長「も、もちろんええで・・・」 お勉強開始 ワイ「さあ、JavaScriptのお勉強開始や」 よめ太郎「ちゃんとも買うてあるで」 ワイ「おう、気が利くやないけ〜」 ドサドサッ・・・ オライリー 詳解 Javaプログラミング 【全2巻】 ワイ「Oh... Java...」 よめ太郎「2冊で10,000円近くしたわー」 よめ太郎「でもまあ、娘ちゃんの将来のためや!」 ワイ「あの、よめ太郎はん・・・?」

    3歳娘「いつから論理式が真偽値のみを返すと錯覚していた?」 - Qiita
  • 【2019年4月版】JavaScriptのconsoleがすごいことになってた。 - Qiita

    JavaScript の console がすごいことになっているらしい。 日、以下の記事を見つけました。 Getting creative with the Console API! この記事で紹介されている console のメソッド全然知らなかったのでビックリしましたが、実際にどう表示されるのか載っていなかったのでChromeのコンソールでスクショを取ってみました。 console.log() 文によるとlogメソッド内のテキストリテラルは以下の書式で値のフォーマットと置換ができるそうです。 %o / %O - for objects; %d / %i - for integers; %s - for strings; %f - for floating-point numbers; マジすか・・・ そんなわけで以下のコード console.log("Object value:

    【2019年4月版】JavaScriptのconsoleがすごいことになってた。 - Qiita
    Falky
    Falky 2019/04/03
    知らんの結構あるな、、、
  • PixiJS v4

    The HTML5 Creation EngineCreate beautiful digital content with the fastest, most flexible 2D WebGL renderer.

    PixiJS v4
  • 【音声対応】 iPhone Safariで動画をインライン再生する方法続き - Qiita

    iPhone Safariで動画をインライン再生する方法への反応の中に「音声は?」との声がちらほらありました。 スマホは常にサイレントモードにしてて殆ど音出さないのですっかり頭から抜けていましたが、実験済みでしたので今回は音声付きでインライン再生する方法の話をば。 音声をAudio APIを使って同時に再生 最初に思いつくのは動画からDemuxして分離した音声をAudio APIを使って同時に再生する方法でしょう。 実際これで足りる場合もあります。が、足りない場合もあります。 VideoとAudioに同時に再生命令を送っても、同じ速さで再生されるかは保証されない 昔々にAviUTLだのTMPGEncだのでエンコしてた人なんかはわかると思いますが、分離された音声と映像は結構かんたんにズレます。 まして今回はVideoをまともに再生していないわけで。 ですからナレーションとBGMのみのCMなん

    【音声対応】 iPhone Safariで動画をインライン再生する方法続き - Qiita
    Falky
    Falky 2016/07/12
    すばらしい
  • するするさせたい:サイボウズ採用情報のアニメーション(その1) - fragmentary

    サイボウズの採用情報ページを見ていた。 サイボウズ | 採用情報(新卒・キャリア) といっても受けるとかではなく、ただ性格悪いことを思っていただけなんだけど。 Kintoneのセクションでアプリっぽいアイコンたちが右から左へと流れているんだけど、それがガタガタとしている。するするしていない。するするさせたい。 というわけで、何が起こっているのかを調べてみようかと。何回かにわけて書くよ。 その1 ― 何が起こっているのか調べる その2 ― 調べながら直しながらするするさせる その3 ― ちょっとしたことや他のブラウザでもするするさせる アニメーションの実装を調べる あとのことを考えて、Chrome DevToolsを使う。 まず、該当の流れるアイコンのところで右クリックしてinspectする。Elementsパネルで、<div class="icon"> という要素がハイライトされる。div

    するするさせたい:サイボウズ採用情報のアニメーション(その1) - fragmentary
    Falky
    Falky 2016/05/13
    h押すだけでvisibility: hiddenしてくれるなんて知らなかった…。
  • http://www.comico.jp/challenge/detail.nhn?titleNo=14519&articleNo=2

    http://www.comico.jp/challenge/detail.nhn?titleNo=14519&articleNo=2
    Falky
    Falky 2016/03/16
    なんだこれw
  • JavaScript を PNG に圧縮する | Yomotsu net

    JavaScript を PNG に圧縮するツールを作りました。JS_Packer demoscene は最近 WebGL を使ったものも多くなってきています。 demoecene は基的に ローカルにファイルとして存在しているものを使う そのファイル容量は 1 バイトでも少ないほうがいい (容量制限がある分野がある) という文化です。そして JS ファイルを圧縮する手法の一つに、JS を PNG 画像にして、それをデコードする、という手法が存在します。 JS の性質JS のコードは基的にアスキー文字の集まりです。アスキーコードは、小文字/大文字のアルファベット、数字、スペースといった 128 種類しか存在しません。 PNG8 の性質8 ビット PNG は 256 種類の色をパレットに持っています。 PNG は可逆圧縮(ロスレス)形式の画像です。圧縮しても失われるデータはありません。

    JavaScript を PNG に圧縮する | Yomotsu net
    Falky
    Falky 2015/05/11
    自己解凍の発想はなかった…。
  • https://h2md.axell-embedded.com/

    https://h2md.axell-embedded.com/
    Falky
    Falky 2015/03/13
    iPhoneでもインライン動画再生。有償。
  • スクロールバーの幅

    スクロールバーの幅を知りたいことはままある。CSSで拾えれば最高なのだけど……というところで、calc(100vw - 100%)で拾えることがわかった。ただこれで拾えるかどうかはその要素の親に依存するので、いつでもどこでも使えるわけではない。せめてJavaScriptでは扱えるようにしてみたい。 Demo: Get Scrollbar Width with JavaScript ボタンをクリックするとスクロールバーの幅がダイアログで表示される。オーバーレイのスクロールバーの場合は0pxになり、そうでない場合はスクロールバーの幅が返る。body要素の幅が100%であることが条件になるが、まず大丈夫だろう。 仕組みは単純なものでwidthプロパティーをcalc(100vw - 100%)にした要素をbody要素の子に突っ込んで、計算済みスタイルを拾うというだけだ。overflowプロパティー

    スクロールバーの幅
    Falky
    Falky 2014/12/28
    スクロールバーの幅は calc(100vw - 100%) …なるほど
  • Picturefill

    The picture element, srcset and sizes attributes, and associated features allow web developers to deliver an appropriate image to every user depending on a variety of conditions like screen size, viewport size, screen resolution, and more. Picturefill enables support for the picture element and associated features in browsers that do not yet support them, so you can start using them today! Picture

    Falky
    Falky 2014/09/10
    レスポンシブイメージの表示にミラクル便利だけどモダンブラウザ未実装なpicture要素やimgへのsrcset/sizes属性指定などを使えるようにしてくれるやつ
  • Video.js - Make your player yours

    Video.js is a web video player built from the ground up for an HTML5 world. It supports HTML5 video and modern streaming formats, as well as YouTube and Vimeo. It supports video playback on desktop and mobile devices. The project was started mid 2010, and now has hundreds of contributors and is used on over 450,000 websites. Plays anythingPlays “traditional” file formats such as MP4 and WebM, but

    Falky
    Falky 2014/09/09
    videoタグをまともに使えるようにしてくれるやつ。古いIEで再生可になる他、Firefox用にwebM用意しなくてもFlash+mp4にフォールバックしてくれる。つよい
  • 【jQuery】要素が見えたタイミングでイベントを発生させるjQueryプラグイン | バシャログ。

    はじめまして、今月よりバシャログのメンバーになったfukasawaと申します。 まだまだ勉強中で至らぬ点も多々あるとは存じますが、生温く見守っていただけると幸いです。 題です。社内で行われているjQuery勉強会のネタ探しのためにWeb DesigningのjQuery Lab.を読んでいたのですが、記事の中でinviewというjQueryプラグインが使われていました。 記事では「グラフを描画する領域がブラウザの表示領域内に入ったタイミングで、アニメーションを実行しグラフを描画する」という動作を行うためにこのプラグインが使われているのですが、inviewを使うことで、このように「ブラウザ上で見えたときに処理を実行する」という動作を実現できるようです。 jquery.inview 気になったので使い方を調べてみました。 簡単な使い方 1. jQueryとjquery.inview.jsを読

    【jQuery】要素が見えたタイミングでイベントを発生させるjQueryプラグイン | バシャログ。
  • 画像遅延ロード Lazy Load (Unveil.js) で体感表示スピードアップ! – セルティスラボ

    Unveil を組み込む WordPress を使用していれば、Lazy Load 関連のプラグインは沢山登録されています その多くは jQuery の Lazy Load を使用して、PHP側の処理で imgタグ要素の書き換え処理を行っているだけなので、プラグインを使わなくてもテーマに簡単に組み込ムことが出来ます 当初は Celtis-one テーマに直接組み込んでいましたが、celtispack プラグインへ移しました celtispack プラグインをインストールして Unveil Lazyload モジュールを有効化すると簡単に使用できるようになります ダウンロードは、WordPress Plugin : Celtispack ページから行うことが出来ます プラグインに組み込んだ時のポイントを紹介します スクリプトの読み込み おなじみの wp_enqueue_script を使用し

    画像遅延ロード Lazy Load (Unveil.js) で体感表示スピードアップ! – セルティスラボ
    Falky
    Falky 2014/09/08
    画像の遅延ロード。HTML側でimg srcをダミーに書き換えてください!じゃなくて、JavaScriptで動的にダミーに書き換えるのが正しいと思う(けどそのためにレンダリングをブロックしちゃうの本末転倒ではある)
  • WebGLに対応し高速化したCreateJSの描画性能を探る - ICS MEDIA

    インタラクティブコンテンツ制作に役立つHTML5向けのフレームワークCreateJS (使い方は入門サイトを参照ください)。2014年1月に公式ブログでWebGLサポートが発表されました(参照記事「WebGL Support in EaselJS」)。公式ブログによるとパフォーマンスが従来比の6〜50倍にも達するとのことです。 果たしてどのぐらいの性能があるのか気になりましたので、以前の検証記事「HTML5開発者必見、最速のJavaScriptライブラリはどれだ!? パフォーマンスの徹底検証」を元に、WebGL対応版のCreateJS(描画を扱うJSライブラリ「EaselJS」)のパフォーマンスを比較検証してみました。検証に用いたデモは次のリンクをクリックすることで再生できます。 CreateJS (EaselJS 0.7.1) : 従来版。CanvasのContext2Dが利用されている

    WebGLに対応し高速化したCreateJSの描画性能を探る - ICS MEDIA