我读了(在这个网站的其他地方)你无法重新加载(或注入javascript)到已经渲染的页面上。 有没有其他方法可以做到这一点。例如iFrame?
我有一个最近的评论widget.js,我需要经常让它重新加载而不重新加载整个页面。
有什么想法吗?
编辑:该网站最近有评论,它们通过recentcomment.js显示 页面加载后,除非您重新加载页面,否则它不会自动更新。我希望它自己更新,这样做的方法是只重新加载页面上的js文件,对吗?
答案 0 :(得分:0)
你为什么需要这样做?在我看来,你的问题可能更合适。
但要回答:
var elm = document.createElement("script");
elm.src = "Widget.js";
document.getElementsByTagName("head")[0].appendChild(elm);
希望我没有写任何错误......
答案 1 :(得分:0)
您可以使用函数中包含文件的所有实现,然后使用setTimeout()
函数每分钟调用一次函数,而不是重新加载文件。
或者,如果您想重新加载它,因为文件的内容可能已经更改,最好将代码的那部分移出到某个外部文件,然后使用一个函数(每分钟运行{{ 1}})加载你需要的新内容。
答案 2 :(得分:0)
您可以使用某些方法制作跨域AJAX请求,因此您可以为脚本文件发出AJAX请求并自行解析。自己解析它可能不是一个最佳的解决方案,但看起来你正在与一个脑死亡的服务提供商打交道。
看看这个人的jQuery mod作为一个例子: http://james.padolsey.com/javascript/cross-domain-requests-with-jquery/
从第三方获取数据后,您可以使用正则表达式和JSON解析器的某种组合来提取注释。