Javascript IE7&;IE8使用ajax执行函数时出错
我正在加载一个ajax页面,该页面执行HTML5视频播放器脚本。闪存回退功能是Javascript IE7&;IE8使用ajax执行函数时出错,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在加载一个ajax页面,该页面执行HTML5视频播放器脚本。闪存回退功能是html5media(): //Load 1st Case Study $("#splash").live('click', function (e) { $(this).fadeOut('slow', function () { $('#case-studies').load('case-study-1.html', function() {
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();
});
最初我使用的是returnfalse代码>但没有一个子页面Flash视频会加载到IE7中。当我切换到preventDefault时,视频加载到IE7中,但仍然没有加载到IE8中
我在IE7和IE8中也遇到了一个奇怪的错误,没有任何有用的反馈:
第页上的错误:
未指明的错误。
/(第49行)
代码:0(字符5)URI:
http://www.mysite.com
这是我的索引页中的第49行:
<section id="case-studies" class="main-section">
我觉得这与调用html5media()有关;太多次了?不知怎的…对传入的AJAX内容使用浏览器的domNode.innerHTML
实现似乎有问题。有一个插件()可以解决这个问题。(完全公开,我从未尝试过这个插件。)
根据插件的主页,这个问题在jQuery 1.7中得到了解决,因此您可以尝试更新jQuery参考。是html5media插件的问题。值得一提的是,IE 7或8I使用Modernizer都不支持section元素。在这种情况下,这可能不起作用吗?如果我把html5media()注释掉;错误消失了。这可能与html5media()有关吗;在#案例研究中运行,然后在加载其他ajax页面时在同一个div中重新运行?您可以通过手动调用html5media()来测试它是ajax还是html5media()代码>连续几次。html5media()中有什么内容?单独调用它,确保AJAX请求、元素衰减和其他DOM操作不会干扰。我相信这与我使用的插件(HTML5媒体)有关。我切换到一个完全不同的视频播放器脚本(MediaElement.js),不再有问题。(尽管我不得不完全重新编码该部分。)