我有一个远程控制系统,用于我们使用的基于 Web 的销售工具,它现在在 jQuery 1.5.1 下工作得非常好,现在将系统改造成 jquery 1.8.1,充其量是间歇性的。
该系统与查看器和控制器一起使用,在控制器中单击的内容被保存到数据库并由查看器读取,然后使用 jquery .click() 方法对它们进行操作
代码:
function ProcessCommand() {
// Setup strings for return values.
xmlProcessCommand = GetXmlHttpObject();
// Setup strings require for function.
var strNewCommand;
var intSplitLocation;
// Get commands from database (AJAX)
var strCommandRequest = "../drone/processcommand.aspx";
strCommandRequest = strCommandRequest + "?sid=" + Math.random();
xmlProcessCommand.onreadystatechange = function () {
if (xmlProcessCommand.readyState == 4) {
// Items have arrived back, get item.
strNewCommand = xmlProcessCommand.responseText; // Instructions received.
// Check received instructions against stored instructions
if (strCurrentCommand != strNewCommand) {
// Place the new instructions into the current instructions for overload protection.
strCurrentCommand = strNewCommand;
// Extract code
intSplitLocation = strNewCommand.indexOf("|");
strNewCommand = strNewCommand.substring(0, intSplitLocation);
if (strNewCommand != "") {
// Click the specified ID
$('#' + strNewCommand).click(); // Click element
}
}
}
};
xmlProcessCommand.open("GET", strCommandRequest, true);
xmlProcessCommand.send(null);
// Loop function.
setTimeout("ProcessCommand()", 500);
}
strNewCommand 接收要单击的元素(基于 id)和来自数据库的时间戳,以确定它是否较新并对其进行操作。
简单的事情,比如点击 div 的作品,但有些锚点似乎无法点击,即使收到了正确的元素名称并且该元素在 html 中是唯一的。它可以完全控制灯箱,这只是让我把头发拉出来的简单事情。
我已经使用警报(我知道的不好的做法)和使用萤火虫进行了检查,它显示了进来的元素名称,如果它告诉我为什么它不能点击它会很好。
任何帮助将不胜感激。