Javascript 奇怪的链接行为
我对jquery基本上是新手,所以我不确定我做了我想做的最好的方式 我想使用ajax加载网页中的内容,并使用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'>
#创建一个永久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);
}
});
}