javascript - 如何使用 JavaScript 或 jQuery 将脚本从一个页面发送到另一个页面?

标签 javascript jquery

我想将一些 javascript 从一个文件发送到我自己的服务器中的另一个文件。例如,在文件 1 上我有以下代码:

<script>

   alert("Hey There!");

</script>

我想将此代码发送到文件 2,以便在文件 2 上发生警报。假设文件 2 已经加载,我想对文件 1 执行一些处理,并根据我要发送的所述处理的结果文件 2 中的内容。

文件 2 不应向文件 1 发送任何请求,文件 1 应执行所有发送操作,文件 2 应在不刷新页面的情况下接收消息。

这可能吗?

编辑

假设我有 3 个文件(2 个 html 和 1 个 js)。文件 A 已经加载,里面什么也没有。该js文件名为“sayHello.js”,其内容如下:

alert('Indeed 10 is less than 100');

文件B包含以下内容:

if (10 < 100) {

   // attach the js file "sayHello.js" to File A

}

如何将 js 文件从文件 B 附加到文件 A(使用 jQuery.getScript() 方法)并在文件 A 上执行脚本?

最佳答案

通常 - 您必须在思考中区分哪些代码在服务器上运行,哪些代码在浏览器上运行。 在更复杂的情况下 - 在客户端上运行的 JavaScript 将由服务器页面生成,该服务器页面根据请求上下文生成相关 JavaScript - 在这种情况下,您必须牢记操作顺序。

假设您引用客户端上代码之间的通信 - 您应该记住这些文件不处理任何内容 - 它们将 JavaScript 代码加载到浏览器的根范围,然后浏览器执行它。 以这种方式,您必须区分命令和定义,而加载的每个文件都可以访问由以前加载的脚本引入根范围的所有“成员”(这些成员的正确名称是符号,即 - 所有函数和变量)。

讨论您的两个文件 - 文件 2 对我来说看起来像“主文件”,文件 1 对我来说看起来像“实用程序/库”。

因此,您必须定义函数,而不是在文件 1 的根作用域上执行代码 - 文件 2 可以访问这些函数。

您的 HTML:

<script src="File1.js"></script>
<!-- if you need to exectute the code in File1 - you can call it like this -->
<script>
   actionInFile1()
</script>
<script src="File2.js"></script>

文件1:

function actionInFile1(){
    alert("Hey There!")
}

文件2:

actionInFile1();

考虑到这一点 - 我认为您所描述的是向客户端动态加载脚本。

使用 jQuery 将第二个脚本动态添加到当前页面,方法是使用 http://api.jquery.com/jQuery.getScript/

现在 - 一个更复杂的例子 - 您的 HTML

<script src="jQuery.....js"></script>
<script src="File1.js"></script>
<button value="   go   "  onclick="toTrick()">

文件1.js

function doStuff(){
     alert("Hey there!");
}

文件2.js

function toTrick(){
    $.getScript('ajax/test.js'
               , function() {
                     doStuff();             
                 }
               );
}

编辑:

您需要了解 JavaScript 中的变量作用域。

文件A包含以下内容:

function notify(){
    alert('Indeed 10 is less than 100');
}
notify();

文件B包含以下内容:

if (10 < 100) {
     //notify is defined in file A, however it will be accessible here
     // as long as file A is loaded before file B.
     notify();
}

HTML 具有以下内容:

 <script src="FileA.js"></script><!-- defines "notify" and executes it immediately -->
 <script src="FileB.js"></script><!-- reuses notify() -->

关于javascript - 如何使用 JavaScript 或 jQuery 将脚本从一个页面发送到另一个页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5281414/

相关文章:

Javascript 箭头函数没有按预期工作?

javascript - JavaScript 中的正则表达式 : match multiple substrings at the beginning of a string?

jquery - 对于服务器客户端 J2EE 应用程序,哪一个是高效的 JSON 或 XML?

javascript - .on 更改功能第一次起作用而不是第二次起作用?

javascript - 路径长度变化时保持 stroke-dasharray 一致

javascript在表单提交后保留列表中的选定值

javascript - 坏到固定实现

php - 如何在收到新消息时收到通知,例如 Facebook

巴西电话号码的 JavaScript 掩码

javascript - jquery增加带有点击功能的php变量