Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 加载外部文件,然后从文件运行函数_Javascript_File - Fatal编程技术网

Javascript 加载外部文件,然后从文件运行函数

Javascript 加载外部文件,然后从文件运行函数,javascript,file,Javascript,File,我正在尝试从JS加载另一个JS文件(因为url可能会根据用户选择的内容而改变,加载两者都会导致冲突问题),然后在加载文件后立即从该文件运行函数。我需要运行一个函数,我不能只运行代码,因为该函数需要客户端输入。我该怎么做 在本例中,我没有包括动态URL部分,因为这是可行的。此外,没有两次尝试同时进行。我分别测试了它们。他们都没有工作。这就是我尝试过的: var url="file.js", script = document.createElement('script'); script.setA

我正在尝试从JS加载另一个JS文件(因为url可能会根据用户选择的内容而改变,加载两者都会导致冲突问题),然后在加载文件后立即从该文件运行函数。我需要运行一个函数,我不能只运行代码,因为该函数需要客户端输入。我该怎么做

在本例中,我没有包括动态URL部分,因为这是可行的。此外,没有两次尝试同时进行。我分别测试了它们。他们都没有工作。这就是我尝试过的:

var url="file.js", script = document.createElement('script');
script.setAttribute('src',url);
script.setAttribute('id','option');
document.head.appendChild(script);

// code attempt 1 at loading the function:
fileInit(param1);

// code attempt 2:
document.getElementById("option").onload = fileInit(param1);

// code attempt 3:
script = document.getElementById("option");
script.onload = script.onreadystatechange = fileInit(param1);

// code attempt 4:
document.getElementById("option").addEventListener("load", fileInit(param1));

我只想加载JS文件(这样我就可以有一个动态url),然后在加载文件时运行文件中定义的init函数。我也不想使用jQuery。我希望代码是香草JS。我知道您可以在这两个文件中使用jQuery.getScript()。

您应该有这个语句
导出并在导出文件中,对每个要导出的内容执行此操作
exports.thingToExport=thingToExport然后按如下方式导入:

var file = require("path/to/file");
file.thingToExport;

编辑:这个问题解释了如何在typescript中获取此节点代码。这也适用于现代浏览器,可能是重复的。

我使用php文件和Cookie做了类似的操作,以确定要返回哪个js库。我四处查看了一下,发现load library不是javascript函数@ControlAltDel,您是否正在尝试在这里执行类似JSONP的操作?没有JSON。我真的想加载一个选项脚本。我正在做的事情有点复杂,这只是我的需要。如果你真的想要它,我可以给你一个指向GitHub存储库的链接@scottheckelOk,我希望如果我觉得它是ES5和更早版本兼容的话,它会起作用。我想是打字稿。导出是未定义的。是的,我是从TS编译的,但我认为TS复制了ES5 javascript代码(除非您指定另一个),这在node上非常有效。像chrome这样的浏览器使用ES6Right。明白了,我只是在脚本标记中使用import和type=“module”