我有显示Feed的feedburner脚本,它看起来像这样:
<script src="http://feeds.feedburner.com/cnn/HIkg?format=sigpro" type="text/javascript" ></script>
我想加载这个在不同的html页面上的脚本,所以基本上我正在使用以下脚本加载html文件:
$('#' + items[i]).load('content/' + items[i] + '.html');
这段代码确实加载了html页面,但脚本没有执行(工作)。如何加载脚本后才能使脚本运行?
答案 0 :(得分:2)
脚本执行
使用不带后缀的URL调用.load()时 选择器表达式,内容在脚本之前传递给.html() 被删除。这将执行脚本块之前 丢弃。如果调用.load()并附加了一个选择器表达式 但是,在DOM之前,脚本会被删除 更新,因此不执行。
如果你的url只是一个没有指定选择器的普通url,那么脚本在删除之前应该执行。
检查items[i]
的值并检查它是否是没有选择器的普通网址。
如果网址看起来很好,您可能会遇到跨端脚本问题。文档还提到:
由于浏览器安全限制,大多数“Ajax”请求都是主题 到same origin policy;请求无法成功检索 来自不同域,子域或协议的数据。
如果可能的话,我仍然会建议将任何脚本放在外部文件中,因为这是一种很好的做法并且不会使html混乱。然后,您可以按照 Raminson 的建议使用.getScript()
。
答案 1 :(得分:1)