jquery附加图像不在Chrome中呈现,但在IE9中呈现

时间:2012-10-17 15:24:39

标签: jquery google-chrome cross-browser

我似乎无法在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。

知道为什么吗?

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

1 个答案:

答案 0 :(得分:2)

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

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

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