javascript - 如何在 javascript 中使用 main 和 newwindow 的全局变量

标签 javascript html jsp button click

我有两个jsp(一个是主页,另一个是新窗口)和单个javascript文件。

主页和新窗口有'测试''ClickedCount'按钮。

首先,我在主页'测试'按钮中点击3次。然后我打开新窗口。
现在,我在 newWindow 'Test' 按钮中单击 2 次。
所以我总共点击了5次。

每次点击时,我都会在 JavaScript 中计算按钮点击次数。

但主窗口仅显示3次,--> getTestButtonClickedCount()
并且新窗口仅显示2次。 --> getTestButtonClickedCount()

这里我使用相同的单个 JavaScript 文件 (count.js)

那么如何获得两个窗口(mainWindow + NewWindow)“测试”按钮的总点击次数。

MainWindow.jsp

<html>
     <head>
          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
          <script src="count.js" type="text/javascript"></script>
     </head>
<body>
 <input type="button" value="Test" onclick="countTestButtonClick()"/>
 <input type="button" value="ClickedCount" onclick="getTestButtonClickedCount();"/>

 <a href="#" onclick = "window.open('NewWindow.jsp','newwindow',
                        'width=400,height=200')">Click to open New window</a>
</body>
</html>

NewWindow.jsp

<html>
     <head>
           <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
           <script src="count.js" type="text/javascript"></script>
     </head>
<body>
  <input type="button" value="Test" onclick="countTestButtonClick()"/>
  <input type="button" value="ClickedCount" onclick="getTestButtonClickedCount();"/>
</body>
</html>

count.js

var clickCount = 0;

function countTestButtonClick()
{    
    clickCount++;
}

function getTestButtonClickedCount()
{
   alert("Total Number of clicked : " + clickCount);
}

帮我解决这个问题。 感谢您的努力。

最佳答案

将newWindow中的JS去掉,改为

 <input type="button" value="Test" onclick="opener.countTestButtonClick()"/>
 <input type="button" value="ClickedCount" onclick="opener.getTestButtonClickedCount();"/>

或者,如果一个窗口没有打开另一个窗口,则使用 cookie 来存储点击,每次读取并更新并存储它

关于javascript - 如何在 javascript 中使用 main 和 newwindow 的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3155512/

相关文章:

javascript - 更新嵌套对象的字段而不是在 React Redux 中重新呈现 View (UI)

javascript - 无法在UIWebview中突出显示文本?

javascript - 如何打印由代码呈现的图表

html - 显示隐藏的 div

java - 在jsp中迭代和打印带有嵌套数组的HashMap的内容

Javascript String.replace(/\$/,str) 在 jsp 文件中运行异常

java - 将一个 servlet 类拆分为 servlet 和 DAO 类

javascript - 如何在非 vue 网络应用程序中使用 Vuejs 网络组件作为输入元素?

html - 在 Chrome 中删除 <video> 元素后音频继续

Javascript 对象 : backreference to property name