我经常使用并看到推荐的dom-access结构,用于动态地向页面添加内容:
loader = document.createElement('script');
loader.src = "myurl.js";
document.getElementsByTagName('head')[0].appendChild(loader);
Run Code Online (Sandbox Code Playgroud)
现在,我偶然发现这适用于Google Chrome:
document.head.appendChild(loader);
Run Code Online (Sandbox Code Playgroud)
多一点调查,我发现这很有效,显然是跨浏览器:
document.body.appendChild(loader);
Run Code Online (Sandbox Code Playgroud)
所以我的主要问题是:有没有任何理由我不应该像这样将元素附加到BODY?
另外,您认为document.head
会得到更广泛的支持吗?
Dan*_*man 14
在实践中,无论是将<script>
元素插入元素<head>
还是<body>
元素,我都看不出任何理由.从理论上讲,我认为让运行时DOM类似于可能的静态DOM是很好的.
至于document.head
它,它是HTML5的一部分,显然已经在所有主流浏览器的最新版本中实现(参见http://www.whatwg.org/specs/web-apps/current-work/multipage/dom.html#dom-document - 头).
document.body
是DOM规范的一部分,我没有看到为什么不使用它.但要注意这一点:
在包含内容的文档中,返回元素,在框架集文档中,这将返回最外层的元素.
(来自https://developer.mozilla.org/en/DOM/document.body)
document.head
目前没有在任何DOM规范中定义(显然我错了,请参阅Daniel的回答),所以通常应该避免使用它.
归档时间: |
|
查看次数: |
34015 次 |
最近记录: |