【发布时间】:2023-03-31 07:54:01
【问题描述】:
我下面有一些js代码,src中的数据是什么?它是如何工作的?
script.src = "data:text/javascript,inc++"
详情:
<script>
//Initialize the "inc" to zero.
var inc = 0;
//Get the HEAD element from the document.
var head = document.documentElement.firstChild;
//Create and initialize SCRIPT elements in a loop,
//they will execute 2 times of the "inc++" code.
for (var i = 0; i < 2; i++) {
var script = document.createElement("script");
script.src = "data:text/javascript,inc++"; // how does the data works?
head.insertBefore(script, head.firstChild);
script.onload = function () {
console.log(inc);
};
};
</script>
src 值应该设置一个 url,但这不是。为什么会这样?
【问题讨论】:
-
这是一个data URI
-
使用
script.src = "data:text/javascript," + inc++; -
我相信您需要使用 base 64 对其进行编码
-
@לבני-מלכה 那将是
"data:text/javascript,0" -
@jro 我知道它看起来像 OP wats(见他将“inc”初始化为零。)
标签: javascript html css web ecmascript-6