gpt4 book ai didi

javascript - 在加载另一个javascript的javascript中添加javascript

转载 作者:行者123 更新时间:2023-11-30 18:15:12 24 4
gpt4 key购买 nike

我想动态添加一个javascript标签,它的src指向一个外部源,它的结果将生成一些其他的 javascript。该 javascript 将绘制外部数据,即足球队的表格。

如果我将它包含在 document.write 中,它就可以正常工作。

<script type="text/javascript">
var everysport_u="http://puff.everysport.com/team_puff_competitiontable_normal_script_52764:0.html";
document.write("<scr"+"ipt type='text/javascript' charset='ISO-8859-1' src='"+everysport_u);
var everysport_r=Math.floor(Math.random()*99999999999);
document.write("?_r="+everysport_r);
document.write("'><\/scr"+"ipt>");
</script>

但是使用 DOM 操作时它不会。

var script = document.createElement('script');
var everysport_r=Math.floor(Math.random()*99999999999);
var everysport_u = "http://puff.everysport.com/team_puff_competitiontable_normal_script_52764:0.html";
script.src = everysport_u;
script.type = 'text/javascript';
document.getElementById('everysport-accordion').appendChild(script);

最佳答案

http://puff.everysport.com/team_puff_competitiontable_normal_script_52764:0.html 处的脚本正在使用 document.write .使用 document.write 的脚本只能在页面加载期间包含。页面加载后,document.write不再按预期运行。

最好包含一个脚本,该脚本本身通过 DOM 操作执行 DOM 操作。但事实是document.write期望能够立即写入文档,无论它位于何处。试图 document.write页面加载后将清除当前页面并覆盖它。

看看这个简单的例子:http://jsbin.com/azumus/1/ (并点击刷新几次)。

如果您确实添加了使用 document.write 的脚本在页面加载期间到页面中更高的元素,document.write将写入页面,但不是您打算写入的位置document.write只会写页面当前加载的位置;它不能用于写入您想要写入的任何元素。

查看此页面的示例:http://jsbin.com/ayomoz/1/ (并查看源代码)。

总结

把你的 <script>标记您打算写入文档的任何位置。如果要写入 ID 为 everysport-accordion 的元素,你需要做这样的事情:

...

<div id="everysport-accordion">
<script type="text/javascript">
var everysport_u="http://puff.everysport.com/team_puff_competitiontable_normal_script_52764:0.html";
document.write("<scr"+"ipt type='text/javascript' charset='ISO-8859-1' src='"+everysport_u);
var everysport_r=Math.floor(Math.random()*99999999999);
document.write("?_r="+everysport_r)
document.write("'><\/scr"+"ipt>");
</script>
</div>

...

关于javascript - 在加载另一个javascript的javascript中添加javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13440482/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com