SINCE 2023

VN99NEWS

VN99NEWS là website tổng hợp tin tức Việt Nam, cung cấp những thông tin tin tức mới nhất một cách nhanh chóng, tin cậy và đa dạng. Nó không chỉ tập trung vào các vấn đề trong nước ở Việt Nam mà còn cam kết đưa tiếng nói của Việt Nam ra trường quốc tế. Tên “VN99” “Trusted News from Vietnam in 99 Seconds”, nhấn mạnh cam kết của chúng tôi trong việc cung cấp tin tức đáng tin cậy trong một khoảng thời gian ngắn.

VN99NEWS

SINCE 2023

Người Hà Nội vượt đường ngập, tắc đi làm


Sáng 1/10, nhiều tuyến như Mai Dịch, Dương Đình Nghệ, Tôn Thất Thuyết, Lê Quang Đạo, Đại lộ Thăng Long… ùn ứ do ngập, người dân khó khăn vượt tắc đường để đi làm.

var v_image_player_us=’‘;var v_event_article=’8014′;var v_event_no_us=’2201′;var v_ma_ten_video_khong_hien_thi_us=’cd_nivea_fifa,cd_nivea_affcup,cp_special_worldcup,cp_special_nation_leagues,cp_special_asian_cup_ban_quyen,cd_special_u22_dna,cp_special_chung_ket_c1_19,cp_special_copa_america,cp_special_icc_cup,cp_special_tennis_no_us,cd_nivea_nha,cp_special_seagames_ban_quyen,cp_special_u23_chau_a_ban_quyen,cp_special_ligue1,cp_special_laliga,cp_special_euro_ban_quyen,cp_special_grand_slam,cp_special_atp_1000,cp_special_c1_ban_quyen,cp_special_aff_ban_quyen,cp_special_ttcn_test,cp_special_24h_worldcup,cp_special_nu_worldcup,cp_special_bundesliga,cp_special_fa_cup,cp_special_u23_dna_ban_quyen,cp_special_asiad_ban_quyen,cp_special_vongloai_worldcup,cp_special_u19,cp_special_olympic,cp_special_fifa_club,cp_special_fpt_fifa_club’;var v_autoplay_bai_tuong_thuat= true;var v_cdn_domain = ‘https://cdn.24h.com.vn/’; var url_data_json_lives = ‘https://cdn.24h.com.vn/upload/html-live/live-11474.json?time=’; var v_so_giay_load_data_json_tuong_thuat=10000; window.addEventListener(‘load’, function(){_realtime_tuong_thuat(11474);});.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}.liveCnt span[style^=”aspect-ratio”] {display: block;margin: 0 auto}

Người Hà Nội vượt đường ngập, tắc đi làm - 1

Diễn biến

Mới nhất
Cũ nhất

Diễn biến chính

ĐÓNG

Mới nhất
Cũ nhất


8h30

Phương tiện nối nhau trên đường Lương Thế Vinh

8h30, dòng xe máy vẫn nối đuôi nhau vượt qua đoạn ngập hơn 20 cm trên đường Lương Thế Vinh, Thanh Xuân. Ảnh: Hoàng Giang

8h30, dòng xe máy vẫn nối đuôi nhau vượt qua đoạn ngập hơn 20 cm trên đường Lương Thế Vinh, Thanh Xuân. Ảnh: Hoàng Giang

Người phụ nữ dắt xe qua đoạn ngập. Ảnh: Hoàng Giang

Người phụ nữ dắt xe qua đoạn ngập. Ảnh: Hoàng Giang


8h15

Xe nâng chở người và phương tiện qua đoạn ngập

//

//

// 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_af1141”,
videoElmStr = ‘

‘+
‘To view this video please enable JavaScript, and consider upgrading to a web browser that ‘+
supports HTML5 video ‘+
‘ ‘ +
”,
videozplayer_af1141,
videoAds1Conf = {
“poster”: “https://cdn.24h.com.vn/upload/4-2025/images/2025-10-01/1759282340-8h15_xenang.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_af1141”,
/*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”,

“fastSeek”: {step: 5},
“userAgent”: “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36”,
“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%252Fha-noi-nhieu-diem-van-ngap-quan-doi-dieu-xe-dua-don-dan-c46a1702259.html%26description_url%3Dhttps%253A%252F%252Fwww.24h.com.vn%252Ftin-tuc-trong-ngay%252Fha-noi-nhieu-diem-van-ngap-quan-doi-dieu-xe-dua-don-dan-c46a1702259.html%26correlator%3D1759294435%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%252Fha-noi-nhieu-diem-van-ngap-quan-doi-dieu-xe-dua-don-dan-c46a1702259.html%26description_url%3Dhttps%253A%252F%252Fwww.24h.com.vn%252Ftin-tuc-trong-ngay%252Fha-noi-nhieu-diem-van-ngap-quan-doi-dieu-xe-dua-don-dan-c46a1702259.html%26correlator%3D1759294435%26ambient%3D1%26plcmt%3D2″
,”vastUriMid” : “https%3A%2F%2Fvideo.24h.com.vn%2Fupload%2Fhtml%2Ftempvast.xml”
,”midTime”: 10
/*FALL_BACK*/
/*PLAYLIST_ITEM*/
/*DRM_VIDEO*/

//{set_highlight_zplayer_html5}
/*ID_BANNER_SPONSOR*/
}
if (volByCookie != null) {
if (volByCookie <= 0) {
// console.log("AE volByCookie VAR set MUTED : "+volByCookie);
videoAds1Conf.muted = 1;
}
}
if(document.getElementById(parentVid).innerHTML.trim() == ""){
loadVidzplayer_af1141();
vidLoaded = true;
}

var count_time_update_zplayer_af1141 = 0;

function loadVidzplayer_af1141(){
dynamicId = new Date().valueOf();
vidId = "my-video-multiple1_"+dynamicId;
videoAds1Conf.VIDEOID = vidId;
if(vidLoaded==true){
videoAds1Conf.viewportAutoPlay = false;
}

var newVideStr = videoElmStr.replace(/__VIDIDzplayer_af1141__/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_af1141 = 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_af1141.player.muted());
//console.log("AE THIS VOLUME LOAD PLAYER: "+videozplayer_af1141.player.volume());
//console.log("AE THIS VOLUME LOAD PLAYER CURRENT VOLUME : "+current_vol_zplayer_af1141);
if ((typeof(videoAds1Conf.muteByUser) != "undefined" && videoAds1Conf.muteByUser == 1) || (volByCookie != null && volByCookie 0) {
videoAds1Conf.vidVol = current_vol_zplayer_af1141;
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_af1141 = undefined;
videozplayer_af1141.player.dispose();
loadVidzplayer_af1141();
});

videozplayer_af1141.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_af1141));

videozplayer_af1141.player.on("volumechange", function(){
var new_vd_volume = videozplayer_af1141.player.volume();
// console.log("AE volume change");
// console.log("AE THIS VOLUME AFTER CHANGE: "+videozplayer_af1141.player.volume());
// console.log("AE volume change is mute : "+videozplayer_af1141.player.muted());
var is_vd_muted = videozplayer_af1141.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_af1141 > 0 && count_time_update_zplayer_af1141 > 10) {
check_set_cookie = true;
}
current_vol_zplayer_af1141 = 0;
videozplayer_af1141.player.muted(1);
setTimeout(function(){
videozplayer_af1141.player.muted(1);
},300);
} else {
// console.log(“AE is_vd_muted FALSE”);
if (volByCookie <= 0 && count_time_update_zplayer_af1141 < 5) {
check_set_cookie = false;
} else {
check_set_cookie = true;
}
current_vol_zplayer_af1141 = new_vd_volume;
}
// console.log("AE check_set_cookie: "+check_set_cookie);
if (check_set_cookie == true) {
setCookie("videoVolumeByUser", current_vol_zplayer_af1141, 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_af1141);
}.bind(videozplayer_af1141));

videozplayer_af1141.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_af1141.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_af1141));
videozplayer_af1141.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_af1141));
videozplayer_af1141.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_af1141));
videozplayer_af1141.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_af1141));
videozplayer_af1141.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_af1141.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_af1141.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_af1141));
/*RESUME_WATCHING_EVENTS-END*/

videozplayer_af1141.player.on(“onPrerollError”, function(name) {
var objVideos = videojs(vidId+”_html5_api”);
});
videozplayer_af1141.player.on(“AE_completed”, function(name) {
// console.log(“AE_completed AE_completed :”+current_vol_zplayer_af1141);
var is_vd_mute = videozplayer_af1141.player.muted();
if (is_vd_mute == true) {

//videozplayer_af1141.player.volume(0);

setTimeout(function(){
videozplayer_af1141.player.muted(1);
// console.log(“AE_completed AE_completed set MUTED”);
},400);

}
});
videozplayer_af1141.player.on(“onPlay”, function(name) {
// console.log(“onPlay AE_started AE_started :”+current_vol_zplayer_af1141);
var is_vd_mute = videozplayer_af1141.player.muted();
if (is_vd_mute == true) {
if (current_vol_zplayer_af1141 > 0) {
// console.log(“AE SET VOLUME 1111111”);
videozplayer_af1141.player.volume(current_vol_zplayer_af1141);
}
videozplayer_af1141.player.muted(1);
// console.log(“AE MUTE LOAD PLAYER ACTION SET MUTE 111111: “);
}
// console.log(“AE THIS VOLUME is muted :”+videozplayer_af1141.player.muted());
// console.log(“AE THIS VOLUME: “+videozplayer_af1141.player.volume());
// begin 5/10/2017 TuyenNT xu_ly_gan_ga_video_theo_loai_giai_dau_frontend_pc
send_tracking_video(‘none’, ‘Null’, 1702259, 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_af1141.player.on(“playerMinimized”, function(name) {
// console.log(“Listener playerMinimized: “);
if ($(“#arrowPageUp”).length) {
$(“#arrowPageUp”).css(“bottom”,”157px”);
$(“#backpage”).css(“bottom”,”200px”);
}
});
videozplayer_af1141.player.on(“playerUnMinimized”, function(name) {
// console.log(“Listener playerUnMinimized: “);
if ($(“#arrowPageUp”).length) {
$(“#arrowPageUp”).css(“bottom”,”20px”);
}
});
videozplayer_af1141.player.on(“miniPlayerClosed”, function(name) {
// console.log(“Listener miniPlayerClosed: “);
if ($(“#arrowPageUp”).length) {
$(“#arrowPageUp”).css(“bottom”,”20px”);
}
});

// End 12-12-2018 trungcq XLCYCMHENG_33549_xu_ly_scroll_to_top

var v_event_tracking_impression_prerollzplayer_af1141 = document.getElementById(“zplayer_af1141_ga_preroll”);
// các trường hợp mã lỗi của trình duyệt trả về
videozplayer_af1141.player.on(“AE_impression”, function(name) {
// Gọi GA load video
if(v_event_tracking_impression_prerollzplayer_af1141){
// Tao thẻ div để chưa link GA
$(“

“).insertBefore(“#zplayer_af1141_ga_preroll”);
if(document.getElementById(“link_ga_tracking_impression_preroll_zplayer_af1141”)){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 46, ‘daily_news’, ‘pc’, ‘impression’, ‘no’, ‘no’, 2, ‘video_noi_dung’);});
}
}
});

var v_event_tracking_click_prerollzplayer_af1141 = document.getElementById(“zplayer_af1141_ga_preroll”);
// các trường hợp mã lỗi của trình duyệt trả về
videozplayer_af1141.player.on(“AE_clicked”, function(name) {
// Gọi GA load video
if(v_event_tracking_click_prerollzplayer_af1141){
// Tao thẻ div để chưa link GA
$(“

“).insertBefore(“#zplayer_af1141_ga_preroll”);
if(document.getElementById(“link_ga_tracking_click_preroll_zplayer_af1141”)){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 46, ‘daily_news’, ‘pc’, ‘ads_click’, ‘no’, ‘no’, 2, ‘video_noi_dung’);});
}
}
});

var v_err_log_1zplayer_af1141 = document.getElementById(“zplayer_af1141_ga_error1”);
// các trường hợp mã lỗi của trình duyệt trả về
videozplayer_af1141.player.on(“MEDIA_ERROR_1″, function (name) {
// Gọi GA load video
if(v_err_log_1zplayer_af1141){
send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘error_ERROR_1’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_2zplayer_af1141 = document.getElementById(“zplayer_af1141_ga_error2”);
videozplayer_af1141.player.on(“MEDIA_ERROR_2″, function (name) {
// Gọi GA load video
if(v_err_log_2zplayer_af1141){
send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘error_ERROR_2’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_3zplayer_af1141 = document.getElementById(“zplayer_af1141_ga_error3”);
videozplayer_af1141.player.on(“MEDIA_ERROR_3″, function (name) {
// Gọi GA load video
if(v_err_log_3zplayer_af1141){
send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘error_ERROR_3’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_4zplayer_af1141 = document.getElementById(“zplayer_af1141_ga_error4”);
videozplayer_af1141.player.on(“MEDIA_ERROR_4″, function (name) {
// Gọi GA load video
if(v_err_log_4zplayer_af1141){
send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘error_ERROR_4’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_5zplayer_af1141 = document.getElementById(“zplayer_af1141_ga_error5”);
videozplayer_af1141.player.on(“MEDIA_ERROR_5″, function (name) {
// Gọi GA load video
if(v_err_log_5zplayer_af1141){
send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘error_ERROR_5’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});

videozplayer_af1141.player.on(“track_slow_playlist_next_1”, function(){
console.log(“track_slow_playlist_next_1”);
$(“

“).insertBefore(“#zplayer_af1141_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_af11411 = document.getElementById(“link_slow_playlist_next_zplayer_af11411”);
if(v_track_slow_playlist_zplayer_af11411){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_af1141.player.on(“track_slow_playlist_next_2”, function(){
console.log(“track_slow_playlist_next_2”);
$(“

“).insertBefore(“#zplayer_af1141_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_af11412 = document.getElementById(“link_slow_playlist_next_zplayer_af11412”);
if(v_track_slow_playlist_zplayer_af11412){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_af1141.player.on(“track_slow_playlist_next_3”, function(){
console.log(“track_slow_playlist_next_3”);
$(“

“).insertBefore(“#zplayer_af1141_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_af11413 = document.getElementById(“link_slow_playlist_next_zplayer_af11413”);
if(v_track_slow_playlist_zplayer_af11413){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_af1141.player.on(“track_slow_playlist_next_4”, function(){
console.log(“track_slow_playlist_next_4”);
$(“

“).insertBefore(“#zplayer_af1141_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_af11414 = document.getElementById(“link_slow_playlist_next_zplayer_af11414”);
if(v_track_slow_playlist_zplayer_af11414){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_af1141.player.on(“track_slow_playlist_next_5”, function(){
console.log(“track_slow_playlist_next_5”);
$(“

“).insertBefore(“#zplayer_af1141_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_af11415 = document.getElementById(“link_slow_playlist_next_zplayer_af11415”);
if(v_track_slow_playlist_zplayer_af11415){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_af1141.player.on(“track_slow_playlist_next_6”, function(){
console.log(“track_slow_playlist_next_6”);
$(“

“).insertBefore(“#zplayer_af1141_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_af11416 = document.getElementById(“link_slow_playlist_next_zplayer_af11416”);
if(v_track_slow_playlist_zplayer_af11416){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_af1141.player.on(“track_slow_playlist_next_7”, function(){
console.log(“track_slow_playlist_next_7”);
$(“

“).insertBefore(“#zplayer_af1141_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_af11417 = document.getElementById(“link_slow_playlist_next_zplayer_af11417”);
if(v_track_slow_playlist_zplayer_af11417){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_af1141.player.on(“track_slow_playlist_next_8”, function(){
console.log(“track_slow_playlist_next_8”);
$(“

“).insertBefore(“#zplayer_af1141_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_af11418 = document.getElementById(“link_slow_playlist_next_zplayer_af11418”);
if(v_track_slow_playlist_zplayer_af11418){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_af1141.player.on(“track_slow_playlist_next_9”, function(){
console.log(“track_slow_playlist_next_9”);
$(“

“).insertBefore(“#zplayer_af1141_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_af11419 = document.getElementById(“link_slow_playlist_next_zplayer_af11419”);
if(v_track_slow_playlist_zplayer_af11419){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_af1141.player.on(“track_slow_playlist_next_10”, function(){
console.log(“track_slow_playlist_next_10”);
$(“

“).insertBefore(“#zplayer_af1141_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_af114110 = document.getElementById(“link_slow_playlist_next_zplayer_af114110”);
if(v_track_slow_playlist_zplayer_af114110){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_af1141.player.on(“timeupdated”, function () {
if (count_time_update_zplayer_af1141 < 50) {
count_time_update_zplayer_af1141++;
// console.log(“AE TIME UPDATE: “+count_time_update_zplayer_af1141);
}
if(v_load_recommend_boxzplayer_af1141 && typeof(v_thoi_luong_hien_thi) != “undefined” && v_thoi_luong_hien_thi != “”){
try{
var v_time_current = videozplayer_af1141.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_af1141″);
// Gắn HTML vào chuỗi
if(v_html_recomend !=””){
// Nếu tồn tại video highlight
if ($(“#vjs-marker-tableinfo-zplayer_af1141”).length) {
$(“#vjs-marker-tableinfo-zplayer_af1141”).after(v_html_recomend);
} else {
if ($(“#zplayer_af1141_ga_preroll”).length) {
$(“#zplayer_af1141_ga_preroll”).before(v_html_recomend);
}
}
// Hiển thị dạng slide
if ($(“#box_recommend_zplayer_af1141”).length) {
$(“#box_recommend_zplayer_af1141”).show(1000);
setTimeout(function(){
create_slide_page_number_recommend_video_json(“swiper_recommend_v2018zplayer_af1141”, “swpier_container_zplayer_af1141″,”swiper_active_slide_zplayer_af1141”, “pagination-zplayer_af1141″,”wrapper_zplayer_af1141”,v_total_page_recommend, “swiper-slide slide_zplayer_af1141”, “prvVid_recommendzplayer_af1141”, “nxtVid_recommendzplayer_af1141”);
$(“#box_recommend_zplayer_af1141”).css(“height”, “”);
}, 900);
}
}
}
});
}
v_load_recommend_boxzplayer_af1141 = false;
}
}
}catch(e){
console.log([“Errors”, e]);
}
}
});

videozplayer_af1141.player.on(“MEDIA_SLOW_WAITING”, function (evt, data) {
//console.log(data.waitTime);
var v_slow_waiting_zplayer_af1141 = document.getElementById(“zplayer_af1141_ga_media_slow_waiting”);
if(v_slow_waiting_zplayer_af1141){
//đổi ms về s
v_so_giay_load = parseInt(data.waitTime/1000);
send_tracking_video(”, ”, 1702259, ”, ”, ”, ‘media_slow_waiting’, ”, ”, 6, v_so_giay_load);
}
//console.log(“listener MEDIA_SLOW_WAITING: “);
});
videozplayer_af1141.player.on(“MEDIA_SLOW_METADATA”, function (evt, data) {
//console.log(data.waitTime);
var v_slow_metadata_zplayer_af1141 = document.getElementById(“zplayer_af1141_ga_media_slow_metadata”);
if(v_slow_metadata_zplayer_af1141){
//đổi ms về s
v_so_giay_load_metadata = parseInt(data.waitTime/1000);
send_tracking_video(”, ”, 1702259, ”, ”, ”, ‘media_slow_metadata’, ”, ”, 6, v_so_giay_load_metadata);
}
//console.log(“listener MEDIA_SLOW_METADATA: “);
});
videozplayer_af1141.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’, 1702259, 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_af1141.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’, 1702259, 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_af1141.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’, 1702259, 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_af1141.player.on([
“play”,
“playing”,
“adstart”,
“adplaying”,
], function (evt, data) {

if (typeof stop_video_news_live == “function”){
stop_video_news_live(“___”);
}

});

videozplayer_af1141.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_af1141));

videozplayer_af1141.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_af1141));

videozplayer_af1141.player.on(“onStop”, function(name) {
//console.log(“listener onStop: “);

});

videozplayer_af1141.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_af1141));
videozplayer_af1141.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_af1141));
}
videoAdsInitzplayer_af1141 = true;
}
// Ga video load luôn được chạy
window.addEventListener(“load”, function(){});window.addEventListener(“load”, function(){send_tracking_video(‘none’, ‘Null’, 1702259, 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_af1141VpElm = document.getElementById( “zplayer_af1141” );

var viszplayer_af1141 = (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_af1141 = document.getElementById(“v-24hContainer_zplayer_af1141”);
document.addEventListener(“DOMContentLoaded”, function () {
if(videoAds1Elmzplayer_af1141){
var videoAdsInitzplayer_af1141 = false;
var checkTabActivezplayer_af1141 = setInterval(function () {
if (inViewport(videoAds1Elmzplayer_af1141) && viszplayer_af1141() && !videoAdsInitzplayer_af1141 && typeof(window.videojs) !== “undefined” && (typeof(google) !== “undefined” || adBlockCheckedStatus) && videoObj) {
initvideozplayer_af1141();
clearInterval(checkTabActivezplayer_af1141);
}
// 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_af1141_fix_AdBlockCheck == “undefined”){
setTimeout(function(){
if (typeof adBlockCheckedStatus != “undefined” && !adBlockCheckedStatus){
adBlockCheckedStatus = true;
adBlockEnabled = false;
}
}, 2000);

videoAdsInitzplayer_af1141_fix_AdBlockCheck = true;
}
}
}, 100);
}
}, false);

//]]>

//

Xe nâng đưa người và phương tiện qua đoạn ngập sâu 40 cm trên đường Phạm Tu. Video: Huy Mạnh

Đường Phạm Tu nối Nguyễn Xiển đến Xa La ngập gần nửa mét kéo dài 1 km ở cả hai chiều. Ảnh: Huy Mạnh

Đường Phạm Tu nối Nguyễn Xiển đến Xa La ngập gần nửa mét kéo dài 1 km ở cả hai chiều. Ảnh: Huy Mạnh

Xe máy "rẽ sóng", người co chân tránh nước ngập. Ảnh: Huy Mạnh

Xe máy “rẽ sóng”, người co chân tránh nước ngập. Ảnh: Huy Mạnh


8h10

Đường Dương Đình Nghệ còn điểm ngập

Ảnh: Lộc Chung

Ảnh: Lộc Chung


8h10

Trước sân vận động Mỹ Đình còn 2 điểm ngập sâu

Người Hà Nội vượt đường ngập, tắc đi làm - 7 Người Hà Nội vượt đường ngập, tắc đi làm - 8

Người Hà Nội vượt đường ngập, tắc đi làm - 7

Đoạn qua sân vận động Mỹ Đình vẫn ngập nửa mét kéo dài 200 m. Người dân di chuyển qua đây khó khăn hoặc phải quay đầu tìm hướng khác. Ảnh: Thanh Hải

Đoạn qua sân vận động Mỹ Đình vẫn ngập nửa mét kéo dài 200 m. Người dân di chuyển qua đây khó khăn hoặc phải quay đầu tìm hướng khác. Ảnh: Thanh Hải

//

// 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_dc70e2”,
videoElmStr = ‘

‘+
‘To view this video please enable JavaScript, and consider upgrading to a web browser that ‘+
supports HTML5 video ‘+
‘ ‘ +
”,
videozplayer_dc70e2,
videoAds1Conf = {
“poster”: “https://cdn.24h.com.vn/upload/4-2025/images/2025-10-01/1759282105-8h10_mydinh.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_dc70e2”,
/*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”,

“fastSeek”: {step: 5},
“userAgent”: “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36”,
“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%252Fha-noi-nhieu-diem-van-ngap-quan-doi-dieu-xe-dua-don-dan-c46a1702259.html%26description_url%3Dhttps%253A%252F%252Fwww.24h.com.vn%252Ftin-tuc-trong-ngay%252Fha-noi-nhieu-diem-van-ngap-quan-doi-dieu-xe-dua-don-dan-c46a1702259.html%26correlator%3D1759294435%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%252Fha-noi-nhieu-diem-van-ngap-quan-doi-dieu-xe-dua-don-dan-c46a1702259.html%26description_url%3Dhttps%253A%252F%252Fwww.24h.com.vn%252Ftin-tuc-trong-ngay%252Fha-noi-nhieu-diem-van-ngap-quan-doi-dieu-xe-dua-don-dan-c46a1702259.html%26correlator%3D1759294435%26ambient%3D1%26plcmt%3D2″
,”vastUriMid” : “https%3A%2F%2Fvideo.24h.com.vn%2Fupload%2Fhtml%2Ftempvast.xml”
,”midTime”: 10
/*FALL_BACK*/
/*PLAYLIST_ITEM*/
/*DRM_VIDEO*/

//{set_highlight_zplayer_html5}
/*ID_BANNER_SPONSOR*/
}
if (volByCookie != null) {
if (volByCookie <= 0) {
// console.log("AE volByCookie VAR set MUTED : "+volByCookie);
videoAds1Conf.muted = 1;
}
}
if(document.getElementById(parentVid).innerHTML.trim() == ""){
loadVidzplayer_dc70e2();
vidLoaded = true;
}

var count_time_update_zplayer_dc70e2 = 0;

function loadVidzplayer_dc70e2(){
dynamicId = new Date().valueOf();
vidId = "my-video-multiple1_"+dynamicId;
videoAds1Conf.VIDEOID = vidId;
if(vidLoaded==true){
videoAds1Conf.viewportAutoPlay = false;
}

var newVideStr = videoElmStr.replace(/__VIDIDzplayer_dc70e2__/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_dc70e2 = 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_dc70e2.player.muted());
//console.log("AE THIS VOLUME LOAD PLAYER: "+videozplayer_dc70e2.player.volume());
//console.log("AE THIS VOLUME LOAD PLAYER CURRENT VOLUME : "+current_vol_zplayer_dc70e2);
if ((typeof(videoAds1Conf.muteByUser) != "undefined" && videoAds1Conf.muteByUser == 1) || (volByCookie != null && volByCookie 0) {
videoAds1Conf.vidVol = current_vol_zplayer_dc70e2;
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_dc70e2 = undefined;
videozplayer_dc70e2.player.dispose();
loadVidzplayer_dc70e2();
});

videozplayer_dc70e2.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_dc70e2));

videozplayer_dc70e2.player.on("volumechange", function(){
var new_vd_volume = videozplayer_dc70e2.player.volume();
// console.log("AE volume change");
// console.log("AE THIS VOLUME AFTER CHANGE: "+videozplayer_dc70e2.player.volume());
// console.log("AE volume change is mute : "+videozplayer_dc70e2.player.muted());
var is_vd_muted = videozplayer_dc70e2.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_dc70e2 > 0 && count_time_update_zplayer_dc70e2 > 10) {
check_set_cookie = true;
}
current_vol_zplayer_dc70e2 = 0;
videozplayer_dc70e2.player.muted(1);
setTimeout(function(){
videozplayer_dc70e2.player.muted(1);
},300);
} else {
// console.log(“AE is_vd_muted FALSE”);
if (volByCookie <= 0 && count_time_update_zplayer_dc70e2 < 5) {
check_set_cookie = false;
} else {
check_set_cookie = true;
}
current_vol_zplayer_dc70e2 = new_vd_volume;
}
// console.log("AE check_set_cookie: "+check_set_cookie);
if (check_set_cookie == true) {
setCookie("videoVolumeByUser", current_vol_zplayer_dc70e2, 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_dc70e2);
}.bind(videozplayer_dc70e2));

videozplayer_dc70e2.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_dc70e2.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_dc70e2));
videozplayer_dc70e2.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_dc70e2));
videozplayer_dc70e2.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_dc70e2));
videozplayer_dc70e2.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_dc70e2));
videozplayer_dc70e2.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_dc70e2.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_dc70e2.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_dc70e2));
/*RESUME_WATCHING_EVENTS-END*/

videozplayer_dc70e2.player.on(“onPrerollError”, function(name) {
var objVideos = videojs(vidId+”_html5_api”);
});
videozplayer_dc70e2.player.on(“AE_completed”, function(name) {
// console.log(“AE_completed AE_completed :”+current_vol_zplayer_dc70e2);
var is_vd_mute = videozplayer_dc70e2.player.muted();
if (is_vd_mute == true) {

//videozplayer_dc70e2.player.volume(0);

setTimeout(function(){
videozplayer_dc70e2.player.muted(1);
// console.log(“AE_completed AE_completed set MUTED”);
},400);

}
});
videozplayer_dc70e2.player.on(“onPlay”, function(name) {
// console.log(“onPlay AE_started AE_started :”+current_vol_zplayer_dc70e2);
var is_vd_mute = videozplayer_dc70e2.player.muted();
if (is_vd_mute == true) {
if (current_vol_zplayer_dc70e2 > 0) {
// console.log(“AE SET VOLUME 1111111”);
videozplayer_dc70e2.player.volume(current_vol_zplayer_dc70e2);
}
videozplayer_dc70e2.player.muted(1);
// console.log(“AE MUTE LOAD PLAYER ACTION SET MUTE 111111: “);
}
// console.log(“AE THIS VOLUME is muted :”+videozplayer_dc70e2.player.muted());
// console.log(“AE THIS VOLUME: “+videozplayer_dc70e2.player.volume());
// begin 5/10/2017 TuyenNT xu_ly_gan_ga_video_theo_loai_giai_dau_frontend_pc
send_tracking_video(‘none’, ‘Null’, 1702259, 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_dc70e2.player.on(“playerMinimized”, function(name) {
// console.log(“Listener playerMinimized: “);
if ($(“#arrowPageUp”).length) {
$(“#arrowPageUp”).css(“bottom”,”157px”);
$(“#backpage”).css(“bottom”,”200px”);
}
});
videozplayer_dc70e2.player.on(“playerUnMinimized”, function(name) {
// console.log(“Listener playerUnMinimized: “);
if ($(“#arrowPageUp”).length) {
$(“#arrowPageUp”).css(“bottom”,”20px”);
}
});
videozplayer_dc70e2.player.on(“miniPlayerClosed”, function(name) {
// console.log(“Listener miniPlayerClosed: “);
if ($(“#arrowPageUp”).length) {
$(“#arrowPageUp”).css(“bottom”,”20px”);
}
});

// End 12-12-2018 trungcq XLCYCMHENG_33549_xu_ly_scroll_to_top

var v_event_tracking_impression_prerollzplayer_dc70e2 = document.getElementById(“zplayer_dc70e2_ga_preroll”);
// các trường hợp mã lỗi của trình duyệt trả về
videozplayer_dc70e2.player.on(“AE_impression”, function(name) {
// Gọi GA load video
if(v_event_tracking_impression_prerollzplayer_dc70e2){
// Tao thẻ div để chưa link GA
$(“

“).insertBefore(“#zplayer_dc70e2_ga_preroll”);
if(document.getElementById(“link_ga_tracking_impression_preroll_zplayer_dc70e2”)){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 46, ‘daily_news’, ‘pc’, ‘impression’, ‘no’, ‘no’, 2, ‘video_noi_dung’);});
}
}
});

var v_event_tracking_click_prerollzplayer_dc70e2 = document.getElementById(“zplayer_dc70e2_ga_preroll”);
// các trường hợp mã lỗi của trình duyệt trả về
videozplayer_dc70e2.player.on(“AE_clicked”, function(name) {
// Gọi GA load video
if(v_event_tracking_click_prerollzplayer_dc70e2){
// Tao thẻ div để chưa link GA
$(“

“).insertBefore(“#zplayer_dc70e2_ga_preroll”);
if(document.getElementById(“link_ga_tracking_click_preroll_zplayer_dc70e2”)){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 46, ‘daily_news’, ‘pc’, ‘ads_click’, ‘no’, ‘no’, 2, ‘video_noi_dung’);});
}
}
});

var v_err_log_1zplayer_dc70e2 = document.getElementById(“zplayer_dc70e2_ga_error1”);
// các trường hợp mã lỗi của trình duyệt trả về
videozplayer_dc70e2.player.on(“MEDIA_ERROR_1″, function (name) {
// Gọi GA load video
if(v_err_log_1zplayer_dc70e2){
send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘error_ERROR_1’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_2zplayer_dc70e2 = document.getElementById(“zplayer_dc70e2_ga_error2”);
videozplayer_dc70e2.player.on(“MEDIA_ERROR_2″, function (name) {
// Gọi GA load video
if(v_err_log_2zplayer_dc70e2){
send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘error_ERROR_2’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_3zplayer_dc70e2 = document.getElementById(“zplayer_dc70e2_ga_error3”);
videozplayer_dc70e2.player.on(“MEDIA_ERROR_3″, function (name) {
// Gọi GA load video
if(v_err_log_3zplayer_dc70e2){
send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘error_ERROR_3’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_4zplayer_dc70e2 = document.getElementById(“zplayer_dc70e2_ga_error4”);
videozplayer_dc70e2.player.on(“MEDIA_ERROR_4″, function (name) {
// Gọi GA load video
if(v_err_log_4zplayer_dc70e2){
send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘error_ERROR_4’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_5zplayer_dc70e2 = document.getElementById(“zplayer_dc70e2_ga_error5”);
videozplayer_dc70e2.player.on(“MEDIA_ERROR_5″, function (name) {
// Gọi GA load video
if(v_err_log_5zplayer_dc70e2){
send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘error_ERROR_5’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});

videozplayer_dc70e2.player.on(“track_slow_playlist_next_1”, function(){
console.log(“track_slow_playlist_next_1”);
$(“

“).insertBefore(“#zplayer_dc70e2_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_dc70e21 = document.getElementById(“link_slow_playlist_next_zplayer_dc70e21”);
if(v_track_slow_playlist_zplayer_dc70e21){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_dc70e2.player.on(“track_slow_playlist_next_2”, function(){
console.log(“track_slow_playlist_next_2”);
$(“

“).insertBefore(“#zplayer_dc70e2_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_dc70e22 = document.getElementById(“link_slow_playlist_next_zplayer_dc70e22”);
if(v_track_slow_playlist_zplayer_dc70e22){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_dc70e2.player.on(“track_slow_playlist_next_3”, function(){
console.log(“track_slow_playlist_next_3”);
$(“

“).insertBefore(“#zplayer_dc70e2_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_dc70e23 = document.getElementById(“link_slow_playlist_next_zplayer_dc70e23”);
if(v_track_slow_playlist_zplayer_dc70e23){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_dc70e2.player.on(“track_slow_playlist_next_4”, function(){
console.log(“track_slow_playlist_next_4”);
$(“

“).insertBefore(“#zplayer_dc70e2_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_dc70e24 = document.getElementById(“link_slow_playlist_next_zplayer_dc70e24”);
if(v_track_slow_playlist_zplayer_dc70e24){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_dc70e2.player.on(“track_slow_playlist_next_5”, function(){
console.log(“track_slow_playlist_next_5”);
$(“

“).insertBefore(“#zplayer_dc70e2_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_dc70e25 = document.getElementById(“link_slow_playlist_next_zplayer_dc70e25”);
if(v_track_slow_playlist_zplayer_dc70e25){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_dc70e2.player.on(“track_slow_playlist_next_6”, function(){
console.log(“track_slow_playlist_next_6”);
$(“

“).insertBefore(“#zplayer_dc70e2_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_dc70e26 = document.getElementById(“link_slow_playlist_next_zplayer_dc70e26”);
if(v_track_slow_playlist_zplayer_dc70e26){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_dc70e2.player.on(“track_slow_playlist_next_7”, function(){
console.log(“track_slow_playlist_next_7”);
$(“

“).insertBefore(“#zplayer_dc70e2_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_dc70e27 = document.getElementById(“link_slow_playlist_next_zplayer_dc70e27”);
if(v_track_slow_playlist_zplayer_dc70e27){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_dc70e2.player.on(“track_slow_playlist_next_8”, function(){
console.log(“track_slow_playlist_next_8”);
$(“

“).insertBefore(“#zplayer_dc70e2_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_dc70e28 = document.getElementById(“link_slow_playlist_next_zplayer_dc70e28”);
if(v_track_slow_playlist_zplayer_dc70e28){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_dc70e2.player.on(“track_slow_playlist_next_9”, function(){
console.log(“track_slow_playlist_next_9”);
$(“

“).insertBefore(“#zplayer_dc70e2_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_dc70e29 = document.getElementById(“link_slow_playlist_next_zplayer_dc70e29”);
if(v_track_slow_playlist_zplayer_dc70e29){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_dc70e2.player.on(“track_slow_playlist_next_10”, function(){
console.log(“track_slow_playlist_next_10”);
$(“

“).insertBefore(“#zplayer_dc70e2_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_dc70e210 = document.getElementById(“link_slow_playlist_next_zplayer_dc70e210”);
if(v_track_slow_playlist_zplayer_dc70e210){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_dc70e2.player.on(“timeupdated”, function () {
if (count_time_update_zplayer_dc70e2 < 50) {
count_time_update_zplayer_dc70e2++;
// console.log(“AE TIME UPDATE: “+count_time_update_zplayer_dc70e2);
}
if(v_load_recommend_boxzplayer_dc70e2 && typeof(v_thoi_luong_hien_thi) != “undefined” && v_thoi_luong_hien_thi != “”){
try{
var v_time_current = videozplayer_dc70e2.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_dc70e2″);
// Gắn HTML vào chuỗi
if(v_html_recomend !=””){
// Nếu tồn tại video highlight
if ($(“#vjs-marker-tableinfo-zplayer_dc70e2”).length) {
$(“#vjs-marker-tableinfo-zplayer_dc70e2”).after(v_html_recomend);
} else {
if ($(“#zplayer_dc70e2_ga_preroll”).length) {
$(“#zplayer_dc70e2_ga_preroll”).before(v_html_recomend);
}
}
// Hiển thị dạng slide
if ($(“#box_recommend_zplayer_dc70e2”).length) {
$(“#box_recommend_zplayer_dc70e2”).show(1000);
setTimeout(function(){
create_slide_page_number_recommend_video_json(“swiper_recommend_v2018zplayer_dc70e2”, “swpier_container_zplayer_dc70e2″,”swiper_active_slide_zplayer_dc70e2”, “pagination-zplayer_dc70e2″,”wrapper_zplayer_dc70e2”,v_total_page_recommend, “swiper-slide slide_zplayer_dc70e2”, “prvVid_recommendzplayer_dc70e2”, “nxtVid_recommendzplayer_dc70e2”);
$(“#box_recommend_zplayer_dc70e2”).css(“height”, “”);
}, 900);
}
}
}
});
}
v_load_recommend_boxzplayer_dc70e2 = false;
}
}
}catch(e){
console.log([“Errors”, e]);
}
}
});

videozplayer_dc70e2.player.on(“MEDIA_SLOW_WAITING”, function (evt, data) {
//console.log(data.waitTime);
var v_slow_waiting_zplayer_dc70e2 = document.getElementById(“zplayer_dc70e2_ga_media_slow_waiting”);
if(v_slow_waiting_zplayer_dc70e2){
//đổi ms về s
v_so_giay_load = parseInt(data.waitTime/1000);
send_tracking_video(”, ”, 1702259, ”, ”, ”, ‘media_slow_waiting’, ”, ”, 6, v_so_giay_load);
}
//console.log(“listener MEDIA_SLOW_WAITING: “);
});
videozplayer_dc70e2.player.on(“MEDIA_SLOW_METADATA”, function (evt, data) {
//console.log(data.waitTime);
var v_slow_metadata_zplayer_dc70e2 = document.getElementById(“zplayer_dc70e2_ga_media_slow_metadata”);
if(v_slow_metadata_zplayer_dc70e2){
//đổi ms về s
v_so_giay_load_metadata = parseInt(data.waitTime/1000);
send_tracking_video(”, ”, 1702259, ”, ”, ”, ‘media_slow_metadata’, ”, ”, 6, v_so_giay_load_metadata);
}
//console.log(“listener MEDIA_SLOW_METADATA: “);
});
videozplayer_dc70e2.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’, 1702259, 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_dc70e2.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’, 1702259, 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_dc70e2.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’, 1702259, 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_dc70e2.player.on([
“play”,
“playing”,
“adstart”,
“adplaying”,
], function (evt, data) {

if (typeof stop_video_news_live == “function”){
stop_video_news_live(“___”);
}

});

videozplayer_dc70e2.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_dc70e2));

videozplayer_dc70e2.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_dc70e2));

videozplayer_dc70e2.player.on(“onStop”, function(name) {
//console.log(“listener onStop: “);

});

videozplayer_dc70e2.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_dc70e2));
videozplayer_dc70e2.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_dc70e2));
}
videoAdsInitzplayer_dc70e2 = true;
}
// Ga video load luôn được chạy
window.addEventListener(“load”, function(){});window.addEventListener(“load”, function(){});
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_dc70e2VpElm = document.getElementById( “zplayer_dc70e2” );

var viszplayer_dc70e2 = (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_dc70e2 = document.getElementById(“v-24hContainer_zplayer_dc70e2”);
document.addEventListener(“DOMContentLoaded”, function () {
if(videoAds1Elmzplayer_dc70e2){
var videoAdsInitzplayer_dc70e2 = false;
var checkTabActivezplayer_dc70e2 = setInterval(function () {
if (inViewport(videoAds1Elmzplayer_dc70e2) && viszplayer_dc70e2() && !videoAdsInitzplayer_dc70e2 && typeof(window.videojs) !== “undefined” && (typeof(google) !== “undefined” || adBlockCheckedStatus) && videoObj) {
initvideozplayer_dc70e2();
clearInterval(checkTabActivezplayer_dc70e2);
}
// 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_dc70e2_fix_AdBlockCheck == “undefined”){
setTimeout(function(){
if (typeof adBlockCheckedStatus != “undefined” && !adBlockCheckedStatus){
adBlockCheckedStatus = true;
adBlockEnabled = false;
}
}, 2000);

videoAdsInitzplayer_dc70e2_fix_AdBlockCheck = true;
}
}
}, 100);
}
}, false);

//]]>

//

Video: Thanh Hải


8h05

Chân cầu vượt Nguyễn Chí Thanh – Liễu Giai ngập 40 cm

Đoạn trước Đài truyền hình Việt Nam nước vẫn ngập 40 cm. Lực lượng chức năng hạn chế phương tiện lưu thông qua cầu hướng Liễu Giai – Nguyễn Chí Thanh. Một số phương tiện di chuyển phía dưới khi gặp đoạn ngập cho xe quay đầu lên cầu đi về phía Liễu Giai.

Cầu vượt Nguyễn Chí Thanh - Liễu Giai ngập khoảng 40 cm đoạn lên cầu. Ảnh: Hoàng Giang

Cầu vượt Nguyễn Chí Thanh – Liễu Giai ngập khoảng 40 cm đoạn lên cầu. Ảnh: Hoàng Giang

Nước ngập nửa bánh xe ôtô. Ảnh: Hoàng Giang

Nước ngập nửa bánh xe ôtô. Ảnh: Hoàng Giang

Một số phương tiện quay đầu tránh đoạn ngập. Ảnh: Hoàng Giang

Một số phương tiện quay đầu tránh đoạn ngập. Ảnh: Hoàng Giang

Người đi xe máy nép sát lề đường. Ảnh: Hoàng Giang

Người đi xe máy nép sát lề đường. Ảnh: Hoàng Giang


7h50

Mễ Trì – Lê Quang Đạo ngập, ùn ứ

Khu vực Mễ Trì - Lê Quang Đạo ùn trên cao, tắc ngập phía dưới. Ảnh: Ngọc Thành

Khu vực Mễ Trì – Lê Quang Đạo ùn trên cao, tắc ngập phía dưới. Ảnh: Ngọc Thành

Dòng xe lội nước trên đường Mễ Trì. Ảnh: Ngọc Thành

Dòng xe lội nước trên đường Mễ Trì. Ảnh: Ngọc Thành


7h40

//

// 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_dedc43”,
videoElmStr = ‘

‘+
‘To view this video please enable JavaScript, and consider upgrading to a web browser that ‘+
supports HTML5 video ‘+
‘ ‘ +
”,
videozplayer_dedc43,
videoAds1Conf = {
“poster”: “https://cdn.24h.com.vn/upload/4-2025/images/2025-10-01/1759280963-7h40.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_dedc43”,
/*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”,

“fastSeek”: {step: 5},
“userAgent”: “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36”,
“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%252Fha-noi-nhieu-diem-van-ngap-quan-doi-dieu-xe-dua-don-dan-c46a1702259.html%26description_url%3Dhttps%253A%252F%252Fwww.24h.com.vn%252Ftin-tuc-trong-ngay%252Fha-noi-nhieu-diem-van-ngap-quan-doi-dieu-xe-dua-don-dan-c46a1702259.html%26correlator%3D1759294435%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%252Fha-noi-nhieu-diem-van-ngap-quan-doi-dieu-xe-dua-don-dan-c46a1702259.html%26description_url%3Dhttps%253A%252F%252Fwww.24h.com.vn%252Ftin-tuc-trong-ngay%252Fha-noi-nhieu-diem-van-ngap-quan-doi-dieu-xe-dua-don-dan-c46a1702259.html%26correlator%3D1759294435%26ambient%3D1%26plcmt%3D2″
,”vastUriMid” : “https%3A%2F%2Fvideo.24h.com.vn%2Fupload%2Fhtml%2Ftempvast.xml”
,”midTime”: 10
/*FALL_BACK*/
/*PLAYLIST_ITEM*/
/*DRM_VIDEO*/

//{set_highlight_zplayer_html5}
/*ID_BANNER_SPONSOR*/
}
if (volByCookie != null) {
if (volByCookie <= 0) {
// console.log("AE volByCookie VAR set MUTED : "+volByCookie);
videoAds1Conf.muted = 1;
}
}
if(document.getElementById(parentVid).innerHTML.trim() == ""){
loadVidzplayer_dedc43();
vidLoaded = true;
}

var count_time_update_zplayer_dedc43 = 0;

function loadVidzplayer_dedc43(){
dynamicId = new Date().valueOf();
vidId = "my-video-multiple1_"+dynamicId;
videoAds1Conf.VIDEOID = vidId;
if(vidLoaded==true){
videoAds1Conf.viewportAutoPlay = false;
}

var newVideStr = videoElmStr.replace(/__VIDIDzplayer_dedc43__/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_dedc43 = 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_dedc43.player.muted());
//console.log("AE THIS VOLUME LOAD PLAYER: "+videozplayer_dedc43.player.volume());
//console.log("AE THIS VOLUME LOAD PLAYER CURRENT VOLUME : "+current_vol_zplayer_dedc43);
if ((typeof(videoAds1Conf.muteByUser) != "undefined" && videoAds1Conf.muteByUser == 1) || (volByCookie != null && volByCookie 0) {
videoAds1Conf.vidVol = current_vol_zplayer_dedc43;
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_dedc43 = undefined;
videozplayer_dedc43.player.dispose();
loadVidzplayer_dedc43();
});

videozplayer_dedc43.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_dedc43));

videozplayer_dedc43.player.on("volumechange", function(){
var new_vd_volume = videozplayer_dedc43.player.volume();
// console.log("AE volume change");
// console.log("AE THIS VOLUME AFTER CHANGE: "+videozplayer_dedc43.player.volume());
// console.log("AE volume change is mute : "+videozplayer_dedc43.player.muted());
var is_vd_muted = videozplayer_dedc43.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_dedc43 > 0 && count_time_update_zplayer_dedc43 > 10) {
check_set_cookie = true;
}
current_vol_zplayer_dedc43 = 0;
videozplayer_dedc43.player.muted(1);
setTimeout(function(){
videozplayer_dedc43.player.muted(1);
},300);
} else {
// console.log(“AE is_vd_muted FALSE”);
if (volByCookie <= 0 && count_time_update_zplayer_dedc43 < 5) {
check_set_cookie = false;
} else {
check_set_cookie = true;
}
current_vol_zplayer_dedc43 = new_vd_volume;
}
// console.log("AE check_set_cookie: "+check_set_cookie);
if (check_set_cookie == true) {
setCookie("videoVolumeByUser", current_vol_zplayer_dedc43, 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_dedc43);
}.bind(videozplayer_dedc43));

videozplayer_dedc43.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_dedc43.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_dedc43));
videozplayer_dedc43.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_dedc43));
videozplayer_dedc43.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_dedc43));
videozplayer_dedc43.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_dedc43));
videozplayer_dedc43.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_dedc43.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_dedc43.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_dedc43));
/*RESUME_WATCHING_EVENTS-END*/

videozplayer_dedc43.player.on(“onPrerollError”, function(name) {
var objVideos = videojs(vidId+”_html5_api”);
});
videozplayer_dedc43.player.on(“AE_completed”, function(name) {
// console.log(“AE_completed AE_completed :”+current_vol_zplayer_dedc43);
var is_vd_mute = videozplayer_dedc43.player.muted();
if (is_vd_mute == true) {

//videozplayer_dedc43.player.volume(0);

setTimeout(function(){
videozplayer_dedc43.player.muted(1);
// console.log(“AE_completed AE_completed set MUTED”);
},400);

}
});
videozplayer_dedc43.player.on(“onPlay”, function(name) {
// console.log(“onPlay AE_started AE_started :”+current_vol_zplayer_dedc43);
var is_vd_mute = videozplayer_dedc43.player.muted();
if (is_vd_mute == true) {
if (current_vol_zplayer_dedc43 > 0) {
// console.log(“AE SET VOLUME 1111111”);
videozplayer_dedc43.player.volume(current_vol_zplayer_dedc43);
}
videozplayer_dedc43.player.muted(1);
// console.log(“AE MUTE LOAD PLAYER ACTION SET MUTE 111111: “);
}
// console.log(“AE THIS VOLUME is muted :”+videozplayer_dedc43.player.muted());
// console.log(“AE THIS VOLUME: “+videozplayer_dedc43.player.volume());
// begin 5/10/2017 TuyenNT xu_ly_gan_ga_video_theo_loai_giai_dau_frontend_pc
send_tracking_video(‘none’, ‘Null’, 1702259, 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_dedc43.player.on(“playerMinimized”, function(name) {
// console.log(“Listener playerMinimized: “);
if ($(“#arrowPageUp”).length) {
$(“#arrowPageUp”).css(“bottom”,”157px”);
$(“#backpage”).css(“bottom”,”200px”);
}
});
videozplayer_dedc43.player.on(“playerUnMinimized”, function(name) {
// console.log(“Listener playerUnMinimized: “);
if ($(“#arrowPageUp”).length) {
$(“#arrowPageUp”).css(“bottom”,”20px”);
}
});
videozplayer_dedc43.player.on(“miniPlayerClosed”, function(name) {
// console.log(“Listener miniPlayerClosed: “);
if ($(“#arrowPageUp”).length) {
$(“#arrowPageUp”).css(“bottom”,”20px”);
}
});

// End 12-12-2018 trungcq XLCYCMHENG_33549_xu_ly_scroll_to_top

var v_event_tracking_impression_prerollzplayer_dedc43 = document.getElementById(“zplayer_dedc43_ga_preroll”);
// các trường hợp mã lỗi của trình duyệt trả về
videozplayer_dedc43.player.on(“AE_impression”, function(name) {
// Gọi GA load video
if(v_event_tracking_impression_prerollzplayer_dedc43){
// Tao thẻ div để chưa link GA
$(“

“).insertBefore(“#zplayer_dedc43_ga_preroll”);
if(document.getElementById(“link_ga_tracking_impression_preroll_zplayer_dedc43”)){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 46, ‘daily_news’, ‘pc’, ‘impression’, ‘no’, ‘no’, 2, ‘video_noi_dung’);});
}
}
});

var v_event_tracking_click_prerollzplayer_dedc43 = document.getElementById(“zplayer_dedc43_ga_preroll”);
// các trường hợp mã lỗi của trình duyệt trả về
videozplayer_dedc43.player.on(“AE_clicked”, function(name) {
// Gọi GA load video
if(v_event_tracking_click_prerollzplayer_dedc43){
// Tao thẻ div để chưa link GA
$(“

“).insertBefore(“#zplayer_dedc43_ga_preroll”);
if(document.getElementById(“link_ga_tracking_click_preroll_zplayer_dedc43”)){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 46, ‘daily_news’, ‘pc’, ‘ads_click’, ‘no’, ‘no’, 2, ‘video_noi_dung’);});
}
}
});

var v_err_log_1zplayer_dedc43 = document.getElementById(“zplayer_dedc43_ga_error1”);
// các trường hợp mã lỗi của trình duyệt trả về
videozplayer_dedc43.player.on(“MEDIA_ERROR_1″, function (name) {
// Gọi GA load video
if(v_err_log_1zplayer_dedc43){
send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘error_ERROR_1’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_2zplayer_dedc43 = document.getElementById(“zplayer_dedc43_ga_error2”);
videozplayer_dedc43.player.on(“MEDIA_ERROR_2″, function (name) {
// Gọi GA load video
if(v_err_log_2zplayer_dedc43){
send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘error_ERROR_2’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_3zplayer_dedc43 = document.getElementById(“zplayer_dedc43_ga_error3”);
videozplayer_dedc43.player.on(“MEDIA_ERROR_3″, function (name) {
// Gọi GA load video
if(v_err_log_3zplayer_dedc43){
send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘error_ERROR_3’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_4zplayer_dedc43 = document.getElementById(“zplayer_dedc43_ga_error4”);
videozplayer_dedc43.player.on(“MEDIA_ERROR_4″, function (name) {
// Gọi GA load video
if(v_err_log_4zplayer_dedc43){
send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘error_ERROR_4’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_5zplayer_dedc43 = document.getElementById(“zplayer_dedc43_ga_error5”);
videozplayer_dedc43.player.on(“MEDIA_ERROR_5″, function (name) {
// Gọi GA load video
if(v_err_log_5zplayer_dedc43){
send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘error_ERROR_5’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});

videozplayer_dedc43.player.on(“track_slow_playlist_next_1”, function(){
console.log(“track_slow_playlist_next_1”);
$(“

“).insertBefore(“#zplayer_dedc43_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_dedc431 = document.getElementById(“link_slow_playlist_next_zplayer_dedc431”);
if(v_track_slow_playlist_zplayer_dedc431){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_dedc43.player.on(“track_slow_playlist_next_2”, function(){
console.log(“track_slow_playlist_next_2”);
$(“

“).insertBefore(“#zplayer_dedc43_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_dedc432 = document.getElementById(“link_slow_playlist_next_zplayer_dedc432”);
if(v_track_slow_playlist_zplayer_dedc432){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_dedc43.player.on(“track_slow_playlist_next_3”, function(){
console.log(“track_slow_playlist_next_3”);
$(“

“).insertBefore(“#zplayer_dedc43_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_dedc433 = document.getElementById(“link_slow_playlist_next_zplayer_dedc433”);
if(v_track_slow_playlist_zplayer_dedc433){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_dedc43.player.on(“track_slow_playlist_next_4”, function(){
console.log(“track_slow_playlist_next_4”);
$(“

“).insertBefore(“#zplayer_dedc43_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_dedc434 = document.getElementById(“link_slow_playlist_next_zplayer_dedc434”);
if(v_track_slow_playlist_zplayer_dedc434){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_dedc43.player.on(“track_slow_playlist_next_5”, function(){
console.log(“track_slow_playlist_next_5”);
$(“

“).insertBefore(“#zplayer_dedc43_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_dedc435 = document.getElementById(“link_slow_playlist_next_zplayer_dedc435”);
if(v_track_slow_playlist_zplayer_dedc435){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_dedc43.player.on(“track_slow_playlist_next_6”, function(){
console.log(“track_slow_playlist_next_6”);
$(“

“).insertBefore(“#zplayer_dedc43_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_dedc436 = document.getElementById(“link_slow_playlist_next_zplayer_dedc436”);
if(v_track_slow_playlist_zplayer_dedc436){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_dedc43.player.on(“track_slow_playlist_next_7”, function(){
console.log(“track_slow_playlist_next_7”);
$(“

“).insertBefore(“#zplayer_dedc43_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_dedc437 = document.getElementById(“link_slow_playlist_next_zplayer_dedc437”);
if(v_track_slow_playlist_zplayer_dedc437){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_dedc43.player.on(“track_slow_playlist_next_8”, function(){
console.log(“track_slow_playlist_next_8”);
$(“

“).insertBefore(“#zplayer_dedc43_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_dedc438 = document.getElementById(“link_slow_playlist_next_zplayer_dedc438”);
if(v_track_slow_playlist_zplayer_dedc438){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_dedc43.player.on(“track_slow_playlist_next_9”, function(){
console.log(“track_slow_playlist_next_9”);
$(“

“).insertBefore(“#zplayer_dedc43_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_dedc439 = document.getElementById(“link_slow_playlist_next_zplayer_dedc439”);
if(v_track_slow_playlist_zplayer_dedc439){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_dedc43.player.on(“track_slow_playlist_next_10”, function(){
console.log(“track_slow_playlist_next_10”);
$(“

“).insertBefore(“#zplayer_dedc43_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_dedc4310 = document.getElementById(“link_slow_playlist_next_zplayer_dedc4310”);
if(v_track_slow_playlist_zplayer_dedc4310){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_dedc43.player.on(“timeupdated”, function () {
if (count_time_update_zplayer_dedc43 < 50) {
count_time_update_zplayer_dedc43++;
// console.log(“AE TIME UPDATE: “+count_time_update_zplayer_dedc43);
}
if(v_load_recommend_boxzplayer_dedc43 && typeof(v_thoi_luong_hien_thi) != “undefined” && v_thoi_luong_hien_thi != “”){
try{
var v_time_current = videozplayer_dedc43.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_dedc43″);
// Gắn HTML vào chuỗi
if(v_html_recomend !=””){
// Nếu tồn tại video highlight
if ($(“#vjs-marker-tableinfo-zplayer_dedc43”).length) {
$(“#vjs-marker-tableinfo-zplayer_dedc43”).after(v_html_recomend);
} else {
if ($(“#zplayer_dedc43_ga_preroll”).length) {
$(“#zplayer_dedc43_ga_preroll”).before(v_html_recomend);
}
}
// Hiển thị dạng slide
if ($(“#box_recommend_zplayer_dedc43”).length) {
$(“#box_recommend_zplayer_dedc43”).show(1000);
setTimeout(function(){
create_slide_page_number_recommend_video_json(“swiper_recommend_v2018zplayer_dedc43”, “swpier_container_zplayer_dedc43″,”swiper_active_slide_zplayer_dedc43”, “pagination-zplayer_dedc43″,”wrapper_zplayer_dedc43”,v_total_page_recommend, “swiper-slide slide_zplayer_dedc43”, “prvVid_recommendzplayer_dedc43”, “nxtVid_recommendzplayer_dedc43”);
$(“#box_recommend_zplayer_dedc43”).css(“height”, “”);
}, 900);
}
}
}
});
}
v_load_recommend_boxzplayer_dedc43 = false;
}
}
}catch(e){
console.log([“Errors”, e]);
}
}
});

videozplayer_dedc43.player.on(“MEDIA_SLOW_WAITING”, function (evt, data) {
//console.log(data.waitTime);
var v_slow_waiting_zplayer_dedc43 = document.getElementById(“zplayer_dedc43_ga_media_slow_waiting”);
if(v_slow_waiting_zplayer_dedc43){
//đổi ms về s
v_so_giay_load = parseInt(data.waitTime/1000);
send_tracking_video(”, ”, 1702259, ”, ”, ”, ‘media_slow_waiting’, ”, ”, 6, v_so_giay_load);
}
//console.log(“listener MEDIA_SLOW_WAITING: “);
});
videozplayer_dedc43.player.on(“MEDIA_SLOW_METADATA”, function (evt, data) {
//console.log(data.waitTime);
var v_slow_metadata_zplayer_dedc43 = document.getElementById(“zplayer_dedc43_ga_media_slow_metadata”);
if(v_slow_metadata_zplayer_dedc43){
//đổi ms về s
v_so_giay_load_metadata = parseInt(data.waitTime/1000);
send_tracking_video(”, ”, 1702259, ”, ”, ”, ‘media_slow_metadata’, ”, ”, 6, v_so_giay_load_metadata);
}
//console.log(“listener MEDIA_SLOW_METADATA: “);
});
videozplayer_dedc43.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’, 1702259, 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_dedc43.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’, 1702259, 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_dedc43.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’, 1702259, 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_dedc43.player.on([
“play”,
“playing”,
“adstart”,
“adplaying”,
], function (evt, data) {

if (typeof stop_video_news_live == “function”){
stop_video_news_live(“___”);
}

});

videozplayer_dedc43.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_dedc43));

videozplayer_dedc43.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_dedc43));

videozplayer_dedc43.player.on(“onStop”, function(name) {
//console.log(“listener onStop: “);

});

videozplayer_dedc43.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_dedc43));
videozplayer_dedc43.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_dedc43));
}
videoAdsInitzplayer_dedc43 = true;
}
// Ga video load luôn được chạy
window.addEventListener(“load”, function(){});window.addEventListener(“load”, function(){});
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_dedc43VpElm = document.getElementById( “zplayer_dedc43” );

var viszplayer_dedc43 = (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_dedc43 = document.getElementById(“v-24hContainer_zplayer_dedc43”);
document.addEventListener(“DOMContentLoaded”, function () {
if(videoAds1Elmzplayer_dedc43){
var videoAdsInitzplayer_dedc43 = false;
var checkTabActivezplayer_dedc43 = setInterval(function () {
if (inViewport(videoAds1Elmzplayer_dedc43) && viszplayer_dedc43() && !videoAdsInitzplayer_dedc43 && typeof(window.videojs) !== “undefined” && (typeof(google) !== “undefined” || adBlockCheckedStatus) && videoObj) {
initvideozplayer_dedc43();
clearInterval(checkTabActivezplayer_dedc43);
}
// 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_dedc43_fix_AdBlockCheck == “undefined”){
setTimeout(function(){
if (typeof adBlockCheckedStatus != “undefined” && !adBlockCheckedStatus){
adBlockCheckedStatus = true;
adBlockEnabled = false;
}
}, 2000);

videoAdsInitzplayer_dedc43_fix_AdBlockCheck = true;
}
}
}, 100);
}
}, false);

//]]>

//

Điểm ngập sâu trước UBND phường Cầu Giấy. Video: Lộc Chung


7h35

Đại lộ Thăng Long tắc dài

Đại Lộ Thăng Long nối phía tây với trung tâm Thủ đô vẫn ngập sâu, ùn tắc hai chiều ở làn giữa dành cho ôtô khi hầu hết phương tiện đều đi vào làn này.

Ùn tắc trên đại lộ Thăng Long chiều từ các khu đô thị phía tây về trung tâm. Ảnh: Ngọc Thành

Ùn tắc trên đại lộ Thăng Long chiều từ các khu đô thị phía tây về trung tâm. Ảnh: Ngọc Thành

Điểm ùn trên đại lộ kéo dài tới gần cầu vượt. Ảnh: Ngọc Thành

Điểm ùn trên đại lộ kéo dài tới gần cầu vượt. Ảnh: Ngọc Thành

//

// 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_5a7d04”,
videoElmStr = ‘

‘+
‘To view this video please enable JavaScript, and consider upgrading to a web browser that ‘+
supports HTML5 video ‘+
‘ ‘ +
”,
videozplayer_5a7d04,
videoAds1Conf = {
“poster”: “https://cdn.24h.com.vn/upload/4-2025/images/2025-10-01/1759280942-7h35.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_5a7d04”,
/*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”,

“fastSeek”: {step: 5},
“userAgent”: “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36”,
“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%252Fha-noi-nhieu-diem-van-ngap-quan-doi-dieu-xe-dua-don-dan-c46a1702259.html%26description_url%3Dhttps%253A%252F%252Fwww.24h.com.vn%252Ftin-tuc-trong-ngay%252Fha-noi-nhieu-diem-van-ngap-quan-doi-dieu-xe-dua-don-dan-c46a1702259.html%26correlator%3D1759294435%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%252Fha-noi-nhieu-diem-van-ngap-quan-doi-dieu-xe-dua-don-dan-c46a1702259.html%26description_url%3Dhttps%253A%252F%252Fwww.24h.com.vn%252Ftin-tuc-trong-ngay%252Fha-noi-nhieu-diem-van-ngap-quan-doi-dieu-xe-dua-don-dan-c46a1702259.html%26correlator%3D1759294435%26ambient%3D1%26plcmt%3D2″
,”vastUriMid” : “https%3A%2F%2Fvideo.24h.com.vn%2Fupload%2Fhtml%2Ftempvast.xml”
,”midTime”: 10
/*FALL_BACK*/
/*PLAYLIST_ITEM*/
/*DRM_VIDEO*/

//{set_highlight_zplayer_html5}
/*ID_BANNER_SPONSOR*/
}
if (volByCookie != null) {
if (volByCookie <= 0) {
// console.log("AE volByCookie VAR set MUTED : "+volByCookie);
videoAds1Conf.muted = 1;
}
}
if(document.getElementById(parentVid).innerHTML.trim() == ""){
loadVidzplayer_5a7d04();
vidLoaded = true;
}

var count_time_update_zplayer_5a7d04 = 0;

function loadVidzplayer_5a7d04(){
dynamicId = new Date().valueOf();
vidId = "my-video-multiple1_"+dynamicId;
videoAds1Conf.VIDEOID = vidId;
if(vidLoaded==true){
videoAds1Conf.viewportAutoPlay = false;
}

var newVideStr = videoElmStr.replace(/__VIDIDzplayer_5a7d04__/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_5a7d04 = 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_5a7d04.player.muted());
//console.log("AE THIS VOLUME LOAD PLAYER: "+videozplayer_5a7d04.player.volume());
//console.log("AE THIS VOLUME LOAD PLAYER CURRENT VOLUME : "+current_vol_zplayer_5a7d04);
if ((typeof(videoAds1Conf.muteByUser) != "undefined" && videoAds1Conf.muteByUser == 1) || (volByCookie != null && volByCookie 0) {
videoAds1Conf.vidVol = current_vol_zplayer_5a7d04;
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_5a7d04 = undefined;
videozplayer_5a7d04.player.dispose();
loadVidzplayer_5a7d04();
});

videozplayer_5a7d04.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_5a7d04));

videozplayer_5a7d04.player.on("volumechange", function(){
var new_vd_volume = videozplayer_5a7d04.player.volume();
// console.log("AE volume change");
// console.log("AE THIS VOLUME AFTER CHANGE: "+videozplayer_5a7d04.player.volume());
// console.log("AE volume change is mute : "+videozplayer_5a7d04.player.muted());
var is_vd_muted = videozplayer_5a7d04.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_5a7d04 > 0 && count_time_update_zplayer_5a7d04 > 10) {
check_set_cookie = true;
}
current_vol_zplayer_5a7d04 = 0;
videozplayer_5a7d04.player.muted(1);
setTimeout(function(){
videozplayer_5a7d04.player.muted(1);
},300);
} else {
// console.log(“AE is_vd_muted FALSE”);
if (volByCookie <= 0 && count_time_update_zplayer_5a7d04 < 5) {
check_set_cookie = false;
} else {
check_set_cookie = true;
}
current_vol_zplayer_5a7d04 = new_vd_volume;
}
// console.log("AE check_set_cookie: "+check_set_cookie);
if (check_set_cookie == true) {
setCookie("videoVolumeByUser", current_vol_zplayer_5a7d04, 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_5a7d04);
}.bind(videozplayer_5a7d04));

videozplayer_5a7d04.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_5a7d04.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_5a7d04));
videozplayer_5a7d04.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_5a7d04));
videozplayer_5a7d04.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_5a7d04));
videozplayer_5a7d04.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_5a7d04));
videozplayer_5a7d04.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_5a7d04.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_5a7d04.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_5a7d04));
/*RESUME_WATCHING_EVENTS-END*/

videozplayer_5a7d04.player.on(“onPrerollError”, function(name) {
var objVideos = videojs(vidId+”_html5_api”);
});
videozplayer_5a7d04.player.on(“AE_completed”, function(name) {
// console.log(“AE_completed AE_completed :”+current_vol_zplayer_5a7d04);
var is_vd_mute = videozplayer_5a7d04.player.muted();
if (is_vd_mute == true) {

//videozplayer_5a7d04.player.volume(0);

setTimeout(function(){
videozplayer_5a7d04.player.muted(1);
// console.log(“AE_completed AE_completed set MUTED”);
},400);

}
});
videozplayer_5a7d04.player.on(“onPlay”, function(name) {
// console.log(“onPlay AE_started AE_started :”+current_vol_zplayer_5a7d04);
var is_vd_mute = videozplayer_5a7d04.player.muted();
if (is_vd_mute == true) {
if (current_vol_zplayer_5a7d04 > 0) {
// console.log(“AE SET VOLUME 1111111”);
videozplayer_5a7d04.player.volume(current_vol_zplayer_5a7d04);
}
videozplayer_5a7d04.player.muted(1);
// console.log(“AE MUTE LOAD PLAYER ACTION SET MUTE 111111: “);
}
// console.log(“AE THIS VOLUME is muted :”+videozplayer_5a7d04.player.muted());
// console.log(“AE THIS VOLUME: “+videozplayer_5a7d04.player.volume());
// begin 5/10/2017 TuyenNT xu_ly_gan_ga_video_theo_loai_giai_dau_frontend_pc
send_tracking_video(‘none’, ‘Null’, 1702259, 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_5a7d04.player.on(“playerMinimized”, function(name) {
// console.log(“Listener playerMinimized: “);
if ($(“#arrowPageUp”).length) {
$(“#arrowPageUp”).css(“bottom”,”157px”);
$(“#backpage”).css(“bottom”,”200px”);
}
});
videozplayer_5a7d04.player.on(“playerUnMinimized”, function(name) {
// console.log(“Listener playerUnMinimized: “);
if ($(“#arrowPageUp”).length) {
$(“#arrowPageUp”).css(“bottom”,”20px”);
}
});
videozplayer_5a7d04.player.on(“miniPlayerClosed”, function(name) {
// console.log(“Listener miniPlayerClosed: “);
if ($(“#arrowPageUp”).length) {
$(“#arrowPageUp”).css(“bottom”,”20px”);
}
});

// End 12-12-2018 trungcq XLCYCMHENG_33549_xu_ly_scroll_to_top

var v_event_tracking_impression_prerollzplayer_5a7d04 = document.getElementById(“zplayer_5a7d04_ga_preroll”);
// các trường hợp mã lỗi của trình duyệt trả về
videozplayer_5a7d04.player.on(“AE_impression”, function(name) {
// Gọi GA load video
if(v_event_tracking_impression_prerollzplayer_5a7d04){
// Tao thẻ div để chưa link GA
$(“

“).insertBefore(“#zplayer_5a7d04_ga_preroll”);
if(document.getElementById(“link_ga_tracking_impression_preroll_zplayer_5a7d04”)){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 46, ‘daily_news’, ‘pc’, ‘impression’, ‘no’, ‘no’, 2, ‘video_noi_dung’);});
}
}
});

var v_event_tracking_click_prerollzplayer_5a7d04 = document.getElementById(“zplayer_5a7d04_ga_preroll”);
// các trường hợp mã lỗi của trình duyệt trả về
videozplayer_5a7d04.player.on(“AE_clicked”, function(name) {
// Gọi GA load video
if(v_event_tracking_click_prerollzplayer_5a7d04){
// Tao thẻ div để chưa link GA
$(“

“).insertBefore(“#zplayer_5a7d04_ga_preroll”);
if(document.getElementById(“link_ga_tracking_click_preroll_zplayer_5a7d04”)){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 46, ‘daily_news’, ‘pc’, ‘ads_click’, ‘no’, ‘no’, 2, ‘video_noi_dung’);});
}
}
});

var v_err_log_1zplayer_5a7d04 = document.getElementById(“zplayer_5a7d04_ga_error1”);
// các trường hợp mã lỗi của trình duyệt trả về
videozplayer_5a7d04.player.on(“MEDIA_ERROR_1″, function (name) {
// Gọi GA load video
if(v_err_log_1zplayer_5a7d04){
send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘error_ERROR_1’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_2zplayer_5a7d04 = document.getElementById(“zplayer_5a7d04_ga_error2”);
videozplayer_5a7d04.player.on(“MEDIA_ERROR_2″, function (name) {
// Gọi GA load video
if(v_err_log_2zplayer_5a7d04){
send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘error_ERROR_2’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_3zplayer_5a7d04 = document.getElementById(“zplayer_5a7d04_ga_error3”);
videozplayer_5a7d04.player.on(“MEDIA_ERROR_3″, function (name) {
// Gọi GA load video
if(v_err_log_3zplayer_5a7d04){
send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘error_ERROR_3’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_4zplayer_5a7d04 = document.getElementById(“zplayer_5a7d04_ga_error4”);
videozplayer_5a7d04.player.on(“MEDIA_ERROR_4″, function (name) {
// Gọi GA load video
if(v_err_log_4zplayer_5a7d04){
send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘error_ERROR_4’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_5zplayer_5a7d04 = document.getElementById(“zplayer_5a7d04_ga_error5”);
videozplayer_5a7d04.player.on(“MEDIA_ERROR_5″, function (name) {
// Gọi GA load video
if(v_err_log_5zplayer_5a7d04){
send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘error_ERROR_5’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});

videozplayer_5a7d04.player.on(“track_slow_playlist_next_1”, function(){
console.log(“track_slow_playlist_next_1”);
$(“

“).insertBefore(“#zplayer_5a7d04_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_5a7d041 = document.getElementById(“link_slow_playlist_next_zplayer_5a7d041”);
if(v_track_slow_playlist_zplayer_5a7d041){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_5a7d04.player.on(“track_slow_playlist_next_2”, function(){
console.log(“track_slow_playlist_next_2”);
$(“

“).insertBefore(“#zplayer_5a7d04_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_5a7d042 = document.getElementById(“link_slow_playlist_next_zplayer_5a7d042”);
if(v_track_slow_playlist_zplayer_5a7d042){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_5a7d04.player.on(“track_slow_playlist_next_3”, function(){
console.log(“track_slow_playlist_next_3”);
$(“

“).insertBefore(“#zplayer_5a7d04_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_5a7d043 = document.getElementById(“link_slow_playlist_next_zplayer_5a7d043”);
if(v_track_slow_playlist_zplayer_5a7d043){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_5a7d04.player.on(“track_slow_playlist_next_4”, function(){
console.log(“track_slow_playlist_next_4”);
$(“

“).insertBefore(“#zplayer_5a7d04_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_5a7d044 = document.getElementById(“link_slow_playlist_next_zplayer_5a7d044”);
if(v_track_slow_playlist_zplayer_5a7d044){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_5a7d04.player.on(“track_slow_playlist_next_5”, function(){
console.log(“track_slow_playlist_next_5”);
$(“

“).insertBefore(“#zplayer_5a7d04_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_5a7d045 = document.getElementById(“link_slow_playlist_next_zplayer_5a7d045”);
if(v_track_slow_playlist_zplayer_5a7d045){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_5a7d04.player.on(“track_slow_playlist_next_6”, function(){
console.log(“track_slow_playlist_next_6”);
$(“

“).insertBefore(“#zplayer_5a7d04_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_5a7d046 = document.getElementById(“link_slow_playlist_next_zplayer_5a7d046”);
if(v_track_slow_playlist_zplayer_5a7d046){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_5a7d04.player.on(“track_slow_playlist_next_7”, function(){
console.log(“track_slow_playlist_next_7”);
$(“

“).insertBefore(“#zplayer_5a7d04_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_5a7d047 = document.getElementById(“link_slow_playlist_next_zplayer_5a7d047”);
if(v_track_slow_playlist_zplayer_5a7d047){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_5a7d04.player.on(“track_slow_playlist_next_8”, function(){
console.log(“track_slow_playlist_next_8”);
$(“

“).insertBefore(“#zplayer_5a7d04_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_5a7d048 = document.getElementById(“link_slow_playlist_next_zplayer_5a7d048”);
if(v_track_slow_playlist_zplayer_5a7d048){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_5a7d04.player.on(“track_slow_playlist_next_9”, function(){
console.log(“track_slow_playlist_next_9”);
$(“

“).insertBefore(“#zplayer_5a7d04_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_5a7d049 = document.getElementById(“link_slow_playlist_next_zplayer_5a7d049”);
if(v_track_slow_playlist_zplayer_5a7d049){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_5a7d04.player.on(“track_slow_playlist_next_10”, function(){
console.log(“track_slow_playlist_next_10”);
$(“

“).insertBefore(“#zplayer_5a7d04_ga_media_slow_waiting”);

var v_track_slow_playlist_zplayer_5a7d0410 = document.getElementById(“link_slow_playlist_next_zplayer_5a7d0410”);
if(v_track_slow_playlist_zplayer_5a7d0410){
window.addEventListener(“load”, function(){send_tracking_video(”, ‘none’, 1702259, 0, ”, ‘pc’, ‘slow_playlist_next’, ‘no’, ‘no’, 1, ‘video_noi_dung’);});
}
});

videozplayer_5a7d04.player.on(“timeupdated”, function () {
if (count_time_update_zplayer_5a7d04 < 50) {
count_time_update_zplayer_5a7d04++;
// console.log(“AE TIME UPDATE: “+count_time_update_zplayer_5a7d04);
}
if(v_load_recommend_boxzplayer_5a7d04 && typeof(v_thoi_luong_hien_thi) != “undefined” && v_thoi_luong_hien_thi != “”){
try{
var v_time_current = videozplayer_5a7d04.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_5a7d04″);
// Gắn HTML vào chuỗi
if(v_html_recomend !=””){
// Nếu tồn tại video highlight
if ($(“#vjs-marker-tableinfo-zplayer_5a7d04”).length) {
$(“#vjs-marker-tableinfo-zplayer_5a7d04”).after(v_html_recomend);
} else {
if ($(“#zplayer_5a7d04_ga_preroll”).length) {
$(“#zplayer_5a7d04_ga_preroll”).before(v_html_recomend);
}
}
// Hiển thị dạng slide
if ($(“#box_recommend_zplayer_5a7d04”).length) {
$(“#box_recommend_zplayer_5a7d04”).show(1000);
setTimeout(function(){
create_slide_page_number_recommend_video_json(“swiper_recommend_v2018zplayer_5a7d04”, “swpier_container_zplayer_5a7d04″,”swiper_active_slide_zplayer_5a7d04”, “pagination-zplayer_5a7d04″,”wrapper_zplayer_5a7d04”,v_total_page_recommend, “swiper-slide slide_zplayer_5a7d04”, “prvVid_recommendzplayer_5a7d04”, “nxtVid_recommendzplayer_5a7d04”);
$(“#box_recommend_zplayer_5a7d04”).css(“height”, “”);
}, 900);
}
}
}
});
}
v_load_recommend_boxzplayer_5a7d04 = false;
}
}
}catch(e){
console.log([“Errors”, e]);
}
}
});

videozplayer_5a7d04.player.on(“MEDIA_SLOW_WAITING”, function (evt, data) {
//console.log(data.waitTime);
var v_slow_waiting_zplayer_5a7d04 = document.getElementById(“zplayer_5a7d04_ga_media_slow_waiting”);
if(v_slow_waiting_zplayer_5a7d04){
//đổi ms về s
v_so_giay_load = parseInt(data.waitTime/1000);
send_tracking_video(”, ”, 1702259, ”, ”, ”, ‘media_slow_waiting’, ”, ”, 6, v_so_giay_load);
}
//console.log(“listener MEDIA_SLOW_WAITING: “);
});
videozplayer_5a7d04.player.on(“MEDIA_SLOW_METADATA”, function (evt, data) {
//console.log(data.waitTime);
var v_slow_metadata_zplayer_5a7d04 = document.getElementById(“zplayer_5a7d04_ga_media_slow_metadata”);
if(v_slow_metadata_zplayer_5a7d04){
//đổi ms về s
v_so_giay_load_metadata = parseInt(data.waitTime/1000);
send_tracking_video(”, ”, 1702259, ”, ”, ”, ‘media_slow_metadata’, ”, ”, 6, v_so_giay_load_metadata);
}
//console.log(“listener MEDIA_SLOW_METADATA: “);
});
videozplayer_5a7d04.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’, 1702259, 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_5a7d04.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’, 1702259, 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_5a7d04.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’, 1702259, 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_5a7d04.player.on([
“play”,
“playing”,
“adstart”,
“adplaying”,
], function (evt, data) {

if (typeof stop_video_news_live == “function”){
stop_video_news_live(“___”);
}

});

videozplayer_5a7d04.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_5a7d04));

videozplayer_5a7d04.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_5a7d04));

videozplayer_5a7d04.player.on(“onStop”, function(name) {
//console.log(“listener onStop: “);

});

videozplayer_5a7d04.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_5a7d04));
videozplayer_5a7d04.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_5a7d04));
}
videoAdsInitzplayer_5a7d04 = true;
}
// Ga video load luôn được chạy
window.addEventListener(“load”, function(){});window.addEventListener(“load”, function(){});
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_5a7d04VpElm = document.getElementById( “zplayer_5a7d04” );

var viszplayer_5a7d04 = (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_5a7d04 = document.getElementById(“v-24hContainer_zplayer_5a7d04”);
document.addEventListener(“DOMContentLoaded”, function () {
if(videoAds1Elmzplayer_5a7d04){
var videoAdsInitzplayer_5a7d04 = false;
var checkTabActivezplayer_5a7d04 = setInterval(function () {
if (inViewport(videoAds1Elmzplayer_5a7d04) && viszplayer_5a7d04() && !videoAdsInitzplayer_5a7d04 && typeof(window.videojs) !== “undefined” && (typeof(google) !== “undefined” || adBlockCheckedStatus) && videoObj) {
initvideozplayer_5a7d04();
clearInterval(checkTabActivezplayer_5a7d04);
}
// 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_5a7d04_fix_AdBlockCheck == “undefined”){
setTimeout(function(){
if (typeof adBlockCheckedStatus != “undefined” && !adBlockCheckedStatus){
adBlockCheckedStatus = true;
adBlockEnabled = false;
}
}, 2000);

videoAdsInitzplayer_5a7d04_fix_AdBlockCheck = true;
}
}
}, 100);
}
}, false);

//]]>

//

Đại lộ Thăng Long vừa ngập vừa tắc sáng 1/10. Video: Ngọc Thành