Javascript Ajax&;链路退化

Javascript Ajax&;链路退化,javascript,jquery,ajax,Javascript,Jquery,Ajax,我通过Ajax加载HTML页面。这些文件没有标记等。它们里面只有几个div 目前,对于禁用JS的浏览器,我将这些ajax页面的链接放在我的href中: <a href="assets/ajax/honda.html">Honda</a> javascript具有返回false,因此,如果用户的浏览器支持javascript,则用户永远不会实际访问该页面 我担心的是,人们可能会右键单击这些链接并将其发送给其他人。这看起来很糟糕,因为它没有样式,等等。正因为如此,我很想

我通过Ajax加载HTML页面。这些文件没有
标记等。它们里面只有几个div

目前,对于禁用JS的浏览器,我将这些ajax页面的链接放在我的href中:

<a href="assets/ajax/honda.html">Honda</a>

javascript具有
返回false
,因此,如果用户的浏览器支持javascript,则用户永远不会实际访问该页面

我担心的是,人们可能会右键单击这些链接并将其发送给其他人。这看起来很糟糕,因为它没有样式,等等。正因为如此,我很想删除href链接

除了混淆链接,还有其他方法吗?完全从href中删除链接违背了我关于最佳实践的理想

完全从href中删除链接违背了我关于最佳实践的理想

我也努力遵循最佳实践,但实际上你所做的比根本不包含
href
更糟糕

href
属性只能用于用户可以直接访问的URL。使用它保存供Ajax使用的URL是常见的(),但这是对
href
属性的滥用

如果可能,
href
应指向包含Ajax将加载的内容的完整页面。如果您无法提供,请删除
href
或将其设置为类似
“#”

完全从href中删除链接违背了我关于最佳实践的理想

我也努力遵循最佳实践,但实际上你所做的比根本不包含
href
更糟糕

href
属性只能用于用户可以直接访问的URL。使用它保存供Ajax使用的URL是常见的(),但这是对
href
属性的滥用


如果可能,
href
应指向包含Ajax将加载的内容的完整页面。如果您无法提供该功能,请删除
href
,或将其设置为类似
“#”

一个很好但包含一些工作的解决方案是为内容创建降级页面。您可以创建完整HTML文档的页面副本,并在链接中使用其URL,例如:

<a href="assets/view/honda.html">Honda</a>

当您使用AJAX获取内容时,您会将URL中的
视图
替换为
AJAX


这样,网页也将被网络爬虫编入索引。

一个很好的解决方案,但包括一些工作,就是为内容创建降级页面。您可以创建完整HTML文档的页面副本,并在链接中使用其URL,例如:

<a href="assets/view/honda.html">Honda</a>

当您使用AJAX获取内容时,您会将URL中的
视图
替换为
AJAX


这样网页也会被网络爬虫编入索引。

你不需要混淆它,我也不认为你需要删除它。如果您使用的是服务器端语言,则可以检查

X-Requested-With: XMLHttpRequest

每个页面中的HTTP头。如果未设置,则Ajax不会请求它。然后您可以将用户重定向到正确的页面。

您不需要混淆它,我也不认为您需要删除它。如果您使用的是服务器端语言,则可以检查

X-Requested-With: XMLHttpRequest

每个页面中的HTTP头。如果未设置,则Ajax不会请求它。然后您可以将用户重定向到正确的页面。

也许您可以使用
数据
标记以mocklink样式在div中存储/检索您的值

像这样的

<div class="mockLink" data-link="/test/link/honda.html">Honda</div>
JS


也许您可以使用
data
标记以mocklink样式在div中存储/检索您的值

像这样的

<div class="mockLink" data-link="/test/link/honda.html">Honda</div>
JS


哦,这主意不错。不过,所有这些答案都很好。谢谢大家。哦,这主意不错。不过,所有这些答案都很好。谢谢大家。