IE7& IE8错误执行函数与ajax

时间:2011-12-04 23:09:50

标签: javascript jquery 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和IE中都遇到了一个奇怪的错误。 IE8没有任何有用的反馈:

页面错误:
未指定的错误。
/(第49行)
代码:0(字符5)URI:
http://www.mysite.com

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

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

我觉得它与调用html5media()有关;太多次了?不知所措......

2 个答案:

答案 0 :(得分:0)

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

根据插件的主页,问题已在jQuery 1.7中修复,因此您可能会尝试更新jQuery引用。

答案 1 :(得分:0)

html5media插件存在问题。