我希望只有在加载主页面后,才会在网页中放置<div>
之一来填充内容。现在问题是因为<div>
内容来自外部网址,整个网页在等待<div>
完成加载外部内容时导致加载速度变慢。有时外部URL占用太多时间,从而导致正在运行的网页的性能不一致。
实现这一目标的最佳方法是什么?通过AJAX / Jquery?如果是这样的话?
<div>
部分主要用于显示来自外部网址的某些广告,这些广告将每个广告作为JSON对象返回...
答案 0 :(得分:2)
使用jQuery非常简单。加载页面,然后在您希望加载外部内容的位置具有如下div:
<div id="externalContainer">Loading data...</div>
默认情况下,此DIV包含“正在加载数据...”字样,然后在页面加载后,您可以发出AJAX请求以从外部URL加载数据,然后将其呈现在该DIV中(覆盖加载文字)。
以下是执行此操作的jQuery代码:
$(document).ready(function () {
$.ajax({
url: 'http://www.mywebsite.com/mypage.php',
cache: false,
dataType: "html",
success: function (data) {
$('#externalContainer').html(data);
},
error: function (data) {
alert('Failed to load external content');
}
});
});
这样,您的页面将响应用户,外部内容将加载后台。
答案 1 :(得分:0)
您可以使用 AJAX 和jQuery的$(window).load
事件来完成此任务,
这是你可以做到的,
$(window).load(function() {
// Call AJAX function here.
});
在.load()
函数中的上述代码块中,只有在完全加载窗口后才会调用该函数。 (例如图像,资产等。)
您的AJAX功能应该从外部URL加载内容。
参考:http://api.jquery.com/jquery.ajax/
答案 2 :(得分:0)
加载页面后,请执行广告加载部分
jQuery(window).load(function () {
alert('page is loaded');
// Then send request to load Ads to <Div>
});