↓動作サンプルを作りました 文字コード変換 動作サンプル Unicode の変換が可能になりました。 文字コード配列から URLエンコード/デコード が可能になりました。 あと説明とサンプルも少し載せました。。(説明不足でごめんなさい) こないだの 「JavaScriptだけでzipファイルの解凍 - Unzipper.js」が SJIS ファイルとかだと表示で文字化けするので、ついつい。。 動作確認は、zip ファイル解凍のデモページでわかると思います。 zip の中に SJIS や EUC-JP のファイル (ファイル名) がある場合でも UTF-8 表示で化けなければ問題なしです。 zip 解凍デモページ ↑のデモページを開いて、デスクトップなどから zip ファイルをドロップすると 解凍して結果のテキストを表示します。 ※ JavaScript だけで動いていて、どっかのサーバなど
javascriptで文字コード変換 概要 javascriptの文字列はUTF-16で String#charCodeAt(i) で取得出来る数値は2byte(0x0000から0xffff)になる。 escape("あ") は UTF-16がそのままエスケープされ "%u3042" になるが encodeURI("あ"),encodeURIComponent("あ") などではUTF-8に変換されて "%E3%81%82" になる。 とすることで UTF-16<=>UTF-8 の変換は出来るが、その他の文字コードは変換テーブルを用意する必要がある。 Shift_JIS(MS932), EUC-JP, UTF-8, JIS(iso-2022-jp)に対応したライブラリを2つ見つけたので検証する。 Encoding.js - Converts character encoding. http
はじめに JavaScriptのタイマー処理(setTimeout(), setInterval())は1000分の1秒の精度(ms)で遅延時間を指定することができます。 setTimeout(function() { // 1ms後に実行してほしい alert('hello!'); }, 1); 見ての通り、上記のコードは第一引数に渡した関数が1ms後に実行されることを期待して書かれていますが、実際にこれを実行すると4ms以上の遅延が発生する可能性があります。 これは、JavaScriptエンジンの実装によって、4ms以下の設定値は4msに矯正するという処理が行われているためです。 ※追記)厳密には上記処理のみを実行した場合は4msへの矯正は行われないようです。4msへの矯正が行われる条件として当記事最下部に追記を行っておりますので併せてご参照下さい。 なぜ4msなのか 実はこの4msと
まえがき JavaScript、書いてますか? JavaScriptは今や世界中の人々に愛されています。 stackoverflowの2016年の調査によるとJavaScriptは地球上で最も一般的に使用されているプログラミング言語だそうです。 JavaScript is the most commonly used programming language on earth. Even Back-End developers are more likely to use it than any other language. link しかしJavaScriptは愛されすぎているが故、しばしば黒魔術のようだと比喩されることも少なくありません。 愛と憎しみが紙一重とはこのことですね。 ということでそんなこんなはどうでもいいのですが、自分もJavaScriptは大好きです。 今回は黒魔術まと
<script type="text/javascript"> /* イベントの型を取得 */ function getEventType(event){ var frmObj=document.frmevent; frmObj.elements["txt"].value=event.type; } </script> <form action="#" name="frmevent"> <p><input type="text" onFocus="getEventType(event)" /></p> <p><input type="checkbox" onclick="getEventType(event)" /></p> <p><select onchange="getEventType(event)"> <option value="">▼選択してください</option> <opt
Array オブジェクトに含まれる join メソッドを使用すると、配列に含まれるすべての要素を順に文字列に変換したあと連結して作成した文字列を取得することができます。連結を行うときには引数で指定した区切り文字を使って連結されます。ここでは JavaScript で配列の全要素を連結して作成した文字列を取得する方法について解説します。
javascriptでちょっと賢いロガーっぽいのを作ったとしても、最終的にはconsole.logを使ったりすると、ログの表示箇所が全て同じファイル、行になるのでいまいち不便。 そこで、V8エンジンのブラウザだけだけど、スタックトレースを取得してログメソッドが実行された行数、ファイル名などを一緒に出力する方法を調べた。 を使えばいける。例えばこんな感じ。 Error.prepareStackTrace = function( e, st ) { return { functionName: st[0].getFunctionName(), lineNumber: st[0].getLineNumber(), //いろいろお好きに }; }; function log( msg ) { var obj = {}; Error.captureStackTrace( obj, log ); co
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015. Learn moreSee full compatibilityReport feedback switch 文は式を評価して、一連の case 節に対してその式の値を照合し、最初に値が一致した case 節の後の文を、break 文に出会うまで実行します。一致した case の後にある文も同様に実行します。switch 文の default 節には、 case が式の値と一致しない場合にジャンプします。 const expr = "Papayas"; switch (expr) { case "Oranges": c
標準組み込みオブジェクトFunctionコンストラクターFunction() コンストラクターインスタンスメソッドFunction.prototype.apply()Function.prototype.bind()Function.prototype.call()Function.prototype.toString()Function.prototype[Symbol.hasInstance]()インスタンスプロパティFunction: displayName 非標準 Function: lengthFunction: nameFunction: prototypeFunction.prototype.arguments 非標準 非推奨; Function.prototype.caller 非標準 非推奨; 継承Object/Function静的メソッドFunction.prototy
JSDoc で API ドキュメントを生成する方法と、一部のドキュメンテーションタグの使い方についてメモする。 環境 OS Windows7 64bit Java 1.7.0_51 JSDoc 3.2.2 インストール Java Mozilla Rhino を使った方法でドキュメントを生成するので、 Java が必要。 インストール方法は割愛。 JSDoc 3 GitHub からダウンロードできる。 tags から v3.2.2 を選択して、 zip でダウンロードする。 zip を解凍したら、解凍後のフォルダにパスを通し、コマンドラインからヘルプを表示できることを確認する。 >jsdoc --help OPTIONS: -t, --template <value> The path to the template to use. Default: path/to/jsdoc/templa
更新履歴 2009-03-25 addMonths メソッドでマイナス値を引数にした時の不具合を修正しました。 JavaScript の標準オブジェクトである Date オブジェクトに、各種拡張機能を追加したオブジェクトを返す jQuery プラグインを作ってみました。インスタンス化した Date オブジェクトに独自の拡張メソッドを追加する実装になっているので、Date.prototype の汚染も無く、Date オブジェクト純正メソッドとの併用が可能です。 インスタンスの生成 まず、下記のように記述し Date オブジェクトを生成します。引数を省略した場合は、現在日付時刻の Date オブジェクトが生成されます。 var date = $.exDate(); 引数を指定することで任意の日付時刻のオブジェクトを生成できます。デフォルトフォーマットは yyyy/mm/dd です。 var d
2007年05月06日18:45 カテゴリLightweight LanguagesBlogosphere Hatena::Diary - スーパpre記法で実行可能なJavaScriptを そのはてなダイアリーで、こうすれば比較的安全に実行可能なJavaScriptを記述できるのではないかという提案。 404 Blog Not Found:javascript - はてダでは書けないはてなブックマーク技25個 こういう技の紹介って、JSがあればもっとわかりやすいんだけどはてダはJS禁なので。 はてなアイデア - スーパpre記法で実行可能なJavaScriptを投稿できるようにしてほしい cf. http://blog.livedoor.jp/dankogai/archives/50824976.html レシピ まずは、スーパーpre記法を以下のように拡張。 はてなダイアリーのヘルプ
解禁といってもえらい回り道をすれば間接的に、ですけど。 ■d2.hatena.ne.jpで新機能・新デザインのベータテストを開始しました - はてなダイアリー日記 ということで、ベータテスト中のはてなダイアリーを試している。 ファイルのアップロード機能が付いたのが物凄くでかい。 今のところ、一ファイル辺り100MまでOKで、あらゆる拡張子のファイルがアップロード可能。 ちょっと手間を掛けると色々な事ができるようになりそうです。 1.d2サーバーではファイルのアップロードが可能 2.拡張子を問わずどんなファイルタイプでもアップロードが可能 3.1ファイル辺り100MまでOK 4.htmlファイルやjavascriptファイルがアップロード可能 5.アップロードしたhtmlファイル内でjavascriptが無制限に動いている 6.popIn Rainbow等の外部ページをプレビュー出来るブログ
[html5.js]とは? そもそも[html5.js]とは何か? 一言で説明すると「Internet Explorer 8 以前のブラウザでも HTML5 に対応できるようになるスクリプト」です。 Microsoft が開発している[Internet Explorer]は、そこそこ普及しているにも関わらず、エラーやセキュリティの脆弱性が多く、また最新技術への対応も遅く、特にウェブデザイナーの方たちからは「諸悪の根源」として忌み嫌われている残念なブラウザです。 実際 Internet Explore 9 でようやく HTML5 の新要素がサポートされるようになったものの、下位ヴァージョンの Internet Explorer 8 以前のブラウザで HTML5 で製作したサイトを閲覧すると恐ろしいほどにレイアウトが崩れて表示されてしまいます。 これは、Internet Explorer 8
昨日、ツイッターの公式ブログから引用してツイートしようとしたら、ブックマークレットが機能しなかった。12時間くらい原因と対策を探して、少なくとも次の二つのサイトでFirefoxのブックマークレットを利用できないことが分かった。 Twitterについて GitHub ・ Build software better, together. 同じドメインのページでも同様である。 ようやく見つけた原因と対策は次の通りである。 GitHub では、URL 末尾に "?w=" を付与すると、diff からスペースのみの変更行を除去できます。 "?w=" は覚えられないため、次のような Bookmarklet を作成したのですが、GitHub のサイトでは動きません。 (中略) 回答(中略) Fifefox では、https なページに対するブックマークレートが CSP というセキュリティレイヤによって、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く