Tag: javascript
JavaScript
WEBの役立つページ
- JavaScript | MDN
window.openでの開き方
A. 元のウィンドウと同じくらいの別窓で開く
url = "sample.php"; option = "fullscreen=yes"; Win=window.open(url,"_blank",option);
B. Aと似たような動作だが、関数により大きさを習得
url = "sample.php"; sW = window.innerWidth; sH = window.innerHeight; option = "width="+sW+",height="+sH; window.open(url, "_blank" ,option);
C. Bを少し変更して、少し小さい窓を開く
url = "sample.php"; sW = window.innerWidth * 0.9; sH = window.innerHeight * 0.9; option = "width="+sW+",height="+sH; window.open(url, "_blank" ,option);
指定秒数で現在のURLをリロード
マウス操作をした場合は、タイマーは0にセットされそれから指定秒数経ったらリロードします。以下は180秒(3分)の例です。
<script>
$(function() {
var ID;
ID=setTimeout("over()",180000); // タイムアウト時間を 180秒にセット
$("body").mousemove(function() {
clearTimeout(ID); // タイマーをクリア
ID=setTimeout("over()",180000); // タイムアウト時間を 180秒に再セット
});
});
function over() {
var href = window.location.href ;
location.href = href;
}
</script>
※ HAIKで使う場合ですが、前ページならナビページなどに#html{{ ~ }}プログインで記載し、特定のページならそのページの冒頭に#htmlプラグインで記述すると良いと思われる。
2017-01-27 17:35
日付の計算
今の日時を文字列にして返す
// 今の日付を文字列で返す
// ex. 2017-02-18 18:32:11
function nowDateTimeStr(separater) {
var date = new Date();
var y=date.getFullYear();
var m=date.getMonth()+1;
var d=date.getDate();
var h=date.getHours();
var mi=date.getMinutes();
var s=date.getSeconds();
var mS = (m<10) ? "0"+m : m+"";
var dS = (d<10) ? "0"+d : d+"";
var hS = (h<10) ? "0"+h : h+"";
var miS = (mi<10) ? "0"+mi : mi+"";
var sS = (s<10) ? "0"+s : s+"";
var sep = (separater != "") ? separater : "-";
var r=y+sep+mS+sep+dS+" "+hS+":"+miS+":"+sS;
return r;
}
2017-02-18
昨日を「yyyy-mm-dd」(例 2017-02-04)の書式
function yesterday() {
var date = new Date();
dateT = date.getTime();
dateT -= 86400000;//日数 * 1日のミリ秒数
date.setTime(dateT);
var r = date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();
return r;
}
※ getFullYear()が古いブラウザでは対応しないらしい。
2017-02-04
各種変換
全角数字を半角数字に変更
以下のソース、フォントの関係で全角文字と半角文字が判別しづらいです。
// -------------------------------------------------------------
// 全角数値0~9を半角の0~9に変換する
// 2010.05.26
// -------------------------------------------------------------
function CnvZen2Han_0 (v) {
var s=""+v;
var Zen = "0123456789";
var Han = "0123456789";
var r = "";
for (var i=0; i<s.length; i++) {
var c=s.substr(i,1);
var p = Zen.indexOf(c);
if (p>-1) {
r += Han.substr(p,1);
} else {
r += c;
}
}
// alert("r: "+r);
return r;
}
詳しくは、DB@WEBの全角数字を半角数字に変換 (JavaScript) をご覧下さい。ベタな方法で変換しています。
2017-02-04
金額などの位取りのカンマを付加する
2017-02-04
配列
TAB区切り文字の任意のフィールドでのソート
var hitDatas = ["123\tabc\t648",
"323\tbbc\t232",
"143\tdbc\t748",
"323\t3bc\t948",
"233\tfbc\t123",
"323\tagd\t148",
"523\tzbc\t548"
]
hitDatas.sort(function(a,b){
fa=a.split("\t");
fb=b.split("\t");
if(fa[2]<fb[2]) return -1;
if(fa[2]>fb[2]) return 1;
return 0;
});
console.log(hitDatas)
正規表現ほか
半角数字以外の文字の有無を確認
// 数字以外が入力されていた時にチェックし
// そうなら、入力欄にフォーカスを戻し、メッセージを表示
// submitなどで入力内容をチェックする場合になどに使うと便利?
var kno = document.FORM0.input_koumoku.value;
var not_num = /[^0-9]+/;
if (not_num.test(kno)) {
msg = "入力できない文字が入力されています。\\n";
document.FORM0.input_koumoku.focus();
alert(msg);
return false;
} else {
// msg = "確認画面を表示します。\\n\\n";
// flag = confirm(msg);
return flag;
}
引用元:半角数字以外が含まれた時を確認(JavaScript)
2017-02-04
親Windowの要素にアクセス
window.openで開いた子ウィンドウから親ウィンドウの要素(value)の値を取得する場合などは、以下の様な書式でwindow.openerをセレクタの前に記述する事で可能となる。もちろん、以下はjQueryが使える環境です。
var 変数 = window.opener.$(エレメント).val();
jQueryを使わない場合は、次の様な感じでFORMタグのINPUTタグのnameを利用するなら
window.opener.document.myFORM.TEXT1.value = "ABCD1234";
タグのid=のエレメント名を利用するなら、次の様にしてアクセス出来る。
window.opener.document.getElementById("エレメント").value = "ABCD1234";
オープンソースライブラリ
機能拡張
jQuery
Gridライブラリ
SlickGrid
- https://github.com/mleibman/SlickGrid/wiki/Examples
- https://qiita.com/icoxfog417/items/98e34c0555991033afec
w2ui Grid
- http://w2ui.com/web/home
- https://qiita.com/hnakamur/items/052c439674fa92848ada
- https://tr.you84815.space/w2ui_grid/index.html
Handsonable
チャート、グラフ作成
d3.js
地図
OpenLayers
ゲーム開発
enchant.js
JavaScriptでのゲーム、アプリ開発を支援するライブラリ。WEBサイトでは「カンタンにゲームやアプリを開発できる HTML5 + JavaScript フレームワークです。」として紹介されています。
ダウンロードしたenchant.jsファイルには、簡単なシューティングゲームやロールプレーイングゲーム(RPG)の2Dマップ表示のサンプルなども用意されています。
パソコンとブラウザ、テキストエディタでプログラムが作成出来ます。簡潔な書式で画像を画面上で移動表示させるなど、プログラムで処理した事を分かりやすく表現できますので、プログラミング教育などでの活用が期待できそうです。
またライブライを公開した会社の設立者が新潟県長岡市出身で2005年に情報処理推進機構(IPA)より「天才プログラマー/スーパークリエイター」として認定された清水亮さん。2017年に長岡市にAIベンチャー企業を立ち上げている。
《注意》2016年で新たな機能追加等の開発は停止したようです。上記URLも未使用となり、ライブラリは、以下のgithubで取得出来ます。(2022年8月23日時点)
https://github.com/wise9/enchant.js
- 参考
- 「enchant.js」でゲームを作ろう! HTML5とJavaScriptによるアクションゲーム制作入門
https://www.4gamer.net/games/032/G003263/20110428001/
- 「enchant.js」でゲームを作ろう! HTML5とJavaScriptによるアクションゲーム制作入門
PDF.js
- PDFのブラウザ内表示
- https://mozilla.github.io/pdf.js/
PDFの作成
- JavascriptでPDFを作成するライブラリまとめと比較 - 2020/09/23
「javascript」タグ一覧
- jQueryでボタンをクリックした時に別窓を開いて画像表示
- JavaScript
- グラフ描画ライブラリ「d3.js」
- jQuery
- HAIKで使うJavaScript
- HAIK自作プラグイン「spanid」でJavaScriptと連携
- JavaScript関係、各種のオープンソースライブラリ
- Vue.js
- OpenLayers
- p5.js
- bootstrap_test01
- bootstrap
- HAIKの外部リンクに属性追加
- HAIKでページ内のキーワードを置換
- スクリプト言語メモ
- jQueryプラグイン
- Leaflet
関連ページ