Quốc khánh 80 năm đánh dấu sự trở lại bầu trời Ba Đình của tiêm kích kể từ 2/9/1985, ghi dấu ấn lần đầu tiên các phi công quân sự Su-30MK2, Yak-130 biểu diễn thả bẫy nhiệt trên quảng trường trung tâm Thủ đô.
Quốc khánh 80 năm đánh dấu sự trở lại bầu trời Ba Đình của tiêm kích kể từ 2/9/1985, ghi dấu ấn lần đầu tiên các phi công quân sự Su-30MK2, Yak-130 biểu diễn thả bẫy nhiệt trên quảng trường trung tâm Thủ đô.
Đầu tháng 7, thượng tá Hoàng Hải, Chủ nhiệm Chính trị Trung đoàn 940, Trường Sĩ quan Không quân (Quân chủng Phòng không – Không quân), nhận nhiệm vụ tham gia diễu binh diễu hành mừng 80 năm Quốc khánh “với cảm xúc khó tả”.
Ba tháng trước thời điểm đó, biên đội Yak-130 của Trung đoàn đã tham gia lễ diễu binh kỷ niệm 50 năm Ngày Giải phóng miền Nam, thống nhất đất nước. Nhưng dịp 80 năm Quốc khánh “mang ý nghĩa đặc biệt hơn” khi lần đầu tiên phi cơ của đơn vị được bay qua khu vực A – bầu trời Ba Đình, vùng trời thiêng liêng mà không phải phi công nào cũng có cơ hội tiến vào.
Đội hình sẽ bay qua trước lễ đài, cùng hướng hành tiến của xe pháo quân sự và hơn 16.300 quân nhân, trên trục Hồ Tây – đường Thanh Niên để chào lễ đài. Sau màn mở đầu của trực thăng kéo cờ và CASA, ba dòng máy bay phản lực nối tiếp, trình diễn những kỹ thuật cơ động phức tạp phục vụ người dân cả nước.
A80 cũng ghi dấu nhiều “lần đầu” của Không quân nhân dân Việt Nam: 40 năm kể từ Quốc khánh 1985, tiêm kích và máy bay vận tải mới trở lại bầu trời Ba Đình; Su-30MK2 cùng Yak-130 lần đầu thả mồi bẫy nhiệt trên quảng trường; và biên đội bốn chiếc L-39NG cũng lần đầu góp mặt trong đại lễ.
//
document.getElementById(“in-image-close”).setAttribute(“onclick”, “in_image_close();”);
v_counter_interval = 0;
var interval_in_image = setInterval(function() {
if(document.getElementById(“24h-banner-in-image”)){
var v_element_in_image = document.getElementById(“24h-banner-in-image”);
if(v_element_in_image.childNodes[2] && v_element_in_image.childNodes[2].id){
// setup căn phải
if(document.getElementById(v_element_in_image.childNodes[2].id)){
document.getElementById(v_element_in_image.childNodes[2].id).style.textAlign = “right”;
}
if(v_element_in_image.childNodes[2].childNodes[1]){
if(v_element_in_image.childNodes[2].childNodes[1].childNodes[0]){
if(v_element_in_image.childNodes[2].childNodes[1].childNodes[0].id || (isIE() && v_element_in_image.childNodes[2].childNodes[1].id)){
if(document.getElementById(v_element_in_image.childNodes[2].childNodes[1].childNodes[0].id) || (isIE() && document.getElementById(v_element_in_image.childNodes[2].childNodes[1].id))){
if(isIE()){
if(document.getElementById(v_element_in_image.childNodes[2].childNodes[1].childNodes[0].id).style.display !== “none” && document.getElementById(v_element_in_image.childNodes[2].childNodes[1].childNodes[0].id).getAttribute(“data-google-query-id”) !== null){
if(document.getElementById(“24h-banner-in-image-close”)){
document.getElementById(“24h-banner-in-image-close”).style.display = “inline-block”;
}
} else {
if(document.getElementById(“24h-banner-in-image-close”)){
document.getElementById(“24h-banner-in-image-close”).style.display = “none”;
}
}
} else {
if(document.getElementById(v_element_in_image.childNodes[2].childNodes[1].childNodes[0].id).style.display !== “none” && document.getElementById(v_element_in_image.childNodes[2].childNodes[1].childNodes[0].id).getAttribute(“data-google-query-id”) !== null){
if(document.getElementById(“24h-banner-in-image-close”)){
document.getElementById(“24h-banner-in-image-close”).style.display = “inline-block”;
}
} else {
if(document.getElementById(“24h-banner-in-image-close”)){
document.getElementById(“24h-banner-in-image-close”).style.display = “none”;
}
}
}
v_counter_interval++;
if(v_counter_interval === 15){
clearInterval(interval_in_image);
}
}
}
}
}
}
}
}, 1000);
function in_image_close(){
if(document.getElementById(“24h-banner-in-image”)){
document.getElementById(“24h-banner-in-image”).innerHTML = “”;
}
if(document.getElementById(“24h-banner-in-image-close”)){
document.getElementById(“24h-banner-in-image-close”).innerHTML = “”;
}
}
//]]>
Biên đội Yak-130 trên sân bay Kép, tháng 8/2025. Ảnh: Giang Huy
Những cánh bay miền Nam trên đất Bắc
Không quân Việt Nam bắt đầu biên chế Yak-130 từ cuối năm 2021. Loại máy bay huấn luyện hiện đại, sử dụng thiết bị điện tử và có tính năng vận hành tương đồng với các tiêm kích hiện đại của Nga như Su-30SM, Su-35S và Su-57, giúp đơn giản hóa quá trình huấn luyện và tiết kiệm chi phí. Sau bốn năm biên chế, những chiếc Yak-130 thuộc Trung đoàn 940 ngày càng đảm nhận nhiều nhiệm vụ huấn luyện phức tạp. Năm 2023, biên đội Yak-130 từng chuyển sân ra miền Bắc, tham gia diễn tập bắn ném đạn thật ở sân bay Kép.
“Từ trước đến nay, Yak-130 chưa từng thực hiện bài bay biên đội 6 chiếc, dịp A50 cũng chỉ bay biên đội ba”, thượng tá Hải nói về thử thách lớn nhất với các phi công tham gia đại lễ A80.
Những giảng viên bay của Trường Sĩ quan Không quân, cũng là các phi công kỳ cựu, đã trực tiếp soạn thảo giáo trình. Phi công giàu kinh nghiệm, từng tham gia nhiệm vụ lớn được tuyển chọn thực hiện nhiệm vụ. Sau hai tuần, những chiếc Yak-130 bắt đầu thực hành bay biên đội 6 trên sân bay Phù Cát, Đăk Lăk trước khi chuyển sân ra Bắc.
Cuối tháng 7, biên đội Yak-130 của Trung đoàn 940 và L-39NG thuộc biên chế Trung đoàn 910 – hai đơn vị của Trường Sĩ quan Không quân lần lượt chuyển sân ra Kép, Bắc Ninh luyện tập cùng Su-30MK2 của Trung đoàn 927, Sư đoàn 371. Cùng lúc trên các sân bay Hòa Lạc, biên đội trực thăng luyện tập treo cờ; vận tải cơ CASA tập hợp đội hình cất cánh từ sân bay Gia Lâm.
31 máy bay của Không quân nhân dân tập tách – ghép đội hình, thực hiện bài bay phức tạp dồn sức cho 15 phút biểu diễn trên Ba Đình.
Biên đội Yak-130 bay qua quảng trường Ba Đình trong ngày tổng duyệt 30/8. Ảnh: Giang Huy
Thượng tá Hoàng Hải điều khiển máy bay số hiệu 2104 và giữ vị trí số 4, là chiếc bay giữa cạnh đáy của đội hình tam giác gồm 6 máy bay Yak-130. Đội hình mà khán giả quan sát từ mặt đất thấy “đều, đẹp, trông dễ dàng, nhưng để duy trì đúng cự ly giãn cách và bay qua Ba Đình chuẩn thời gian quy định lại cực kỳ khó”.
Cự ly giữa đuôi máy bay phía trước với mũi máy bay phía sau là 30 m, giãn cách ngang giữa hai chiếc là 20 m, độ cao chênh 3-5 m. Thời điểm bay qua Quảng trường Ba Đình, vận tốc đội hình khoảng 530 km/h và tăng lên 650 km/h khi thông qua để bắt đầu tách biên đội. Sai lệnh giữa các máy bay chỉ tính bằng centimet.
Biên đội Yak-130 lĩnh nhiệm vụ cất cánh đầu tiên trong khối phản lực xuất phát từ sân bay Kép lên Ba Đình. Các phi công phải tính toán để có mặt tại lễ đài đúng giờ quy định, sai lệch không quá 2 giây. Cùng lúc, họ phải bảo đảm khoảng cách an toàn với các biên đội L-39NG và Su-30MK2 xuất phát sau.
banner_tostring(ADS_217_15s,”ADS_217_15s”);
} else {
var boxPositionBanner = document.getElementById(“ADS_217_15s_container”);
// Kiểm tra elementid có tồn tại
if (boxPositionBanner) {
// Ẩn phần tử container
boxPositionBanner.setAttribute(“style”, “display: none !important;”);
}
}
}
//]]>
banner_tostring(ADS_218_15s,”ADS_218_15s”);
} else {
var boxPositionBanner = document.getElementById(“ADS_218_15s_container”);
// Kiểm tra elementid có tồn tại
if (boxPositionBanner) {
// Ẩn phần tử container
boxPositionBanner.setAttribute(“style”, “display: none !important;”);
}
}
}
//]]>
// 0) {
// console.log(“AE volByCookie VAR : “+volByCookie);
vid_vol_var = volByCookie;
}
}
// console.log(“AE VIDVOL VAR : “+vid_vol_var);
var vidLoaded = false,
dynamicId,
vidId,
parentVid = “v-24hContainer_zplayer_089421”,
videoElmStr = ‘
‘+
‘To view this video please enable JavaScript, and consider upgrading to a web browser that ‘+
‘supports HTML5 video ‘+
‘ ‘ +
”,
videozplayer_089421,
videoAds1Conf = {
“poster”: “https://cdn.24h.com.vn/upload/3-2025/images/2025-09-11/1757560930-bay1.jpg”,
“offsetWatchPercent”: 20,
“stopOtherOnPlay”: true,
“parentVid”: parentVid,
“offHighlightOnBannerBottom”:false,
“vidErrorLog”: 1,
“skipAble”: true,
“skipTime”: 5000,
/*CDN_DOMAIN_HLS*/
“skipAdsBtnContent”: “Skip Ad”,
“showAdVol”: true,
“VIDEOID”: “zplayer_089421”,
/*MINI_VIDEO*/
“viewportAutoPlay”: true,
“vidVol” : vid_vol_var,
//”adVolIncrease”: 0.25,
//”showVolIncreasement”:1,
//”adVol” : “0.15”,
“trackSlowMedia”:1,
“secondToLoadMedia”:3000,
“secondToLoadMeta”:3000,
“prerollTimeEnd” : 31,
“midrollTimeEnd” : 15,
“postrollTimeEnd” : 30,
“skipAdsBtnPos”: “bottom-left”,
“theaterMod”: {height: 580},
“fastSeek”: {step: 5},
“userAgent”: “newspaper/0.2.8”,
“adLoadTimeout” : 8000
,”vastUri”: “https%3A%2F%2Fpubads.g.doubleclick.net%2Fgampad%2Fads%3Fsz%3D640x360%26iu%3D%2F124557882%2F24h%2Fus%2Fdesktop%2Fdaily_news%2Fpreroll%26impl%3Ds%26gdfp_req%3D1%26env%3Dvp%26output%3Dvast%26unviewed_position_start%3D1%26url%3Dhttps%253A%252F%252Fwww.24h.com.vn%252Ftin-tuc-trong-ngay%252Fnhung-phi-cong-bay-qua-ba-dinh-ngay-dai-le-c46a1696966.html%26description_url%3Dhttps%253A%252F%252Fwww.24h.com.vn%252Ftin-tuc-trong-ngay%252Fnhung-phi-cong-bay-qua-ba-dinh-ngay-dai-le-c46a1696966.html%26correlator%3D1757587353%26ambient%3D1%26plcmt%3D2″
,”vastUriPost” : “https%3A%2F%2Fpubads.g.doubleclick.net%2Fgampad%2Fads%3Fsz%3D528x297%26iu%3D%2F124557882%2F24h%2Fus%2Fdesktop%2Fdaily_news%2Fpostroll%26impl%3Ds%26gdfp_req%3D1%26env%3Dvp%26output%3Dvast%26unviewed_position_start%3D1%26url%3Dhttps%253A%252F%252Fwww.24h.com.vn%252Ftin-tuc-trong-ngay%252Fnhung-phi-cong-bay-qua-ba-dinh-ngay-dai-le-c46a1696966.html%26description_url%3Dhttps%253A%252F%252Fwww.24h.com.vn%252Ftin-tuc-trong-ngay%252Fnhung-phi-cong-bay-qua-ba-dinh-ngay-dai-le-c46a1696966.html%26correlator%3D1757587353%26ambient%3D1%26plcmt%3D2″
,”vastUriMid” : “https%3A%2F%2Fvideo.24h.com.vn%2Fupload%2Fhtml%2Ftempvast.xml”
,”midTime”: 10
/*FALL_BACK*/
/*PLAYLIST_ITEM*/
/*DRM_VIDEO*/
,”tracking”: {
“video”: {
vidDuration: 102
,”eventsToTrack”: [“loaded”, “duration”, “percentsPlayed”, “start”, “end”, “replay”, “pause”,
“volumeChange”, “error”, “fullscreen”, “fullscreenduration”]
}
}
//{set_highlight_zplayer_html5}
,”idBannerBottom”: “bnnSponBot_zplayer_089421”
}
if (volByCookie != null) {
if (volByCookie <= 0) {
// console.log("AE volByCookie VAR set MUTED : "+volByCookie);
videoAds1Conf.muted = 1;
}
}
if(document.getElementById(parentVid).innerHTML.trim() == ""){
loadVidzplayer_089421();
vidLoaded = true;
}
var count_time_update_zplayer_089421 = 0;
function loadVidzplayer_089421(){
dynamicId = new Date().valueOf();
vidId = "my-video-multiple1_"+dynamicId;
videoAds1Conf.VIDEOID = vidId;
if(vidLoaded==true){
videoAds1Conf.viewportAutoPlay = false;
}
var newVideStr = videoElmStr.replace(/__VIDIDzplayer_089421__/g, vidId);
document.getElementById(parentVid).innerHTML = newVideStr;
if (typeof adBlockEnabled_Unique != "undefined"){
// XLCYCMHENG-42783 – player – async lib ima3 + multi video – fix bug adBlockEnabled không đồng nhất
adBlockEnabled = adBlockEnabled_Unique;
}
videozplayer_089421 = new videoObj(videoAds1Conf);
// console.log("AE LOAD PLAYER");
// console.log(videoAds1Conf);
// console.log("AE THIS VOLUME LOAD PLAYER muted VAR :"+videoAds1Conf.muteByUser);
//console.log("AE THIS VOLUME LOAD PLAYER is muted :"+videozplayer_089421.player.muted());
//console.log("AE THIS VOLUME LOAD PLAYER: "+videozplayer_089421.player.volume());
//console.log("AE THIS VOLUME LOAD PLAYER CURRENT VOLUME : "+current_vol_zplayer_089421);
if ((typeof(videoAds1Conf.muteByUser) != "undefined" && videoAds1Conf.muteByUser == 1) || (volByCookie != null && volByCookie 0) {
videoAds1Conf.vidVol = current_vol_zplayer_089421;
videoAds1Conf.muteByUser = 0;
} else {
videoAds1Conf.muteByUser = 1;
videoAds1Conf.vidVol = 0;
}
var videoConf = videoAds1Conf;
videoConf.viewportAutoPlay = false;
// console.log(“AE videoConf: “, videoConf);
var element = document.getElementById(videoConf.VIDEOID);
// element.parentNode.removeChild(element);
// videozplayer_089421 = undefined;
videozplayer_089421.player.dispose();
loadVidzplayer_089421();
});
videozplayer_089421.player.on(“loadeddata”, function(){
// 20220224 fix lỗi không khởi tạo đc playerInitHeight
if (this.playerInitHeight <= 0){
this.playerInitHeight = Math.round(this.getById(this.VIDEOID).getBoundingClientRect().height)
this.dbglog("this.playerInitHeight: " + this.playerInitHeight)
this.playerHasSponsorInitHeight = Math.floor(this.getById(this.VIDEOID).getBoundingClientRect().height) – 1;// làm tròn xuống & -1
this.dbglog("this.playerHasSponsorInitHeight: " + this.playerHasSponsorInitHeight);
}
}.bind(videozplayer_089421));
videozplayer_089421.player.on("volumechange", function(){
var new_vd_volume = videozplayer_089421.player.volume();
// console.log("AE volume change");
// console.log("AE THIS VOLUME AFTER CHANGE: "+videozplayer_089421.player.volume());
// console.log("AE volume change is mute : "+videozplayer_089421.player.muted());
var is_vd_muted = videozplayer_089421.player.muted();
var check_set_cookie = false;
if (new_vd_volume 10) {
is_vd_muted = true;
}
if (is_vd_muted == true) {
// console.log(“AE is_vd_muted TRUE”);
if (current_vol_zplayer_089421 > 0 && count_time_update_zplayer_089421 > 10) {
check_set_cookie = true;
}
current_vol_zplayer_089421 = 0;
videozplayer_089421.player.muted(1);
setTimeout(function(){
videozplayer_089421.player.muted(1);
},300);
} else {
// console.log(“AE is_vd_muted FALSE”);
if (volByCookie <= 0 && count_time_update_zplayer_089421 < 5) {
check_set_cookie = false;
} else {
check_set_cookie = true;
}
current_vol_zplayer_089421 = new_vd_volume;
}
// console.log("AE check_set_cookie: "+check_set_cookie);
if (check_set_cookie == true) {
setCookie("videoVolumeByUser", current_vol_zplayer_089421, 30*24, "/", "24h.com.vn", "");// lưu cookie 30 ngày
// console.log("AE SET COOKIE");
} else {
// console.log("AE NOTTTT SET COOKIE");
}
// console.log("AE THIS VOLUME AFTER CHANGE LATER: "+current_vol_zplayer_089421);
}.bind(videozplayer_089421));
videozplayer_089421.player.ready(function () {
// XLCYCMHENG-38546 – [24H] Tối ưu khoảng trống trên/dưới banner sponsor_video_top / sponsor_video_botton
if (this.idBannerBottom != ""){
let vidEl = this.getById(this.VIDEOID);
let vidHeight = vidEl.getBoundingClientRect().height;
// làm tròn xuống & -1 height div chứa player
let parentHeight = Math.floor(vidHeight) – 1;
vidEl.parentNode.style.height = parentHeight + "px";
vidEl.parentNode.style.overflowY = "hidden";
// căn player lùi lên 0.7px
vidEl.style.marginTop = "-0.7px";
// 20220110: fix lỗi khi xem chế độ theater
let style = document.createElement("style");
style.type = "text/css";
style.innerHTML = ".theaterDisplay .video-js.vjs-16-9{margin-top: 0px !important}";
document.getElementsByTagName("head")[0].appendChild(style);
}
// XLCYCMHENG-44429 – 24h – Lỗi giao diện khi thu nhỏ màn hình – lỗi chiều cao theaterMod khi zoom
if (this.theaterMod && this.theaterMod.height) {
let style = document.createElement("style");
style.type = "text/css";
style.innerHTML = ".theaterDisplay .video-js.vjs-16-9-custom.zoomed:not(.mini-player){padding-top: 0px !important}";
document.getElementsByTagName("head")[0].appendChild(style);
}
// bổ sung class zoomed-out / zoomed-in theo chế độ zoom thực tế
function updateVideoZoomState() {
let vidEl = this.getById(this.VIDEOID);
const zoom = Math.round(window.devicePixelRatio * 100);
vidEl.classList.remove("zoomed", "zoomed-out", "zoomed-in");
if (zoom != 100) {
vidEl.classList.add("zoomed", zoom chưa xử lý; > 0 -> item cần nhảy tới; đã xử lý xong
let playTimeResuming = 0; // 0 -> chưa xử lý; > 0 -> thời điểm cần nhảy tới; đã xử lý xong
let useStorage = true; // sử dụng Storage để lưu trữ – không bị giới hạn số lượng, dung lượng, thời gian; không bị gửi lên server khi request trang
let minDuration = 10;
let adsTimeResuming = 0;
let adsBefore = true;
// XLCYCMHENG-39918 – player – resume watching – manager keys
// Math.floor(Date.now() / 1000) -> thời gian hiện tại (giây) theo UTC
let timeLiveKey = 720;
let updatetimeKey = “player__resume_watching__updatetime”;
// lấy item + thời gian đã xem từ cookie
let watching = “”;
if (useStorage && typeof Storage !== “undefined”){
// XLCYCMHENG-39918 – player – resume watching – manager keys
// khai báo hàm lấy thời điểm cập nhật key
var player__resume_watching__updatetime__get = function (key) {
if (typeof key == “undefined” || !key){return 0;}
let default_time = (new Date(“2022-10-01 00:00:00”)).getTime(); // mặc định nếu không có thời điểm cập nhật cũ
let updatetime = default_time;
let updatetime_all_text = localStorage.getItem(updatetimeKey);
if (updatetime_all_text != “”){
try {
let updatetime_all_obj = JSON.parse(updatetime_all_text);
if (typeof updatetime_all_obj == “object” && updatetime_all_obj !== null && typeof updatetime_all_obj[key] != “undefined”){
updatetime = parseInt(updatetime_all_obj[key]);
if (isNaN(updatetime)){
updatetime = default_time;
}
}
} catch (err){}
}
return updatetime;
};
// XLCYCMHENG-39918 – player – resume watching – manager keys
// khai báo hàm lưu thời điểm cập nhật key
var player__resume_watching__updatetime__set = function (key, remove_key) {
if (typeof key == “undefined” || !key){return false;}
if (typeof remove_key == “undefined”){
remove_key = false;
}
let updatetime_all_obj = {};
let updatetime_all_text = localStorage.getItem(updatetimeKey);
if (updatetime_all_text != “”){
try {
updatetime_all_obj = JSON.parse(updatetime_all_text);
} catch (err){}
}
if (typeof updatetime_all_obj != “object” || updatetime_all_obj === null){
updatetime_all_obj = {};
// danh sách các key có trong localStorage
let arr_all_key = Object.keys(localStorage);
if (typeof arr_all_key == “object” && arr_all_key !== null){
try {
// các key lưu lịch sử xem tiếp cũ chưa từng được đưa vào danh sách thời điểm cập nhật
let arr_key = arr_all_key.filter(key => key.match(/player__resume_watching_(.*)/));
if (typeof arr_key == “object” && arr_key !== null){
for (let i in arr_key) {
updatetime_all_obj[arr_key[i]] = Math.floor(Date.now() / 1000);
}
}
} catch (err){}
}
}
if (!remove_key){// cập nhật thời điểm cập nhật
updatetime_all_obj[key] = Math.floor(Date.now() / 1000);
try {
localStorage.setItem(updatetimeKey, JSON.stringify(updatetime_all_obj));
} catch (err){
console.log(“player: => set localStorage updatetimeKey after update – error: ” + err.message);
}
} else if (typeof updatetime_all_obj[key] != “undefined”){// remove nếu có thời điểm cập nhật cũ
delete updatetime_all_obj[key];
try {
localStorage.setItem(updatetimeKey, JSON.stringify(updatetime_all_obj));
} catch (err){
console.log(“player: => set localStorage updatetimeKey after delete – error: ” + err.message);
}
}
return true;
};
// lấy lịch sử đang xem
watching = localStorage.getItem(cookieKey);
console.log(“player: => get localStorage resume watching: ” + watching);
// có key -> check hết hạn key thì xóa, không dùng
if (timeLiveKey > 0 && watching !== null && watching !== “”){
let updatetime = player__resume_watching__updatetime__get(cookieKey);
if (updatetime + 60 * 60 * timeLiveKey remove expires localStorage resume watching: ” + cookieKey);
} catch (err){
console.log(“player: => remove expires localStorage resume watching: ” + cookieKey + ” – error: ” + err.message);
}
}
}
} else {
watching = getCookie(cookieKey);
console.log(“player: => get cookie resume watching: ” + watching);
}
if (!watching || typeof watching != “string”){
watching = “”;
}
if (watching != “”){
let arr_watching = watching.split(“:”);
if (arr_watching.length >= 2){
let watchingItem = parseInt(arr_watching[0]);
let watchingTime = parseFloat(arr_watching[1]);
if (!isNaN(watchingItem) && watchingItem > 0){
playItemResuming = watchingItem;// lưu item cần nhảy tới khi bắt đầu chạy video
}
if (!isNaN(watchingTime) && watchingTime > 0){
playTimeResuming = watchingTime;// lưu thời gian cần nhảy tới khi bắt đầu chạy video
adsTimeResuming = watchingTime;// lưu thời gian quảng cáo cần xử lý
}
if (playItemResuming > 0 || playTimeResuming > 0){
if (playItemResuming > 0){
adsTimeResuming = 100000;// playlist xem từ item thứ 2 -> chặn luôn preroll và midroll
}
console.log(“player: => need resume watching to item:” + playItemResuming + “; time:” + playTimeResuming);
}
}
}
videozplayer_089421.player.on([
“resume-watching”,
], function (e) {
if (minDuration > 0 && typeof this.tracking != “undefined” && typeof this.tracking.video != “undefined”){
let duration = 0;
if (typeof this.tracking.video.playlistTotalMins != “undefined”){
duration = this.tracking.video.playlistTotalMins;
}
if (typeof this.tracking.video.vidDuration != “undefined”){
duration = this.tracking.video.vidDuration;
}
if (duration > 0 && duration hủy cố gắng phát tiếp
playItemResuming = -1;
playTimeResuming = -1;
// hủy cố gắng chặn quảng cáo
adsTimeResuming = -1;
}
}
if (playItemResuming > 0 || playTimeResuming > 0){
let currentItem = this.isPlaylist ? this.player.playlist.currentItem() : 0;
if (playItemResuming > 0 && this.isPlaylist && this.player.playlist.lastIndex() > 0){
if (playItemResuming > this.player.playlist.lastIndex()){
playItemResuming %= (this.player.playlist.lastIndex() + 1);
}
if (this.player.playlist.currentItem() != playItemResuming){
this.player.playlist.currentItem(playItemResuming);// nhảy tới item
console.log(“player:event:” + e.type + ” => resume watching item:” + this.player.playlist.currentItem());
}
}
if (currentItem != playItemResuming && playTimeResuming > 0){
// hẹn trigger vào sự kiện play/loadeddata tiếp theo (sau khi load được item) -> thay đổi time sau
this.player.one([
“play”,
“loadeddata”,
], function (e) {
if (playItemResuming > 0 || playTimeResuming > 0){
console.log(“player:event:” + e.type + ” => triggerEvt:resume-watching”);
this.triggerEvt(“resume-watching”);
}
}.bind(this));
return;
}
if (playTimeResuming > 0){
this.player.currentTime(playTimeResuming);
}
playItem = this.isPlaylist ? this.player.playlist.currentItem() : 0;
playTime = this.player.currentTime();
console.log(“player:event:” + e.type + ” => resume watching item:” + playItem + “; time:” + playTime);
// kích hoạt sự kiện onPlay nếu chưa chạy để đảm bảo tracking
if (!this.getState(“sentPlay”) && !this.player.paused()) {
this.triggerEvt(“onPlay”);
console.log(“player:event:” + e.type + ” => triggerEvt:onPlay”);
}
}
}.bind(videozplayer_089421));
videozplayer_089421.player.one([
“play”,
“loadeddata”,
], function (e) {
if (playItemResuming > 0 || playTimeResuming > 0){
if (adsBefore){
let hasPreroll = false;
if (this.isPlaylist){
let currentItem = this.player.playlist.currentItem();
let currentItemSource = this.playlistConf;
let currentSrc = currentItemSource[currentItem].sources[0];
let adTag = typeof currentSrc != “undefined” && typeof currentSrc.adTagUrl != “undefined” ? currentSrc.adTagUrl : false;
if (!adTag || adTag === “”) {
adTag = this.tempVast;
}
hasPreroll = !adTag ? false : true;
} else {
let vastUri = this.vastUri;
if (!vastUri || vastUri === “”) {
vastUri = this.tempVast;
}
hasPreroll = !vastUri ? false : true;
}
if (hasPreroll){
this.handlePreroll();
} else {
console.log(“player:event:” + e.type + ” => triggerEvt:resume-watching”);
this.triggerEvt(“resume-watching”);
}
} else {
console.log(“player:event:” + e.type + ” => triggerEvt:resume-watching”);
this.triggerEvt(“resume-watching”);
}
}
}.bind(videozplayer_089421));
videozplayer_089421.player.one([
“adend”,
“adskip”,
“nopreroll”,
“adscanceled”,
“adserror”,
], function (e) {
if (playItemResuming > 0 || playTimeResuming > 0){
// hẹn trigger vào sự kiện playing tiếp theo
this.player.one([
“playing”,
], function (e) {
if (playItemResuming > 0 || playTimeResuming > 0){
console.log(“player:event:” + e.type + ” => triggerEvt:resume-watching”);
this.triggerEvt(“resume-watching”);
}
}.bind(this));
}
}.bind(videozplayer_089421));
videozplayer_089421.player.on(“timeupdated”, function (e) {
let currentItem = this.isPlaylist ? this.player.playlist.currentItem() : 0;
let currentTime = this.player.currentTime();
if (currentItem != playItem || Math.abs(currentTime – playTime) > 0.5){// lưu cookie khi có sai khác trên 0.5s
playItem = currentItem;
playTime = currentTime;
if (useStorage && typeof Storage !== “undefined”){
try {
localStorage.setItem(cookieKey, playItem+”:”+playTime);
// console.log(“player:event:” + e.type + ” => set localStorage resume watching to item:” + currentItem + “; time:” + currentTime);
} catch (err){
console.log(“player:event:” + e.type + ” => set localStorage resume watching to item:” + currentItem + “; time:” + currentTime + “; err:” + err.message);
}
// XLCYCMHENG-39918 – player – resume watching – manager keys
player__resume_watching__updatetime__set(cookieKey);
} else {
setCookie(cookieKey, currentItem+”:”+currentTime, (timeLiveKey > 0 ? timeLiveKey : 720), “/”, “24h.com.vn”, “”);
// console.log(“player:event:” + e.type + ” => set cookie resume watching to item:” + currentItem + “; time:” + currentTime);
}
}
if (playItemResuming > 0 || playTimeResuming > 0){
if (currentItem >= playItemResuming && currentTime >= playTimeResuming + 5){
// hủy cố gắng phát tiếp từ cookie khi đã resume thành công & chạy được 1 khoảng
playItemResuming = -1;
playTimeResuming = -1;
// hủy cố gắng chặn quảng cáo
adsTimeResuming = -1;
}
}
// kích hoạt sự kiện onPlay nếu chưa chạy để đảm bảo tracking
if (!this.getState(“sentPlay”) && !this.player.paused()) {
this.triggerEvt(“onPlay”);
console.log(“player:event:” + e.type + ” => triggerEvt:onPlay”);
}
}.bind(videozplayer_089421));
videozplayer_089421.player.on([
“seeking”,
“seeked”,
], function (e) {
// hủy cố gắng phát tiếp từ cookie khi user tự thay đổi thời gian xem
playItemResuming = -1;
playTimeResuming = -1;
// hủy cố gắng chặn quảng cáo
adsTimeResuming = -1;
});
videozplayer_089421.player.on([
“endVid”,
“onPostRollStart”,
“videoended”,
], function (e) {
// hủy cố gắng phát tiếp từ cookie khi đã kết thúc
playItemResuming = -1;
playTimeResuming = -1;
// hủy cố gắng chặn quảng cáo
adsTimeResuming = -1;
playItem = 0;
playTime = 0;
// xóa thông tin lịch sử đang xem
if (useStorage && typeof Storage !== “undefined”){
try {
localStorage.removeItem(cookieKey);
console.log(“player:event:” + e.type + ” => remove localStorage resume watching”);
} catch (err){
console.log(“player:event:” + e.type + ” => remove localStorage resume watching – error: ” + err.message);
}
// XLCYCMHENG-39918 – player – resume watching – manager keys
player__resume_watching__updatetime__set(cookieKey, true);
} else {
setCookie(cookieKey, playItem+”:”+playTime, 1, “/”, “24h.com.vn”, “”);
console.log(“player:event:” + e.type + ” => remove cookie resume watching”);
}
});
videozplayer_089421.player.on([
“readyforpreroll”,
], function (e) {
if (!adsBefore && adsTimeResuming > 0){
let closeAds = “”;
if (this.player.ads.isInAdMode()){// preroll
if (adsTimeResuming > 5){// thời điểm xem tiếp quá 5s
closeAds = “preroll”;
}
} else {// midroll
let duration = this.player.duration();
if (!duration){
duration = 0;
}
if (adsTimeResuming > 0 && duration > 0 && (
(this.midTime && adsTimeResuming > this.midTime)
|| adsTimeResuming > duration / 2
)
){
closeAds = “midroll”;
}
}
if (closeAds != “”){
this.closeAd();
console.log(“player:event:” + e.type + ” => cancel ” + closeAds + ” – closeAd”);
if (this.player.paused()) {// cố khởi chạy tiếp nếu đang bị dừng
if (this.autoplayRequiresMute){// bắt buộc phải mute -> tắt tiếng để play đc luôn
this.player.muted(true);
}
this.player.play();
}
}
}
}.bind(videozplayer_089421));
/*RESUME_WATCHING_EVENTS-END*/
videozplayer_089421.player.on(“onPrerollError”, function(name) {
var objVideos = videojs(vidId+”_html5_api”);
});
videozplayer_089421.player.on(“AE_completed”, function(name) {
// console.log(“AE_completed AE_completed :”+current_vol_zplayer_089421);
var is_vd_mute = videozplayer_089421.player.muted();
if (is_vd_mute == true) {
//videozplayer_089421.player.volume(0);
setTimeout(function(){
videozplayer_089421.player.muted(1);
// console.log(“AE_completed AE_completed set MUTED”);
},400);
}
});
videozplayer_089421.player.on(“onPlay”, function(name) {
// console.log(“onPlay AE_started AE_started :”+current_vol_zplayer_089421);
var is_vd_mute = videozplayer_089421.player.muted();
if (is_vd_mute == true) {
if (current_vol_zplayer_089421 > 0) {
// console.log(“AE SET VOLUME 1111111”);
videozplayer_089421.player.volume(current_vol_zplayer_089421);
}
videozplayer_089421.player.muted(1);
// console.log(“AE MUTE LOAD PLAYER ACTION SET MUTE 111111: “);
}
// console.log(“AE THIS VOLUME is muted :”+videozplayer_089421.player.muted());
// console.log(“AE THIS VOLUME: “+videozplayer_089421.player.volume());
// begin 5/10/2017 TuyenNT xu_ly_gan_ga_video_theo_loai_giai_dau_frontend_pc
send_tracking_video(‘none’, ‘Null’, 1696966, 46, ‘daily_news’, ‘pc’, ‘play’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
// end 5/10/2017 TuyenNT xu_ly_gan_ga_video_theo_loai_giai_dau_frontend_pc
//Begin 14-07-2017 : Thangnb tracking_google_tag_manager_video
//End 14-07-2017 : Thangnb tracking_google_tag_manager_video
send_tracking_video(”, ‘none’, 0, 0, ”, ‘pc’, ”, ‘no’, ‘no’, 3, ‘video_noi_dung’);
});
// Begin 12-12-2018 trungcq XLCYCMHENG_33549_xu_ly_scroll_to_top
videozplayer_089421.player.on(“playerMinimized”, function(name) {
// console.log(“Listener playerMinimized: “);
if ($(“#arrowPageUp”).length) {
$(“#arrowPageUp”).css(“bottom”,”157px”);
$(“#backpage”).css(“bottom”,”200px”);
}
});
videozplayer_089421.player.on(“playerUnMinimized”, function(name) {
// console.log(“Listener playerUnMinimized: “);
if ($(“#arrowPageUp”).length) {
$(“#arrowPageUp”).css(“bottom”,”20px”);
}
});
videozplayer_089421.player.on(“miniPlayerClosed”, function(name) {
// console.log(“Listener miniPlayerClosed: “);
if ($(“#arrowPageUp”).length) {
$(“#arrowPageUp”).css(“bottom”,”20px”);
}
});
var v_videoviewership_log_zplayer_089421 = document.getElementById(“zplayer_089421_ga_videoviewership”);
videozplayer_089421.player.on(“content_first_quarter”, function(){
// Gọi GA load video
if(v_videoviewership_log_zplayer_089421){
send_tracking_video(”, ”, 1696966, 46, ”, ‘pc’, ‘first_quartile’, ”, ”, 5);
}
});
videozplayer_089421.player.on(“content_second_quarter”, function(){
// Gọi GA load video
if(v_videoviewership_log_zplayer_089421){
// Tao thẻ div để chưa link GA
$(“
“).insertBefore(“#zplayer_089421_ga_videoviewership”);
if(document.getElementById(“link_ga_midpoint_zplayer_089421″)){
send_tracking_video(”, ”, 1696966, 46, ”, ‘pc’, ‘midpoint’, ”, ”, 5);
}
}
});
videozplayer_089421.player.on(“content_third_quarter”, function(){
// Gọi GA load video
if(v_videoviewership_log_zplayer_089421){
// Tao thẻ div để chưa link GA
$(“
“).insertBefore(“#zplayer_089421_ga_videoviewership”);
if(document.getElementById(“link_ga_third_zplayer_089421″)){
send_tracking_video(”, ”, 1696966, 46, ”, ‘pc’, ‘third_quarter’, ”, ”, 5);
}
}
});
videozplayer_089421.player.on(“content_complete”, function(){
// Gọi GA load video
if(v_videoviewership_log_zplayer_089421){
// Tao thẻ div để chưa link GA
$(“
“).insertBefore(“#zplayer_089421_ga_videoviewership”);
if(document.getElementById(“link_ga_complete_zplayer_089421″)){
send_tracking_video(”, ”, 1696966, 46, ”, ‘pc’, ‘complete’, ”, ”, 5);
}
}
});
videozplayer_089421.player.on(“miniPlayerClosed”, function(){
// Gọi GA load video
if(v_videoviewership_log_zplayer_089421){
// Tao thẻ div để chưa link GA
$(“
“).insertBefore(“#zplayer_089421_ga_videoviewership”);
if(document.getElementById(“link_ga_mini_close_zplayer_089421″)){
send_tracking_video(”, ”, 1696966, 46, ”, ‘pc’, ‘click_close’, ”, ”, 5);
}
}
});
// End 12-12-2018 trungcq XLCYCMHENG_33549_xu_ly_scroll_to_top
var v_event_tracking_impression_prerollzplayer_089421 = document.getElementById(“zplayer_089421_ga_preroll”);
// các trường hợp mã lỗi của trình duyệt trả về
videozplayer_089421.player.on(“AE_impression”, function(name) {
// Gọi GA load video
if(v_event_tracking_impression_prerollzplayer_089421){
// Tao thẻ div để chưa link GA
$(“
“).insertBefore(“#zplayer_089421_ga_preroll”);
if(document.getElementById(“link_ga_tracking_impression_preroll_zplayer_089421”)){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1696966, 46, ‘daily_news’, ‘pc’, ‘impression’, ‘no’, ‘no’, 2, ‘video_noi_dung’);});
}
}
});
var v_event_tracking_click_prerollzplayer_089421 = document.getElementById(“zplayer_089421_ga_preroll”);
// các trường hợp mã lỗi của trình duyệt trả về
videozplayer_089421.player.on(“AE_clicked”, function(name) {
// Gọi GA load video
if(v_event_tracking_click_prerollzplayer_089421){
// Tao thẻ div để chưa link GA
$(“
“).insertBefore(“#zplayer_089421_ga_preroll”);
if(document.getElementById(“link_ga_tracking_click_preroll_zplayer_089421”)){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1696966, 46, ‘daily_news’, ‘pc’, ‘ads_click’, ‘no’, ‘no’, 2, ‘video_noi_dung’);});
}
}
});
var v_err_log_1zplayer_089421 = document.getElementById(“zplayer_089421_ga_error1”);
// các trường hợp mã lỗi của trình duyệt trả về
videozplayer_089421.player.on(“MEDIA_ERROR_1″, function (name) {
// Gọi GA load video
if(v_err_log_1zplayer_089421){
send_tracking_video(”, ‘none’, 1696966, 0, ”, ‘pc’, ‘error_ERROR_1’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_2zplayer_089421 = document.getElementById(“zplayer_089421_ga_error2”);
videozplayer_089421.player.on(“MEDIA_ERROR_2″, function (name) {
// Gọi GA load video
if(v_err_log_2zplayer_089421){
send_tracking_video(”, ‘none’, 1696966, 0, ”, ‘pc’, ‘error_ERROR_2’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_3zplayer_089421 = document.getElementById(“zplayer_089421_ga_error3”);
videozplayer_089421.player.on(“MEDIA_ERROR_3″, function (name) {
// Gọi GA load video
if(v_err_log_3zplayer_089421){
send_tracking_video(”, ‘none’, 1696966, 0, ”, ‘pc’, ‘error_ERROR_3’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_4zplayer_089421 = document.getElementById(“zplayer_089421_ga_error4”);
videozplayer_089421.player.on(“MEDIA_ERROR_4″, function (name) {
// Gọi GA load video
if(v_err_log_4zplayer_089421){
send_tracking_video(”, ‘none’, 1696966, 0, ”, ‘pc’, ‘error_ERROR_4’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_5zplayer_089421 = document.getElementById(“zplayer_089421_ga_error5”);
videozplayer_089421.player.on(“MEDIA_ERROR_5″, function (name) {
// Gọi GA load video
if(v_err_log_5zplayer_089421){
send_tracking_video(”, ‘none’, 1696966, 0, ”, ‘pc’, ‘error_ERROR_5’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
videozplayer_089421.player.on(“track_slow_playlist_next_1”, function(){
console.log(“track_slow_playlist_next_1”);
$(“
“).insertBefore(“#zplayer_089421_ga_media_slow_waiting”);
var v_track_slow_playlist_zplayer_0894211 = document.getElementById(“link_slow_playlist_next_zplayer_0894211”);
if(v_track_slow_playlist_zplayer_0894211){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1696966, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});
videozplayer_089421.player.on(“track_slow_playlist_next_2”, function(){
console.log(“track_slow_playlist_next_2”);
$(“
“).insertBefore(“#zplayer_089421_ga_media_slow_waiting”);
var v_track_slow_playlist_zplayer_0894212 = document.getElementById(“link_slow_playlist_next_zplayer_0894212”);
if(v_track_slow_playlist_zplayer_0894212){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1696966, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});
videozplayer_089421.player.on(“track_slow_playlist_next_3”, function(){
console.log(“track_slow_playlist_next_3”);
$(“
“).insertBefore(“#zplayer_089421_ga_media_slow_waiting”);
var v_track_slow_playlist_zplayer_0894213 = document.getElementById(“link_slow_playlist_next_zplayer_0894213”);
if(v_track_slow_playlist_zplayer_0894213){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1696966, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});
videozplayer_089421.player.on(“track_slow_playlist_next_4”, function(){
console.log(“track_slow_playlist_next_4”);
$(“
“).insertBefore(“#zplayer_089421_ga_media_slow_waiting”);
var v_track_slow_playlist_zplayer_0894214 = document.getElementById(“link_slow_playlist_next_zplayer_0894214”);
if(v_track_slow_playlist_zplayer_0894214){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1696966, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});
videozplayer_089421.player.on(“track_slow_playlist_next_5”, function(){
console.log(“track_slow_playlist_next_5”);
$(“
“).insertBefore(“#zplayer_089421_ga_media_slow_waiting”);
var v_track_slow_playlist_zplayer_0894215 = document.getElementById(“link_slow_playlist_next_zplayer_0894215”);
if(v_track_slow_playlist_zplayer_0894215){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1696966, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});
videozplayer_089421.player.on(“track_slow_playlist_next_6”, function(){
console.log(“track_slow_playlist_next_6”);
$(“
“).insertBefore(“#zplayer_089421_ga_media_slow_waiting”);
var v_track_slow_playlist_zplayer_0894216 = document.getElementById(“link_slow_playlist_next_zplayer_0894216”);
if(v_track_slow_playlist_zplayer_0894216){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1696966, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});
videozplayer_089421.player.on(“track_slow_playlist_next_7”, function(){
console.log(“track_slow_playlist_next_7”);
$(“
“).insertBefore(“#zplayer_089421_ga_media_slow_waiting”);
var v_track_slow_playlist_zplayer_0894217 = document.getElementById(“link_slow_playlist_next_zplayer_0894217”);
if(v_track_slow_playlist_zplayer_0894217){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1696966, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});
videozplayer_089421.player.on(“track_slow_playlist_next_8”, function(){
console.log(“track_slow_playlist_next_8”);
$(“
“).insertBefore(“#zplayer_089421_ga_media_slow_waiting”);
var v_track_slow_playlist_zplayer_0894218 = document.getElementById(“link_slow_playlist_next_zplayer_0894218”);
if(v_track_slow_playlist_zplayer_0894218){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1696966, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});
videozplayer_089421.player.on(“track_slow_playlist_next_9”, function(){
console.log(“track_slow_playlist_next_9”);
$(“
“).insertBefore(“#zplayer_089421_ga_media_slow_waiting”);
var v_track_slow_playlist_zplayer_0894219 = document.getElementById(“link_slow_playlist_next_zplayer_0894219”);
if(v_track_slow_playlist_zplayer_0894219){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1696966, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});
videozplayer_089421.player.on(“track_slow_playlist_next_10”, function(){
console.log(“track_slow_playlist_next_10”);
$(“
“).insertBefore(“#zplayer_089421_ga_media_slow_waiting”);
var v_track_slow_playlist_zplayer_08942110 = document.getElementById(“link_slow_playlist_next_zplayer_08942110”);
if(v_track_slow_playlist_zplayer_08942110){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1696966, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});
videozplayer_089421.player.on(“timeupdated”, function () {
if (count_time_update_zplayer_089421 < 50) {
count_time_update_zplayer_089421++;
// console.log(“AE TIME UPDATE: “+count_time_update_zplayer_089421);
}
if(v_load_recommend_boxzplayer_089421 && typeof(v_thoi_luong_hien_thi) != “undefined” && v_thoi_luong_hien_thi != “”){
try{
var v_time_current = videozplayer_089421.player.currentTime();
if(v_time_current > 0){
if(v_time_current >= v_thoi_luong_hien_thi){
function getJsonRecomment(url,callback){
if(url == “”){
return “”;
}
dynamicIdLive = new Date().valueOf();
url = url+dynamicIdLive;
var xhr = new XMLHttpRequest();
// Get url
xhr.open(“GET”, url, true);
// Kiểu phản hồi
xhr.responseType = “json”;
xhr.timeout = 50000; // Set timeout to 2 seconds
xhr.ontimeout = function () {console.log(url+” – timeout”);}
// Load data
xhr.onload = function() {
var status = xhr.status;
if (status == 200) {
callback(xhr.response);
}else{
console.log(“B3: status != 200”);
}
};
xhr.send();
}
if(typeof v_url_json_data_recomment != “undefined”){
getJsonRecomment(v_url_json_data_recomment,function(v_object_recomend){
if(typeof v_object_recomend != “undefined” && parseInt(v_object_recomend.length) > 0){
var recomment_arr_video_ngay_hien_tai = _getStorageJson24h(“recomment_video_ngay_hien_tai_data_news_id”);
var recomment_video_ngay_hom_qua_data_news_id = _getStorageJson24h(“recomment_video_ngay_hom_qua_data_news_id”);
// Lặp để loại bỏ những bài đang xem
var arr_recomend_video = new Array();
var k=0;
var v_so_luong_tin_hien_thi = parseInt(v_object_recomend[0][“c_tong_so_luong_tin_hien_thi”]);
for(j=0;j 0){
if(v_recomment_news_id== parseInt(v_object_recomend[j][“c_new_id”])){
continue;
}
if(typeof(recomment_arr_video_ngay_hien_tai) != “undefined” && recomment_arr_video_ngay_hien_tai.indexOf(parseInt(v_object_recomend[j][“c_new_id”])) >= 0){
continue;
}
if(typeof(recomment_video_ngay_hom_qua_data_news_id) != “undefined” && recomment_video_ngay_hom_qua_data_news_id.indexOf(parseInt(v_object_recomend[j][“c_new_id”])) >= 0){
continue;
}
}
arr_recomend_video[k] = v_object_recomend[j];
k++;
if(k >= v_so_luong_tin_hien_thi){
break;
}
}
var v_total_page_recommend =0;
v_total_page_recommend = parseInt(Math.ceil(parseInt(arr_recomend_video.length)/parseInt(v_object_recomend[0][“c_number_items”])));
// Tao HTML video recommend
arr_recomend_video[0][“c_tracking_onclick”] = “”;
arr_recomend_video[0][“c_tracking_onload”] = “”;
arr_recomend_video[0][“c_tracking_onload_gatag”] = “”;
var v_html_recomend = tao_html_recommend_video_tu_object(arr_recomend_video,”zplayer_089421″);
// Gắn HTML vào chuỗi
if(v_html_recomend !=””){
// Nếu tồn tại video highlight
if ($(“#vjs-marker-tableinfo-zplayer_089421”).length) {
$(“#vjs-marker-tableinfo-zplayer_089421”).after(v_html_recomend);
} else {
if ($(“#zplayer_089421_ga_preroll”).length) {
$(“#zplayer_089421_ga_preroll”).before(v_html_recomend);
}
}
// Hiển thị dạng slide
if ($(“#box_recommend_zplayer_089421”).length) {
$(“#box_recommend_zplayer_089421”).show(1000);
setTimeout(function(){
create_slide_page_number_recommend_video_json(“swiper_recommend_v2018zplayer_089421”, “swpier_container_zplayer_089421″,”swiper_active_slide_zplayer_089421”, “pagination-zplayer_089421″,”wrapper_zplayer_089421”,v_total_page_recommend, “swiper-slide slide_zplayer_089421”, “prvVid_recommendzplayer_089421”, “nxtVid_recommendzplayer_089421”);
$(“#box_recommend_zplayer_089421”).css(“height”, “”);
}, 900);
}
}
}
});
}
v_load_recommend_boxzplayer_089421 = false;
}
}
}catch(e){
console.log([“Errors”, e]);
}
}
});
videozplayer_089421.player.on(“MEDIA_SLOW_WAITING”, function (evt, data) {
//console.log(data.waitTime);
var v_slow_waiting_zplayer_089421 = document.getElementById(“zplayer_089421_ga_media_slow_waiting”);
if(v_slow_waiting_zplayer_089421){
//đổi ms về s
v_so_giay_load = parseInt(data.waitTime/1000);
send_tracking_video(”, ”, 1696966, ”, ”, ”, ‘media_slow_waiting’, ”, ”, 6, v_so_giay_load);
}
//console.log(“listener MEDIA_SLOW_WAITING: “);
});
videozplayer_089421.player.on(“MEDIA_SLOW_METADATA”, function (evt, data) {
//console.log(data.waitTime);
var v_slow_metadata_zplayer_089421 = document.getElementById(“zplayer_089421_ga_media_slow_metadata”);
if(v_slow_metadata_zplayer_089421){
//đổi ms về s
v_so_giay_load_metadata = parseInt(data.waitTime/1000);
send_tracking_video(”, ”, 1696966, ”, ”, ”, ‘media_slow_metadata’, ”, ”, 6, v_so_giay_load_metadata);
}
//console.log(“listener MEDIA_SLOW_METADATA: “);
});
videozplayer_089421.player.on(‘onPrerollStart’, function(name){
//console.log(‘ON PREROLL START’);
/* begin 4/10/2017 TuyenNT xu_ly_gan_ga_video_theo_loai_giai_dau_frontend_pc */
send_tracking_video(‘none’, ‘Null’, 1696966, 46, ‘daily_news’, ‘pc’, ‘preroll_impression’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
/* end 4/10/2017 TuyenNT xu_ly_gan_ga_video_theo_loai_giai_dau_frontend_pc */
});videozplayer_089421.player.on(‘onOverlayStart’, function(name){
//console.log(‘ON OVERLAY START’);
/* begin 4/10/2017 TuyenNT xu_ly_gan_ga_video_theo_loai_giai_dau_frontend_pc */
send_tracking_video(‘none’, ‘Null’, 1696966, 46, ‘daily_news’, ‘pc’, ‘overlay_impression’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
/* end 4/10/2017 TuyenNT xu_ly_gan_ga_video_theo_loai_giai_dau_frontend_pc */
});videozplayer_089421.player.on(‘onPostRollStart’, function(name){
//console.log(‘ON POSTROLL START’);
/* begin 4/10/2017 TuyenNT xu_ly_gan_ga_video_theo_loai_giai_dau_frontend_pc */
send_tracking_video(‘none’, ‘Null’, 1696966, 46, ‘daily_news’, ‘pc’, ‘postroll_impression’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
/* end 4/10/2017 TuyenNT xu_ly_gan_ga_video_theo_loai_giai_dau_frontend_pc */
});
videozplayer_089421.player.on([
“play”,
“playing”,
“adstart”,
“adplaying”,
], function (evt, data) {
if (typeof stop_video_news_live == “function”){
stop_video_news_live(“___”);
}
});
videozplayer_089421.player.one([
“play”,
], function (e) {
let vastUri = this.vastUri;
let vastUriPost = this.vastUriPost;
let vastUriMid = this.vastUriMid;
// Neu co cau hinh autoplay nhung trình duyet k cho phep auto play thi gan tham so bang vpmute = 0
if(this.viewportAutoPlay == true && this.willAutoplay === false){
if(vastUri != “”){
this.vastUri = vastUri + “&vpmute=0”;
}
if(vastUriPost != “”){
this.vastUriPost = vastUriPost + “&vpmute=0”;
}
if(vastUriMid != “”){
this.vastUriMid = vastUriMid + “&vpmute=0”;
}
}
}.bind(videozplayer_089421));
videozplayer_089421.player.on([
“contentchanged”,
], function (e) {
this.player.one([
“playing”,
], function (e) {
var currentItem = this.isPlaylist ? this.player.playlist.currentItem() : 0;
// đợi player xử lý 1s mới bắt đầu check xem có chạy được không
setTimeout(function(){
// đã thay đổi item –> bỏ qua
var chk_currentItem = this.isPlaylist ? this.player.playlist.currentItem() : 0;
if (chk_currentItem != currentItem){
return;
}
var has_timeupdate = false;
this.player.one([
“timeupdate”,
], function (e) {
has_timeupdate = true;
});
setTimeout(function(){
if (has_timeupdate){
return;
}
if (this.player.paused()){
return;
}
this.dbglog(“timeupdate_missing –> try to restart”);
this.player.pause();
setTimeout(function(){
this.player.play();
}.bind(this), 100);
}.bind(this), 300);
}.bind(this), 1000);
}.bind(this));
}.bind(videozplayer_089421));
videozplayer_089421.player.on(“onStop”, function(name) {
//console.log(“listener onStop: “);
});
videozplayer_089421.player.on(“onFullscreen”, function(name) {
// 20250808 – XLCYCMHENG-44473 – xử lý bỏ neo khi mở chế độ fullscreen
// đang ở chế độ neo
if (this.hasClass(“mini-player”)){
this.removeClasses([“mini-player”, “pc-mini-player”]);
this.minPlayerHideCloseBtn();
this.unminimizeOnFullscreen = true;
}
}.bind(videozplayer_089421));
videozplayer_089421.player.on(“onFullscreenOff”, function(name) {
// 20250808 – XLCYCMHENG-44473 – xử lý neo lại khi thoát chế độ fullscreen
// từng bỏ neo khi mở chế độ fullscreen
if (typeof this.unminimizeOnFullscreen != “undefined” && this.unminimizeOnFullscreen){
this.addClasses([“mini-player”, “pc-mini-player”]);
this.minPlayerDisplayCloseBtn();
this.unminimizeOnFullscreen = false;
}
}.bind(videozplayer_089421));
}
videoAdsInitzplayer_089421 = true;
}
// Ga video load luôn được chạy
window.addEventListener(“load”, function(){});window.addEventListener(“load”, function(){send_tracking_video(‘none’, ‘Null’, 1696966, 46, ‘daily_news’, ‘pc’, ‘view’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
function inViewport( element ){
// Get the elements position relative to the viewport
var bb = element.getBoundingClientRect();
// Check if the element is outside the viewport
// Then invert the returned value because you want to know the opposite
return !(bb.top > innerHeight || bb.bottom < 0);
}
var zplayer_089421VpElm = document.getElementById( “zplayer_089421” );
var viszplayer_089421 = (function () {
var stateKey, eventKey, keys = {
hidden: “visibilitychange”,
webkitHidden: “webkitvisibilitychange”,
mozHidden: “mozvisibilitychange”,
msHidden: “msvisibilitychange”
};
for (stateKey in keys) {
if (stateKey in document) {
eventKey = keys[stateKey];
break;
}
}
return function (c) {
if (c) document.addEventListener(eventKey, c);
return !document[stateKey];
}
})();
var videoAds1Elmzplayer_089421 = document.getElementById(“v-24hContainer_zplayer_089421”);
document.addEventListener(“DOMContentLoaded”, function () {
if(videoAds1Elmzplayer_089421){
var videoAdsInitzplayer_089421 = false;
var checkTabActivezplayer_089421 = setInterval(function () {
if (inViewport(videoAds1Elmzplayer_089421) && viszplayer_089421() && !videoAdsInitzplayer_089421 && typeof(window.videojs) !== “undefined” && (typeof(google) !== “undefined” || adBlockCheckedStatus) && videoObj) {
initvideozplayer_089421();
clearInterval(checkTabActivezplayer_089421);
}
// 20230817 fix lỗi lần đầu vào đợi onload check chặn quảng cáo quá lâu
// XLCYCMHENG-42783 – async lib ima3 -> tăng thời gian chờ load ima3
else if (typeof videoObjRoot != “undefined” && videoObjRoot){
if (typeof videoAdsInitzplayer_089421_fix_AdBlockCheck == “undefined”){
setTimeout(function(){
if (typeof adBlockCheckedStatus != “undefined” && !adBlockCheckedStatus){
adBlockCheckedStatus = true;
adBlockEnabled = false;
}
}, 2000);
videoAdsInitzplayer_089421_fix_AdBlockCheck = true;
}
}
}, 100);
}
}, false);
//]]>
//


