只有当Javascript控制台在chrome上打开时,Javascript才能工作
Javascript only works when javascript console is open on chrome
我有一个脚本(javascript)可以在firefox中使用,但不能在chrome或IE中使用。我打开chromes调试控制台来发现问题。没有错误报告,代码运行良好。在控制台关闭的情况下再次运行它将无法再次工作。
我验证了脚本的版本是正确的(不是旧的和缓存的)。控制台不会报告任何警告或错误。
我试着放入简单的日志记录,写入页面底部的div——没有信息。(在调试控制台中,它可以工作——包括div中的日志信息)。
该函数是对服务器发出XMLHttpRequest之后的回调。
我通过包含error_log调用验证了php脚本的调用。error_log正确显示返回值。页面刷新还显示该行已被删除。
除非控制台打开,否则似乎永远不会调用函数removeRow()。(方法或保留字冲突??)尝试将函数名更改为delRow(包括回调)-仍然无法工作。
所有其他Ajax调用似乎都能正常工作。
代码片段如下:
var pos = 0;
var xhr;
function eraseRow() {
var myImage = this;
var fullid = myImage.id;
// split row no and record id eg 5_1223 => row=5 and recordid=1223
var idComponents = fullid.split("_");
if (idComponents.length > 1) { // check if image has complete row info
rowid = idComponents[1]; // extract row number from id
pos = parseInt(idComponents[0]);
xhr = new XMLHttpRequest(); // only support IE8 or +
xhr.onreadystatechange = removeRow;
xhr.open("GET","valid_del.php$delrow="+rowid;
xhr.send(null);
}
}
function removeRow() {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
var err = document.getElementById("errormsg");
var str = xhr.responseText;
err.innerHTML = "Server returned "+str;
if (str === "go-ahead") {
var table = document.getElementById("tableid");
table.deleteRow(pos);
}
}
}
}
PHP(valid_del.PHP):
<?php
include(funclib.php);
if (isset($_GET['delrow']) && strlen($_GET['delrow'] > 0) {
$recid = $_GET['delrow'];
$db = createDbConn(); // function that connects to mysql server db
$result = $db->query("delete from doclibrary where doc_id='$recid'");
if ($result===true) {
echo 'go-ahead';
error_log('Script successful - returns go-ahead',0);
} else {
echo 'stop';
error_log('Script not successful - returns stop',0);
}
$db->close();
} else {
echo 'stop';
error_log('Script not given record id - returns stop',0);
}
?>
我认为DOM还没有准备好,请尝试将代码调用添加到window.onload中,或者如果您使用JQuery,请添加到$(document).ready中。
相关文章:
- 在表单提交将DOM的一部分替换为分部之后,我应该将ajax成功绑定到什么来使我的javascript工作
- 我可以'不要让Javascript工作不正常
- 如何让我的html5功能不兼容警告使用javascript工作
- Excel Web Services 电子邮件 JavaScript 工作表
- 用于Google Fusion Table层的Javascript工作,但试图整理代码
- Bootstrap:如何附加一个类,并且仍然有BS Javascript工作
- JavaScript 工作队列
- JavaScript工作,直到我添加这个&&陈述
- 为什么不'在CasperJS中没有简单的JavaScript工作
- 如何"递归AJAX回调”;在JavaScript工作中
- 基本验证javascript工作不正常
- 需要帮助让这个字符串的Javascript工作
- HTML和JavaScript工作不正常
- 下拉菜单无法从CSS或Javascript工作
- 需要从erb生成一个非常特定的html来让javascript工作
- 如果javascript代码段未使用,它将阻止其他javascript工作
- 将内联事件处理程序移动到chrome扩展的javascript工作表
- 阻止其他Javascript工作的Javascript
- iframe阻止javascript工作
- 无法获取切换函数(JavaScript工作)