亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? navigation.js

?? 解壓在c盤
?? JS
字號:
/** -*- Java -*- * The Navigation class provides a set of routines for creating navigation. * * It implements three useful navigation techniques:  *   family navigation, *   threaded (prev/next) pages,  *   table of contents. * * Each Navigation contains the table of contents read in from the toc.xml * file in the current directory. * * Calling scripts can test if the toc.xml is obsolete by testing isObsolete(), * so clever pages can just store the toc in the application object, speeding * things up. */class Navigation {  /**   * The class constructor reads in the xml file.   */  function Navigation()  {    this.file = File("toc.xml");    this.lastModified = this.file.lastModified;    this.toc = caucho.xml.LooseXml.parseFile(this.file);  }  /**   * Returns true if the file has changed from the version stored in   * this class.   */  function isObsolete()  {    return this.lastModified < this.file.lastModified;  }  /**   * Writes the family navigation.  This is in three parts:   *   *  ancestors   *  ---------   *  siblings   *  ---------   *  children.   *   * The navigation generates rows of a one column table.  The caller   * is responsible for creating the table itself.   */  function writeFamilyNavigation(out, uri)  {    var name = uri.match(/[^\/]*$/)[0];    var here = this.getHere(name);    if (! here)      return;    var parents = this.getParents(here);    if (parents)      var navList = parents.concat([null]);    else      var navList = [];    navList = navList.concat(this.getSiblings(here));    var children = this.getChildren(here);    if (children.length)      navList = navList.concat([null], children)    for (var i = 0; i < navList.length; i++) {      var item = navList[i];      if (! item) {        out.writeln("<hr>");        continue;      }      var href = item.attribute.href;      var name = item.attribute.name;      if (! href || item == here)       out.writeln(@'<em>$(name)</em><br>');      else        out.writeln(@'<a href="$(href)">$(name)</a><br>');    }  }  /**   * Returns an array of the parent pages.   */  function getParents(here)  {    var parents = [];    for (var node = here.parentNode; node; node = node.parentNode) {      if (node.nodeName == 'page')        parents.unshift(node);    }    return parents;  }  /**   * Returns an array of sibling pages.   */  function getSiblings(here)  {    var siblings = [];    for (var node in here.select("../page"))      siblings.push(node);    return siblings;  }  /*   * Returns an array of child nodes.   */  function getChildren(here)  {    var children = [];    for (var node in here.select("page"))      children.push(node);    return children;  }  /**   * Writes the table of contents.   */  function writeContents(out, uri)  {    var here = this.getHere(uri);    if (here == null)      return;    this.writeContentsRec(out, here.parentNode);  }  /**   * Recursively creates a table of contents.  Essentially a list of lists.   */  function writeContentsRec(out, here)  {    var hasContents = false;    var iter = here.select("page");    if (iter.hasNext()) {      out.writeln("<ol>");      for (var node in iter) {        out.writeln("<li><a href='", node.attribute.href, "'>",  	            node.attribute.name, "</a>");        this.writeContentsRec(out, node);      }      out.writeln("</ol>");    }  }  /**   * Writes previous and next nodes for a threaded list of pages.  Useful   * for something like a manual.   */  function writePrevNext(out, uri)  {    var here = this.getHere(uri);    out.writeln("<table border=0 width='100%'><tr>");    out.writeln("<td>");    var prev = this.getPreviousPage(here);    if (prev && prev.attribute.href)      out.writeln("<a href='", prev.attribute.href, "'>",	          prev.attribute.name, "</a>");    else if (prev)      out.writeln(prev.attribute.name);    out.writeln("<td align=center width='*'>&nbsp;");    out.writeln("</td><td align=right>");    var next = this.getNextPage(here);    if (next && next.attribute.href)      out.writeln("<a href='", next.attribute.href, "'>",	          next.attribute.name, "</a>");    else if (next)      out.writeln(next.attribute.name);    out.writeln("</table>");  }  /**   * Returns the previous page.  It keeps going through the previous nodes   * until it find a page element.   */  function getPreviousPage(here)  {    for (var page = this.getPrevious(here);          page;          page = this.getPrevious(page)) {      if (page.nodeType == page.ELEMENT_NODE && page.nodeName == "page")        return page;    }    return null;  }  /**   * Returns the previous node in a fictitious depth first search of the   * XML tree.  Tragically, the W3C hasn't defined a standard function for   * this.   */  function getPrevious(here)  {    if (! here)      return null;    if (here.previousSibling) {      here = here.previousSibling;      for (; here.lastChild; here = here.lastChild) {      }      return here;    }    return here.parentNode;  }  /**   * Returns the next page in the table of contents.   */  function getNextPage(here)  {    for (var page = this.getNext(here);          page;          page = this.getNext(page)) {      if (page.nodeType == page.ELEMENT_NODE && page.nodeName == "page")        return page;    }    return null;  }  /**   * Returns the next node in a fictitious depth first search of the XML   * tree   */  function getNext(here)  {    if (! here)      return null;    if (here.firstChild)      return here.firstChild;    for (; here; here = here.parentNode) {      if (here.nextSibling)        return here.nextSibling;    }    return null;  }  /**   * Returns the node pointing to href.  href is the tail of the current   * URI.   */  function getHere(uri)  {    var href = uri.match(/[^\/]*$/)[0];    return this.toc.find(@"//page[@href='$href']");  }}/** * Gets the navigation.  If a valid version is stored in the application * object, use it.  Otherwise, create a new Navigation object. */function getNavigation(application){  var navigation = application.attribute["navigation"];  if (navigation == null || navigation.isObsolete()) {    navigation = new Navigation();    application.attribute["navigation"] = navigation;  }  return navigation;}Navigation.getNavigation = getNavigation

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
黄网站免费久久| 久久青草欧美一区二区三区| 亚洲乱码国产乱码精品精小说 | 国产馆精品极品| 久久亚洲精华国产精华液| 国产精品一级片| 国产精品国产三级国产| 91麻豆文化传媒在线观看| 亚洲韩国精品一区| 日韩欧美另类在线| 精品在线一区二区三区| 国产片一区二区| 日本精品一区二区三区高清| 亚洲午夜一区二区| 日韩欧美中文字幕制服| 国产成人av电影| 亚洲免费观看高清完整版在线观看| 91亚洲精品乱码久久久久久蜜桃| 亚洲一区二区在线视频| 7777精品伊人久久久大香线蕉的 | 成人午夜电影网站| 亚洲三级小视频| 欧美日韩一区二区三区四区五区 | 国产精品久久久久aaaa| 色狠狠色噜噜噜综合网| 久久99国产精品尤物| 国产精品国产三级国产专播品爱网 | 国产成人鲁色资源国产91色综| 国产精品入口麻豆原神| 欧美系列日韩一区| 蜜桃av一区二区在线观看| 国产精品电影院| 欧美一区二区三区在线看| 成人激情免费电影网址| 一区二区三区四区五区视频在线观看 | 久久精品一级爱片| 色婷婷综合久久久中文一区二区| 日本不卡视频在线观看| 成人免费在线观看入口| 欧美大片免费久久精品三p| 91麻豆福利精品推荐| 韩国精品久久久| 亚洲午夜激情av| 国产精品私人影院| 日韩欧美综合一区| 欧美日韩午夜在线| av毛片久久久久**hd| 韩国av一区二区三区四区| 亚洲午夜久久久久| 亚洲欧洲性图库| 久久久久久99久久久精品网站| 欧美日韩亚洲丝袜制服| 色香色香欲天天天影视综合网| 国产在线视视频有精品| 美女爽到高潮91| 五月天激情综合| 一区二区在线观看视频| 国产精品乱码妇女bbbb| 日韩欧美国产三级电影视频| 欧美丝袜丝nylons| 色综合天天综合在线视频| 粉嫩高潮美女一区二区三区| 精品一区二区三区久久| 日韩精品亚洲一区二区三区免费| 亚洲男同性视频| 亚洲人成亚洲人成在线观看图片 | 蜜臀av一区二区三区| 亚洲午夜在线视频| 亚洲一区二区三区四区不卡| 成人欧美一区二区三区在线播放| 久久久久久免费网| 精品美女一区二区三区| 日韩一区二区免费在线电影| 91精品国产一区二区三区| 欧美色图免费看| 欧美三级在线视频| 777a∨成人精品桃花网| 91精品国产综合久久精品性色| 欧美日韩国产另类不卡| 欧美疯狂做受xxxx富婆| 欧美高清视频在线高清观看mv色露露十八 | 26uuu国产电影一区二区| 欧美va亚洲va香蕉在线| 精品久久久久久久久久久院品网| 日韩欧美亚洲国产精品字幕久久久| 日韩欧美中文字幕精品| 日韩久久久久久| 国产三级欧美三级日产三级99| 国产无人区一区二区三区| 国产精品久久毛片a| 国产精品久久久久久久久果冻传媒| 中文字幕欧美一| 亚洲成人一区在线| 蜜桃av一区二区三区电影| 久久精品国产免费看久久精品| 经典三级视频一区| 国产99一区视频免费| 99国产精品国产精品久久| 欧美亚洲一区二区在线| 欧美一区二区三级| 国产丝袜在线精品| 亚洲另类中文字| 日本女人一区二区三区| 国产精品中文字幕欧美| 色悠悠亚洲一区二区| 日韩一区二区在线观看视频| 久久久久久久久久久久久久久99| 欧美激情一区二区在线| 一区二区三区免费网站| 奇米精品一区二区三区在线观看| 国产精品影视网| 日韩一区中文字幕| 亚洲无人区一区| 国内成人精品2018免费看| 99精品视频在线观看免费| 91精品国产综合久久福利软件| 国产欧美日韩精品在线| 亚洲福利一区二区| 国产精品白丝jk白祙喷水网站 | 欧美吻胸吃奶大尺度电影| 精品入口麻豆88视频| 日韩美女视频一区| 欧美私人免费视频| 中文一区在线播放| 免费观看成人鲁鲁鲁鲁鲁视频| 成人黄色片在线观看| 欧美一级欧美一级在线播放| 国产精品久久久久桃色tv| 免费av网站大全久久| 91猫先生在线| 国产日韩av一区二区| 日韩精品视频网站| 91麻豆精品在线观看| 国产视频一区二区在线观看| 日韩在线卡一卡二| 色婷婷av一区二区三区软件 | 欧美日韩一区二区不卡| 国产日产欧产精品推荐色 | 国产精品一区二区在线播放| 欧美色视频在线| 亚洲视频 欧洲视频| 国产精品一级二级三级| 日韩视频中午一区| 婷婷丁香久久五月婷婷| 在线亚洲一区二区| 国产精品久久久久一区| 国内成+人亚洲+欧美+综合在线| 欧美精品 日韩| 亚洲国产日产av| 色女孩综合影院| 中文字幕中文字幕一区二区| 国产精选一区二区三区| 日韩色在线观看| 日本在线不卡视频| 欧美日韩国产在线观看| 亚洲自拍欧美精品| 在线亚洲+欧美+日本专区| 亚洲欧美另类小说视频| 成人精品一区二区三区四区| www国产精品av| 精油按摩中文字幕久久| 精品国产一区二区三区久久影院 | 国产一区二区伦理片| 日韩写真欧美这视频| 蜜臀91精品一区二区三区| 日韩视频一区在线观看| 美美哒免费高清在线观看视频一区二区 | 99这里只有久久精品视频| 中文字幕乱码一区二区免费| 国产成人av在线影院| 国产日本欧美一区二区| 大白屁股一区二区视频| 中文字幕不卡的av| 成人免费毛片嘿嘿连载视频| 欧美国产一区二区在线观看| 成人美女在线观看| 亚洲品质自拍视频网站| 欧美亚洲禁片免费| 日韩激情视频在线观看| 欧美一级片免费看| 国产乱妇无码大片在线观看| 久久精品人人做| 不卡电影免费在线播放一区| 亚洲精品乱码久久久久久日本蜜臀| 在线影院国内精品| 喷白浆一区二区| 久久久精品一品道一区| 99精品欧美一区二区蜜桃免费 | 欧美一级夜夜爽| 精品一区二区三区久久久| 中文字幕不卡在线| 在线视频国产一区| 麻豆精品一二三| 国产精品卡一卡二卡三| 欧美日韩午夜在线| 精品一区二区三区视频在线观看| 国产欧美日韩在线看| 91美女片黄在线观看91美女| 亚洲午夜久久久久| 久久女同性恋中文字幕|