Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 奇怪的链接行为_Javascript_Jquery_Css_Html - Fatal编程技术网

Javascript 奇怪的链接行为

Javascript 奇怪的链接行为,javascript,jquery,css,html,Javascript,Jquery,Css,Html,我对jquery基本上是新手,所以我不确定我做了我想做的最好的方式 我想使用ajax加载网页中的内容,并使用#创建一个永久url要重写url,除了一些链接外,它运行良好 这里是一个简短的页面预览(对于整个页面/css/js),中的链接效果很好,但是中的其他链接不起作用,我不明白为什么 HTML 函数getUrl $.fn.getUrl = function(urlpass,whereadd){ $(whereadd).html("<div class='ajaxloader'>

我对jquery基本上是新手,所以我不确定我做了我想做的最好的方式

我想使用ajax加载网页中的内容,并使用
#创建一个永久url要重写url,除了一些链接外,它运行良好

这里是一个简短的页面预览(对于整个页面/css/js),
中的链接效果很好,但是
中的其他链接不起作用,我不明白为什么

HTML

函数getUrl

$.fn.getUrl = function(urlpass,whereadd){ 
  $(whereadd).html("<div class='ajaxloader'><img src='images/ajax-loader.gif'></div>");       
  var val=urlpass.split("#!");      
  val = val[val.length-1];      
  val = val.split("/");
  if(val[1]==null) val[1]="news";           
        $.ajax({
            url: val[1]+".php",
            type: "POST",
            data: "tag="+val[2],
            cache: false,
            success: function(html){
            $(document).find(whereadd).html(html);
      }
  });
}
$.fn.getUrl=函数(urlpass,wheredd){
$(其中dd.html(“”);
var val=urlpass.split(“#!”);
val=val[val.length-1];
val=val.split(“/”);
如果(val[1]==null)val[1]=“新闻”;
$.ajax({
url:val[1]+“.php”,
类型:“POST”,
数据:“tag=“+val[2],
cache:false,
成功:函数(html){
$(document).find(wheredd).html(html);
}
});
}

提前感谢

据我所知,您正在向文档中加载更多带有这些奇怪链接的HTML,但您不会再次调用转换函数

总的来说,你的方法是完全相反的

现在,您的页面内容只能通过JS访问。这对可访问性和搜索引擎优化是不利的

您不应该通过JavaScript加载所有内容,而应该提供带有良好的旧
/foo/bar
链接的普通静态页面。然后,在启用JS的情况下,获取页面加载上的所有链接,并分配一个单击处理程序,以便通过AJAX加载内容

通过这种方式,您可以获得花哨的AJAX内容一个不错的工作页面,以防没有JavaScript

我还建议你调查一下

无耻插头

有关上述技术应用的示例,请查看我的WIP。

您好,谢谢您的回复。。我知道这与不引人注目的js完全相反,而这个网站只能通过js访问,我的观点不是这样,我问了另一句话:为什么有些链接有效,而有些链接无效???@Marcx,正如我在第一行中所说,似乎您是通过AJAX加载的内容的转换脚本。@Marcx:没有为不起作用的链接注册单击回调,因为它们在当时不存在。@Hippo,谢谢您的建议,我得到并修复了问题…:)
 $(document).ready(function(){
     $(document).getUrl(window.location.hash,"#container");    

     $('a').click(
       function(){   
         alert('clicked'); //debug
          $(this).getUrl($(this).attr('href'),"#container");
       }
    );   
});
$.fn.getUrl = function(urlpass,whereadd){ 
  $(whereadd).html("<div class='ajaxloader'><img src='images/ajax-loader.gif'></div>");       
  var val=urlpass.split("#!");      
  val = val[val.length-1];      
  val = val.split("/");
  if(val[1]==null) val[1]="news";           
        $.ajax({
            url: val[1]+".php",
            type: "POST",
            data: "tag="+val[2],
            cache: false,
            success: function(html){
            $(document).find(whereadd).html(html);
      }
  });
}