将所有内容保存在JavaScript / HTML / CSS代码的一页中是不是一个糟糕的设计选择?也就是说,我会有导航按钮,只显示/隐藏网站的相关方面。
我知道这可能取决于网站,但这是一个相对的网站/网络应用程序,所以希望答案能够概括。
答案 0 :(得分:2)
取决于您网页的大小。请记住,所有数据都需要通过网络传输。如果您的页面非常大,那么这是一个坏主意,因为加载时间非常糟糕。不要忘记网络连接速度慢的人和移动设备。
请提供更多信息。
答案 1 :(得分:2)
它的设计很糟糕,你应该有分离的css js和html文件。 每个页面也应该有自己的html文件,而head \ footer等常见组件可以包含在所有htmls中。
答案 2 :(得分:2)
这可能不是您正在寻找的答案,但这实际上取决于您要做的事情。如果您根据用户的操作隐藏和显示少量内容,则可以立即加载所有内容。
但是,如果您尝试显示和隐藏大量可能是交互式的信息并且有大量与之关联的其他数据(如大型下拉列表或动态数据),您可能需要加载这些信息按需部署应用程序的部分,以便加载初始页面结构,然后当用户与页面交互时,次要部分然后加载。
jQuery UI允许您通过连接ajax调用以在单击时动态加载选项卡,展开时的accordion部分或请求时的对话框来执行此操作。我在目前的项目中经常使用它,它确实减少了你加载的初始DOM的大小,并且假设用户有一个不错的连接,允许你以低成本降低页面的其他“部分”
(编辑:我应该注意到,几乎所有的JavaScript框架都允许动态加载内容,只需使用JavaScript本身的sans框架。)
答案 3 :(得分:1)
在.NET世界中实际上存在这样的设计模式 - 我忘了它的名称,但基本上index.aspx将是您网站中唯一的页面,内容会根据用户的交互而变化。
使用jQuery和纯HTML我认为同样的想法在理论上也是可能的,这取决于你的页面有多大(参见关于页面大小的其他回复)。
在开发过程中牢记维护。
答案 4 :(得分:1)
能够为您解答此问题的最佳人选是您网站/应用的潜在用户。
对于他们来说,在不同的标签页中打开多个页面可能会很有用,以便于书签和导航。此外,通过在一个页面中执行所有操作,您将失去浏览器最常用的功能:“后退”和“前进”按钮。
由于技术或组织方面的原因,通常会导致您在单个页面中执行所有操作的原因是您希望为所有内容创建单个URL。
如果你有时间,我建议制作一个快速原型并让一些可能的用户对其进行测试。