最近,我一直在思考在服务器端构建原始XML的某种非主流架构,然后在客户端上使用XSLT样式表将XML转换为完整的UI.当然,如果客户端不具备客户端XSLT,则必须存在回退机制,在这种情况下,我们只是在服务器端为它们进行转换.
我已经非常熟悉XSLT,这种方法似乎是表示和内容的完全分离,完全强制数据为XML,并使用XSLT进行演示.
我也知道这确实给应用程序增加了额外的复杂层,这只是另一个可能失败的移动部分.
我的问题是:是否有任何大牌或大流量网站使用这种方法,如果是这样的话:你从中获取了哪些限制/经验教训?
谢谢互联网,扎克
就像其他人提到的那样,暴雪有很多站点都是客户端xsl.我建议避免使用客户端xsl.这是一个非常酷的想法,但是你需要解决许多不寻常的错误.
在Firefox中,任何使用document.write的javascript都会破坏DOM.另外,firefox的noscript插件会阻止客户端xsl.在这两种情况下,用户都不会看到任何内容.似乎没有办法检测到这种错误,因此后退将无法正常工作.
在IE中,如果您有任何30x重定向到不同来源(从http到https或跨子域)的任何内容,则会因违反相同的源策略而出错.你没有真正违反相同的原始政策,但IE就像你一样.例如,如果您访问http://foo.example.com/login并执行302重定向到https://bar.example.com/login.xml,则IE会将xsl视为来自bar .example.com,它会将xml视为来自foo.example.com.因此,您需要恢复为重定向的元刷新.
这些是我想到的东西.这是一个很好的想法,但要注意这些问题.
我无法详细告诉你它是如何实现的,但是魔兽世界是一个非常大而且流量很大的网站,它们的网站就像你描述的那样实现了.