使用JavaScript打开另一个HTML页面时传递变量

Nav*_*vvy 2 html javascript jquery

这可能是一个很愚蠢的问题,但是我无法在任何地方在线找到它,而且我一直在寻找至少一个小时。

我有一个链接<a href="MusicMe.html" id="instrumentsNav">Instruments</a>,单击该链接后我想获取它的ID,因为我需要将一些变量传递给我要打开的页面,以知道单击了乐器链接。这是从productInformation.html

我也尝试过这样做<a href="#" onclick="instrumentsClick()" id="instrumentsNav">Instruments</a>,然后在JavaScript中window.open("MusicMe.html", "_self");进行尝试,然后尝试以这种方式传递变量,但是绝对没有运气。关于如何在打开变量时将其传递回页面的任何帮助都很棒。

一旦打开,我就使用变量来设置元素的ID,因此它仅显示一组特定的信息,这些信息可以自行处理,但是当我回去尝试调用它时,它总是认为它是显示所有这些,因为我无法解决如何设置变量以对其进行定义。不幸的是,我需要使用JavaScript而不是PHP。

谢谢。

moh*_*ias 6

我只想告诉您一些方法,希望您能够实现它:

  1. 使用查询参数来传递变量。

导航到另一个页面时,将查询参数添加到URL。

window.open("MusicMe.html?variable=value", "_self");
Run Code Online (Sandbox Code Playgroud)

在您的下一页中,通过获取window.location.href并使用正则表达式来分割参数?并获取该数据,以检查queryParam 。

  1. 使用localStorage / cookie

导航到下一页之前,请在localStorage中设置一个变量

localStorage.setItem("variable","value");
window.open("MusicMe.html", "_self");
Run Code Online (Sandbox Code Playgroud)

在第二页的窗口加载事件中。

 $(function() {
      if(localStorage.getItem("variable")) {

       // set the ID here
       // after setting remember to remove it, if it's not required
       localStorage.removeItem("variable");
      }

  });
Run Code Online (Sandbox Code Playgroud)