Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc ie9:调试时弹出恼人的弹出窗口;错误:'__闪存清除回拨';是未定义的“;_Asp.net Mvc_Visual Studio 2010_Facebook_Internet Explorer 9 - Fatal编程技术网

Asp.net mvc ie9:调试时弹出恼人的弹出窗口;错误:'__闪存清除回拨';是未定义的“;

Asp.net mvc ie9:调试时弹出恼人的弹出窗口;错误:'__闪存清除回拨';是未定义的“;,asp.net-mvc,visual-studio-2010,facebook,internet-explorer-9,Asp.net Mvc,Visual Studio 2010,Facebook,Internet Explorer 9,我正在一个使用facebook社交小部件的asp.NETMVC网站上工作。每当我启动调试器(ie9是浏览器)时,都会出现许多错误弹出窗口:错误:“\uuu flash\uu removeCallback”未定义 为了验证我的代码不负责任,我创建了一个全新的asp.net mvc站点并点击F5。 如果导航到此url:您将看到弹出窗口出现 使用其他浏览器时,不会出现弹出窗口。 在昨天更新到ie9 RTM之前,我一直在使用最新的ie9测试版,没有遇到这个问题 正如你可以想象的那样,这是非常令人讨厌的。

我正在一个使用facebook社交小部件的asp.NETMVC网站上工作。每当我启动调试器(ie9是浏览器)时,都会出现许多错误弹出窗口:错误:“\uuu flash\uu removeCallback”未定义

为了验证我的代码不负责任,我创建了一个全新的asp.net mvc站点并点击F5。 如果导航到此url:您将看到弹出窗口出现

使用其他浏览器时,不会出现弹出窗口。 在昨天更新到ie9 RTM之前,我一直在使用最新的ie9测试版,没有遇到这个问题

正如你可以想象的那样,这是非常令人讨厌的。。。 我怎样才能阻止那些弹出窗口? 其他人能复制这个吗


谢谢大家!

我回答这个问题是因为今天这件事把我逼疯了

这是由flash引起的,通常是当您没有在嵌入对象上放置唯一的id,因此它选择了错误的元素时

解决此问题的最快(也是最好)方法是:

向嵌入/对象添加唯一id

现在这似乎并不总是能解决问题,我有一个网站,无论我设置id的元素是什么,它都不会消失(我怀疑是客户要求我使用的视频播放器)

这段javascript代码(使用jQuery的on document load,替换为您最喜欢的替代方案)将消除它。现在,这显然不会删除某些元素上的回调。他们想删除它肯定是有原因的,也许这会导致javascript中的站点逐渐出现内存泄漏,但这可能是微不足道的

这是一个次要(非最佳)解决方案

    $(function () {
        setTimeout(function () {
            if (typeof __flash__removeCallback != "undefined") {
                __flash__removeCallback = __flash__removeCallback__replace;
            } else {
                setTimeout(arguments.callee, 50);
            }
        }, 50);
    });

    function __flash__removeCallback__replace(instance, name) {
        if(instance != null)
            instance[name] = null;
    }

自从我上次需要调试这个项目以来已经有一个多月了。 Facebook现在已经解决了这个问题。恼人的弹出窗口不再显示。
我没有改变任何东西。

我似乎也无法解决这个问题,但我至少可以为我的用户隐藏它:

$('#video iframe').attr('src', '').hide();
try {
    $('#video').remove();
} catch(ex) {}
第一行防止问题弄乱页面;当jquery显式地将错误从DOM中删除时,第二个函数会接受错误。在我的例子中,我替换了这个标签上面的容器的HTML,并向用户公开这个异常,直到这个修复。

我得到了解决方案

try {
  ytplayer.getIframe().src='';
} catch(ex) {
}

嗨,谢谢你的信息。但是flash对象是由facebook社交插件通过js调用创建的。不幸的是,我无法控制它的id。因此,使用我发布的第二个解决方案,用于覆盖ITI Matt的jQuery代码,我尝试添加您粘贴到我的$(document).ready方法中的代码,但仍然出现错误。就像圣地亚哥的例子一样,这是由Facebook社交插件引起的。我现在看到一个javascript错误(没有弹出窗口)。此解决方案解决了我的问题。@ubercooluk发生此错误的原因有很多,不幸的是,我的解决方案不适用于所有原因。我正在分享一个解决方案,该方案适用于关系密切的公司。我发现,如果您简单地删除iframe,这种方法也会起作用。