我很难解决这个问题。我制作了一个网站,其中几个链接使用 ajax 将一些内容加载到 div 中。然后我设置了一个 gif 来告诉 ppl 何时加载。问题是它工作得很好,但是在 ie 中,它只在我第一次单击这些链接时加载,然后在我第二次单击链接时它不会再次显示。这里的代码:
<li><?php echo $this->Js->link('Sign up', array('controller'=> 'Users', 'action'=>'add'), array('evalScripts' => true, 'before' => $this->Js->get('#busy-indicator')->effect('fadeIn', array('buffer' => false)),'complete' => $this->Js->get('#busy-indicator')->effect('fadeOut', array('buffer' => false)), 'update'=>'#center', 'class'=>'nav4')); $this->Js->get('.nav4'); $this->Js->event('click', '$(".crumb_navigation").html("Home > Sign up")');
这是视图代码:
<div class="center_content" id="center"><div class="center2">sdfadsf<?php echo $this->Html->image('/images/ajax-loader.gif', array('id' => 'busy-indicator')); ?></div></div>
所以我想知道你们中是否有人遇到过这个问题,你的加载 gif 只加载一次(在 iexplorer 中),其余时间你点击链接,没有任何反应。但在任何其他浏览器中都能完美运行。
更新:
我现在已经尝试了一切,似乎没有什么能让我与 iexplorer 休息一下。我已经使用了 .on() .live() 我尝试过自己编写这段代码,而不是使用 js 助手,但它只会变得最糟糕哈哈。但并不是所有的东西都丢失了我的朋友们!!!我只需要从 appController 禁用缓存,它就开始工作了!!!
public function beforeFilter() {
$this->Currency->setVal('UYU', 'USD');
$this->disableCache();
$description = __('The place where you can ask for things and they will come to you!');
$this->set('description', $description);
$this->Auth->allow('index','view','account','add');
$this->set('usuario', $this->Auth->user('role'));
}
哒哒!