JavaScript >> Javascript 文檔 >  >> JavaScript

YUI 3 IdleTimer 現在可以在 YUI Gallery 上使用

今天,YUI 工程師 Dav Glass 在 YUIConf 上介紹了 YUI Gallery。YUI Gallery 是 YUI 用戶和開發者分享他們工作的地方。您可以創建自己的 YUI 3 模塊,提交它們以供審核,並讓它們出現在圖庫中。作為額外的獎勵,提交的內容有資格在 Yahoo! 上分發。 CDN 以便其他人可以享受您的工作。貢獻的模塊包含各種信息,並且可以被任意數量的許可證所覆蓋。

Dav 邀請我為發布做一些貢獻,我立刻想到了我在帖子中介紹的 IdleTimer,Detecting if the user is idle with JavaScript and YUI 3. 我不得不進行一些更改以符合畫廊的發布規則,但功能保持不變。

變化

IdleTimer 最大的變化在於模塊名稱。所有圖庫模塊必須以“gallery-”開頭,以消除與標準 YUI 模塊的歧義並確保唯一命名。因此,IdleTimer 的模塊名稱從“idle-timer”更改為“gallery-idletimer”。

該文件的源代碼也大致相同。唯一的變化是它現在使用標準的 YUI 構建系統來生成分佈式 JavaScript 文件。這意味著添加 YUI.add() 的通用命名法 wrapper 會自動處理並生成三個版本的文件:一個調試版本,它的格式很好,可以查看並包含日誌語句,一個乾淨的源代碼版本沒有日誌語句,以及一個縮小版本。總體而言,生成的代碼與原始版本完全相同,只是不包括 YUI 模塊名稱。

用法

最令人興奮的變化是 IdleTimer 代碼現在可以在 Yahoo! CDN。這意味著您可以使用 YUI().use() 自動遠程加載文件 方法,它會自動為您引入適當的依賴項。基本用法如下:

YUI({

    //define a custom module
    modules: {
        'gallery-idletimer': {
            fullpath: 'http://yui.yahooapis.com/gallery-2009.10.28-14/build/gallery-idletimer/gallery-idletimer-min.js',
            requires: ["event","event-custom"],
            optional: [],
            supersedes: []
        }
    }
}).use('gallery-idletimer', function(Y) {

    Y.IdleTimer.subscribe("idle", function(){
        //handle when the user becomes idle
    });

    Y.IdleTimer.subscribe("active", function(){
         //handle when the user becomes active
    });

    //start the timer with a default timeout of 30s
    Y.IdleTimer.start();
});

注意開頭的“gallery-idletimer”模塊定義是讓YUI通過調用YUI().use("gallery-idletimer")自動加載正確資源的部分 . YUI Gallery 構建系統會自動生成此代碼作為示例以及 CDN URL。

更多信息

YUI Gallery 頁面上的 IdleTimer 包含您開始使用所需的所有信息。您可以從 YUI Gallery GitHub 位置或我的 JSTools GitHub 項目下載源代碼。 Dav 還寫了一篇關於如何提交到 YUI Gallery 的精彩教程。


Tutorial JavaScript 教程
  1. 不變性和你:第 2 部分

  2. 3PO#失敗

  3. 10 款適用於 Web 開發人員的免費 Android 應用

  4. 獲取錯誤 .replace 不是函數

  5. MySigMail v1.9.0 已發布🎉

  6. 什麼是 props 以及如何在 React 中使用它?

  7. 顯示最多兩位小數的數字,不帶尾隨零

  1. 令人愉快的數據庫設計 - 掌握 MongoDB 查詢 - 系列 #11

  2. 擴展“稍後激活”功能

  3. WordPress 插件:添加路由和地理編碼

  4. 檢查對像中是否存在屬性

  5. Quasar 和 Apollo - 沒有 Vuex 的客戶端狀態 - 第 1 部分

  6. 無代碼 - 沒有後端 開發人員的表單發送器 發送您的 <form> 沒有後端

  7. 什麼是節點 JS?

  1. Vue.js 組件之間通信的設計模式

  2. 雲中的 JavaScript

  3. 如何在 Nuxt 中使用 Vue.js 插件 - [Vue-awesome-swiper]

  4. 在 Red Hat Enterprise Linux 上的容器中使用 Node.js 進行開發