kikukawa's diary

都内で活動するシステムエンジニアが書いてます。 興味を持った技術やハマったポイント、自分用メモをつけてます。 最近はweb中心

JavaScript

ckeditorでデフォルトをアップロードタブに

ckeditorで、画像挿入ボタンをクリックした時にデフォルトのタブをアップロードに変更する方法

よく使うスニペット URL文字列のクエリ判定

毎回書いているのでスニペットとして、残しておく var url = '/foo?bar=buz'; if(url.indexOf('?') !== -1){ url = url + '&foobar=barbuz'; }else{ url = url + '?foobar=barbuz'; } console.log(url)

nodebrewのインストールが失敗する

ドキュメントにも書いてありますが、自分用メモ ワンライナーでやろうとしたら下記のようにエラーが発生しました。 $ curl -L git.io/nodebrew | perl - setup % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent L…

CKEditorの画像アップロード時のプレビュー文字を変える

CKEditorの画像アップロード時のプレビュー文字を変える

Protractorのbindingロケーターではまり

by.bindingを使用していてハマりました。 こんなエラーメッセージです。 Message: TypeError: Invalid locator Stacktrace: TypeError: Invalid locator ==== async task ==== Protractor.waitForAngular() ==== async task ==== ProtractorかつJasmineでテ…

ProtractorでのE2Eテストを一つのgulpタスクで

E2Eテストを実行させるのに、http serverの起動、seelnium standaloneサーバーの起動、protractorの実行と 3つのターミナルが必要になります。 それをコマンド1つでテストのたびに毎回それをやるのも面倒だったので、gulpのタスクとしてできるようにしました…

karma-html2js-preprocessorとkarma-ng-html2js-preprocessor

karmaでjavascroptのテストを実行するときに、htmlファイルに書いたhtmlを 文字列として取得したい時があります。 そんな時に、 karma-html2js-preprocessorを使用すると、 簡単に文字列として取得できるので便利です。 karma-html2js-preprocessor karma-ng…

MACでのProtractor(selenium standalone server)の実行にjdkが必要

MAC OSX 10.10にてprotractorを実行しようとしたときの話です。 protractorのconfにseleniumAddressは記述していません。 > bar@0.0.0 protractor /home/foo > protractor test/protractor-conf.js Starting selenium standalone server... [launcher] Runni…

nodebrewでnode.jsのインストール

自分用メモ インストール方法を毎回調べているのでメモ nodebrewでインストールします。perlとcurlを使うのでそれぞれパスが通っているか確認します。 foo:~$ which perl /usr/bin/perl foo:~$ which curl /usr/bin/curlnodebrewのインストールをします。 fo…

JSFiddleでangular1.3系、angular-ui-routerを使う

JSFiddleはデフォルトで使用するframeworkを選択できます。 しかし、AngularJSは、バージョン1.2までしか用意されていません。 そこで、1.3系を使う方法と、ついでにangular−ui-routerを使う方法までを 自分用のひな形として残します。samaple サイドバーの…

$stateChangeStartの引数toStateにfunctionが定義されていない

angular-ui-routerを使用して、遷移先のチェックをしたかったのですが、 $stateChangeStarの引数としてうけとれるtoStateにfunctionが登録されてませんでした。やりたかったこと $rootScope.$on('$stateChangeStart', function(event, toState, toParams, fr…

moment.jsを使用して、指定した期間のすべての日付を列挙する。

自分用メモ開始日付と終了日付を指定して、その間の日付をすべて列挙する。 日付を軸に持ったグラフのデータ作りなんかに。 var list_all_date = function(params_start,params_end){ var start = moment(params_start), end = moment(params_end); while(st…

JavaScriptでデフォルトの引数を実現させる

毎回調べているので自分用メモ var foo = function(bar){ if(bar === undefined){ bar = {}; } //your code ... }; undefinedが上書きされる可能性もありますが、 基本的にそんな状態にはならないはずなのでtypeofによる型判定まではしていません。 チーム全…

inArray

function inArray ( val , ary ) { var i; for (i=0; i < ary.length; i++) { if (ary[i] === val) { return true; } } return false; }; http://www.dustindiaz.com/top-ten-javascript/より

javascriptのparseIntとNumber

var num = parseInt( str ); としたときにstrに"0"で始まる値を入れると8進数として解釈される var num = Number( str ); すると、"0"で始まる文字列でも10進数になる parseIntで意図した挙動をとらせたいならば、parseIntの第2引数に10を指定する

JavaScriptライブラリ

http://www.openspc2.org/http://javascript.webcreativepark.net/http://javascriptlibraries.com/

JavaScript難読化

http://www.broadband-xp.com/obfuscation/index.html

JavaScriptではまり

ボタンで以下のようなファンクションを作り、onclickでひろったがなぜかsubmiされなかった。 function pageBack(){ document.form1.action = './select.php'; document.form1.submit(); }原因はボタンのほかに <input type="submit" value=" 作成 ">がありここに name='submit' の文がはいってい…