js不适用于Chrome,但适用于IE
js doesnt work in Chrome but works in IE
我有在IE浏览器上工作的JS代码。但它在Chrome和Mozilla中不起作用。应该更改什么才能使其在这些浏览器上工作?
<html>
<head>
<script type="text/javascript">
function readFile(url) {
pageRequest = new XMLHttpRequest()
pageRequest.open("GET", url, false);
pageRequest.send(null);
return pageRequest.responseText;
}
</script>
</head>
<body>
<script type="text/javascript">
var txt = readFile("?GameID=5&from=0&num=50000");
document.write(txt);
</script>
</body>
</html>
function readFile(url) {
var request = new XMLHttpRequest();
request.open("GET", url, false);
request.send();
return request;
}
var request = readFile("http://? GameID=5&from=0&num=50000");
request.onload = function() {
document.write(request.responseText);
};
这段代码在IE和Chrome中都不起作用)还有其他想法吗?
这是因为跨来源资源共享,请单击此处了解更多详细信息。您需要在服务器上设置Access Control Allow Origin标头,并定义有权访问该资源的域。我在使用Internet Explorer的服务器上测试了你的代码,结果出现了同样的错误。
您遇到了异步问题。如果HTTP请求尚未完成,您将无法访问request.responseText
。这可能在某些浏览器中起作用,因为纯粹是偶然的。因此,我们必须附加一个onload
事件侦听器。
试试这个代码:
function readFile(url) {
var request = new XMLHttpRequest();
request.open("GET", url, false);
request.send();
return request;
}
var request = readFile("http://example.com/displayScore.php?GameID=5&from=0&num=50000");
request.onload = function() {
document.write(request.responseText);
};
您也可以向readFile
传递第二个参数,它是这样的函数,而不是返回整个对象:
function readFile(url, onload) {
//load code goes here...
if (typeof onload == "function") {
request.onload = function(){
onload(request),
};
}
}
readFile("url", function(e){
document.write(e.responseText);
});
相关文章:
- AngularJS$http.post没有'不适用于Chrome,仅适用于IE
- 如何调试遗留的javascript代码(适用于IE,但在Google Chrome中不正常)
- js不适用于Chrome,但适用于IE
- (PHP&JavaScript)a href添加按钮赢得'我不适用于Mozilla,但适用于IE和谷歌
- javascript代码适用于IE和Chrome,但不适用于Firefox
- html5 canvas 中的 OffsetX 适用于 IE、Safari、Chrome,但不适用于 Firefox
- .load() 适用于 IE 和 dreamweaver 预览版,但不能使用 opera 和 chrome
- IE 9 Javascript Window Variable 为 null.适用于IE 8
- Javascript / CSS不适用于IE 10,但适用于IE 8
- html 选择列表更改无法在谷歌浏览器上调用方法(适用于 IE)
- 此代码阻止我的表单提交(仅在 chrome 中,适用于 IE 和 Firefox)
- Jquery适用于IE以外的所有浏览器
- Fotorama - 适用于IE,Firefox,但不适用于Chrome(上传到服务器)
- JavaScript适用于IE,但不适用于Firefox和Chrome
- javascript 函数 - 传递给函数的变量适用于IE,但不适用于Firefox
- HTTPRequest to Node 服务器适用于 IE 8,但不适用于 IE 7
- Javascript window.print 适用于 IE 和 FF,但不适用于 Chrome(在旧版本中曾经如此)
- 两个几乎相等的jQuery函数;一个适用于IE,一个不适用于IE
- 寻找适用于IE的开发人员插件
- Firefox 中的 HTML 位置问题(适用于 IE 和 Chrome)