uu.ready("href:url/dispatcher", callback, ...) impl

条件成立でコールバックする関数を登録しておく機能 uu.ready() の条件に、ページのURLが一致する場合にコールバックする機能を追加しました。

このようにして利用します。同じものを http://jsdo.it/uupaa/2011-01-19 にあげてあります。

// jsdo.it のコードは <iframe> 内で動作するため、
// DOMContentLoaded の発火タイミングが <html> 内に設置した場合と
// 異なります。ご注意ください。
<!DOCTYPE html><html lang="ja"><head><meta charset="utf-8" />
<script src="src/uupaa.js"></script>
<script>
uu.ready(function() {
  alert("DOMContentLoaded - this location.href = " + location.href);
});

uu.ready("href:/http://jsdo.it/nguser", function(uu, doc) {
    // この関数は指定されたURLにマッチしないためコールバックされません
    alert("NG - http://jsdo.it/nguser...");
  
}, /* 条件を省略 */ function() {
    // この関数は指定されたURLにマッチしないためコールバックされません
    // uu.ready(callback, callback, ...)のように関数を連続して記述すると、
    // 直前の条件の評価に基づいて関数を連続でコールバックします
    alert("NG - http://jsdo.it/nguser...");
  
}, "href:uupaa/2011-01-19", function(uu, doc) {
    // 最初にコールバックされます。DOMContentLoaded前に呼ばれる可能性があります
    alert("OK1 - uupaa/2011-01-19...");
  
}, "href:uupaa/2011-01-19", function(uu, doc) {
    // 2番目にコールバックされます。DOMContentLoaded前に呼ばれる可能性があります
    alert("OK2 - uupaa/2011-01-19...");
  
}, /* 条件を省略 */ function() {
    // 条件が省略されているため、直前の条件の評価に基づき、
    // この関数は3番目にコールバックされます
    alert("OK3 - uupaa/2011-01-19...");
  
}, "dom", function(uu, doc) {
    // DOMContentLoaded のタイミングでコールバックされます。
    alert("DOMReady(DOMContentLoaded)");
  
}, "window", function(uu, doc) {
    // window.onload のタイミングでコールバックされます。
    alert("WindowReady(window.onload)");
  
}, "storage", function(uu, storage) {
    // WebStorage(または互換機能)が利用可能になったタイミングでコールバックされます。
    alert("StorageReady");

}, "audio", function(uu, doc) {
    // <audio>(または互換機能)が利用可能になったタイミングでコールバックされます。
    alert("AudioReady");
  
}, "canvas", function(uu) {
    // <canvas>(または互換機能)が利用可能になったタイミングでコールバックされます。
    alert("CanvasReady");

}, "svg", function(uu) {
    // <svg>(または互換機能)が利用可能になったタイミングでコールバックされます。
    alert("SVGReady");
});
</script></head><body></body></html>