我有一个<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>
现在,blabla.js需要找到div占位符。 我正在尝试保存该div占位符,方法是将它的id已经提供给脚本。
是兼容浏览器吗?
感谢
答案 0 :(得分:6)
在HTML 5中,只需在id
标记上放置script
属性。
<script id="myscript">
// Your script here
</script>
在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>
现在可以使用“blabla.js”中div元素的id遍历脚本
var myScript = document.getElementById("scriptcontainer").getElementsByTagName("script")[0];
基本上,通过将脚本嵌套在具有id的元素中,我们可以从另一个脚本获取脚本并且还具有有效的标记。
附加说明:在HTML 4规范中,脚本标记上确实不允许使用id:
id所有元素,但BASE,HEAD,HTML,META,SCRIPT,STYLE,TITLE ID #IMPLIED文档范围内的唯一ID
答案 1 :(得分:2)
是的,你可以做到。 id
是全局属性之一,可以在所有HTML元素上指定(即使是那些未在html规范中定义的元素)。标签script本身已允许
Content attributes:
Global attributes
src
async
defer
type
charset
修改强>
请注意,此信息取自HTML5规范。我不确定以前的版本,它们可能仍会在教程中使用。
因此,它应该已经与所有主流浏览器(即那些声称支持HTML5的浏览器)兼容。
答案 2 :(得分:1)
showtime = setInterval("Time()", 1000)
,最后一行。
通过这个,您可以将脚本放在head标签区域,并通过其id调用脚本,在本例中为id=time
。
我在网页上的计时器上使用它,并通过在1000中添加一些零,比如添加15个零,当然可以将id时间更改为你喜欢的任何内容,你显然可以愚弄浏览器足够长的时间来逃脱它。 ..
一些人在网页上停留的可能性是100亿到一百万毫秒,当勾选时会出现错误,所以不要将其缩短。
上面的问题就是为什么我来到这个页面,因为我想找到一个更好的方法来欺骗浏览器,但是阅读了所有的答案,我想我会继续愚弄它!
为了好的衡量,我在体内使用了类似的东西:
&#34; <center<FONT SIZE="2" COLOR="#003300"><b><div id=time></div></b></FONTcenter>
&#34;
一周有604800000毫秒,我想你先关闭你的页面。
http://www.temnolooi.nl/2014a/agenda/agenda.html
注意:请注意,将脚本放在head标签中会加载文件,所以不要过度使用它,否则可能会出现堆栈溢出。正文中的脚本仅在HTML使用时执行,或者用户将其调用。