2009-10-31 97 views
0

我在计算如何制作网页的“页面加载”体系结构时遇到了一些麻烦。XML,XSLT和JavaScript

其基本思想是,我将使用XSLT来呈现它,而不是用XSL标签做这种经典的方式,我会用JavaScript来做。因此,每个链接都应该引用一个JavaScript函数,以改变页面的内容和菜单。

我想这样做的原因是让JavaScript可以使用第一个初始XML文件中提供的数据动态显示每个页面,而不是为特定页面提供“完整”服务器请求,它只是有太多的缺点。

的,基本的问题是,有后在网上搜索了一个解决方案来访问的JavaScript文件的“基础性” XML,我只找到解决方案来访问外部XML文件。

我当然可以只“打印”的所有XML数据转换为JavaScript阵列完全在文档头部声明,但我相信这将是一个非常,非常讨厌的解决方案。而丑陋的,就此而言。因此

我的问题是:

  • 它甚至有可能做什么,我的思维 ?
  • 难道是搜索引擎友好的让所有 网站网页的内容在XML文件中加载 开始?

我的选择是使用AJAX按需动态加载特定页面的内容。然而,我发现很难找到一种对SEO不友好的方式。我无法想象一个搜索引擎会执行任何JavaScript。

如果这个不清楚,我很抱歉,但它真的让我感到困惑。
在此先感谢。

回答

1

它甚至有可能做我在想什么吗?

肯定。

将所有网站页面的内容最初加载到XML文件中是否对搜索引擎友好?

不,这将是总的精神错乱。

我无法想象一个搜索引擎会执行任何JavaScript。

好吧,挺。对于可访问性来说,这也非常糟糕:非JS浏览器或者在JS实现方面略有差异的浏览器(例如新保留字)会导致脚本出现错误和繁荣!没有页面。除非你通过散列链接提供适当的导航,否则可用性也会很糟糕。

所有的JavaScript的网页内容创作可以为原料的Web应用程序(臭名昭著,GMail的)是有用的,但是对于一个内容驱动的站点,将在很大程度上灾难性的。你基本上必须从客户端为JS浏览器建立相同的页面,在服务器端为所有其他代理建立相同的页面,此时你已经失去了在客户端上完成所有的优势。

可能更好地做到这一点,像这样:主要是基于HTML的,但客户端渐进增强做有用的任务,如检查更新服务器和打印“这个问题有了新答案”公布。

+0

你当然知道你的JavaScript ;-) 我以为是这样。 从我的角度来看,终点的结论必须是加载特定页面内容的页面请求的平滑性不符合SEO(也缺乏可访问性,但我不同意你的看法)。 那么困扰我的唯一事情是如何使用JavaScript访问底层XML?不要像我之前提到的那样使用它,我向你致敬。 感谢您的回复,顺便说一下。 – 2009-11-01 13:40:27

+0

这很简单:向服务器端脚本提供一个快速的AJAX请求,该请求返回该特定功能所需的XML的确切部分(或者作为XML,或者更通常为JSON,以减少恼人的数量)写入客户端XML-walking)。 – bobince 2009-11-01 13:52:03

+0

我不太确定'平滑度'是什么意思......用户习惯于在浏览器中像导航一样工作,而现代浏览器则尽量减少“页面之间”的时间,以尽可能快地导航。你在这样的危险中遇到了这样的预期行为!例如,如果您有一个页面可以执行一系列AJAX处理,而浏览器通常不会显示导航正在发生,您可能会发现您的用户坐在那里反复点击该链接并认为它不工作。 – bobince 2009-11-01 13:53:50

0

也许以下情形适用于你:

  1. 浏览器请求您的XML文件。

  2. 一旦加载,以xml文件相关联的XSLT被执行。结果:您的初始html与脚本标记一起输出。

  3. 在JavaScript

    ,到当前位置的AJAX调用,以获得“底层” XML-DOM。从那时起,你的JavaScript管理着所有的xml处理。

  4. 你确信在步骤3中,XML不是再次从服务器加载而是从浏览器缓存拍摄。

就是这样。