0

所以基本上在页面加载时我想做以下事情:

<script>
    $(document).ready(function () {
        if (document.location.hostname == "somemachine.poc") {
            var fileref = document.createElement('script')
            fileref.setAttribute("type", "text/javascript")
            fileref.setAttribute("src", "myscript.js")
        }
    });
</script>

这在理论和实践上是否正确?出于某种原因,我把它放在我的页面上,但它没有按预期工作,甚至没有出现在页面的源代码中。

所以我最终要做的是检查几个域,这取决于 .js 的不同 src 将加载哪个域。

更新

下面的答案帮助我解决了这个问题,我有一个新问题,这个问题自然会出现在这个问题上,可以在这里找到:Losing entire page DOM running javascript

4

3 回答 3

1

您必须将脚本添加到文档中。

document.body.appendChild(fileref);

但它仍然不会出现在源代码中。由 JS 修改的 DOM 不是源。您必须使用 DOM 查看器才能看到它(例如 Chrome Developer Tools 或 Opera Dragonfly)。

于 2012-06-07T13:00:43.630 回答
1

您还应该在文档中注入您的脚本元素,例如

document.body.appendChild(fileref);

仅创建元素不足以使其运行,因为它没有作为 DOM 的一部分附加

于 2012-06-07T13:01:01.053 回答
1

不确定您要做什么,但您从未真正将<script>元素添加到DOM您提供的代码中。您需要执行以下操作:

document.getElementByTagName("head")[0].appendChild(fileRef);
于 2012-06-07T13:01:44.393 回答