可重入的脚本执行 - ?

时间:2016-08-30 07:42:20

标签: javascript html5 dom w3c

来自https://www.w3.org/TR/html51/dom.html#dom-tree-accessors

  

document.currentScript   返回当前正在执行的脚本元素。在可重入脚本执行的情况下,返回最近开始执行的那些尚未完成执行的那些。

HTML 5中的可重入脚本执行是什么?

3 个答案:

答案 0 :(得分:1)

尝试这样的事情:

HTML

hasvalue = 'false'

cur = con.cursor()
cur.execute("SELECT id FROM column WHERE hasvalue = '1' LIMIT 1;")
***IF execute returned rows set hasvalue = true here***

if hasvalue == 'true':
   do something
else:
   dosomethingelse

script1.js

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>test case</title>
</head>
<body>
  <script src="script1.js"></script>
</body>
</html>

SCRIPT2,JS

document.write("<p>script 1 entered");
document.write("<p>1a:" + document.currentScript.src);
document.write("<script src='script2.js'></script>");
document.write("<p>1b:" + document.currentScript.src);
document.write("<p>script 1 exited");

如果您浏览到这样的页面,它将显示

document.write("<p>script 2 entered");
document.write("<p>2:" + document.currentScript.src);
document.write("<p>script 2 exited");

这是可重入的脚本执行,您可以看到currentScript是script1.js,然后是script2.js,然后在script2.js退出后再次返回script1.js。

http://alohci.net/static/reentrant/test.htm

的工作版本

答案 1 :(得分:0)

当外部脚本的内容可能想要引用其自己的SCRIPT标记时,可以使用

document.currentScript

主要在使用SCRIPT标记上的某些选项对脚本进行参数化时使用,这有助于简化配置。

在下面的示例中,在这种情况下,我们要将require.js配置为加载为第一个模块js/maindocument.currentScript允许您获取data-main属性。

<script src="scripts/require.js" data-main="js/main"></script>

More information with example can be found here

答案 2 :(得分:0)

可重入脚本只不过是一个外部脚本标记,它自己调用(如递归)(或调用一些其他文件再次调用相同的脚本)

实施例: -

my_lovely_script.js

$.getScript("my_lovely_script.js", function(){

   alert("Script loaded but not necessarily executed.");

});

在这种情况下,document.currentScript将返回最近开始执行的那些尚未完成执行的文档