有没有理由不让网页动态检索它的主要内容?
例如,我有一个页眉,页眉和页脚,在这个页面的中间是一个空div。当您单击标题中的一个按钮时,http GET在幕后完成,空div的.innerHTML()将替换为结果。
我想不出有什么理由为什么这可能是一个坏主意,但我似乎无法找到任何可以做到这一点的页面?请指教!
答案 0 :(得分:4)
这不是闻所未闻,但也有问题。
显而易见的是,出于安全原因,有些用户关闭了javascript,他们根本无法使用您的网站。
它还会对使用辅助技术的残障用户产生负面影响,例如屏幕阅读器。
它可以使浏览器更难以有效地缓存静态内容,从而减慢浏览体验。
它可能使搜索引擎难以索引您的内容。
除非采取特殊措施使其正常工作,否则可能导致后退和前进按钮停止工作。
调试问题也很烦人,但如果你使用像Firebug这样的工具肯定不是不可能。
我不会将它用于静态内容(纯网页),但无论如何,它对于动态更新的内容来说无疑是一种合理的方法。
答案 1 :(得分:1)
如果没有额外的工作,它会杀死后退和前进历史记录按钮,并且很难链接到每个按钮加载的页面。您必须实现某种URL更改机制,例如通过对URL哈希中最后点击的页面进行编码(例如,当您单击按钮重定向到#page-2
或其他任何内容时)。
它还会使禁用JavaScript的用户无法访问您的网站。良好网页设计的原则之一是“优雅降级” - 使用JavaScript或Flash或CSS等高级功能增强您的网站,但如果它们被禁用仍可正常工作。
答案 2 :(得分:1)
两个注意事项:Search engine optimization (SEO)和书签。
是否有直接访问您的标题链接的网址?如果是这样,你(几乎)就好了。例如,以下代码是SEO友好的,并根据您的需要填充您的页面:
<a href="seoFriendlyLink.html" onclick="populateOnTheFly(); return false;">Header Link</a>
当人们试图通过JavaScript加载他们加载的页面时,就会发生这种情况......这种情况不会发生。您可以抛出大部分可能的推文,电子邮件推介和首页Digg / Reddit文章。普通用户不知道如何链接到您的内容。
答案 3 :(得分:0)
你在哪里读到它是一个坏主意?它纯粹取决于要求是否即时填充内容。但是,在大多数情况下,内容会随页面一起加载而不是动态,但如果您需要您的内容,那么这应该不是一个坏主意。
如果您的内容是通过javascript加载的,并且在用户的浏览器上禁用了javascript,那么肯定 这是一个坏主意 。
答案 4 :(得分:0)
我不能想到这个的坏理由(除了可能的搜索引擎优化),有一件事可能是个好主意只加载数据一次。即
<a href="javascript: showdiv1()">Show Div1</a> - do ajax/whatever only if the innerhtml is blank
<a href="javascript: showdiv1()">Show Div2</a> - do ajax/whatever only if the innerhtml is blank
<div1></div>
<div2></div2>
这应该会降低服务器负载,因此divs内容只加载一次。
干杯
答案 5 :(得分:0)
这是启用ajax的网站中相当标准的行为。
请记住,需要额外的努力才能: