タグ

javascriptに関するfashiのブックマーク (331)

  • jqueryのattrとprop(とdataとvalとhtmlとかつまり属性とかの取得)の使い分け一覧 - Qiita

    最初に attrとpropの使い分けがわからないと言われたので、誰でも使い分けができるようになる一覧を作りました。 基的にはpropで取得できるものはpropで、そうじゃないものはattrで、と思っていたのですが、data-*やvalueまでそれで取得していたので、思ったよりもが根が深いなと思った次第です。 (追記)data属性に対する扱いについて data-*属性には、用途が2種類あります。 HTML5としてのカスタム属性(とそれを利用した関連技術) jQueryのdata()メソッドのための初期値 前者はそれを利用した有名どころではBootstrapTwitterBootstrap)がなどがありますが、 CSSの属性セレクタとしても使えるので、別にBootstrapに限った話ではなく、普通に使用している人もいるかと思います。 問題は後者の方で、ここで「初期値」と書いたり、追記前の記

    jqueryのattrとprop(とdataとvalとhtmlとかつまり属性とかの取得)の使い分け一覧 - Qiita
  • サブミット時に display none になっている入力欄に disabled 属性をつける jQuery プラグインを作った - わからん

    フォームをサブミットするときに、display none になっている input 要素に disabled 属性をつける JavaScript を書いたので、jQuery プラグインにしてとっておくことにしました。サブミット時に DOM のトラバースコストを払うことで、サーバサイドでは、より質的な仕事に集中できます。フォーム部品の hide()/show() 類を多用する巨大なフォームでの利用を想定しています。 仕様 hidden 属性を持つ input 要素は対象としません input 要素自体が display none ならサブミット時に disabled 属性を付与します input 要素の親要素のどれかが display none なら、サブミット時に input 要素に disabled 属性を付与します 実装 (function($) { var is_none = fu

  • [JS]便利なのが登場!実装はかなり簡単なのに、さまざまなチャートやグラフを実装できるスクリプト -ApexCharts

    チャートやグラフを実装するのは面倒、と思われがちですが、そんな人にはこのスクリプトをお勧めします。 div要素一つと外部ファイルを一つ、あとはグラフのデータを設定するだけで、さまざまなチャートやグラフが簡単に実装できてしまう単体のJavaScriptライブラリを紹介します。 レスポンシブ対応で、アニメーションにも対応、カラー変更やグラデーションやパターンにも対応している優れものです。 ApexCharts ApexCharts -GitHub ApexChartsの特徴 ApexChartsのデモ ApexChartsの使い方 ApexChartsの特徴 ApexChartsはシンプルなAPIを使用して、インタラクティブなチャートやビジュアライゼーションを作成するためのモダンJavaScriptのチャート作成ライブラリです。 MITライセンスで、個人でも商用でも無料で利用できます。 レスポ

    [JS]便利なのが登場!実装はかなり簡単なのに、さまざまなチャートやグラフを実装できるスクリプト -ApexCharts
    fashi
    fashi 2018/08/01
    Google Chartsとどっちがいいだろう
  • bootstrap-input-spinner

    A Bootstrap / jQuery plugin to create input spinner elements for number input, by shaack.com engineering. For now it needs jQuery, but I am working on it. This version is compatible with Bootstrap 5, but we remain a Bootstrap 4 compatible version with the branch bootstrap4-compatible. npm versions 3.x are Bootstrap 5 compatible, versions 2.x Bootstrap 4 compatible. License: MIT Features The Bootst

    fashi
    fashi 2018/07/27
    HTML5のinput type=numberのブラウザ依存対策
  • 何っ! PWAがデスクトップでも動くだと? しかも最高だと?【SEO記事12本まとめ】 | 海外&国内SEO情報ウォッチ

    何っ! PWAがデスクトップでも動くだと? しかも最高だと?【SEO記事12本まとめ】 | 海外&国内SEO情報ウォッチ
  • Vim を WebAssembly に移植した - はやくプログラムになりたい

    久々のブログです. 6月ぐらいにWebAssembly の仕様をざっくり読んだので,なんか WebAssembly でやりたいなと思って,VimWebAssembly に移植してブラウザで動くようにしてみました,という話です. github.com 多分実物を見ていただくのが一番早いので,下記のリンクにアクセスしてみてください. デモページはこちら(下記の注意事項を先にお読みください) 注意 デスクトップ版の Chrome か Firefox か Safari か Edge を使ってください.どうやら macOS では Safari が一番動きが良いです. デモページは全部で1MBほどのリソースを fetch します.モバイルネットワークなどからアクセスする場合はお気をつけください. keydown でキー入力を取っているので,キー入力を横取りするブラウザ拡張などが有効になっていると

    Vim を WebAssembly に移植した - はやくプログラムになりたい
    fashi
    fashi 2018/07/09
    すごいなあ。手法が確立したらモダンブラウザ上で動くlynxやw3mを見たい
  • フロントエンドの「想定外」に対応する考え方とTipsいくつか

    とても個人的な話ですが、ここ最近で自分自身のプライバシー意識の高まりを感じて、ブラウザの設定を見直す機会がありました。見直したのはCookieの設定で、許可したドメインにしかCookieを記憶しないようにしました。設定変更によるある程度の不便は覚悟していました。とはいえ、ま〜せいぜい、初回アクセスの時のモーダルが何度も出るようになるとか、ログインできなくなるとか、そのくらいかなと思っていました。 しかし実際は、悪い意味で期待を裏切られることになりました。 Cookieが無効なだけで、“全く”動かなくなってしまうウェブサイトやウェブアプリが、当にたくさんあることに気づいたのです。 全く動かなくなってしまう原因は単純(後述)だったのですが、ちょっとした対処で簡単に直せることなのに、サイト全体が一切使い物にならなくなってて、もったいない!! と思いました。 フロントエンドの想定外 ウェブサイト

    フロントエンドの「想定外」に対応する考え方とTipsいくつか
    fashi
    fashi 2018/07/05
    「Cookieが無効なだけで「全く」動かなくなってしまうウェブサイトのほとんどは、Web Storageを読み書きするときに起きる例外が原因」
  • Node.js における設計ミス By Ryan Dahl - from scratch

    Ryan Dahl は Node.js の original author ですが、彼の作ったプロダクト deno に関するトークが jsconf.eu 2018 でありました。 Node.js にずっと関わってきた僕が見て非常に興奮するような話だったので、しばらくぶりにブログに書き起こすことにしました。 背景 Ryan Dahl は2009年に Node.js の話を初めて公の場に公開しました。その時の「公の場」というのが「jsconf.eu 2009」です。 www.youtube.com Video: Node.js by Ryan Dahl - JSConf.eu - 2009 この発表から Node.js が広まり、今やサーバのみならず、IoTデバイス、デスクトップアプリなど、様々なところで動作しています。 で、今回はその発表から9年の歳月が経過し、Node.jsに対しての設計不

    Node.js における設計ミス By Ryan Dahl - from scratch
  • JavaScriptのStreams APIで細切れのデータを読み書きする

    近年、PCに搭載されるメモリは爆発的に増えました。16GBや32GBのメモリが搭載されているのが当たり前の時代です。性能の制限が強いスマートフォンですら4GBほど搭載していることがあります。ストレージの読み書き速度もどんどん加速し、昔では扱えなかったようなデータ量をリアルタイムで処理できます。インターネット回線も同様に大量のデータを扱えるようになりました。 しかし現実的な大きさのデータを一度に扱おうとすると、現代でもそれなりに処理時間がかかります。ユーザはレスポンスに対して敏感で、反応が0.1秒でも遅れるとストレスを感じます。しかし時間がかかるものはかかるのです。この問題は一見どうしようもないように思えます。 そこで登場するのが「データを細切れにして処理する」というコンピュータにおける万能の薬です。細切れにして逐次処理すれば、少しずつデータを処理することができ、素早いレスポンスを実現するこ

    JavaScriptのStreams APIで細切れのデータを読み書きする
    fashi
    fashi 2018/05/28
    アプリ用な感じ
  • 2018年のJavaScriptのコードフォーマッター事情 - Qiita

    2020/01/23追記: これはすでに古い情報です。ESLintとPrettierは同時に使わないのが今の推奨設定です。最新の情報は以下のところにあります。 https://future-architect.github.io/typescript-guide/baseenv.html 以下は過去の情報です PySpa統合思念体です。 go fmt便利ですよね。設定なしで言語が定めるルールで一発でやってくれるので良いですね。で、JavaScriptでは歴史的経緯もあって、フォーマットの流派はいろいろあります。 インデントはスペース2/4、ハードタブ 文字列にはシングルクオート使う派(英語キーボードだとシフトキー押さなくていい) 末尾のセミコロンは必須・省略 そのためカスタマイズ可能なフォーマッターが必要となります。カスタマイズの柔軟性や歴史的経緯や新しい文法への対応などで、いくつかのツー

    2018年のJavaScriptのコードフォーマッター事情 - Qiita
  • 1行のコードでモバイルブラウザに開発者ツールを搭載できるJavaScriptライブラリ「Eruda」を使ってみた! - paiza times

    どうも、まさとらん(@0310lan)です! 今回は、スマホのモバイルブラウザに格的な開発者ツールを組み込むことができるJavaScriptライブラリをご紹介します! 「コンソール」機能を使ったデバッグやエラーログの確認、「ネットワーク」機能で通信状態を確認したり、「リソース」機能でCookieデータを確認するなどなど…、開発する上で便利な機能が満載です。 スマホ1つあれば開発者ツールが利用できるので、ぜひみなさんも試してみて下さい! 【 Eruda 】 ■「Eruda」の使い方 それでは、「Eruda」を利用して開発者ツールを使うための準備作業から始めましょう! 準備といってもやることは簡単で、「Eruda」のライブラリファイルをインストールするだけです。 Node.jsの開発環境を持っている人であれば、npmから以下のようにインストールできます。 npm install eruda

    1行のコードでモバイルブラウザに開発者ツールを搭載できるJavaScriptライブラリ「Eruda」を使ってみた! - paiza times
  • JavaScriptだけでTrello風タスク管理ボードを開発できるライブラリ「jKanban」を使ってみた! - paiza times

    どうも、まさとらん(@0310lan)です! 今回は、簡単なJavaScriptコードだけでTrello風の「タスク管理ボード」を開発することができるライブラリのご紹介です! 非常にカスタマイズ性が高く、自分好みのタスク管理アプリを構築したい人などには最適でしょう。 コードも簡単で初心者の方もすぐに理解できると思うので、ぜひ参考にしてみてください! 【 jKanban 】 ■「jKanban」の使い方 それでは、まず最初に「jKanban」を利用するための準備から始めていきましょう! 必要になるのは専用の「JS / CSS」ライブラリで、GitHubからそれぞれ取得して読み込むだけなのでお手軽です。 これらのライブラリは次のようにHTMLへ追記しておけば準備完了です。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>j

    JavaScriptだけでTrello風タスク管理ボードを開発できるライブラリ「jKanban」を使ってみた! - paiza times
  • Python Webスクレイピング テクニック集「取得できない値は無い」JavaScript対応@追記あり6/12 - Qiita

    この記事について 記事はPythonを使ったWebスクレイピングのテクニックを紹介します。 ※お酒飲みながら暇つぶしで書いたので割と適当です。 今回紹介するテクニックを使えれば経験上大体どんな値でも取得でき、これらはRubyだろうがGolangだろうが同じ様に動作します。 Webスクレイピングが出来ないサイトがあればコメントにて教えてください。全身全霊を持ってやってみます。 また、Webスクレイピングをしたことが無い方は下記の記事を読むことをお勧めします。 Python Webスクレイピング 実践入門 - Qiita 追記更新 6/12 コメントに対応しました。 はじめに 注意事項です。よく読みましょう。 岡崎市立中央図書館事件(Librahack事件) - Wikipedia Webスクレイピングの注意事項一覧

    Python Webスクレイピング テクニック集「取得できない値は無い」JavaScript対応@追記あり6/12 - Qiita
    fashi
    fashi 2018/02/23
    スクレイピングに対策する記事が読みたい
  • WinampをHTML5とJavaScriptで再現した「Winamp2-js」

    往年のMP3プレイヤーソフトウェア「Winamp」のバージョン2.9をHTML5とJavaScriptを用いて再現し、ブラウザ上で音楽を再生可能な「Winamp2-js」が公開されています。 Winamp2-js https://jordaneldredge.com/projects/winamp2-js/ GitHub - captbaritone/winamp2-js: A reimplementation of Winamp 2.9 in HTML5 and Javascript https://github.com/captbaritone/winamp2-js Winamp2-jsが動作するのはEdge、Firefox、Safari、Chromeで、Internet Explorerはサポート外。 「プレイヤー部分にファイルをドラッグ&ドロップ」「イジェクトアイコンを押してファイ

    WinampをHTML5とJavaScriptで再現した「Winamp2-js」
    fashi
    fashi 2018/02/14
    イカスけどプラグインが魅力で使ってたアプリだからな…
  • ECMAScript 2015以降のJavaScriptの`this`を理解する

    この記事はJavaScriptの入門書として書いているjs-primerのthisに関する部分をベースにしています。 またjs-primerでは書けなかった現在時点(2018年1月1日)でのブラウザの挙動についてを加えたものです。 次の場所にjs-primer版(書籍版)のthisについての解説があります。 この記事と違って実際にコードを実行しながら読めるので、学習ソースとしては書籍版を推奨します。 書籍版: 関数とthis · JavaScriptの入門書 #jsprimer また、バグ報告やPRも直接リポジトリにして問題ありません。 asciidwango/js-primer: JavaScriptの入門書 おかしい場所を選択した状態で右下にある”Bug Report”ボタンを押せば、簡単にtypoとかのバグを報告できます。(PRでも歓迎) 前置きはこの辺までで、ここから編。 この記

    ECMAScript 2015以降のJavaScriptの`this`を理解する
  • 新QiitaでReactをやめてhyperappを採用した背景 - Qiita

    12/1 に Qiita のトップページをリニューアルしました。これまで React を使っていましたが、それをやめて hyperapp を採用しました。まわりを見てもあまり採用事例が見当たらないので、この記事では一体なんで今をときめく React ではなく hyperapp を選択したのか、どういうところが魅力的なのかについて プレゼンテーション層を実装するためのツールとして 学習コスト の観点から書きたいと思います。なおこの記事に書かれていることは全て個人の感想であり、はっきりいって個人の日記レベルです。 それと hyperapp の開発者が社内にいるという事情もあるので、そこら辺さっぴいて読んでください。 TL;DR プレゼンテーション層を実装するためのツールとして React は機能過多だし、機能不足 hyperapp は過不足ない 学習コスト 仮想 DOM は学ぶ価値のある知識

    新QiitaでReactをやめてhyperappを採用した背景 - Qiita
    fashi
    fashi 2017/12/27
    「React で必要なのは仮想 DOM と JSX だけだった」
  • イマドキのJavaScriptの書き方2018

    PySpa統合思念体です。これからJavaScriptを覚えるなら、「この書き方はもう覚えなくていい」(よりよい代替がある)というものを集めてみました。 ES6以降の難しさは、旧来の書き方にプラスが増えただけではなく、大量の「旧来の書き方は間違いを誘発しやすいから非推奨」というものを作り出した点にあります。5年前、10年前のやウェブがあまり役に立たちません。なお、書き方が複数あるものは、好き嫌いは当然あると思いますが、あえて過激に1つに絞っているところもあります。なお、これはこれから新規に学ぶ人が、過去のドキュメントやコードを見た時に古い情報を選別するためのまとめです。残念ながら、今時の書き方のみで構成された書籍などが存在しないからです。 たぶん明示的に書いていても読み飛ばす人はいると思いますが、すでに書いている人向けではありません。これから書くコードをこのスタイルにしていくのは別にいい

    イマドキのJavaScriptの書き方2018
    fashi
    fashi 2017/12/26
    constに空オブジェクト入れてから操作してるのめっちゃ違和感あるな… / for内async便利そうなので今度試してみよう
  • jQueryが必要とされなくなってきたのは, Reactなどの他のフレームワークが登場したせいではなく, 標準DOM APIが進歩したおかげです

    jQueryが必要とされなくなってきたのは, Reactなどの他のフレームワークが登場したせいではなく, 標準DOM APIが進歩したおかげです JavaScript Advent Calendar 2017 - Qiitaの2日目の記事です. 何故この記事を書こうと思ったか JavaScriptの定番ライブラリであるjQueryは, 最近以前と比べて必要とされなくなってきました. その理由はよく, Reactなどの他のフレームワークが登場したせいだと勘違いされています. しかし, jQueryが必要とされなくなってきた理由は標準DOM APIの進歩によるものです. この記事ではそれを書いていきます. なお, この記事ではReact Nativeについて触れる必要がないため, React DOMのことも一緒くたにReactと記述します. また, 私がweb開発を開始したのは3年前ぐらいから

    jQueryが必要とされなくなってきたのは, Reactなどの他のフレームワークが登場したせいではなく, 標準DOM APIが進歩したおかげです
    fashi
    fashi 2017/12/02
    標準DOM APIが進歩したので不要になるのはわかったけどReactやAngularとjQueryは併用できる云々のくだりは蛇足だな
  • ウェブアプリをソースごとパクる業者に対する対策 - Qiita

    こんにちは。みなさんもウェブアプリをリリースしたあとに同業者にソースごとパクられたことってありますよね。難読化しても難読化されたまま同業者のサーバで動くので困ったものです。そこで、私がとった解析しずらい対策をまとめてみたいと思います。 前提 多機能な画面をJavaScriptでゴリゴリ作ったのにもかかわらず、HTMLCSSJavaScriptファイル一式を自社サーバにまるごとコピーして、ライセンス表記だけ書き換えて使うような業者を罠にはめるということを想定しています。 当然通信をリバースエンジニアリングする人もいるので、自社サーバでは防げないという前提です。 HTMLにはauthorメタタグ よくあるMETAタグで権利者を明記します。これは権利の主張もそうですが、JavaScript自体に権利者が認定した権利者でなければ無限ループを起こすという処理のためにも使用します。逆に、権利者が我

    ウェブアプリをソースごとパクる業者に対する対策 - Qiita
    fashi
    fashi 2017/11/15
    「このコードをfalseを取り出すためだけに一部業務ロジックで利用すると、確実に消せないコードになります」笑った
  • 全部クライアントサイド JavaScript で実装されててメモは Google Drive に保存される Markdown メモツール作った。 - Diary

    全部クライアントサイド JavaScript で実装されててメモは Google Drive に保存される Markdown メモツール作った。 https://memopad.ssig33.com/ 以前から自分専用に使ってたメモツールがあったのだが、これにつかってた MySQL が落ちて、その MySQL の復帰のしかたはメモツールにしか書いてなかったみたいな頓知みたいな事態が起きてキレて作った。 バックエンドを自前のサーバーからクライアントサイド向けの GoogleAPI Library に置き換えるだけなのでわりとシュッと出来てよかった。 React のおかげで当にこういうのはめちゃくちゃ簡単になった。 HTML と JS は S3+Cloudfront でデプロイしている。これでやってる。 サイトの説明にも書いてるけど、あらゆる機能がクライアントで動くように実装されている