カテゴリー : JavaScript

AndroidとiPhoneで使えるURLスキーム起動&アプリ未ダウンロードならストアへリダイレクトするJavaScriptサンプルコード

Android と iPhone で使える URL スキーム起動&アプリ未ダウンロードならストアへリダイレクトするJavaScriptサンプルコードをご紹介します。

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="utf-8">
    <title>URL scheme / Redirect Test</title>
 
    <script type="text/javascript">
    var userAgent = navigator.userAgent.toLowerCase();
 
    window.onload = function(){
 
      if (userAgent.indexOf("android") > -1) {
        // Launch myapp via URL scheme
        launch_frame.location.href= "myapp://";
 
        setTimeout(function(){
          // Open App DL page in Google Play
          location.href= "http://market.android.com/details?id=com.example.myapp";
        } , 500);
      } else if (userAgent.search(/iphone|ipad|ipod/) > -1) {
        // Launch myapp via URL scheme
        launch_frame.location.href= "myapp://";
 
        setTimeout(function(){
          // Open App DL page in iTunes Store
          location.href= "itmss://itunes.apple.com/us/app/myapp/id123456789?ls=1&mt=8";
        } , 500);
      }
 
    }
    </script>
 
  </head>
 
<body>
  <div style="width:0; height:0; overflow:hidden;">
  <iframe id="launch_frame" name="launch_frame">
  </iframe>
  </div>
</body>
 
</html>

JSONP のセキュリティについて

JSONP を使う上でのセキュリティについて気になったので、調べたサイトをメモ。

Web 2.0的アプリのセキュリティ:機密情報にJSONPでアクセスするな : アークウェブのブログ

第3回 JSONPでのクロスドメインアクセス:ここが危ない!Web2.0のセキュリティ|gihyo.jp … 技術評論社

[気になる]JSONPの守り方 - @IT

なぜJSONPだとクロスドメイン制約を超えられるのか? – 射撃しつつ前転

JSONPはセキュアでないのか? – snippets from shinichitomita’s journal

Node.js (Express) で JSONP を対応させる方法は下記が参考になります。

Express で JSONP をスマートにレスポンスする方法

[jQuery] 日時の入力フォームは2つに分けて Datepicker と Timepicker を使う

タイトルでほぼ終わってますが。

入力補助に jQuery のライブラリを使う場合、下記のようにするのが手っ取り早そう。

・日時の入力フォームは2つに分ける
・年月日のフォームには Datepicker を使う
・時刻のフォームには Timepicker を使う

年月日と時刻をひとまとめにする場合、良さそうな jQuery ライブラリが無かった。

[jQuery] フォームやリンクの二度押し・連続クリック防止

jQuery で、フォームやリンクの二度押し・連続クリックを防止する方法をメモ。

[JavaScript][jQuery] 要素 DOM の存在確認・チェック

JavaScriptで、要素 DOM の存在確認をする方法がたくさんあるので迷うけど、結論としては、

document.getElementById("id") != null

でチェックのが速くて良いみたい。

コード速度
document.getElementById("id") != null0.019ms
$("selector")[0]0.033ms
$("selector").get(0)0.040ms
$("selector").size()0.041ms
$("selector").length0.069ms
$("selector").is("*")0.169ms

・引用元:[JS][jQuery] 要素の存在を確認する6通りのコードと実行速度 | きほんのき はてなブックマーク - [JS][jQuery] 要素の存在を確認する6通りのコードと実行速度 | きほんのき

jQueryによる要素の存在チェックまとめ: 小粋空間 はてなブックマーク - jQueryによる要素の存在チェックまとめ: 小粋空間

JsDoc Toolkit 入門

JsDoc Toolkit 入門ということで色々メモ。

JsDoc Toolkit の参考サイト

JsDoc Toolkitを使う! – トップページ はてなブックマーク - JsDoc Toolkitを使う! - トップページ

JsDoc Toolkitによる開発効率向上を目指して - @IT はてなブックマーク - JsDoc Toolkitによる開発効率向上を目指して - @IT

JsDoc Toolkit メモ はてなブックマーク - JsDoc Toolkit メモ

JsDoc Toolkit のインストール

■ Mac に Homebrew でインストール

% brew install jsdoc-toolkit

JsDoc Toolkit をもっと便利にするツール

■ スタイリッシュで機能的な API ドキュメントを簡単に作成するためのテンプレート

Jsdoc2-template-bootstrap はてなブックマーク - Jsdoc2-template-bootstrap

OrgaChem/JsDoc2-Template-Bootstrap · GitHub はてなブックマーク - OrgaChem/JsDoc2-Template-Bootstrap · GitHub

JavaScriptコーダー必見!クールなJsDoc用テンプレート「JsDoc2-Template-Bootstrap」 | DOTAPON Blog はてなブックマーク - JavaScriptコーダー必見!クールなJsDoc用テンプレート「JsDoc2-Template-Bootstrap」 | DOTAPON Blog

[JavaScript]スクロールしたときにサイドバーのパーツをjQueryで止める方法

JavaScript や jQuery を使って、スクロールしたときにサイドバーのパーツを止める方法が紹介されている記事をメモ。

スクロールしたときにサイドバーのパーツをjQueryで止める方法: 小粋空間 はてなブックマーク - スクロールしたときにサイドバーのパーツをjQueryで止める方法: 小粋空間

ライブドアみたいにスクロールしたらサイドバーの広告を固定する – ぼくはまちちゃん!(Hatena) はてなブックマーク - ライブドアみたいにスクロールしたらサイドバーの広告を固定する - ぼくはまちちゃん!(Hatena)

[JavaScript] RSA 公開鍵を使った暗号化/復号化ができるライブラリ「cryptico.js」

JavaScript で RSA 公開鍵を使った暗号化/復号化ができるライブラリ「cryptico.js」が使いやすそうなのでメモ。

wwwtyro/cryptico · GitHub はてなブックマーク - wwwtyro/cryptico · GitHub

JavaScriptで RSA 公開鍵による暗号化、復号化が出来るライブラリ「cryptico.js」 | Web活メモ帳 はてなブックマーク - JavaScriptで RSA 公開鍵による暗号化、復号化が出来るライブラリ「cryptico.js」 | Web活メモ帳

以上です。

[IE6] javascript:void(0); と onclick で動かない問題の解決方法

IE6 にて、href に javascript:void(0); を指定して、 onclick を使う場合は、onclick 内の最後に return false; を記述しないと動かない。

■ IE6 で動かないコード

<a href="javascript:void(0);" onclick="document.form.submit();">

■ IE6 で動くコード(onclick 内の最後に return false; を記述)

<a href="javascript:void(0);" onclick="document.form.submit(); return false;">

また、IE6 に苦しめられるとは…。

【参考】

javascript: void(0); のIEでの挙動 – 雑想空間 はてなブックマーク - javascript: void(0); のIEでの挙動 - 雑想空間

javascript:void(0) のIE6での注意点/WEBサイト作成の注意点 »サイト構築日記 はてなブックマーク - javascript:void(0) のIE6での注意点/WEBサイト作成の注意点 »サイト構築日記

[jQuery] Proxy Pattern を使ってメソッドをオーバーライド

jQuery にて、Proxy Pattern というデザインパターンを使って alert メソッドをオーバーライドする方法を調べたのでメモ。

(function() {
  var proxied = window.alert;
  window.alert = function() {
    // ここに処理を追加する
    return proxied.apply(this, arguments);
  };
})();

以上です。

参考情報

Types – jQuery JavaScript Library はてなブックマーク - Types - jQuery JavaScript Library

override – JavaScript: Overriding alert() – Stack Overflow はてなブックマーク - override - JavaScript: Overriding alert() - Stack Overflow

必殺の .apply()フックを打つべし! 打つべし!(JavaScript おれおれ Advent Calendar 2011 – 17日目) | Ginpen.com はてなブックマーク - 必殺の .apply()フックを打つべし! 打つべし!(JavaScript おれおれ Advent Calendar 2011 – 17日目) | Ginpen.com