js相关问题:有两个js文件都有window.onload 在一个页面要同时调用这两个js要怎样解决?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js相关问题:有两个js文件都有window.onload 在一个页面要同时调用这两个js要怎样解决?相关的知识,希望对你有一定的参考价值。

两个js文件是独立的两个文件

第一:看这2个方法的关联性,哪个先,哪个后,然后放到同一个onload里面去,顺序一致

第二:为什么要写2个onload呢?你可以这么写,据说效率很高,放到js文件里,如同onload

void function()
   // TODO
();

或者

(function()
  // TODO
());

参考技术A 使用Jquery

IPC在两个不相关的节点js进程之间使用共享内存通信

【中文标题】IPC在两个不相关的节点js进程之间使用共享内存通信【英文标题】:IPC using shared memory communication between two unrelated node js processes 【发布时间】:2020-04-26 12:19:30 【问题描述】:

我有两个不相关的节点 js 进程在同一台 Windows 机器上运行。我希望这两个进程相互通信,但不使用 FileIO(性能问题)和 Sockets(安全问题)。我们有什么办法可以做到吗?我已阅读有关共享内存和基于管道的通信的信息,但找不到节点 js 的任何实现。

【问题讨论】:

【参考方案1】:

这个问题的答案取决于一个节点进程是否正在启动另一个。如果一个节点进程使用fork() 启动另一个节点进程,则它可以使用process.send()process.on('message', ...) 进行通信。

见https://nodejs.org/api/child_process.html#child_process_subprocess_send_message_sendhandle_options_callback

// parent.js
const cp = require('child_process');
const n = cp.fork(`$__dirname/sub.js`);

n.on('message', (m) => 
  console.log('PARENT got message:', m);
);

// Causes the child to print: CHILD got message:  hello: 'world' 
n.send( hello: 'world' );

对于子进程:

// child.js

process.on('message', (m) => 
  console.log('CHILD got message:', m);
);

// Causes the parent to print: PARENT got message:  foo: 'bar', baz: null 
process.send( foo: 'bar', baz: NaN );

如果在另一个句柄上,进程是单独启动的,那就是另一回事了。

这首先引出了一个问题,当您说出于安全原因不想使用套接字时,您的意思是什么?

您是否担心可以从计算机外部访问您的节点进程。因为只有当您绑定到 IP 地址 0.0.0.0 或您的公共 IP 地址之一时才会发生这种情况。如果您绑定到 127.0.0.1,则不会发生这种情况,那么它应该只能从您的计算机访问。

前往 127.0.0.1 的流量也会绕过网络工作,因此它永远不会离开您的计算机或进入您的网卡。

您还可以使用更难访问的本地命名套接字。

如果您担心其他本地服务能够与您的频道通信,您可以通过传递秘密信息或加密内容来解决这个问题。

您可以在以下 Stack Overflow 答案中找到有关使用命名套接字和管道的更多详细信息:How to create a named pipe in node.js?

【讨论】:

抱歉回复晚了。感谢@luis 提供有关安全相关 Socket 的清晰信息。我不知道。我们已经验证了该信息并正在使用“命名管道”解决方案。除此之外,您的第一个解决方案是针对子进程,我在标题中明确提到进程是不相关的,因此我们不能对这些进程使用标准输入和标准输出。

以上是关于js相关问题:有两个js文件都有window.onload 在一个页面要同时调用这两个js要怎样解决?的主要内容,如果未能解决你的问题,请参考以下文章

找不到文件 ReactRefreshEntry.js

导入两个同名的JS文件[重复]

页面加载完毕执行多个JS函数

js屏蔽手机的物理返回键

JS监听手机返回键

js事件-禁止/触发