我有一些JavaScript,可以在页面上创建某种小部件。我将把这个片段提供给客户,所以我希望他们做的很少。
我现在工作的最明显的解决方案是这样的:
<div id="divContent"></div>
<script type="text/javascript">
MakeWidget('divContent');
</script>
Run Code Online (Sandbox Code Playgroud)
使小部件基本上查找divContent div并用小部件的html填充它。
有一个更好的方法吗?您可以使用脚本标记中的Java脚本将脚本标记替换为Div吗?
如果我可以将代码缩减为仅MakeWidget函数,并将其自身和script标签替换为该函数生成的html,我真的很喜欢。
编辑-我本质上是想生成在页面上调用MakeWidget函数的确切位置的HTML。
您可以使用脚本标记中的Java脚本将脚本标记替换为Div吗?
是。当<script>到达元素,假设它不是一个defer或async脚本,它会在页面中的最后一个脚本元素为止。因此,您可以内联或在外部脚本中说:
<script type="text/javascript">
(function() {
var scripts= document.getElementsByTagName('script');
var script= scripts[scripts.length-1];
var div= document.createElement('div');
div.innerHTML= 'Whatever content is going to be inserted';
script.parentNode.insertBefore(div, script);
})();
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1700 次 |
| 最近记录: |