Javascript 在创建端口号后将其传递给html

Javascript 在创建端口号后将其传递给html,javascript,html,Javascript,Html,我正在做的过程是编写一个html文件,在将来的某个时候打开一个本地服务器,搜索一个打开的端口,因此我只知道创建html后服务器正在侦听的端口。打开html页面时,有没有办法将端口号传递给它 我曾考虑将端口号写入一个文件,并以某种方式使用javascript读取该文件,但我知道,由于安全限制,我无法将客户端上的文件读取到javascript变量中 如果我理解正确: A.某些服务将服务器端口写入HTML文件 B.以后您不想读取该端口并使用它(在相同的HTML中) 如果是这样-可以使用javascri

我正在做的过程是编写一个html文件,在将来的某个时候打开一个本地服务器,搜索一个打开的端口,因此我只知道创建html后服务器正在侦听的端口。打开html页面时,有没有办法将端口号传递给它


我曾考虑将端口号写入一个文件,并以某种方式使用javascript读取该文件,但我知道,由于安全限制,我无法将客户端上的文件读取到javascript变量中

如果我理解正确:

A.某些服务将服务器端口写入HTML文件

B.以后您不想读取该端口并使用它(在相同的HTML中)


如果是这样-可以使用javascriptlocation对象(location.port)完成-该对象是从html文件读取的(例如从某个div的ID(…ID=“80”…)

我认为您可以在这里使用javascript方法。这允许您安全地跨源传递消息。一旦您拥有了端口,就可以使用它将消息传递到初始html

编辑:

让我进一步澄清我的答案

使用postMessage方法,可以在选项卡或窗口之间发送消息

  • 用户打开HTML文件,该文件为来自另一个页面的消息附加一个侦听器。 例如:

    window.addEventListener(“message”,receiveMessage,false);

  • 拥有端口后,只需在postMessage方法中传递端口。 例如:

    popup.postMessage(“8080”)http://domainOfFirstHTML.file”;


  • 我在这种方法中看到的唯一挑战是第二步。但由于您似乎可以编写一个文件,我猜您可以打开另一个HTML文件,将消息发布到第一个HTML并自行关闭。

    为什么不编辑HTML文件?使用相对URL?或者这不是关于URL的吗?我认为您的问题有点不清楚。Wh你说的“将端口传递到HTML”是什么意思?我不能在创建HTML后编辑它,因为其他用户将使用它,我要寻找的是每个HTML都有一个本地服务器,所以实际上会有几个并行打开的端口。你可能需要对服务器进行一些ajax轮询来检索端口号。我认为创建一个临时html文件,并以某种方式使用port num创建一个全局变量,然后打开原始html并使用该全局变量(这意味着在我的浏览器中实际打开两个选项卡)。你认为有可能吗?实际上是另一种方式,首先创建html,然后打开服务器,所以当我创建html文件时,我还不知道端口。我可以举一个例子:第一个html文件只是一个单击按钮,我的意图是,当我单击按钮时,我会联系本地服务器,然后在创建html时,我仍然不知道端口。对,tnx,所以如果使用一些服务器端是可以的,我会使用PHP(与JavaScript相同-使用PHP的DOM操纵器(如果编辑html不是一个选项))或者node.js…我认为这可能会起作用。我还考虑了本地存储或Cookie,再次使用HTML打开和关闭。你认为呢?我没有使用本地存储,但它也应该起作用。你的第一个HTML文件将侦听,一旦知道端口,第二个HTML将触发该文件。其概念与其相同只是我们使用不同的方法来传递数据谢谢。我想我会尝试使用本地存储或cookie。