用户点击带有哈希值的链接来访问页面如果禁用Javascript会发生什么?

时间:2012-08-16 04:33:42

标签: javascript jquery html

我试图让这个功能继续下去,但有点不确定,不知道如何处理它。我有一个名为“masterDiv”的div的母版页。 'masterDiv'进行load()调用并从内容div加载名为“details.html”的外部html页面的内容。我就是这样做的:

  $('#masterDiv').load('details.html #content');

内容按预期加载,网址会弹出“http://www.xyz.com#details”

这一切都很好并且有效,但后来我想到那些可能没有JavaScript的用户。我想我会直接将这些用户引导到'details.html'页面而不是让“母版页”从“details.html”页面加载内容。所以现在问题就在于,如果我向用户发送此链接:

    http://wwww.xyz.com#details

如果该用户的浏览器没有启用Javascript,那么显然无法调用JQuery,因此不会进行load()调用等等。如何直接将用户引导至“details.html”页面?

任何见解都会很精彩

谢谢。

2 个答案:

答案 0 :(得分:2)

您的链接可能如下所示:

<a id="myLink" href="#details">Link that the user clicks</a>

当用户单击链接时,将调用jQuery load。这是对的吗?

如果是这样,您可以改为使用以下链接:

<a id="myLink" href="http://wwww.xyz.com/details.html">Link that the user clicks</a>

这样,当页面加载时,链接将适用于所有人(即使是禁用了javascript的链接)。然后,当页面首次加载时:

$(document).ready(function() {
    $('#myLink').attr('href', '#details');
});

将链接设置为之前的方式。这样,只有启用了Javascript的用户才会使用加载版本。其他的将被简单地重定向到details.html

如果在问题中我无法正确理解,请告诉我。

答案 1 :(得分:0)

  

如何直接将用户引导至“details.html”页面?

通过使链接的href属性“details.html”。默认情况下每个链接的工作方式。

<a href="details.html">Details</a>

您网站上的每个链接都应该以这种方式构建。这就是互联网的设计方式,以及它如何最好地运作。如果您实际上需要,那么您应该只使用JavaScript添加功能,您不应该依赖它来获取与页面之间的链接一样的基本信息。