gpt4 book ai didi

javascript - 使用 load() 的 JQuery AJAX 导航多次重新加载资源(音频)

转载 作者:行者123 更新时间:2023-12-02 16:19:20 24 4
gpt4 key购买 nike

我正在使用 JQuery load()函数($.ajax() 的包装)来获取已确定的 DIV 的内容。

但是我遇到了下一个问题; load() 获取(并加载,显然)音频和视频等资源;因此页面的运行速度没有达到应有的速度。

我正在使用下一个代码:

var container =  $("#container"), url = "mydomain.com/page2/ #content";

container.load(url, function(data) {
// Set the new title.
document.title = $(data).filter('title').text();
});


摘要:

每次用户浏览页面时,音频都会作为 GET 请求重新加载。

Audio reloaded

音乐重叠,同时响起......


我想要检索其内容的页面的表示形式(我将仅使用 #content 中的 HTML):

<!DOCTYPE html>
<html>
<head>
<title>Title of the page</title>
</head>
<body>

<div id="content"> Hello <b>world</b> this is the content I want to get.</div>

<audio autoplay loop preload="auto">
<source src="mydomain/wp-content/themes/mytheme/resources/audio/road.mp3" type="audio/mpeg"/>
<source src="mydomain/wp-content/themes/mytheme/resources/audio/road.ogg" type="audio/ogg"/>
</audio>

</body>
</html>


任何人都知道如何避免 #content 之外的资源负载(至少是音频) ?

最佳答案

Jquery代码

$(document).on('click', 'a[rel*=charger_partiel]', function(f) { 

f.preventDefault();

var myId_to_update_here = $(this).data('ajax');

var myId_to_load_from_other_page = $(this).data('direction');

var afficher_chargement = $(this).data('icon');

var chargement_devant_lien = $(this).data('filter');

var image_de_chargement = '<img src="images/facebook_style_loader.gif" />';



if(chargement_devant_lien!='')
{
$('#'+chargement_devant_lien).html(image_de_chargement);
}
//Fin de l'affichage du chargement si l'id du span du devant lien est mis


if(afficher_chargement=='Oui')
{
$('#'+myId_to_update_here).html(image_de_chargement);
}
//Fin de l'affichage du chargement si le data-icon='Oui'




$('#'+myId_to_update_here).load($(this).attr('href')+' #'+myId_to_load_from_other_page




, function(responseText, textStatus, XMLHttpRequest) {
if(textStatus == 'error') {
$('#'+myId_to_update_here).html('<p>Oupps.. There was an error making the AJAX request. Maybe your internet connection is slowing down.</p>');
}
});



if(chargement_devant_lien!='')
{
$('#'+chargement_devant_lien).html('');
}
//Fin de l'affichage du chargement si l'id du span du devant lien est mis



return false;
});

现在 Html

现在您所要做的就是设置参数(如果您的 div 位于每个页面上就可以正常工作)

<a href="mypage.php" rel="charger_partiel" data-direction="content"    data-ajax="container">charger_partiel</a>

取决于您所在的页面以及您想要加载的页面

<a href="mypage.php" rel="charger_partiel" data-direction="container"    data-ajax="content">charger_partiel</a>

Mypage.php 是您要从中加载信息的页面(不是您所在的页面)

数据方向显示您要从何处加载它(div)

以及您想要将其加载到的数据ajax

这是基于最新版本的jquery。如果您没有使用最新版本,则必须直接点击,而不是点击。

关于javascript - 使用 load() 的 JQuery AJAX 导航多次重新加载资源(音频),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29280915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com