javascript - 如何以纯文本形式加载外部js文件并以字符串形式分配给变量

标签 javascript jquery

如果这是一个愚蠢的问题,我真的很抱歉,但我似乎无法让它发挥作用。正如标题所示,我正在尝试加载外部 js 文件并将其以纯文本形式分配给变量。该项目是一个简单的js“编译器”,它将多个js文件拼接在一起并缩小为一个。我当前正在使用 $.get() 方法并将响应附加到字符串。

问题是处理上述内容的js文件也需要包含在最终的缩小文件中。我可以加载所有其他文件并将它们缝合在一起,但是当我将这个主文件加载到自身中并获取 js 文件时,它似乎会评估并覆盖自身,因此会停止该过程。

目前,我已经通过将副本加载为 .txt 文件来解决这个问题,但这意味着我必须使两个文件保持最新,这并不理想。

我找到了this article但它指的是通过头部的 script 标签加载的 javascript。

如有任何帮助,我们将不胜感激。我很乐意发布代码,但不确定哪些部分有用。

更新:我可能应该提到该项目需要完全在客户端运行,因此我无法使用 PHP/.NET 页面。不过,我加载的所有文件都位于同一域中。

最佳答案

尝试使用Ajax.get():

var script;
$.get('script.js', function(data) {
  script = data;
});

对于 Ajax.get() ,它将在您的域内工作,您不能调用外部域,如果您的应用程序需要加载外部 JS 文件,那么我的猜测是您必须使用 PHP 或其他服务器端语言:

var script;
$.get('getScript.php', {url: "http://test.com/script.js"}function(data) {
  script = data;
});

getScript.php中,您可以使用CURLfile_get_contents

关于javascript - 如何以纯文本形式加载外部js文件并以字符串形式分配给变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18407443/

相关文章:

Jquery 与 css 最后一个子元素冲突

javascript - 将缩进应用到文本区域段落的每个第一行

javascript - .fullcalendar 不是“提交按钮单击”上的功能

javascript - Next.js 不加载 jsx

java - 是否可以在浏览器中编辑计算机上的文件?

javascript - 如何从标签获取类名

javascript - 无效的 JavaScript 签名仍然调用正确的 API

javascript - 从原生 ios 代码调用 javascript 函数(位于参数中)

javascript - 以相反的顺序创建数组

jquery - 打印页面时背景颜色和圆 Angular ie6 错误