⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 8.05 - xhr connection queue example page.html

📁 JS设计模式源代码
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"  "http://www.w3.org/TR/html4/strict.dtd"><html>  <head>    <meta http-equiv="Content-type" content="text/html; charset=utf-8">    <title>Ajax Connection Queue</title>    <script src="utils.js"></script>    <script src="queue.js"></script>    <script type="text/javascript">      addEvent(window, 'load', function() {        // Implementation.        var q = new DED.Queue;        q.setRetryCount(5);        q.setTimeout(3000);        var items = $('items');        var results = $('results');        var queue = $('queue-items');        // Keeping track of my own requests as a client.        var requests = [];        // Notifier for each request that is being flushed.        q.onFlush.subscribe(function(data) {          results.innerHTML = data;          requests.shift();          queue.innerHTML = requests.toString();        });        // Notifier for any failures.        q.onFailure.subscribe(function() {          results.innerHTML += ' <span style="color:red;">Connection Error!</span>';        });        // Notifier of the completion of the flush.        q.onComplete.subscribe(function() {          results.innerHTML += ' <span style="color:green;">Completed!</span>';        });        var actionDispatcher = function(element) {          switch (element) {            case 'flush':              q.flush();              break;            case 'dequeue':              q.dequeue();              requests.pop();              queue.innerHTML = requests.toString();              break;            case 'pause':              q.pause();              break;            case 'clear':              q.clear();              requests = [];              queue.innerHTML = '';              break;          }        };                        var addRequest = function(request) {          var data = request.split('-')[1];          q.add({            method: 'GET',            uri: 'bridge-connection-queue.php?ajax=true&s='+data,            params: null          });          requests.push(data);          queue.innerHTML = requests.toString();        };        addEvent(items, 'click', function(e) {          var e = e || window.event;          var src = e.target || e.srcElement;          try {            e.preventDefault();          }          catch (ex) {            e.returnValue = false;          }          actionDispatcher(src.id);        });        var adders = $('adders');        addEvent(adders, 'click', function(e) {          var e = e || window.event;          var src = e.target || e.srcElement;          try {            e.preventDefault();          }          catch (ex) {            e.returnValue = false;          }          addRequest(src.id);        });      });    </script>    <style type="text/css" media="screen">      body { font: 100% georgia,times,serif; }      h1, h2 { font-weight: normal; }      #queue-items { height: 1.5em; }      #add-stuff {        padding: .5em;        background: #ddd;        border: 1px solid #bbb;      }      #results-area { padding: .5em;border: 1px solid #bbb; }    </style>  </head>  <body id="example">    <div id="doc">      <h1>Ajax Connection Queue</h1>      <div id="queue-items"></div>      <div id="add-stuff">        <h2>Add Requests to Queue</h2>        <ul id="adders">          <li><a href="#" id="action-01">Add "01" to Queue</a></li>          <li><a href="#" id="action-02">Add "02" to Queue</a></li>          <li><a href="#" id="action-03">Add "03" to Queue</a></li>        </ul>      </div>      <h2>Other Queue Actions</h2>      <ul id='items'>        <li><a href="#" id="flush">Flush</a></li>        <li><a href="#" id="dequeue">Dequeue</a></li>        <li><a href="#" id="pause">Pause</a></li>        <li><a href="#" id="clear">Clear</a></li>      </ul>      <div id="results-area">        <h2>Results: </h2>        <div id="results"></div>      </div>    </div>  </body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -