Javascript 使用jquery/js在div中加载html/php文件的优缺点

Javascript 使用jquery/js在div中加载html/php文件的优缺点,javascript,jquery,html,Javascript,Jquery,Html,您好,我使用此功能根据所选菜单项更改我的内容div。 将html/php文件加载到div中是个好主意吗?这种方法的利弊是什么 HTML: <ul class="nav nav-list nav-stacked"> <li id="meniu-item-1><a href="#">Apie mus</a></li> </ul> 主要缺点是: 可访问性,屏幕阅读器无法访问其余数据,也无法知道

您好,我使用此功能根据所选菜单项更改我的内容div。 将html/php文件加载到div中是个好主意吗?这种方法的利弊是什么

HTML:

<ul class="nav nav-list nav-stacked">             
    <li id="meniu-item-1><a href="#">Apie mus</a></li>
</ul>
主要缺点是:

  • 可访问性,屏幕阅读器无法访问其余数据,也无法知道链接的位置(如果它仍然是链接的话)
  • 搜索引擎无法访问该页面,因此无法索引所有内容
解决方法包括一个静态方法,因为如果没有javascript,链接将无法工作,也找不到数据。您可以通过渐进式增强来实现这一点:

<a href="Page1.php">Page1</a>
<a href="Page2.php">Page2</a>

<div id="#changing-div"></div>
注意:如果Page1.php url返回整个页面,则使用

$("#changing-div").load($(this).attr('href')+' #justContent);
其中,
#justContent
是您想要的内容的包装器


这也意味着SEO不会受到影响,因为搜索引擎仍然可以访问您的页面。然后我意识到这有点扼杀了我的“搜索引擎兼容性”。个人而言,我建议您在开始时将所有内容都放在div中,并在单击时更改可见性,如果这对您的客户网络要求不高的话

如果你正在做一些简单的事情,这可能是不必要的。如果你正在做一些复杂的事情,我建议使用像主干这样的框架来帮助你做到这一点,防止你重新发明轮子。要决定这是否是一个“好主意”(可以说是离题的)并产生利弊,我们需要更多的背景。它是什么样的内容?它是否需要可搜索索引?如果需要的话,有没有其他方法可以在没有ajax的情况下为搜索引擎获取数据?这样做而不是重新加载页面,您打算从中获得什么?您正在更改多少内容?附加内容是否需要自己的javascript?这是我的管理面板,因此不需要SEO:)我有一个2 div的管理面板,左1/3,右2/3,当我按下菜单项时,我想更改的部分。我有这个html如何使你的js适合这个
@Jugernaut您可以用此代码更新您的问题吗?但从我可以告诉您的情况来看,您的所有标签的href应该填充一个页面,该页面包含加载将返回的内容(但作为一个包含所有模板荣耀的页面):)@jugernat好的,很简单,在有
href=“#”
的地方放上你想从中提取数据的url我想出来了:)但它没有加载到那个div中,它只是加载文件:)@jugernat把它说“a”的地方改成一个类,把类放在你需要行为的地方
$("a").click(function(e) {
   $("#changing-div").load($(this).attr('href'));
   e.preventDefault();
});
$("#changing-div").load($(this).attr('href')+' #justContent);