面对IE和jquery的问题。该代码适用于所有其他浏览器,但在IE中使用时会中断。相当简单的实施。但我是javascript新手。
console.log('hi ie');
jQuery(document).ready(function () {
setTimeout(function () {
jQuery(".controlApply").on("click", function (event) {
pollVisibility();
console.log('after poll');
});
}, 1000);
});
//This method checks is a specific div is shown. Dirty way to check if a report is being processed
function pollVisibility() {
console.log('poll');
if (microstrategy.bones.rwb_viewer.objectID == '7647F4F611E2B39B923E0080EF058C78') {
if (!jQuery('#divWaitBox').attr('style')) {
console.log('divWaitBox');
//wait did not appear
microstrategy.getViewerBone().commands.exec('refresh');
} else if (jQuery('#divWaitBox').attr('style').indexOf('hidden') != -1) {
console.log('hidden');
microstrategy.getViewerBone().commands.exec('refresh');
} else {
console.log('other');
setTimeout(pollVisibility, 800);
}
} else {}
}
从不调用console.log但是document.ready似乎在IE中工作
doctype
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
如果错了,我无法改变它。这是MicroStrategy BI应用程序的扩展。
答案 0 :(得分:0)
根据您的jQuery版本,您的问题很可能是应.bind()
执行的.on()
<强> HTML 强>
<div class="class" style="height:40px; width:40px; background-color:#ff0000;"></div>
<强>的jQuery 强>
$(document).ready(function () {
$(".class").on("click", function (event) {
console.log('We clicked!');
poll(); // <-- wtf does this do exactly??
});
});
答案 1 :(得分:0)
这个javascript的问题在于它试图改变用一些ajax框架构建的页面。它是MicroStrategy BI应用程序。如果我在文档准备就绪后放置了一个断点,那么页面上就没有内容呈现。
此页面上的解决方案帮助我了解了/ if / ff / chrome
jQuery( document ).ready(function() {
setTimeout(test, 1000);
jQuery(".controlApply").on("click", function (event) {
pollVisibility();
});
});
function test(){
jQuery('.mstrTransform').on('click', '.controlApply', function(){
pollVisibility();
});
}
答案 2 :(得分:0)
我刚刚在IE 11中遇到了一个同样的问题,这是我梦a以求的事情。我试图将jQuery append()信息添加到div元素中。在运行控制台时,该动作会间歇性地起作用。如果关闭控制台,则什么也没发生,就好像脚本被完全忽略了一样。这包括警报声明。
通过注释console.log语句,IE 11的行为符合预期(仍然感觉不正确)。我在MS Edge和Chrome中使用console.logs运行了相同的脚本,一切都按预期运行。我了解到console.log是罪魁祸首。在我们的代码之间这是很常见的事情,我正在使用IE 11,但问题仍然存在。 :(