Javascript <;脚本src=…>;输出到指定的div
我有一些外部代码(我不能修改)可以使用来拉RSS提要 此站点的JS代码如下例所示:Javascript <;脚本src=…>;输出到指定的div,javascript,html,src,Javascript,Html,Src,我有一些外部代码(我不能修改)可以使用来拉RSS提要 此站点的JS代码如下例所示: <script src="//rss.bloople.net/?url=https%3A%2F%2Fwww.feedforall.com%2Fsample.xml&detail=-1&showtitle=false&type=js"></script> 一个奇怪的观察结果是,如果我一直单击手风琴按钮来加载脚本,它最终会开始加载到正确的位置。我不知道为什么会这样。脚
<script src="//rss.bloople.net/?url=https%3A%2F%2Fwww.feedforall.com%2Fsample.xml&detail=-1&showtitle=false&type=js"></script>
一个奇怪的观察结果是,如果我一直单击手风琴按钮来加载脚本,它最终会开始加载到正确的位置。我不知道为什么会这样。脚本使用以下代码插入其DOM节点
var script = document.scripts[document.scripts.length - 1];
var parent = script.parentNode;
while(nodes.length > 0) parent.insertBefore(nodes.shift(), script);
parent.removeChild(script);
第一行将script
设置为页面上最后一个
标记,这将是页面加载期间加载此脚本的标记。然后在脚本之前插入DOM节点,最后删除脚本
这基本上是传统使用document.write()
在脚本所在位置插入HTML代码的现代版本
如果您在稍后的时间将脚本标记插入到文档的中间,它不一定是页面中的最后一个脚本,所以它不会将HTML插入到所需的位置。
对于这一点,你真的无能为力,只是它不是为你想要的方式而设计的。如果您与网站有业务关系,您可以建议他们提供更好的自定义方法,例如URL参数,允许您指定插入新元素的DOM元素ID。脚本使用以下代码插入其DOM节点
var script = document.scripts[document.scripts.length - 1];
var parent = script.parentNode;
while(nodes.length > 0) parent.insertBefore(nodes.shift(), script);
parent.removeChild(script);
第一行将script
设置为页面上最后一个
标记,这将是页面加载期间加载此脚本的标记。然后在脚本之前插入DOM节点,最后删除脚本
这基本上是传统使用document.write()
在脚本所在位置插入HTML代码的现代版本
如果您在稍后的时间将脚本标记插入到文档的中间,它不一定是页面中的最后一个脚本,所以它不会将HTML插入到所需的位置。
对于这一点,你真的无能为力,只是它不是为你想要的方式而设计的。如果您与该网站有业务关系,您可以建议他们提供更好的自定义方法,例如URL参数,允许您指定插入新元素的DOM元素ID。谢谢,我非常感谢您提供的信息。你有没有其他我可以尝试的方法?另一种选择是使用他们也提供的iFrame代码:`这不是真正的“现代”方式。现代的方法是使用document.currentScript(不过不支持IE),因为@Alohci好的,它比旧的方法更现代。@AlexHarrison如果这是他们推荐的,那就用它吧。谢谢,我很感谢您提供的信息。你有没有其他我可以尝试的方法?另一种选择是使用他们也提供的iFrame代码:`这不是真正的“现代”方式。现代的方法是使用document.currentScript(不过不支持IE),因为@Alohci OK,它比旧方法更现代。@AlexHarrison如果这是他们推荐的,就用它吧。