約 2,903,251 件
https://w.atwiki.jp/bonze2/pages/15.html
JScript/よくあるパターン emacsでJScriptを編集するための準備 メジャーモード .wsfファイルとして作成する場合、XMLとJavaScriptの表記がまざることになる。 mmm-mode http //sourceforge.net/projects/mmm-mode/ cd mmm-mode EMACS=meadow ./configure make として,コンパイルをします. これができなければ, dired で開いて拡張子が el のファイルにmでマークをつけて, Bとしてコンパイルしてもかまいません. 後は,フォルダごと site-lisp へ移動します. そして,以下の設定を追加します. ;; mmm-mode (require mmm-mode) (setq mmm-global-mode maybe) ;; 色設定.これは,好みで.色をつけたくないなら nil にします. (set-face-background mmm-default-submode-face "navy") 参考:http //www.bookshelf.jp/soft/meadow_13.html#SEC102 js2-mode http //code.google.com/p/js2-mode/ 最新ファイルをダウンロード。 site-lisp にコピー ファイル名を js2.el にする バイトコンパイル(Diredでマーク(m)してバイトコンパイル(B)) ;; js2-mode (autoload js2-mode "js2" nil t) (add-to-list auto-mode-alist ("\\.js$" . js2-mode)) mmm-modeで有効にするには、さらに (mmm-add-classes ((wsf submode js2-mode front " script[^ ]* \n !--\n" back " ?-- \n /script "))) (mmm-add-mode-ext-class nil "\\.wsf$" wsf) javascript-mode http //www.brgeight.se/ 参考:http //d.hatena.ne.jp/m-hiyama/20080627/1214549228 http //stickydiary.blog88.fc2.com/blog-entry-94.html
https://w.atwiki.jp/m_shige1979/pages/1188.html
CoffeeScript インストール コメント インデント 変数 文字列 数値 配列 連想配列(オブジェクト) 演算子 条件分岐 繰り返し 配列内包 関数 クラス javascriptの挿入 正規表現 例外 javascriptへの変換 Webブラウザに直接CoffeeScriptを記述 ブラウザオブジェクトの制御
https://w.atwiki.jp/minosvs/pages/27.html
function文による定義 function 関数名([引数1 [, 引数2 [, ……]]) { 関数内で実行される処理 } Functionコンストラクタによる定義 var func = new Function("arg1", "arg2", "arg3", "関数内で実行される処理"); 関数リテラルによる定義 var func = function(引数1, 引数2, ...){関数内で実行される処理;}; (関数リテラルは、宣言する時点では名前を持たないことから「無名関数」、 または「匿名関数」と呼ばれる) オブジェクトリテラルによる定義 var obj = { v1 "変数1", f1 function() { alert("関数1"); } }; obj.f1(); //メソッド呼び出し
https://w.atwiki.jp/m_shige1979/pages/1040.html
Ajax処理(GETメソッド) 概要 AjaxをGETメソッドで送信する クライアント Html !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http //www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http //www.w3.org/1999/xhtml" head meta http-equiv="Content-Type" content="text/html; charset=UTF-8" / title テストサイト /title script type="text/javascript" src="./ajax_test.js" /script /head body form name="fm" label 名前: input type="text" name="name" value="" size="15" / /label br / label 年齢: input type="text" name="ago" value="" size="5" / /label input type="button" value="送信" onclick="asyncSend();" / /form br / div id="result" /div /body /html javascript // リクエストオブジェクトを取得 function getXHR(){ var req; try{ req = new XMLHttpRequest(); }catch(e){ try{ req = new ActiveXObject( Msxml2.XMLHTTP ); }catch(e){ req = new ActiveXObject( Microsoft.XMLHTTP ); } } // 返却 return req; } // Ajax送信処理 function asyncSend(){ // リクエストオブジェクトを取得 var req = getXHR(); // コールバック関数を定義 req.onreadystatechange = function(){ // オブジェクトエレメントを取得 var result = document.getElementById( result ); // 通信完了ステータスチェック if(req.readyState == 4){ // リクエストステータスチェック if(req.status == 200){ result.innerHTML = req.responseText; }else{ // 通信失敗 result.innerHTML = "サーバエラーが発生しました。"; } }else{ // 通信完了前 result.innerHTML = "通信中…"; } } var param_name = document.fm.name.value; if(param_name == ){ alert( 名前を設定してください ); return false; } var param_ago = document.fm.ago.value; if(param_ago == ){ alert( 年齢を設定してください ); return false; } // URIエンコードを行う param_name = encodeURIComponent(param_name); param_ago = encodeURIComponent(param_ago); // サーバとの非同期通信を開始 req.open( GET , http //localhost.testweb01/ajax_test.php + ? + name= + param_name + ago= + param_ago, true); req.send(null); } サーバ php ?php // パラメータ取得 $_name = $_GET[ name ]; $_ago = $_GET[ ago ]; // パラメータ出力 echo "こんにちは" . $_name . "(" . $_ago . ")" . "さん!"; ?
https://w.atwiki.jp/suffix/pages/1011.html
一定時間の実行には、setIntervalとsetTimeoutがある。 関数名 繰り返し処理をする際の書き方 動作 特徴 備考 setInterval setInterval(関数,ミリ秒); 関数を第2引数で指定した時間ごとに繰り返す。 引数に指定した処理が開始した時点で、次のカウントを始める 繰り返し処理はclearInterval()で止める。 setTimeout function 関数() {setTimeout(関数,ミリ秒);} setTimeoutは元々繰り返し処理ではなく、一定時間後に一度実行する。 引数に指定した処理が終了した時点で、次のカウントを始める setTimeoutが呼び出されるのは他の関数が評価された後になる(*1) (*1) setTimeoutは、javascriptの他のグローバルコードを実行キューに追加した後に実行キューに追加される模様。 従って、以下のように書くと、sampleが先に実行されて、 test1- sample- test2の順に出力する。 test(); sample(); function test() { alert("test1"); setTimeout(function() {alert("test2");},1000); } function sample() { alert("sample"); }
https://w.atwiki.jp/myscripts/pages/28.html
MyScripts を指先で覚えたい人向けのページです。 特定のブラウザでURLを開く NowPlaying(再生中の曲情報)をコピーする コピー内容でGoogle検索する クリップボード制御 HTMLを自動生成する 特定のブラウザでURLを開く Libing で開く をインポート // Libing の URL スキームを指定する var scheme = "libhttp"; // URL の先頭の http 部分を置き換えて開く TARGET = "openurl"; TEXT.replace(/^http/, scheme); Sleipnir で開く をインポート // Sleipnir の URL スキームを指定する var scheme = "sleipnirblue"; // URL の先頭の http 部分を置き換えて開く TARGET = "openurl"; TEXT.replace(/^http/, scheme); 要はブラウザの URL スキームさえわかれば機械的にできます。 NowPlaying(再生中の曲情報)をコピーする SONG という独自変数を使います。SONG は以下のような仕様です。 SONG - 再生中の曲の情報。title/albumTitle/artistの各属性から取得できます。曲を再生していない場合、SONGがnullになります。 CopyNowPlaying をインポート if (SONG === null) { // 音楽が再生中でないとき // ミュージックを開く TARGET = "openurl"; "music //"; } else { // 音楽が再生中のとき // 曲情報をコピーする alert("曲情報をコピーします"); TARGET = "copy"; SONG.title + " by " + SONG.artist; } コピー内容でGoogle検索する URL 全体をエンコードするときは encodeURI、クエリ部分の一部をエンコードするときは encodeURIComponent を使います。 Google 検索するときなどは、後者を利用します。 GoogleSearch-1 をインポート TARGET = "openurl"; "https //www.google.co.jp/search?q=" + encodeURIComponent(TEXT); MyScripts には、独自変数をエンコードした ENC〜 変数が用意されています。 TEXT 変数に対しては、ENCTEXT 変数が該当します。 この変数を使用することで、GoogleSearch-1 は以下のように書き換えられます。 GoogleSearch-2 をインポート TARGET = "openurl"; "https //www.google.co.jp/search?q=" + ENCTEXT; 以下蛇足ですが、はまりやすいポイントです。 encodeURIComponent が『!'()*』などをエンコードしてくれないために、まれに予期せぬ動作をすることがあります。 そのようなときは、多少強引ですが、以下のように力技でエンコードします。 GoogleSearch-3 をインポート // ごり押しエンコード function encURI(uri) { var ch; return encodeURIComponent(uri).replace(/[! ()*]/g, function() { ch = RegExp.lastMatch; return ch === "*" ? "%2A" escape(ch); }); } TARGET = "openurl"; "https //www.google.co.jp/search?q=" + encURI(TEXT); 2重エンコードするときなどは、この最後の方法が無難です。 クリップボード制御 クリップボードのテキストを参照するときは、CLIPBOARD 変数を使います。 クリップボードにコピーするときは COPY を使います。 COPY は TARGET="copy"; と異なり、処理の途中でコピーできます。 calclip をインポート // クリップボードのテキストを取得 var formula = CLIPBOARD; var result; try { // クリップボードの式を計算 result = eval(formula); // 結果をコピー COPY(result); } catch (e) { // クリップボードのテキストが計算式以外のとき // エラーメッセージを表示 result = e.message; } TARGET = "info"; result; HTMLを自動生成する MyScripts では、TEXT 変数から入力データを受け取り、加工して、それを元に HTML を生成することができます。 多くの場合は #HTML で十分なのですが、IS_HTML = true; を使用した方が便利なこともあります。 ここではその開発の手順を示します。 1. #HTML でプロトタイプを作成します。最終的には不要になりますが、これがあるとメンテナンスしやすくなります。 grep - prototype をインポート #HTML !DOCTYPE html html head meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no" title grep /title link rel="stylesheet" href="./jqm/jquery.mobile.css" script src="./jquery.js" /script script src="./jqm/jquery.mobile.js" /script script function append(lines) { var $list = $( #grep-list ); for (var i = 0; i lines.length; i++) $( li ).text(lines[i]).appendTo($list); $list.listview( refresh ); } onload = function() { var lines = TEXT.split( \n ); append(lines); } /script /head body section data-role="page" header data-role="header" data-position="fixed" h1 grep /h1 /header div data-role="content" ul id="grep-list" data-role="listview" data-filter="true" data-filter-placeholder="Filter lines..." /ul /div /section /body /html 2. 最終的に他のアプリで開くならば、jQuery Mobile や Twitter Bootstrap のファイルを外部参照するよう修正する link rel="stylesheet" href="./jqm/jquery.mobile.css" script src="./jquery.js" /script script src="./jqm/jquery.mobile.js" /script 上記の箇所を以下のように修正する。 link rel="stylesheet" href="http //code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" script src="http //code.jquery.com/jquery-1.8.2.min.js" /script script src="http //code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js" /script 3. 先頭の #HTML を除いた部分を選択し、コピーする 4. クリップボードのテキストを登録 を使い、HTML を文字列化する 5. ファイル名などの指定や、HTML を修正する記述を行う grep をインポート var html = " !DOCTYPE html \n html \n head \n meta name=\"viewport\" content=\"width=device-width,initial-scale=1,user-scalable=no\" \n title grep /title \n link rel=\"stylesheet\" href=\"http //code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css\" \n script src=\"http //code.jquery.com/jquery-1.8.2.min.js\" /script \n script src=\"http //code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js\" /script \n script \nfunction append(lines) {\n var $list = $( #grep-list );\n\n for (var i = 0; i lines.length; i++)\n $( li ).text(lines[i]).appendTo($list);\n\n $list.listview( refresh );\n}\n\nonload = function() {\n var lines = decodeURIComponent( "; html += ENCTEXT; html += " ).split( \\n );\n append(lines);\n}\n /script \n /head \n body \n section data-role=\"page\" \n header data-role=\"header\" data-position=\"fixed\" \n h1 grep /h1 \n /header \n div data-role=\"content\" \n ul id=\"grep-list\" data-role=\"listview\" data-filter=\"true\" data-filter-placeholder=\"Filter lines...\" \n /ul \n /div \n /section \n /body \n /html "; FILENAME = "grep"; IS_HTML = true; TARGET="openin"; html; openin することで、生成したHTMLを別アプリで開きます。HTML が使える別アプリとの連携にも、MyScripts は使えるわけです。
https://w.atwiki.jp/suffix/pages/1000.html
javascriptには以下のような型がある。 undefined 変数に何のデータも入っていない状態。未定義 null 何も参照していない状態。 NaN Not-a-Number。数値の演算にミスった時等 の状態があるので、通常定義されたかどうかは typeof(変数)でundefinedと表示されたら定義されていない状態である。 ただし、宣言よりも前に同じ変数名で宣言していた場合にはその値を使用したい場合等には if(typeof(変数) == undefined ) { var 変数 = 1; } のような記述をしなくても var 変数 = 変数(*) || 1; と記述できる。 これは(*)で示した方の後者の変数がfalseの場合のみvar 変数 = 1;を実行する書き方で、 逆に変数がtrueの場合のみ後の処理を継続して欲しいときには var 変数 = 変数 1; と記述する。
https://w.atwiki.jp/suffix/pages/276.html
サーバー・クライアント間の通信方法・変数値受け渡しについて記述する。 項目番号 方向 方式 概要 通信パターン1 クライアント - サーバー XMLHttpRequest クライアントからGETやPOST等を使って送信。サーバーはJSON形式でjavascriptに返す 通信パターン2 サーバー- クライアント ?=$変数? サーバー側でHTMLの書き出しを行う。 通信パターン3 サーバー- クライアント ?=$変数? javascriptの部分もサーバー側ファイルの一部として書く。 通信パターン4 クライアント- サーバー FORM GETやPOST等を使った送信の補足 通信パターン5 サーバー- クライアント HTML5(Server-Sent Events) サーバからの情報を受け取る 通信パターン6 クライアント - サーバー WebSocket ソケット通信する 通信パターン7 クライアント - サーバー FetchAPI XMLHttpRequestの代わりにFetchAPIを使う 番外編 URLエンコードについて
https://w.atwiki.jp/test0123/pages/11.html
https://w.atwiki.jp/kobapan/pages/288.html
スマートフォン対応でよく使われるような、画面サイズでの振り分けがダメでも、これならいけた。 navigator.userAgentの文字列中に、iPhone、Androidなどの文字がある場合、 headタグの最後にlinkタグを挿入、smart.cssを追加し、 style.cssの対応部分を上書くことでスマートフォン用の画面にする。 script type="text/javascript" src="https //ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" /script link rel="stylesheet" href="style.css" script $(function(){ var _UA = navigator.userAgent; if (_UA.indexOf( iPhone ) 0 || _UA.indexOf( iPad ) 0 || _UA.indexOf( iPod ) 0 || _UA.indexOf( android ) 0 || _UA.indexOf( Android ) 0 || _UA.indexOf( BlackBerry ) 0 || _UA.indexOf( windows Phone ) 0 || _UA.indexOf( NOKIA ) 0 || /Mobile.*Firefox/.test(_UA)) { $( head ).append( link ); $( head ).children( last ).attr({rel stylesheet ,href smart.css }); }}); /script 参考 jQueryでlinkタグを追加して外部CSSを読み込む POSTORO jQueryで動的に CSSファイルを追加する方法