ゼロと無限の間に

フリーでオープンソースなJavaScriptとかPHPとか。

ユーザ用ツール

サイト用ツール


javascript:yahho-uploader

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
最新のリビジョン両方とも次のリビジョン
javascript:yahho-uploader [2008/11/26 21:31] dgbadminjavascript:yahho-uploader [2010/05/17 22:32] – ダウンロード元変更 dgbadmin
行 11: 行 11:
  
 なお、YUI Uploaderがバージョン2.5と2.6でAPIが変わったのにともない、このYahho Uplaoderもバージョン0.1.xと0.2でAPIが変わっている。バージョンアップする方は注意! なお、YUI Uploaderがバージョン2.5と2.6でAPIが変わったのにともない、このYahho Uplaoderもバージョン0.1.xと0.2でAPIが変わっている。バージョンアップする方は注意!
 +
 +また、バージョン0.2.1から、YUIのホスティング元を米Yahoo!からGoogleに変更した。それに伴い、crossdomain.xmlで許可するドメインが代わっているので注意。
  
  
行 19: 行 21:
 ===== ライセンス ===== ===== ライセンス =====
 Yahho Calendarは[[http://0-oo.net/pryn/MIT_license.txt|MITライセンス]]で。\\ Yahho Calendarは[[http://0-oo.net/pryn/MIT_license.txt|MITライセンス]]で。\\
-YUIの使用は[[http://developer.yahoo.com/yui/license.html|YUIのライセンス]](BSDライセンス)に従って。\\ + 
-米Yahoo!からYUIのファイルをロードする場合は[[http://developer.yahoo.com/yui/articles/hosting/|Serving YUI Files from Yahoo! Servers]]も要確認(※デフォルトでは米Yahoo!からファイルをロードする)\\+YUIは[[http://developer.yahoo.com/yui/license.html|BSDライセンス]]。\\ 
 + 
 +デフォルトではYUIのファイルをGoogleからロードするので、[[http://code.google.com/intl/ja/apis/ajaxlibs/terms.html|Google AJAX Libraries APIの利用規約]]も参照
  
  
 ===== ダウンロード ===== ===== ダウンロード =====
-[[http://x.0-oo.net/js/YahhoUpl.js|Yahho Uploader]]+[[http://0-oo.googlecode.com/svn/yahho-uploader.js|yahho-uploader.js]]
  
  
 ===== 使い方 ===== ===== 使い方 =====
-  - 下記の内容のXMLファイルを作成し、アップロード先のサーバのWebディレクトリのルートに"crossdomain.xml"という名前で保存する。(参考:[[http://livedocs.adobe.com/flash/8_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001621.html|Flashのドメイン間のデータロード許可]]) ただし、YUIのロードを自分のサーバからる場合は不要。<code xml>+  - 下記の内容のXMLファイルを作成し、アップロード先のサーバのWebディレクトリのルートに"crossdomain.xml"という名前で保存する。(参考:[[http://livedocs.adobe.com/flash/8_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001621.html|Flashのドメイン間のデータロード許可]]) ただし、YUIのファイルを自分のサーバからロードする場合は不要。<code xml>
 <?xml version="1.0"?> <?xml version="1.0"?>
 <cross-domain-policy> <cross-domain-policy>
-<allow-access-from domain="yui.yahooapis.com" />+<allow-access-from domain="ajax.googleapis.com" />
 </cross-domain-policy> </cross-domain-policy>
 </code> </code>
行 37: 行 41:
   - 後は下記の例を参考に、アップローダーを組み込む<code html>   - 後は下記の例を参考に、アップローダーを組み込む<code html>
 <!-- Yahho Uploaderを読み込む --> <!-- Yahho Uploaderを読み込む -->
-<script type="text/javascript" src="path/to/your/YahhoUpl.js"></script>+<script type="text/javascript" src="path/to/your/yahho-uploader.js"></script>
  
 <!-- Yahho Uploader設置の例 --> <!-- Yahho Uploader設置の例 -->
行 60: 行 64:
     "path/to/your/selectFileButton.png" //ボタン画像のURL     "path/to/your/selectFileButton.png" //ボタン画像のURL
   );   );
-});}+}
 </script> </script>
  
行 108: 行 112:
   Yahho Uploader   Yahho Uploader
   @see http://0-oo.net/sbox/javascript/yahho-uploader   @see http://0-oo.net/sbox/javascript/yahho-uploader
-  @version 0.2.0 +  @version 0.2.2 
-  @copyright 2008 dgbadmin@gmail.com+  @copyright 2008-2009 dgbadmin@gmail.com
   @license http://0-oo.net/pryn/MIT_license.txt (The MIT license)   @license http://0-oo.net/pryn/MIT_license.txt (The MIT license)
  */  */
行 122: 行 126:
  */  */
 YahhoUpl.prototype = { YahhoUpl.prototype = {
-    /** YUIのURL@see http://developer.yahoo.com/yui/articles/hosting/ ) */+    /** 
 +        loadYUI()で読み込むYUIのURL 
 +        @see http://developer.yahoo.com/yui/articles/hosting/ 
 +        @see http://code.google.com/intl/ja/apis/ajaxlibs/documentation/#yui 
 +     */
     YUI_URL: {     YUI_URL: {
-        SERVER: "http://yui.yahooapis.com/", +        SERVER: location.protocol + "//ajax.googleapis.com/ajax/libs/yui/", 
-        VERSION: "2.6.0",+        VERSION: "2.7.0",
         DIR: "/build/"         DIR: "/build/"
     },     },
行 146: 行 154:
     /** 1ファイル当たりのファイルサイズ制限(単位はMB) */     /** 1ファイル当たりのファイルサイズ制限(単位はMB) */
     maxSize: 10,     maxSize: 10,
 +    
 +    /** アップロード中のマウスカーソルの形(ex: auto, progress, wait) */
 +    cursor: "wait",
  
     /**     /**
行 189: 行 200:
   @param  String  buttonId    ボタン表示場所のid属性   @param  String  buttonId    ボタン表示場所のid属性
   @param  String  barId       プログレスバーのid属性   @param  String  barId       プログレスバーのid属性
-  @param  String  uploadUrl   アップロード先のURL(yui.yahooapis.comを使う場合はhttp://から)+  @param  String  uploadUrl   アップロード先のURL(外部のYUIを使う場合はhttp://から)
   @param  String  btnImgUrl   ボタン画像のURL   @param  String  btnImgUrl   ボタン画像のURL
  */  */
 YahhoUpl.prototype.setUp = function(buttonId, barId, uploadUrl, btnImgUrl) { YahhoUpl.prototype.setUp = function(buttonId, barId, uploadUrl, btnImgUrl) {
-    var upl = this.upl = this.getYUIUploader(buttonId, btnImgUrl);+    try { 
 +        var upl = (this.upl = this.getYUIUploader(buttonId, btnImgUrl)); 
 +    } catch(e) { 
 +        alert("ファイルをアップロードするには、Flash Player(バージョン9.0.45以降)が必要です。"); 
 +        return; 
 +    }
     var pBar = this.getProgressBar(barId);     var pBar = this.getProgressBar(barId);
     var bar = pBar.bar;     var bar = pBar.bar;
     var self = this;     var self = this;
 +    var bodyStyle = document.body.style;
  
     //初期化時     //初期化時
行 241: 行 258:
         self.completeFlg = false;         self.completeFlg = false;
         self.onStart(ev.fileList);         self.onStart(ev.fileList);
 +
 +        bodyStyle.cursor = self.cursor;
  
         upl.uploadAll(uploadUrl, "POST", self.postVars, self.postKey);         upl.uploadAll(uploadUrl, "POST", self.postVars, self.postKey);
行 253: 行 272:
     upl.addListener("uploadComplete", function(ev) {     upl.addListener("uploadComplete", function(ev) {
         self.letProgress(ev.id, self.fileList[ev.id].size, bar);         self.letProgress(ev.id, self.fileList[ev.id].size, bar);
 +        bodyStyle.cursor = "auto";
         //コールバック         //コールバック
         self.onComplete(ev.id);         self.onComplete(ev.id);
行 264: 行 284:
     //アップロードエラー時(1度のエラーで2回呼ばれる)     //アップロードエラー時(1度のエラーで2回呼ばれる)
     upl.addListener("uploadError", function(ev) {     upl.addListener("uploadError", function(ev) {
 +        bodyStyle.cursor = "auto";
         if (isNaN(ev.status)) {    //2回目はエラー内容が渡される         if (isNaN(ev.status)) {    //2回目はエラー内容が渡される
             self.onError(ev.id, self.httpStatus, ev.status);             self.onError(ev.id, self.httpStatus, ev.status);
行 328: 行 349:
             clearInterval(loadedId);             clearInterval(loadedId);
             //YUI Uploaderをload             //YUI Uploaderをload
-            new YAHOO.util.YUILoader({+            (new YAHOO.util.YUILoader({
                 base: yuiBase, require: ["uploader"], onSuccess: callback                 base: yuiBase, require: ["uploader"], onSuccess: callback
-            }).insert();+            })).insert();
         } else if ((time += interval) > limit) {    //タイムアウト         } else if ((time += interval) > limit) {    //タイムアウト
             alert("ファイルアップロード機能の読み込みに失敗しました。");             alert("ファイルアップロード機能の読み込みに失敗しました。");
javascript/yahho-uploader.txt · 最終更新: 2015/09/22 14:25 by dgbadmin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki