0
外部第三方脚本被加载,增加了一些东西给DOM。
目标:
只要这些东西被添加到DOM,我想操纵它与一个jQuery的一点内容。
为了确保这一新的DOM元素操纵它之前就存在,我可以做这样的事情:
var updateText, target;
updateText = function() {
target = $('#targetElement');
if(target.length) {
target.text('Updated!');
} else {
window.setTimeout(updateText, 500);
}
};
updateText();
它只是似乎有点可怕。有没有更好的方法来处理这种依赖?
相关约束:
- 第三方脚本有没有公开的API。
- 为了工作,这个特别脚本显然必须通过一个
<script>
元素与src
属性中的特定URL加载。因此通过传递给$script.js加载脚本不起作用。 - 运行时,它也会依次加载自己的外部依赖包。即使我可以在启动自己的代码之前检查是否加载了初始脚本,但我不知道我可以检查这些其他外部脚本。
由于你的代码工作,你正在寻找一个更好/更清洁的实现,这可能会更好张贴在[代码审查(HTTP:/ /codereview.stackexchange.com/) – Stryner
该第三方脚本是否使用异步代码? – Oriol
@Oriol这有点丑,我只是通过一点挖掘。通过'head'附加的'script'元素,我看到几个依赖需求。 – mutus