1

我似乎无法在 Chrome 22.0 中使用它,但它在 IE 9.0 中运行良好。我正在使用 jquery.min.js 版本 1.7.1。

文件 maint.php (这有点简化......):

<?php if (isset($_POST['action']) && $_POST['action'] == 'start') {
    ... do stuff ...
    die;
?>
<html><head><script src="jquery.min.js" type="text/javascript"></script></head>
<body>
...
<center>
<form name="maint" method="post" action="maint.php">
<input id="action" type="hidden" name="action" value="noop"/>
<input type="button" value="Start" onClick="submitForm('start')"/>
</form>
<div id="workmsg"></div>
</center>
<script type="text/javascript">
function submitForm(action) {
    $('#workmsg').append('<h3>Please wait...</h3><br/><img src="work2.gif"/>');
    document.getElementById('action').value = action;
    document.maint.submit();
}
</script>
</body></html>

单击“开始”按钮会显示消息“请稍候...”并显示 work2.gif 动画并提交(向自身)执行某些操作,同时显示消息和 GIF。

或者至少这就是它在 IE9 上的工作方式。

在 Chrome 上会显示消息,但不会显示 GIF。

知道为什么吗?

如果我直接浏览,Chrome 会渲染 GIF。

4

1 回答 1

2

如果这是我以前多次遇到的“那个老栗子”,请将代码的提交行更改为...

setTimeout(function() { document.maint.submit(); }, 500);

你可以尝试更短的超时时间,但这应该足够了,假设你遇到了我以前见过的同样的问题。在触发提交之前,浏览器可能只需要很短的时间来初始化图像元素。

于 2012-10-17T15:33:14.810 回答