我的页面包含一些将由.load()
填充的部分
$(document).ready(function() {
if (document.getElementById('add_to_userlist')) {
$('#add_to_userlist').load(script_name + '?' + nv_name_variable + '=' + nv_module_name + '&' + nv_fc_variable + '=v_funcs&mod_list=user_playlist' + '&id={DETAIL.id}' + '&fcheck={DETAIL.check_session}' + '&nocache=' + new Date().getTime());
}
if (document.getElementById('favourite-{DETAIL.id}')) {
$('#favourite-{DETAIL.id}').load(script_name + '?' + nv_name_variable + '=' + nv_module_name + '&' + nv_fc_variable + '=v_funcs&mod_list=get_fav' + '&id={DETAIL.id}' + '&fcheck={DETAIL.check_session}' + '&nocache=' + new Date().getTime());
}
$(".bodytext_shorten").shorten({showChars: 200});
});

一切都还可以,但如果此网址中有锚点,例如:
页面未按预期加载。 ID为#add_to_userlist
和favourite-{DETAIL.id}
的div只会加载整个页面而不是HTML部分。
因此页面会重新加载并启用我的防洪拦截器。
我认为存在冲突,但不知道如何解决。
Google Chrome在控制台中显示此内容
主线程上的同步XMLHttpRequest因不推荐使用 它对最终用户的体验产生不利影响。如需更多帮助, 检查https://xhr.spec.whatwg.org/。
答案 0 :(得分:0)
jQuery load
方法不支持URL中的片段标识符,以确定要加载的文档的哪个部分。
它支持的语法是一个空格,后跟一个CSS选择器。
.load("http://nukeviet-hvt.rhcloud.com/videos/chuyen-muc-1/sau-tim-thiep-hong-giao-linh-ft-tuan-vu-2.html #comment_box")
问题并不完全清楚,但看起来你在script_name
中有这个值,然后尝试在它之后添加查询字符串。
在网址中,查询字符串必须在之前显示片段标识符。
在load()
语法中,选择器必须出现在整个URL之后(即在查询字符串之后和任何片段标识符之后)。