首页 > 网页制作 > XML/XSLT

历数Firefox2.0对XML处理的改进

admin XML/XSLT 2022-02-06 15:59:19 网页制作   网页   改进   处理   &lt   Firefox   &quot   XML   2.0"

Firefox 2.0 在对 XML 的支持方面有几个重要的改进。目前它的用户部署如日中天。了解 Firefox 2.0 XML 特性的改进,包括在 RSS Web 提要处理方面有争议的变化。
被赋予新应用程序平台的角色后,现在 Web 浏览器可能是最热门的软件。对于软件开发人员来说这是令人激动的时刻,动态 HTML 技术以 Asynchronous JavaScript XML (Ajax) 获得重生,Microsoft® Internet Explorer® 的开发得以恢复等等。过去两年中,关于 XML 和 Firefox 的 developerWorks 系列文章(请参阅 参考资料)介绍了以 1.8 版本的核心 Mozilla 浏览器引擎为基础的 Firefox 1.5 版。此后,Mozilla 项目永不停歇的开发步伐又催生了 Firefox 2.0,它以 Gecko 1.8.1 Web 呈现引擎为基础。Firefox 2.0 的一些改进涉及到 XML 处理。本文介绍了最新的 Firefox XML 处理功能,包括开发人员应该记住的可能遇到的主要障碍。
减少了对 Web 提要的控制
Firefox 2.0 一个变化引起了用户社区的极大惊慌。如果提供 RSS 或 Atom 这类 Web 提要,可能需要包括 XSLT 样式表为用户转换成其他表示形式。清单 1 中的 Atom 提要引用了这样的转换。
清单 1. 包含样式表引用的 Atom 提要
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xml" href="atom2html.xslt"?>
xml:lang="en"
xml:base="http://www.example.org">
http://www.example.org/myfeed
My Simple Feed
2005-07-15T12:00:00Z


Uche Ogbuji

http://www.example.org/entries/1
A simple blog entry

2005-07-14T12:00:00Z
This is a simple blog entry


http://www.example.org/entries/2
<br /><link href="/blog/2005/07/2" /><br /><updated>2005-07-15T12:00:00Z</updated><br /><summary>This is simple blog entry without a title</summary><br /></entry><br /></feed></span> <br />关键是第二行中的样式表处理指令(PI)。如果用 Firefox 1.5 打开,浏览器就会尽职尽责地加载 atom2html.xslt 并显示结果。本系列文章第 2 部分(请参阅 参考资料)已经提到,查看实际的 XML 必须通过 “查看源代码”。在 Firefox 2.0 中,浏览器忽略该样式表 PI 并使用定制的 Firefox 视图查看,如图 1 所示(Firefox 2.0.0.6、Mac OS X 平台上的屏幕截图)。 <br /><img height="424" src="https://www.iwyv.com/d/files/20220206/njxt5td41dm.jpg" width="515" border="0" alt="" /><br />图 1. Firefox 2.0 内置的 Web 提要视图 <br />避免这种情况并强制使用所选样式表,惟一的办法就是愚弄头脑简单的 Firefox,它通过在文件前 512 个字节中查找 “rss” 或 “feed” 来判定是否为 Web 提要。清单 2 采用了一种广为人知的办法,专门插入一段注释来填充这 512 个字节。 <br /><strong>清单 2. 绕过 Firefox 2.0 和 Internet Explorer 7 默认样式表处理方式的 Atom 提要</strong> <br /><span class="code"><?xml version="1.0" encoding="utf-8"?><br /><!-- Firefox 2.0 and Internet Explorer 7 use simplistic feed sniffing to override desired<br />presentation behavior for this feed, and thus we are obliged to insert this comment, a<br />bit of a waste of bandwidth, unfortunately. This should ensure that the following<br />stylesheet processing instruction is honored by these new browser versions. For some more<br />background you might want to visit the following bug report:<br />https://bugzilla.mozilla.org/show_bug.cgi?id=338621<br />--><br /><?xml-stylesheet type="text/xml" href="atom2html.xslt"?><br /><feed xmlns="http://www.w3.org/2005/Atom"<br />xml:lang="en"<br />xml:base="http://www.example.org"><br /><!-- content of the feed identical to listing 1, so trimmed --><br /></feed></span> <br />考虑了用户社区的反对意见之后,Firefox 开发人员决定坚持自身的立场,因而这种行为方式将保留到未来的 Firefox 版本之中。我个人不喜欢这种方式,您可以阅读有关的争论再决定喜欢与否。值得一提的是,这种做法与 Internet Explorer 和 Apple Safari 有相似之处。 <br /> <span id="art_bot" class="jbTestPos"></span><br /><strong>微摘要</strong> <br />微摘要(microsummarie),也称为活动标题(Live Title)是 Firefox 2.0 一种简洁的新特性,可以让浏览器用网站中一些有意义的内容来替换标题,特别是在书签中。比如,IBM developerWorks 的微摘要可以用站点上的最新文章标题代替静态文字 “developerWorks : IBM's resource for developers”。网站可以提供一个微摘要,用户也可自行创建。后一种情况称为 “微摘要生成器”,也是本文更关注的一点,因为它要求用户端处理 XML 和 XSLT(不熟悉 XML 的人可以重复使用其他人提供的生成器)。清单 3 中的微摘要生成器提取 developerWorks 主打文章的标题。 <br />清单 3. 使用 IBM developerWorks 主打文章标题的微摘要生成器 <br /><span class="code"><?xml version="1.0" encoding="UTF-8"?><br /><generator xmlns="http://www.mozilla.org/microsummaries/0.1" <br />name="IBM developerWorks featured article"><br /><template><br /><xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"<br />xmlns:html="http://www.w3.org/1999/xhtml"><br /><xsl:output method="text"/><br /><xsl:template match="/"><br /><xsl:text>Featured article:</xsl:text><br /><!-- On sites that make wider use of element IDs<br />you can use more direct and efficient XPaths --><br /><xsl:value-of select="//html:a[@class='feature'][1]"/><br /></xsl:template><br /></xsl:transform><br /></template><br /><pages><br /><include>http://www.ibm.com/developerworks/[a-zA-Z0-9]*/?</include><br /></pages><br /></generator></span> <br />生成器包括两部分:模板和页面信息。模板包括应用于网页的提取微摘要文本的 XSLT 代码。后者指定浏览器把微摘要应用于哪个页面。微摘要是简单的文本,输出指令与此相适应。微摘要的关键在于 XPath //html:a[@class='feature'][1],查找包含主打文章标题的元素。pages 部分的正则表达式保证微摘要可用于网站首页和每个 developerWorks 专区的首页。 <br />参考资料 提供的一篇教程说明了如何安装 清单 3 这样的微摘要生成器。到目前为止,微摘要还是 Mozilla 特有的特性。 <br /><strong>SAX 及其他</strong> <br />对于那些开发 Mozilla 扩展的人来说,最有意义的是 Mozilla XPCOM 组件系统现在提供了一个 SAX 解析器框架。如果没有合适的高层处理技术,可以自行开发高效处理 XML 的扩展。XPCOM 集成意味着可以用 C 、JavaScript 或具有 XPCOM 绑定支持的其他任何语言来处理 SAX 事件。 <br /><strong>OpenSearch</strong> <br />OpenSearch 是 Amazon A9 孵化器开发的一个 XML 标准。它提供了几种 XML 格式和其他约定来描述和使用搜索引擎。Firefox 一直强力支持可扩展的搜索引擎插件,2.0 引入了 OpenSearch 支持,因而可以通过与 Iternet Explorer 及其他浏览器兼容的机制扩展搜索功能。 <br />Firefox 支持的 OpenSearch 1.1 目前是 beta 版,为保持与 Firefox 和 OpenSearch 的兼容性,可能需要更新。清单 4 提供了对于 IBM developerWorks 的 OpenSearch 描述文档。 <br />清单 4. IBM developerWorks 的 OpenSearch 描述文档<br /> <br /><span class="code"><?xml version="1.0" encoding="UTF-8"?><br /><OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"><br /><ShortName>IBM developerWorks search</ShortName><br /><Description>Search IBM developerWorks zones</Description><br /><Tags>xml java architecture</Tags><br /><InputEncoding>utf-8</InputEncoding><br /><Contact>https://www.ibm.com/developerworks/secure/feedback.jsp<br /></Contact><br /><!-- The template attribute is split at the "?" for formatting purposes --><br /><Url type="text/html" <br />template="http://www.ibm.com/developerworks/views/xml/<br />libraryview.jsp?<br />search_by={searchTerms}"/><br /><Attribution>All content Copyright 2007, IBM developerWorks</Attribution><br /></OpenSearchDescription></span> <br />该文档仅仅说明 IBM developerWorks 提供了一个搜索 URL: <br /><span class="code">http://www.ibm.com/developerworks/views/xml/libraryview.jsp?search_by={searchTerms}</span> <br />其中的 {searchTerms} 是一个模板参数,搜索工具将使用搜索项目来代替它。如果搜索 “Firefox XML”,URL 将变成: <br /><span class="code">http://www.ibm.com/developerworks/views/xml/libraryview.jsp?search_by=Firefox XML</span> <br />OpenSearch 规范了定义了这种 URL 模板系统。OpenSearch 还定义了把结果返回为 RSS 2.0 或 Atom 1.0 提要的约定和几种专用的扩展。Firefox 还不支持这种 Web 提要搜索结果,如果描述不含 Url 元素和 type="text/html"(表示从 URL 返回的内容类型)则返回错误。这种限制很不合理,但也可能是基于多数人仍然通过传统 HTML 表单和结果页面而不是 Web 2.0 机制搜索的现实考量。 <br />在 Firefox 2.0 中,清单 4 这样的 OpenSearch 描述就像是完整的搜索引擎插件。网站可以使用页面头部的链接指定这样的描述,比如: <br /><span class="code"><link rel="search" type="application/opensearchdescription xml" <br />title="IBM developerWorks" <br />href="/path/to/opensearch/description/document.xml"/> </span> <br /><strong>注意</strong>:前面的三行代码通常显示为一行。为了便于显示和打印而分解成多行。 <br /><strong>结束语</strong> <br />仍在 alpha 测试阶段的 Firefox 3.0 将带来更重要的 XML 特性。预计将在 2008 年上半年发布完整的版本。包括关于 XML 处理的重要 bug 修正和新的特性,当它成为主流 Firefox 版本的时候我将继续讨论。Mozilla 核心 XML 工具箱仍然在不断改进,对于涉及 XML 技术的开发人员和用户来说是一大福音。对于多数用户和开发人员来说,Web 浏览器是 XML 处理的脸面,本系列文章讲继续追踪和讨论最新 Firefox 版本的相关特性。<br /> <br /><strong>参考资料</strong> 您可以参阅本文在 developerWorks 全球网站上的 <u>英文原文</u>。 <u>Updated developer features for Firefox 2.0</u>:查看 Firefox 2.0 的新特性,其中部分涉及到 XML。 <u>Updated developer features for Firefox 3.0</u>:跟踪 Firefox 下一版本的变化和新功能,包括和 XML 有关的新特性。 <u>XML in Firefox 1.5</u>:阅读这三篇最新的 developerWorks 系列文章: <u>Firefox 1.5 中的 XML,第 1 部分: XML 特性概述</u>(Uche Ogbuji,2006 年 3 月):了解这一迅速发展的 Web 浏览器的 XML 新特性。 <u>Firefox 1.5 中的 XML,第 2 部分: 基本 XML 处理</u>(Uche Ogbuji,2006 年 3 月):Firefox 中的基本 XML 处理,包括 XML 解析、级联样式表(CSS)和 XSLT 样式表。还需要了解一些限制。 <u>XML in Firefox 1.5, Part 3: JavaScript meets XML in Firefox</u>(Uche Ogbuji,2006 年 8 月):使用 JavaScript 在 Firefox 浏览器中操作 XML。 <u>Controversial new Firefox 2.0 change</u>:关于 Firefox 忽略很多 XML Web 提要中所提供样式表链接的讨论。 <u>Microsummaries</u>:了解这种 Firefox 2.0 新增的网页自动更新摘要。 <u>SAX support in Firefox 2.0</u>:了解如何使用 Simple API for XML (SAX) 解析 API 和 XUL 应用程序及扩展。 <u>SVG in Firefox 2.0</u>:了解 Firefox 2.0 对 SVG 的支持。 <u>Creating OpenSearch plugins for Firefox</u>:创建与 OpenSearch 兼容的支持 Firefox 专有特性的搜索插件,如搜索提示和 <code>SearchForm</code> 元素。 <u>Introducing OpenSearch</u> (Uche Ogbuji,O'Reilly xml.com,2007 年 7 月):了解 OpenSearch,共享搜索结果的一组简单格式。 <u>developerWorks search help</u>:高效的搜索策略,了解如何输入搜索查询和使用 IBM developerWorks 运算符。 <u>IBM XML 认证</u>:看看如何才能成为一名 IBM 认证的 XML 及相关技术的开发人员。 <u>XML 技术文档库</u>:developerWorks XML 专区提供了大量技术文章和技巧、教程、标准以及 IBM 红皮书。 <u>developerWorks 技术事件和网络广播</u>:随时关注技术的最新进展。 <u>技术书店</u>:关于本文主题和其他技术主题的书籍。 <br /><strong>获得产品和技术</strong><br /> <u>Firefox</u>:基于 Mozilla 的 Web 浏览器提供了符合标准、高效安全和强大的 XML 特性。当前版本是 2.0.0.6。 <u>IBM 试用版软件</u>:用这些试用版软件开发您的下一个项目,可直接从 developerWorks 下载。 <br /><strong>关于作者</strong> <br />Uche Ogbuji 是 Zepheira, LLC 的合伙人,这家公司专门提供下一代 Web 技术解决方案。Ogbuji 是 4Suite 的首席开发人员,这是一种用于 XML、RDF 和知识管理应用程序的开放源代码平台;也是 Versa RDF 查询语言的首席开发人员。他是一位出生在尼日利亚的计算机工程师和技术作家,目前定居在科罗拉多的博尔德。可以通过他的 Weblog Copia 进一步了解 Ogbuji 先生。 </div> <div class="pagebar"> </div> <div class="pcd_ad"><script src=/d/js/acmsd/thea14.js></script></div> <div class="mbd_ad"> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-5850285417076520" data-ad-slot="9825815134" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="rights"> <h5>版权声明</h5> <p>本文仅代表作者观点,不代表本站立场。<br> 本文系作者授权发表,未经许可,不得转载。<br>本文地址:/web/XML/77513.html</p> <div class="bdsharebuttonbox"><a href="#" class="bds_more" data-cmd="more"></a><a href="#" class="bds_fbook" data-cmd="fbook" title="分享到Facebook"></a><a href="#" class="bds_twi" data-cmd="twi" title="分享到Twitter"></a><a href="#" class="bds_linkedin" data-cmd="linkedin" title="分享到linkedin"></a><a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间"></a><a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博"></a><a href="#" class="bds_douban" data-cmd="douban" title="分享到豆瓣网"></a><a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信"></a><a href="#" class="bds_evernotecn" data-cmd="evernotecn" title="分享到印象笔记"></a></div> <script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"1","bdSize":"24"},"share":{},"image":{"viewList":["fbook","twi","linkedin","qzone","tsina","douban","weixin","evernotecn"],"viewText":"分享到:","viewSize":"16"}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='/static/api/js/share.js?v=89860593.js?'];</script> </div> <div class="r-pn-post"> <div class="shang"><a title="详解XML中的模式Schema" href="/web/XML/77511.html" rel="bookmark" class="prev_p"><span>上一篇 :</span> 详解XML中的模式Schema </a></div> <div class="xia"><a href="/web/XML/77514.html" rel="bookmark" class="next_p"><span>下一篇 :</span> Microsoft的XMLHTTP对象介绍</a></div> <div class="clear"></div> </div> </div> <div class="related"> <h4>相关文章</h4> <ul> <li> <a href="/youxi/178128.html"> <div class="img"><img src="https://www.iwyv.com/d/files/20220728/ixtyziknqkf.jpg" alt="《怪物猎人崛起》爵银龙大锤打法视频教程 爵银龙怎么打_招式处理 游戏攻略"></div> <p>《怪物猎人崛起》爵银龙大锤打法视频教程 爵银龙怎么打_招式处理 游</p> </a> </li><li> <a href="/youxi/175715.html"> <div class="img"><img src="https://www.iwyv.com/d/files/20220427/xvfww2l1o21.jpg" alt="《原神》债务处理人讨伐路线 游戏攻略"></div> <p>《原神》债务处理人讨伐路线 游戏攻略</p> </a> </li><li> <a href="/shouji/178087.html"> <div class="img"><img src="https://www.iwyv.com/d/files/20220724/xgc2gkwi5ul.jpg" alt="ColorOS后台优化更新体验:多任务处理更从容、流畅度提高"></div> <p>ColorOS后台优化更新体验:多任务处理更从容、流畅度提高</p> </a> </li><li> <a href="/youxi/178076.html"> <div class="img"><img src="https://www.iwyv.com/d/files/20220723/nkzbzeelkgs.jpg" alt="《原神》海上绮梦录答案一览 2.8网页活动原石怎么获得 游戏攻略"></div> <p>《原神》海上绮梦录答案一览 2.8网页活动原石怎么获得 游戏攻略</p> </a> </li><li> <a href="/youxi/177862.html"> <div class="img"><img src="https://www.iwyv.com/d/files/20220720/ovryz0ym1qd.jpg" alt="《怪物猎人崛起》千刃龙招式处理讲解 游戏攻略"></div> <p>《怪物猎人崛起》千刃龙招式处理讲解 游戏攻略</p> </a> </li><li> <a href="/bijiben/2021-03-11/34515.html"> <div class="img"><img src="https://www.iwyv.com/d/files/20210311/40iacjagwoj.jpg" alt="再掀APU狂潮 A8处理器华硕N53T笔记本评测"></div> <p>再掀APU狂潮 A8处理器华硕N53T笔记本评测</p> </a> </li><li> <a href="/bijiben/2021-03-11/34501.html"> <div class="img"><img src="https://www.iwyv.com/d/files/20210311/eslss54meza.jpg" alt="显卡提升40% 22nm移动处理器i3/i5/i7首测"></div> <p>显卡提升40% 22nm移动处理器i3/i5/i7首测</p> </a> </li><li> <a href="/bijiben/2021-03-11/34493.html"> <div class="img"><img src="https://www.iwyv.com/d/files/20210311/xplke0ianc0.jpg" alt="体验为王 第三代i3/i5/i7处理器应用首测"></div> <p>体验为王 第三代i3/i5/i7处理器应用首测</p> </a> </li> </ul> </div> <div class="post_comments"> <div id="comment"> <link href="/skin/ecmspl/css/pl.css" rel="stylesheet"> <div class="showpage" id="plpost"> <table width="100%" border="0" cellpadding="0" cellspacing="0" style="line-height: 25px; padding: 5px 3px 1px 8px; font-size: 18px;"> <tr><td><strong><font color="#333333">留言与评论(共有 <span id="infocommentnumarea">0</span> 条评论)</font></strong></td></tr> </table> <script> function CheckPl(obj) { if(obj.saytext.value=="") { alert("您没什么话要说吗?"); obj.saytext.focus(); return false; } return true; } </script> <form action="/e/pl/doaction.php" method="post" name="saypl" id="saypl" onsubmit="return CheckPl(document.saypl)"> <table width="100%" border="0" cellpadding="0" cellspacing="0" id="plpost"> <tr> <td> <table width="100%" border="0" cellspacing="10" cellpadding="0"> <tr> <td> <script src="/e/pl/loginjspl.php"></script> <textarea name="saytext" rows="6" id="saytext" placeholder="请遵守互联网相关规定,不要发布广告和违法内容!"></textarea> <script src="/d/js/js/plface.js"></script>    <table width='100%' align='left' cellpadding=3 cellspacing=1 bgcolor='#FFF'> <tr> <td width="80%" height="40" bgcolor="#FFFFFF">验证码:<input name="key" type="text" class="inputText" size="16" /> <img src="/e/ShowKey/?v=pl" align="absmiddle" name="plKeyImg" id="plKeyImg" onclick="plKeyImg.src='/e/ShowKey/?v=pl&t='+Math.random()" title="看不清楚,点击刷新" /> </td> <td width="20%" height="40" bgcolor="#FFFFFF"> <input name="sumbit" type="submit" value="提交评论" tabindex="6" style="border-radius: 5px;font-size: 16px;background: #e94c3d none repeat scroll 0% 0%;border: 0px none;margin: 0px 16px;padding: 1px 16px;height: 33px;line-height: 30px;color: rgb(255, 255, 255);opacity: 0.95;"> <input name="id" type="hidden" id="id" value="77513" /> <input name="classid" type="hidden" id="classid" value="49" /> <input name="enews" type="hidden" id="enews" value="AddPl" /> <input name="repid" type="hidden" id="repid" value="0" /> <input type="hidden" name="ecmsfrom" value="/web/XML/77513.html"> </td> </tr> </table> </td> </tr> </table> </td> </tr> </table></form> <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF"> <tr> <td bgcolor="#FFFFFF" id="infocommentarea"></td> </tr> </table> <script src="/e/extend/infocomment/commentajax.php?classid=49&id=77513"></script> </div> </div> </div> <div class="pcd_ad"><script src=/d/js/acmsd/thea18.js></script></div> <div class="mbd_ad"> <!-- 手机广告位-评论底部广告位新 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-5850285417076520" data-ad-slot="9383780240" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <script type="text/javascript" src="//gg.iwyv.com/production/mh_g/i/static/wi_djn.js"></script> </div> </div> <!--@ mainl--> <div class="mainr"> <div class="widget widget_ad"> <script src=/d/js/acmsd/thea14.js></script> </div> <div class="widget widget_hotpost"> <h4>热门文章</h4> <ul> <li><i class="red">1</i><a href="/web/XML/77413.html" target="_blank">详解XML中的代码注释书写方法</a></li> <li><i class="red">2</i><a href="/web/XML/77511.html" target="_blank">详解XML中的模式Schema</a></li> <li><i class="red">3</i><a href="/web/XML/77411.html" target="_blank">解析XML对代码中的空白处理</a></li> <li><i>4</i><a href="/web/XML/77415.html" target="_blank">详解XML中的文档与声明用法</a></li> <li><i>5</i><a href="/web/XML/77417.html" target="_blank">UML建模-面向对象设计:为什么要学习UML</a></li> <li><i>6</i><a href="/web/XML/77455.html" target="_blank">XML入门教程:元素声明-XML/XSLT</a></li> <li><i>7</i><a href="/web/XML/77525.html" target="_blank">了解WEB页面工具语言XML(一)产生背景</a></li> <li><i>8</i><a href="/web/XML/77422.html" target="_blank">XML入门教程:XSLT-XML/XSLT</a></li> <li><i>9</i><a href="/web/XML/77489.html" target="_blank">XML教程:通过一个例子来学习XML的语法</a></li> <li><i>10</i><a href="/web/XML/77521.html" target="_blank">XML模式:FIXML和SVG</a></li> </ul> </div> <div class="widget widget_ad"> <script src=/d/js/acmsd/thea10.js></script> </div> <div class="widget widget_previous"> <h4>最近发表</h4> <ul> <li><a href="/ITzixun/178187.html">日本雷蛇官网实习生上错价了?游戏本只卖15950日元?</a></li> <li><a href="/youxi/175574.html">《原神》物归原主又归原主世界任务指南 游戏攻略</a></li> <li><a href="/youxi/175631.html">《原神》振晶的研究第三天试用角色2000分攻略 游戏攻略</a></li> <li><a href="/youxi/175559.html">《原神》2.6版全旋曜玉帛点位说明_蒙德 游戏攻略</a></li> <li><a href="/youxi/175547.html">《原神》2.6版深渊11-1守护镇石技巧 游戏攻略</a></li> <li><a href="/youxi/175604.html">《原神》神里绫华装备搭配推荐 游戏攻略</a></li> <li><a href="/youxi/175516.html">《原神》云堇突破材料获取方法 游戏攻略</a></li> <li><a href="/youxi/175494.html">《原神》世界任务他乡迷失客攻略 游戏攻略</a></li> <li><a href="/youxi/175497.html">《原神》神里绫华全面培养指南 神里绫华技能详解与出装建议 游戏攻略</a></li> <li><a href="/youxi/175460.html">《原神》神里绫人平民向大世界配队思路 游戏攻略</a></li> </ul> </div> <div class="widget widget_ad"> <script src=/d/js/acmsd/thea11.js></script> </div> <div class="widget widget_tags"> <h4>标签列表</h4> <ul> <li class="submenu"><a target="_blank" href="/e/tags/?tagname=%E5%BC%80%E6%94%BE%E4%B8%96%E7%95%8C">开放世界</a></li> <li class="submenu"><a target="_blank" href="/e/tags/?tagname=%E6%B2%99%E7%9B%92">沙盒</a></li> <li class="submenu"><a target="_blank" href="/e/tags/?tagname=win10">win10</a></li> <li class="submenu"><a target="_blank" href="/e/tags/?tagname=3D%E8%AE%BE%E8%AE%A1">3D设计</a></li> <li class="submenu"><a target="_blank" href="/e/tags/?tagname=PS">PS</a></li> <li class="submenu"><a target="_blank" href="/e/tags/?tagname=%E9%AC%BC%E8%B0%B7%E5%85%AB%E8%8D%92">鬼谷八荒</a></li> <li class="submenu"><a target="_blank" href="/e/tags/?tagname=win7">win7</a></li> <li class="submenu"><a target="_blank" href="/e/tags/?tagname=%E6%89%8B%E6%B8%B8">手游</a></li> <li class="submenu"><a target="_blank" href="/e/tags/?tagname=%E5%9B%A2%E9%98%9F%E7%AB%9E%E6%8A%80">团队竞技</a></li> <li class="submenu"><a target="_blank" href="/e/tags/?tagname=%E5%8E%9F%E7%A5%9E">原神</a></li> <li class="submenu"><a target="_blank" href="/e/tags/?tagname=%E4%BA%8C%E6%AC%A1%E5%85%83%E6%B8%B8%E6%88%8F">二次元游戏</a></li> <li class="submenu"><a target="_blank" href="/e/tags/?tagname=%E7%AD%96%E7%95%A5">策略</a></li> <li class="submenu"><a target="_blank" href="/e/tags/?tagname=%E7%94%B5%E8%84%91%E5%B8%B8%E8%AF%86">电脑常识</a></li> <li class="submenu"><a target="_blank" href="/e/tags/?tagname=%E7%8E%8B%E8%80%85%E8%8D%A3%E8%80%80">王者荣耀</a></li> <li class="submenu"><a target="_blank" href="/e/tags/?tagname=%E7%85%A7%E7%89%87%E5%A4%84%E7%90%86">照片处理</a></li> <li class="submenu"><a target="_blank" href="/e/tags/?tagname=MySQL">MySQL</a></li> <li class="submenu"><a target="_blank" href="/e/tags/?tagname=%E5%90%83%E9%B8%A1">吃鸡</a></li> <li class="submenu"><a target="_blank" href="/e/tags/?tagname=%E7%AC%94%E8%AE%B0%E6%9C%AC">笔记本</a></li> <li class="submenu"><a target="_blank" href="/e/tags/?tagname=%E7%BB%9D%E5%9C%B0%E6%B1%82%E7%94%9F%E5%A4%A7%E9%80%83%E6%9D%80">绝地求生大逃杀</a></li> <li class="submenu"><a target="_blank" href="/e/tags/?tagname=%E5%B0%84%E5%87%BB%E7%AB%9E%E4%BA%89">射击竞争</a></li> </ul> </div> <div class="widget widget_ad"> <script src=/d/js/acmsd/thea12.js></script> </div> </div> </div> </div> <script type="text/javascript"> // JavaScript Document function goTopEx(){ var obj=document.getElementById("goTopBtn"); function getScrollTop(){ return document.documentElement.scrollTop || document.body.scrollTop; } function setScrollTop(value){ if(document.documentElement.scrollTop){ document.documentElement.scrollTop=value; }else{ document.body.scrollTop=value; } } window.onscroll=function(){getScrollTop()>0?obj.style.display="":obj.style.display="none"; var h=document.body.scrollHeight - getScrollTop() - obj.offsetTop - obj.offsetHeight; obj.style.bottom=0+"px"; if(h<350){ obj.style.bottom=340+"px"; obj.style.top="auto"; } } obj.onclick=function(){ var goTop=setInterval(scrollMove,10); function scrollMove(){ setScrollTop(getScrollTop()/1.1); if(getScrollTop()<1)clearInterval(goTop); } } } </script> <!--向上 --> <div id="jz52top" > <span> <DIV style="DISPLAY: none" id="goTopBtn" ><a title="返回顶部" class="jz52topa" ><b>返回顶部</b></a></DIV> </span> <SCRIPT type=text/javascript>goTopEx();</SCRIPT> <span> <ul id="navmenu"> <li><a title="QR Code" class="jzqr" ><b>QR Code</b></a> <ul> <div id="jzqrn"> <img src="/skin/ecms172/images/weixin.png" width="228" height="228" /> <p>打开手机扫描上面的二维码</p> </div> </ul> </li> </ul> </span> </div> <!--向上完 --> <!-- 底部广告--> <!-- 底部广告--> <!--底部信息 --> <div class="ft_wp"> <div id="ft" class="wp cl ftddd" > <div class="ft_info" > <div class="ft_z1"> <p>潘少俊衡</p> <h3 class="ft_z_zdxx_zx"> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?1cc50873f5e983e8073d99a425b87921"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <span class="pipe"> | </span> 桂ICP备2023010378号-4 </h3> <h2 class="ft_z_zdxx_zx"> <p style="font-size:12px;">Powered By <a href="https://www.iwyv.com/" title="潘少俊衡" target="_blank">EmpireCMS</a> </p> </h2> </div> <div class="ft_z2"> </div> <div class="ft_z2"> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-XFMBHZNTEL"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-XFMBHZNTEL'); </script> <p><a target="_blank" href="https://www.iixiang.com/">爱享小站</a></p> <p><a target="_blank" href="https://www.sdzdyn.com/">中德益农</a></p> <p><a target="_blank" href="https://www.guujie.com">谷姐神农</a></p> <p><a target="_blank" href="https://huanyafeiliao.com/">环亚肥料</a></p> </div> <div class="ft_z2"> <p><a target="_blank" href="https://beian.miit.gov.cn/Integrated/index">桂ICP备2023010378号-4</a></p> <p><a href="https://beian.miit.gov.cn" title="桂公网备 45012202000125号" target="_blank">桂公网备 45012202000125号</a></p> </div> <div class="ft_z2"> <p><a target="_blank" href="https://www.iwyv.com/panshaoSEO/1277.html">联系我们</a></p> </div> <div class="ft_z2"> <p><a target="_blank" href="https://www.iwyv.com/panshaoSEO/1277.html">商业合作</a></p> <p><a target="_blank" href="https://www.iwyv.com/panshaoSEO/1277.html">广告投放</a></p> <p><a target="_blank" href="/tgxz/">投稿须知</a></p> </div> <div class="ft_bx"style="left:335px;"> </div> <div class="ft_bx ft_t1"> </div> <div class="ft_bx ft_t2"> </div> <div class="ft_bx ft_t3"> </div> <div class="ft_bx ft_t4"> </div> <div class="ft_z3"> <dd> <span><img src="/skin/ecms172/images/weixin.png" width="75" height="72.2" /></span> <p> <!-- 引用官方图标 --> <!-- 引用官方图标百度统计 --> </p> <p>使用手机软件扫描微信二维码</p> <p>关注我们可获取更多热点资讯</p> <p>感谢潘少俊衡友情技术支持</p> </dd> </div> </div> </div> </div> <div class="clear"></div> <!--底部信息完 --> <script src="/skin/ecms172/js/common.min.js" type="text/javascript"></script> <script></script> </body> </html>