同步& lt; script>语句
Synchronous <script> statements?
我使用xmlhttprequest
(和eval
)来动态加载脚本。接下来,我对脚本进行评估,看看是否还有其他脚本要加载。在此过程中,如果任何脚本导致或异常,则报告的错误消息指示与eval
相关的行号,而不是脚本中的实际错误。
在另一个问题上,建议我使用<script>
来获得更好的错误消息。不幸的是,<script>
是异步的,我将无法控制脚本加载的顺序(我需要一个onload
回调)。
如何在<script>
命令中实现同步行为
关于我的目标的更多信息
每个脚本都有一个它加载的其他脚本的列表,存储在一个列表中,我们称之为_toLoad
假设我们有一个脚本'Main.js',它有一个加载列表,如下所示
_toLoad = [['A.js'] , ['B.js'] , ['C.js'] , ['D.js' , 'E.js' , 'F.js']]
这说明一旦加载,文件'A.js'必须加载下一个。一旦加载了'A.js',接下来必须加载'B.js'。一旦加载了'B.js',接下来必须加载'C.js'。一旦加载了'C.js',' D.js','E.js'和'F.js'也必须加载,无论顺序如何。
我可以使用<script>
来加载'Main.js',评估它的_toLoad
列表并开始加载其他脚本,以正确的顺序。但是,如果"A.js"有几个脚本,它也加载?我希望这些在后台加载,而不是延迟'B.js'从加载
如果'A.js'有这样一个加载列表:
_toLoad = [['A2.js'] , ['B2.js'] , ['C2.js'] , ['D2.js' , 'E2.js' , 'F2.js']]
我将不得不通过并发布<script>
声明。当我想要一个宽度优先的形式时,这似乎是深度优先的方法。
其中一个链接问题提到设置script标签元素的innerHTML。我想这可能会成功
function load(toEval, callback){
__global_callback = callback;
var node = document.createElement('script');
node.innerHTML = toEval + '; __global_callback()';
document.getElementsByTagName('head')[0].appendChild(node);
}
load("console.log('before...');", function(){
console.log('...and after');
});
- 可以't让我的if语句处理js中的html表单输入
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 自动修复”;语句前缺少分号“;
- 如何在 API 调用后和 if 语句中启用提交按钮
- 是“;x==a||b”;以及“;x==a||x==b”;JavaScript中的等效语句
- 带有多个elseif的Javascript if语句
- 这个条件语句的逻辑有问题
- Sharepoint JScript if语句未执行
- 为什么继续;语句冻结浏览器
- Javascript:If-then语句在函数中不起作用
- SharePoint 2010 Jquery/JSON Rest Multiple OR语句-如何
- for循环中的javascript if语句找不到==
- 当使用extern和目标JavaScript时,我如何强制Haxe编译器使用require语句
- html文件中的script标记根本不起作用
- jquery if语句返回return wong语句
- Java script中的OR和AND语句
- Google Script-合并运算符语法在IF语句中不起作用
- 同步& lt; script>语句
- 在Google Script If语句中运行RegEx
- & lt; script>标记没有在php echo语句中呈现