[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
何に使うの? 感はあるが……
var extend = function(superClass, subClass) {
var list = superClass.prototype;
for(var key in list) {
subClass.prototype[key] = list[key];
}
};
var com = com || {};
com.hiyoko = com.hiyoko || {};
com.hiyoko.Hiyoko = function(){};
com.hiyoko.Hiyoko.prototype.hiyohiyo = function() {
console.log('hiyohiyo');
};
com.hiyoko.Hitsuji = function(){};
com.hiyoko.Hitsuji.prototype.melemele = function() {
console.log('melemele');
};
extend(com.hiyoko.Hiyoko, com.hiyoko.Hitsuji);
var sheep = new com.hiyoko.Hitsuji();
sheep.hiyohiyo();
prototype を for in で回して挿入しているだけ。
開発者にアカウントを発行したい。既にアカウントを発行するための Jenkins のジョブは用意されていたが、それを事務のお姉さんが手動で実行するという運用だった。つまり、以下の手順となる。
これは、先輩が事務のお姉さんを飲み会に誘う際の障害となる。その為、以下の手順になるようにした。
事前準備として Jenkins の ジョブ > 設定 > ビルド・トリガ > リモートからビルド (例: スクリプトから)に適当な文字列を入れる。この適当な文字列を仮に「SHEEP」とする。
以下のような感じで送れば Jenkins のジョブを実行できる。
$.ajax({
type:'POST',
url: 'http://my_jenkins_domain.example.com/jenkins/job/MY_JOB_NAME/buildWithParameters',
data: {
token: 'SHEEP', // 上記の適当な文字列
PARAM_NAME_1: 'your parameter1',
PARAM_NAME_2: 'your parameter2',
PARAM_NAME_3: 'your parameter3'
}
});
audio 要素のイベントを扱うに書いた件、$('audio#playing')[0].play();みたいなことはできない。スマートフォンは通信量の不安があるため、ユーザが意図して再生しない限りは play できないようにブラウザ側で機能を制限しているようだ。の割には Android 標準ブラウザではやれたのだが……
HTML から音楽を操作できる audio 要素を、 JS から操作する。
// トリガとなるイベントは
// https://developer.mozilla.org/ja/docs/Web/Guide/Events/Media_events を見ると分かるが
// もっとたくさんある
$audio.on('play', function(e){
console.log('再生したよ');
});
$audio.on('pause', function(e){
console.log('停止したよ');
});
// playing id をもつ audio 要素の再生を止める
var $audio = $('audio#playing');
//pause() を実施させている。
//他にも play とかもやれる
$audio[0].pause();
function preventGoOut(e){
return 'ページから出てしまって構いませんか?';
}
$(window).on('beforeunload', preventGoOut);
これだけで、ユーザがページから離脱しようとするのを「本当にいいの?」と確認できる。beforeunload にトリガされる関数が返す文字列を添えてユーザに確認してくれるのである。ただし、実は多くのブラウザでは添えろ、と指示した文字列を何故か表示しない。
以下のようにすれば確認をやめる。
$(window).off('beforeunload', preventGoOut);