我正在尝试通过javascript Web客户端与websocket服务器进行通信。在我的index.html中,我有这个代码:
<script type="text/javascript">
websocketClient = null
</script>
<script type="text/javascript" src="js/jWebSocket.js"></script>
<script type="text/javascript" src="main.js"></script>
<script type="text/javascript" src="ServerPlugin.js"></script>
我的main.js有这两个函数(等等):
function tempPopup()
{
var popupHeight = screen.height / 10 * 9;
var popupWidth = screen.width / 3;
popup = window.open('popup.html', 'name-place', 'height='+popupHeight + ',width='+ popupWidth);
popup.moveTo(screen.width / 2 - popupWidth/2, screen.height/2 - popupHeight/2);
popup.focus();
websocketClient.sendResponse(400);
}
function transferReqToMain(quote)
{
alert("Request Transferred");
websocketClient.sendResponse(400);
}
然后我的popup.html有这些声明:
<script type="text/javascript" src="js/jWebSocket.js"></script>
<script type="text/javascript" src="main.js"></script>
<script type="text/javascript" src="ServerPlugin.js"></script>
<script type="text/javascript" src="popupInit.js"></script>
最后popupInit.js中有一个以这种方式执行的函数:
function sendOkResponse()
{
alert("Transferring Request");
transferReqToMain(400);
};
现在当我在index.html中按下一个应该启动弹出窗口的按钮(函数tempPopup())时,websoocket.sendResponse()的代码执行得很好(我在sendresponse函数中有一个警告告诉我这个)一个新的弹出窗口也开始了。但是在弹出窗口中,如果我点击启动sendOkResponse()的按钮,首先我得到打印“传输请求”,然后我得到打印“请求转移”(这意味着transferReqToMain()正在执行)但是之后我的调用websocketClient.sendResponse()失败。
有人能指出我在这里做错了什么。