我的行为很奇怪,我在和自己战斗,以便找出可能出什么错误。
我有一个HTML页面,在加载页面时,该页面检查查询字符串中是否存在变量“ TRANSACTIONVALUE”。 如果该字符串存在并且具有特定值(8374),则用户将被重定向到特定页面(我们称其为“后端页面”)。 由于有时此“后端页面”有点慢(它会触发有时因不活动而关闭的代理,因此需要等待重新激活它),我解决了它,只是添加了一个document.write,上面写着“当然是请求。 ..请在同一空白页中等待”,然后重定向。
我的代码适用于所有浏览器,但Internet Explorer除外,在Internet Explorer中,用户在第一个语句“ document.write”中被阻止。
<!doctype html>
<html lang="us">
<head>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="TEXT/HTML;CHARSET=UTF-8">
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
<META HTTP-EQUIV="EXPIRES" CONTENT="-1">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../../../favicon.ico">
<script>
function CheckHeaderStatus() {
if (getQueryVariable("TRANSACTIONVALUE")==8374)
{
document.write("Request in course... Please wait");
window.location.href='http://backendapplication.goto.com/Default.aspx?TARGET='+TRANSACTIONVALUE;
}
}
</script>
</head>
<body onload="CheckHeaderStatus()" class="text-center">
<div> any text <div>
</body>
</html>
发生的事情是它适用于Chrome,Safari,Firefox。在这些情况下,如果用户的体重为TRANSACTIONVALUE = 8374,则他可以看到“正在请求中……请稍候”消息,然后将其重定向到页面http://backendapplication.goto.com/Default.aspx?TARGET='+ TRANSACTIONVALUE
现在,在Internet Explorer中,具有TRANSACTIONVALUE = 8374的用户只能看到“正在请求...请稍候”消息。该页面停止前进,因此它们不会重定向到另一页面。 可能是什么问题?
我已经测试了其他方法来获得相同的结果(经我的工作证明),例如: “从页面上删除所有内容,创建一个div,我可以在其中编写等待消息,然后重定向,因此:
while (document.firstChild) {
document.removeChild(document.firstChild);
};
// create new DIV
var newDiv = document.createElement("div");
newDiv.innerHTML = "<h1>Request in course... Please wait</h1>";
window.location.href='http://backendapplication.goto.com/Default.aspx?TARGET='+TRANSACTIONVALUE;
但同样,它适用于IE的所有浏览器。我用IE9、10、11进行了测试。 我丢失了某些东西,或者是IE的问题?
谢谢!!
答案 0 :(得分:0)
我已通过以下方式解决:
function CheckHeaderStatus() {
if (getQueryVariable("TRANSACTIONVALUE")==8374)
{
Redirect();
function Redirect() {
document.write("Request in course... Please wait");
window.location.href='http://backendapplication.goto.com/Default.aspx?TARGET='+TRANSACTIONVALUE;
}
}}
通过这种方式,它也适用于IE:-)