Him*_*ack 0 html javascript html5
我有一个<script>它添加到<head>另一个脚本的地方.这个新脚本应该找到<script>插入它的原始脚本.我可以把<script id="blablabla">新的<script>发现吗?
<div id="placeholder-1"></div>
<script type="text/javascript">
<//![CDATA[
(function() {
var s = document.createElement("script");
s.type = "text/javascript";
s.async = true;
s.src = "blablabla.com/blabla.js";
(document.getElementsByTagName("head")[0] ||
document.getElementsByTagName("body")[0]).appendChild(s);
})();//]]></script>
Run Code Online (Sandbox Code Playgroud)
现在,blabla.js需要找到div占位符.我试图保存该div占位符,通过将它的id已经提供给脚本.
浏览器兼容吗?
谢谢
在HTML 5中,只需id在script标记上放置一个属性即可.
<script id="myscript">
// Your script here
</script>
Run Code Online (Sandbox Code Playgroud)
在HTML 4中,id标记实际上并未定义为在脚本标记上有效.
http://www.w3.org/TR/html4/interact/scripts.html#edef-SCRIPT官方W3C规范
官方允许只有src,type,langugage,defer和charset.
一个有效的解决方法是......
<div id="scriptcontainer">
<script type="text/javascript">
// Your script here
</script>
</div>
Run Code Online (Sandbox Code Playgroud)
您现在可以使用"blabla.js"中div元素的id遍历脚本
var myScript = document.getElementById("scriptcontainer").getElementsByTagName("script")[0];
Run Code Online (Sandbox Code Playgroud)
基本上,通过将脚本嵌套在具有id的元素内,我们可以从另一个脚本获取脚本并且还具有有效的标记.
附加说明:在HTML 4规范中,脚本标记上确实不允许使用id:
id所有元素,但BASE,HEAD,HTML,META,SCRIPT,STYLE,TITLE ID #IMPLIED文档范围内唯一ID
| 归档时间: |
|
| 查看次数: |
7882 次 |
| 最近记录: |