SheetJS Tools for Excel Spreadsheets
概要 前回HTMLのTABLEタグをExcel(XLSX)に出力する方法を投稿したんですが、ここ最近業務の効率化でJavaScriptでExcelを読み込むという方法を使えないかと思ったら、すぐに情報が出てきたので、まとめておきます。 ちなみにExcelを使わないという選択肢も効率化の中にはあるのですが、それはまた別の機会に取り組みます。 とりあえず今回のテーマはJavaScriptでExcelを読み込むです。 Sheet.js 今回も必要なものはSheetJSです。 フルパッケージのスクリプトを読み込めば必要なものはすべて入っています。 今回もCDNから取得しました。 構成 オブジェクトを作ったわけなんですが、基本的には参考のページに書いてあることを踏襲しているだけです。 実装 この辺りを参考に作ります。 https://stackoverflow.com/questions/41249
昨今、クライアントサイドでプログラムを実行するリスクが高まっています。 そこで、ページ上で実行されるプログラムについて閲覧者に同意を求めるプログラムをこのページに埋め込んでみました。 ひとえにクライアントサイドで実行されるプログラムといっても様々なものがあります。 例えばこのブログはWordpressで作られていますが、使用しているテーマは様々なJavaScriptライブラリを外部から読み込んでいますし、Google アドセンスのような広告を表示するためのプログラムや、Google アナリティクスのようなアクセス解析を行うためのプログラムも閲覧者に許可なく実行され、CPUやメモリ、電力といった閲覧者のリソースを消費します。 また、このブログに掲載しているデータビジュアライゼーションや地図コンテンツは、複雑な計算処理をクライアントサイドで行う為、非常に負荷の高いプログラムがユーザーサイドで実
JavaScript実行時、「閲覧者の了解をいちいち得る」ページ登場 「Coinhiveより嫌」「悪夢」と話題 サイト閲覧者に仮想通貨をマイニングしてもらうことで収益を得られるツール「Coinhive」を、明示することなくサイトに設置した複数のユーザーが、不正指令電磁的記録(ウイルス)取得・保管などの容疑で警察に摘発され、物議をかもしている。 Coinhiveは、サイトに専用のJavaScriptコードを埋め込むと、閲覧者のCPUパワーを使って仮想通貨を採掘する。今回摘発された1人・デザイナーの「モロ」(@moro_is)さんは警察に、「事前に許可(もしくは予感させること)なく他人のPCを動作させたらアウト」であり、明示なくCoinhiveを設置すれば違法との説明を受けたという。 だがCoinhiveに限らず、現代的なWebサイトにはほぼすべて、何らかのJavaScriptが使われている。
Numeral.js A javascript library for formatting and manipulating numbers. Use it In the Browser <script src="numeral.min.js"></script> or include from cdnjs.com <script src="//cdnjs.cloudflare.com/ajax/libs/numeral.js/2.0.6/numeral.min.js"></script> In Node.js npm install numeral var numeral = require('numeral'); Create Create an instance of a numeral. Numeral takes numbers or strings that it trys
JavaScriptで数値フォーマットする標準API「Intl.NumberFormat」 (カンマ区切り、円・ドル表記、漢数字など)JavaScriptI18nl10nECMAScript ほぼすべてのブラウザやNode.jsでサポートされている数値をフォーマットするAPI「Intl.NumberFormat」を紹介する記事です。 JavaScriptで数値をカンマ区切りにしたいときにGoogleで検索してみると、正規表現を使っていたり、ループで回して3桁ごとにカンマ付ける実装を紹介する記事を多く見つけました。 しかし、それらは古い記事ということもあり、2018年現在は数値のフォーマットを実装する必要はありません。EcmaScriptで仕様策定されておりほとんどのブラウザやNode.jsで使える関数があるので紹介します。 今回紹介するコードの実行結果はすべてChromeでの結果になります
Okay so basically I want to have a bit of javascript on a page that somehow attaches some kind of global event listener that can detect and do something if an ajax request is made (without directly calling it from the call), regardless of how the ajax call is made. I figured out how to do this with jquery - if the ajax request is being done by jquery. Here is an example code for this: $.post( // r
ES2015を使ってmochaのテストコードを書きたい。 具体的には、importとexport。 他の仕様には概ね対応していると思うが、これらモジュール機能は、現在のところmochaでは使えない。 そのため、テストコードのなかでこれらを使うとエラーになってしまう。 テストでexportを使うことはあまりない気がするが、importは頻出である。 例えば、Sinon.jsというテスト用のライブラリがあるが、これをimportしようとするとエラーになってしまい、そもそもテストすることが出来ない。 import sinon from 'sinon'; const assert = require('assert'); describe('sinon', () => { it('has spy', () => { assert(Object.prototype.hasOwnProperty.ca
Features Fully responsive. Scales with its container. Separate settings per breakpoint Uses CSS3 when available. Fully functional when not. Swipe enabled. Or disabled, if you prefer. Desktop mouse dragging Infinite looping. Fully accessible with arrow key navigation Add, remove, filter & unfilter slides Autoplay, dots, arrows, callbacks, etc... Single Item
Webアプリを作っていてよく出くわすのがファイルアップロードですね。単純にアップロードするだけなら実装自体はたいしたことないものですが、より良くしようと思うと想像以上に奥が深く…悩ましい沼感があります🤔 今回は今までファイルアップロードを実装していく中で手に入れた改善ポイントを紹介していきます。これで最速・最高のファイルアップロードに1歩でも近づけられればと思います。 なお、僕が普段開発をしているアーキテクチャの都合上、 nginx Rails の話が出てきますが一部を除きWebアプリなら普遍的に使える話だと思います。 2つの側面から紹介します。 UI編 と パフォーマンス編 です。 UI編は、HTML5を中心に使い勝手を向上させるためのポイントを紹介します。パフォーマンス編ではRailsのファイルアップロードを約10倍高速化⚡️した事例を紹介します。それでは長いですが、よろしくお願いし
Vanilla JS is a fast, lightweight, cross-platform framework for building incredible, powerful JavaScript applications. Introduction The Vanilla JS team maintains every byte of code in the framework and works hard each day to make sure it is small and intuitive. Who's using Vanilla JS? Glad you asked! Here are a few: FacebookGoogleYouTubeYahooWikipediaWindows LiveTwitterAmazonLinkedInMSN eBayMicros
Service Workerとは ブラウザが Web ページとは別にバックグラウンドで実行するスクリプト オフラインのアプリを実現・サポートするために作られたものです ちなみに、ブラウザの対応状況はこんな感じ http://caniuse.com/#search=service%20workers 特徴 DOM にアクセスできない DOM を操作したい場合は、Service Worker がコントロールしているページ(js)と postMessage でメッセージのやり取りをして行う リクエストをプロキシすることが可能 Service Worker はブラウザが必要に応じて起動・終了するので、変数の値を保持しておけない Cache、IndexedDB 等で値を保存して、必要になった時に取り出すようにする Promise を多用する https か localhost 上でしか動作しない ラ
WebpackのDefinePluginが何かと便利そうだったので、node-env-fileとの活用を考えてみました。 DefinePlugin var webpack = require("webpack") var loadenv = require("node-env-file") module.exports = { "entry": "...", "output": "...", module: { // loaderの設定 }, plugins: [ new webpack.DefinePlugin({ //ココに定義を書いていく... }) ] } DefinePluginは、webpack.config.js内からモジュールに対し、設定値等の値を注入できるプラグインです。 APIのエントリURLや、各種設定値、環境値等を埋め込むことで、同一のコードを用いながらアプリケーシ
サーバーサイドレンダリング、Isomorphic、Universal JavaScriptなどの言葉をよく見かけます。なるほどね、良さそうだね、外部公開するサービスを書くことがあったら挑戦してみたいね、Mithrilにもisomorphic-mithrilってのをがんばっている人がいるし、みたいなことを漠然と思っていたのですが、最近ASCII.jpのシステムコールプログラミングの連載を書いていて、あらためてHTTPの仕様を見返してみて、逆にサーバーサイドレンダリングをしない方がいいのではないか、と思い始めました。 追記(23:30): サーバーサイドレンダリングと書いていますがUniversal JavaScriptみたいな凝ったビューの更新の意味です。 サーバーサイドレンダリングの欠点 サーバーサイドレンダリングのメリットとしてあげられるのは次の2点です。 検索エンジンのクローラー向け
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く