我正在开发一个在 DIV 中动态加载内容的网站。 一切正常,除非内容包含 jquery 插件(例如 twitterfeed),jquery 插件不起作用..有人知道如何让插件工作吗?
$(function() {
var newHash = "",
$mainContent = $("#main-content"),
$pageWrap = $("#page-wrap"),
baseHeight = 0,
$el;
$("nav").delegate("a", "click", function() {
window.location.hash = $(this).attr("href");
return false;
});
$(window).bind('hashchange', function(){
newHash = window.location.hash.substring(1);
if (newHash) {
$mainContent
.find("#guts")
.fadeOut(200, function() {
$mainContent.hide().load(newHash + " #guts", function() {
$mainContent.fadeIn(200, function() {
$pageWrap.animate({
height: baseHeight + $mainContent.height() + "px"
});
});
$("nav a").removeClass("current");
$("nav a[href="+newHash+"]").addClass("current");
});
});
};
});
$(window).trigger('hashchange');
});
最佳答案
如果您将 $.load 与选择器一起使用 ($(target).load("url #selector")),jQuery 会从响应中删除所有 SCRIPT 标记。
我想到的一些解决方案是:
- 更改后端以仅返回脚本所需的内容
- 执行 $.get 请求,将响应视为纯文本,执行字符串操作以仅提取您需要的部分,然后将结果转换为 DOM 节点。要做到这一点正确,需要一个 HTML 解析器。
关于javascript - 使用javascript动态加载内容的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5539830/