IE7 和 IE8 错误执行函数与 ajax



我正在加载一个执行HTML5视频播放器脚本的ajax页面。Flash回退功能为html5media();:

//Load 1st Case Study
    $("#splash").live('click', function (e) {
        $(this).fadeOut('slow', function () {
            $('#case-studies').load('case-study-1.html', function() {
               html5media(); //initiate Flash fallback
            }).fadeIn();
        });
        e.preventDefault();
    });

这个初始页面加载在IE7中运行良好&IE8。

问题是一旦这个页面被加载,有链接到4个视频再次使用ajax加载。我使用这个函数:

//Switcher
function csClients(url, client) {
    $("#case-studies").fadeOut('slow', function() {
        $('#case-studies').load(url, function () {
            html5media(); //initiate Flash fallback
        }).fadeIn();
    });
}
//Page Loader
$("#cs-client-list li.client1 a").live('click', function(e) {
    csClients('case-study-1.html', 'client1');
    e.preventDefault();
});

原来我是使用return false;,但没有子页面Flash视频将加载在IE7。当我切换到preventDefault时,视频在IE7中加载,但在IE8中仍然无法加载。

我也得到一个奇怪的错误在IE7 &IE8没有有用的反馈:

页面错误:
不明错误。
/(第49行)
Code: 0 (Char 5) URI:
http://www.mysite.com

这是我的索引页的第49行:

<section id="case-studies" class="main-section">

我有一种感觉,它与调用html5media();太多次了?

使用浏览器的domNode.innerHTML实现传入AJAX内容似乎是一个问题。有一个插件(innerShiv)据说可以解决这个问题。(完全披露,我从来没有尝试过这个插件。)

根据插件的主页,这个问题在jQuery 1.7中已经修复,所以你可以尝试更新你的jQuery参考。

是html5media插件的一个问题。

最新更新