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

80 năm Độc lập: Giang sơn sắp lại, vận nước mở ra


Tổng Bí thư Tô Lâm khẳng định, quyết định “sắp xếp lại giang sơn” là bước đi lịch sử có ý nghĩa chiến lược, đánh dấu một giai đoạn phát triển mới của sự nghiệp hoàn thiện bộ máy hành chính nhà nước, hoàn thiện thể chế và tổ chức của hệ thống chính trị đồng bộ, tinh gọn, hiệu lực, hiệu quả, hướng tới hoàn thiện một nền hành chính quản trị hiện đại, kiến tạo, gần dân, sát dân, vì nhân dân phục vụ, để mọi lợi ích thuộc về nhân dân.

// 0) {
var parentNodeDiv = document.getElementById(“ADS_213_15s_container”).parentNode.classList.add(“inImgExpand”);
banner_tostring(ADS_213_15s,”ADS_213_15s”);
} else {
document.getElementById(“ADS_213_15s_container”).style.display = “none”;
}
}

//]]>

80 năm Độc lập: Giang sơn sắp lại, vận nước mở ra - 1

//

document.getElementById(“in-image-close”).setAttribute(“onclick”, “in_image_close();”);
v_counter_interval = 0;
var interval_in_image = setInterval(function() {
if(document.getElementById(“24h-banner-in-image”)){
var v_element_in_image = document.getElementById(“24h-banner-in-image”);
if(v_element_in_image.childNodes[2] && v_element_in_image.childNodes[2].id){
// setup căn phải
if(document.getElementById(v_element_in_image.childNodes[2].id)){
document.getElementById(v_element_in_image.childNodes[2].id).style.textAlign = “right”;
}
if(v_element_in_image.childNodes[2].childNodes[1]){
if(v_element_in_image.childNodes[2].childNodes[1].childNodes[0]){
if(v_element_in_image.childNodes[2].childNodes[1].childNodes[0].id || (isIE() && v_element_in_image.childNodes[2].childNodes[1].id)){
if(document.getElementById(v_element_in_image.childNodes[2].childNodes[1].childNodes[0].id) || (isIE() && document.getElementById(v_element_in_image.childNodes[2].childNodes[1].id))){
if(isIE()){

if(document.getElementById(v_element_in_image.childNodes[2].childNodes[1].childNodes[0].id).style.display !== “none” && document.getElementById(v_element_in_image.childNodes[2].childNodes[1].childNodes[0].id).getAttribute(“data-google-query-id”) !== null){
if(document.getElementById(“24h-banner-in-image-close”)){
document.getElementById(“24h-banner-in-image-close”).style.display = “inline-block”;
}
} else {
if(document.getElementById(“24h-banner-in-image-close”)){
document.getElementById(“24h-banner-in-image-close”).style.display = “none”;
}
}
} else {
if(document.getElementById(v_element_in_image.childNodes[2].childNodes[1].childNodes[0].id).style.display !== “none” && document.getElementById(v_element_in_image.childNodes[2].childNodes[1].childNodes[0].id).getAttribute(“data-google-query-id”) !== null){
if(document.getElementById(“24h-banner-in-image-close”)){
document.getElementById(“24h-banner-in-image-close”).style.display = “inline-block”;
}
} else {
if(document.getElementById(“24h-banner-in-image-close”)){
document.getElementById(“24h-banner-in-image-close”).style.display = “none”;
}
}
}
v_counter_interval++;
if(v_counter_interval === 15){
clearInterval(interval_in_image);
}
}
}
}
}
}
}
}, 1000);
function in_image_close(){
if(document.getElementById(“24h-banner-in-image”)){
document.getElementById(“24h-banner-in-image”).innerHTML = “”;
}
if(document.getElementById(“24h-banner-in-image-close”)){
document.getElementById(“24h-banner-in-image-close”).innerHTML = “”;
}
}

//]]>

Cuộc cách mạng sắp xếp tinh gọn bộ máy hệ thống chính trị được Trung ương xem xét, quyết định tại Hội nghị Ban Chấp hành Trung ương Đảng khóa XIII, diễn ra vào cuối tháng 1/2025. Trung ương đã thống nhất cao với Báo cáo của Bộ Chính trị về tổng kết Nghị quyết 18-NQ/TW và phương án sắp xếp tinh gọn tổ chức bộ máy của hệ thống chính trị.

Trên cơ sở đó, Trung ương yêu cầu các bộ, ban, ngành, đơn vị, địa phương phải có quyết tâm chính trị rất cao, thực hiện đồng bộ các biện pháp, đẩy mạnh “cuộc cách mạng”, đảm bảo hiệu năng, hiệu lực, hiệu quả, nhằm đáp ứng yêu cầu, nhiệm vụ của đất nước và đòi hỏi của nhân dân trong kỷ nguyên mới.

80 năm Độc lập: Giang sơn sắp lại, vận nước mở ra - 2

Hội nghị Ban Chấp hành Trung ương Đảng khóa XIII, cuối tháng 1/2025

Để cụ thể hóa các mục tiêu, nhiệm vụ được Trung ương đề ra, Chính phủ, Quốc hội và các cơ quan liên quan đã tổ chức nhiều phiên làm việc, hoàn thiện đề án với chất lượng cao nhất. Ngày 18/2/2025, Quốc hội biểu quyết thông qua nghị quyết về cơ cấu tổ chức của Chính phủ nhiệm kỳ Quốc hội khóa XV và nghị quyết về cơ cấu số lượng thành viên Chính phủ nhiệm kỳ Quốc hội khóa XV.

Từ đề án Chính phủ trình, Quốc hội nhất trí thành lập Bộ Tài chính trên cơ sở hợp nhất Bộ Kế hoạch và Đầu tư và Bộ Tài chính; thành lập Bộ Xây dựng trên cơ sở hợp nhất Bộ Xây dựng và Bộ Giao thông vận tải; Bộ Khoa học và Công nghệ được thành lập trên cơ sở hợp nhất Bộ Khoa học và Công nghệ và Bộ Thông tin và Truyền thông; Bộ Nội vụ được thành lập trên cơ sở hợp nhất Bộ Nội vụ và Bộ Lao động – Thương binh và Xã hội; thành lập Bộ Nông nghiệp và Môi trường trên cơ sở hợp nhất Bộ Nông nghiệp và Phát triển nông thôn và Bộ Tài nguyên và Môi trường; Bộ Dân tộc và Tôn giáo được thành lập trên cơ sở Ủy ban Dân tộc.

Ngoài 6 bộ trên, Quốc hội cũng thông qua việc duy trì 11 bộ, ngành, gồm Bộ Quốc phòng, Công an, Tư pháp, Công Thương, Văn hóa, Thể thao và Du lịch; Ngoại giao, Giáo dục và Đào tạo, Y tế, Văn phòng Chính phủ, Thanh tra Chính phủ, Ngân hàng Nhà nước Việt Nam.

Như vậy, sau sắp xếp, tổ chức bộ máy của Chính phủ khóa XV được tinh gọn với 14 bộ, 3 cơ quan ngang bộ (giảm 5 bộ, cơ quan ngang bộ) và 5 cơ quan thuộc Chính phủ (giảm 3 cơ quan thuộc Chính phủ). Tổ chức bên trong cũng giảm với toàn bộ 13/13 tổng cục và tổ chức tương đương; cấp cục, vụ và tổ chức tương đương cũng được giảm đáng kể. Sau sắp xếp, Chính phủ thực hiện theo nguyên tắc bộ quản lý đa ngành, đa lĩnh vực, một cơ quan thực hiện nhiều việc và một việc chỉ giao một cơ quan chủ trì, thực hiện, chịu trách nhiệm chính.

Tổng Bí thư Tô Lâm và các đại biểu tại Hội nghị công bố Quyết định của Bộ Chính trị về việc thành lập, chỉ định nhân sự của 4 Đảng bộ trực thuộc Trung ương, ngày 3/2.

Tổng Bí thư Tô Lâm và các đại biểu tại Hội nghị công bố Quyết định của Bộ Chính trị về việc thành lập, chỉ định nhân sự của 4 Đảng bộ trực thuộc Trung ương, ngày 3/2.

Tại khối Quốc hội, trên cơ sở hợp nhất các ủy ban, Nghị quyết được thông qua ngày 18/2/2025 đã quyết nghị các cơ quan của Quốc hội gồm: Hội đồng Dân tộc; Ủy ban Pháp luật và Tư pháp; Ủy ban Kinh tế và Tài chính; Ủy ban Quốc phòng, An ninh và Đối ngoại; Ủy ban Văn hóa và Xã hội; Ủy ban Khoa học, Công nghệ và Môi trường; Ủy ban Công tác đại biểu; Ủy ban Dân nguyện và Giám sát.

Cùng với Chính phủ, Quốc hội, các cơ quan Đảng, Mặt trận Tổ quốc cũng được sắp xếp, sáp nhập theo hướng tinh gọn, hiệu lực, hiệu quả: Ban Tuyên giáo Trung ương hợp nhất với Ban Dân vận Trung ương với tên gọi mới là Ban Tuyên giáo và Dân vận Trung ương; Ban Kinh tế Trung ương đổi tên thành Ban Chính sách, chiến lược Trung ương. Các tổ chức chính trị – xã hội trực thuộc Mặt trận Tổ quốc Việt Nam và các hội quần chúng cấp tỉnh, xã cũng được tinh gọn, hợp nhất.

Trao đổi với phóng viên, đại biểu Quốc hội Bùi Hoài Sơn, đánh giá, đây là “cuộc cách mạng” mang tầm vóc chiến lược. “Việc hợp nhất các cơ quan Đảng, Nhà nước, Mặt trận Tổ quốc, các tổ chức chính trị – xã hội, không chỉ là thay đổi về mô hình tổ chức, mà sâu xa hơn là bước chuyển về tư duy quản trị quốc gia. Đó là dấu hiệu cho thấy chúng ta đang thực sự dũng cảm tự đổi mới chính mình, xây dựng một Nhà nước phục vụ, năng động, hiệu lực và hiệu quả”, ông Sơn chia sẻ với Tiền Phong.

Sau sắp xếp, tổ chức bộ máy Chính phủ khóa XV có 14 bộ, 3 cơ quan ngang bộ và 5 cơ quan thuộc Chính phủ

Sau sắp xếp, tổ chức bộ máy Chính phủ khóa XV có 14 bộ, 3 cơ quan ngang bộ và 5 cơ quan thuộc Chính phủ

Tổng Bí thư Tô Lâm phát biểu tại TPHCM sáng 30/6/2025.

Sau khi thực hiện sắp xếp các cơ quan trung ương, ngày 12/4/2025, Hội nghị lần thứ 11, Ban Chấp hành Trung ương Đảng khoá XIII nhấn mạnh: Việc tiếp tục sắp xếp tổ chức bộ máy của hệ thống chính trị là “quyết sách chiến lược chưa từng có” với mục tiêu cao nhất vì sự phát triển nhanh, ổn định, bền vững của đất nước. Việc sắp xếp đơn vị hành chính địa phương lần này được xây dựng trên tinh thần khoa học, đột phá, sáng tạo, bám sát thực tiễn với tầm nhìn xa, trông rộng, ít nhất là 100 năm, bảo đảm hình thành và mở rộng không gian phát triển kinh tế, xã hội, văn hóa mới phù hợp cho phát triển đất nước.

//

// 0) {
banner_tostring(ADS_217_15s,”ADS_217_15s”);
} else {

var boxPositionBanner = document.getElementById(“ADS_217_15s_container”);
// Kiểm tra elementid có tồn tại
if (boxPositionBanner) {
// Ẩn phần tử container
boxPositionBanner.setAttribute(“style”, “display: none !important;”);
}

}
}

//]]>

// 0) {
banner_tostring(ADS_218_15s,”ADS_218_15s”);
} else {

var boxPositionBanner = document.getElementById(“ADS_218_15s_container”);
// Kiểm tra elementid có tồn tại
if (boxPositionBanner) {
// Ẩn phần tử container
boxPositionBanner.setAttribute(“style”, “display: none !important;”);
}

}
}

//]]>

//

// 0) {
// console.log(“AE volByCookie VAR : “+volByCookie);
vid_vol_var = volByCookie;
}
}
// console.log(“AE VIDVOL VAR : “+vid_vol_var);
var vidLoaded = false,
dynamicId,
vidId,
parentVid = “v-24hContainer_zplayer_d98a11”,
videoElmStr = ‘

‘+
‘To view this video please enable JavaScript, and consider upgrading to a web browser that ‘+
supports HTML5 video ‘+
‘ ‘ +
”,
videozplayer_d98a11,
videoAds1Conf = {
“poster”: “https://cdn.24h.com.vn/upload/3-2025/images/2025-08-23/1755921421-720.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_d98a11”,
/*MINI_VIDEO*/
“viewportAutoPlay”: true,
“vidVol” : vid_vol_var,
//”adVolIncrease”: 0.25,
//”showVolIncreasement”:1,
//”adVol” : “0.15”,
“trackSlowMedia”:1,
“secondToLoadMedia”:3000,
“secondToLoadMeta”:3000,
“prerollTimeEnd” : 31,
“midrollTimeEnd” : 15,
“postrollTimeEnd” : 30,
“skipAdsBtnPos”: “bottom-left”,
“theaterMod”: {height: 580},
“fastSeek”: {step: 5},
“userAgent”: “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36”,
“adLoadTimeout” : 8000

,”vastUri”: “https%3A%2F%2Fvideo.24h.com.vn%2Fupload%2Fhtml%2Ftempvast.xml”
,”vastUriPost” : “https%3A%2F%2Fvideo.24h.com.vn%2Fupload%2Fhtml%2Ftempvast.xml”
,”vastUriMid” : “https%3A%2F%2Fvideo.24h.com.vn%2Fupload%2Fhtml%2Ftempvast.xml”
,”midTime”: 10
/*FALL_BACK*/
/*PLAYLIST_ITEM*/
/*DRM_VIDEO*/
/*VIDEO_DURATION_CONFIG*/
//{set_highlight_zplayer_html5}
,”idBannerBottom”: “bnnSponBot_zplayer_d98a11”
}
if (volByCookie != null) {
if (volByCookie <= 0) {
// console.log("AE volByCookie VAR set MUTED : "+volByCookie);
videoAds1Conf.muted = 1;
}
}
if(document.getElementById(parentVid).innerHTML.trim() == ""){
loadVidzplayer_d98a11();
vidLoaded = true;
}

var count_time_update_zplayer_d98a11 = 0;

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

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

videozplayer_d98a11.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_d98a11));

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

videozplayer_d98a11.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_d98a11.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_d98a11));
videozplayer_d98a11.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_d98a11));
videozplayer_d98a11.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_d98a11));
videozplayer_d98a11.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_d98a11));
videozplayer_d98a11.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_d98a11.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_d98a11.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_d98a11));
/*RESUME_WATCHING_EVENTS-END*/

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

//videozplayer_d98a11.player.volume(0);

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

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

var v_videoviewership_log_zplayer_d98a11 = document.getElementById(“zplayer_d98a11_ga_videoviewership”);
videozplayer_d98a11.player.on(“content_first_quarter”, function(){
// Gọi GA load video
if(v_videoviewership_log_zplayer_d98a11){
send_tracking_video(”, ”, 1691764, 46, ”, ‘pc’, ‘first_quartile’, ”, ”, 5);
}
});
videozplayer_d98a11.player.on(“content_second_quarter”, function(){
// Gọi GA load video
if(v_videoviewership_log_zplayer_d98a11){
// Tao thẻ div để chưa link GA
$(“

“).insertBefore(“#zplayer_d98a11_ga_videoviewership”);
if(document.getElementById(“link_ga_midpoint_zplayer_d98a11″)){
send_tracking_video(”, ”, 1691764, 46, ”, ‘pc’, ‘midpoint’, ”, ”, 5);
}
}
});
videozplayer_d98a11.player.on(“content_third_quarter”, function(){
// Gọi GA load video
if(v_videoviewership_log_zplayer_d98a11){
// Tao thẻ div để chưa link GA
$(“

“).insertBefore(“#zplayer_d98a11_ga_videoviewership”);
if(document.getElementById(“link_ga_third_zplayer_d98a11″)){
send_tracking_video(”, ”, 1691764, 46, ”, ‘pc’, ‘third_quarter’, ”, ”, 5);
}
}
});
videozplayer_d98a11.player.on(“content_complete”, function(){
// Gọi GA load video
if(v_videoviewership_log_zplayer_d98a11){
// Tao thẻ div để chưa link GA
$(“

“).insertBefore(“#zplayer_d98a11_ga_videoviewership”);
if(document.getElementById(“link_ga_complete_zplayer_d98a11″)){
send_tracking_video(”, ”, 1691764, 46, ”, ‘pc’, ‘complete’, ”, ”, 5);
}
}
});
videozplayer_d98a11.player.on(“miniPlayerClosed”, function(){
// Gọi GA load video
if(v_videoviewership_log_zplayer_d98a11){
// Tao thẻ div để chưa link GA
$(“

“).insertBefore(“#zplayer_d98a11_ga_videoviewership”);
if(document.getElementById(“link_ga_mini_close_zplayer_d98a11″)){
send_tracking_video(”, ”, 1691764, 46, ”, ‘pc’, ‘click_close’, ”, ”, 5);
}
}
});

// End 12-12-2018 trungcq XLCYCMHENG_33549_xu_ly_scroll_to_top

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

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

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

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

var v_err_log_1zplayer_d98a11 = document.getElementById(“zplayer_d98a11_ga_error1”);
// các trường hợp mã lỗi của trình duyệt trả về
videozplayer_d98a11.player.on(“MEDIA_ERROR_1″, function (name) {
// Gọi GA load video
if(v_err_log_1zplayer_d98a11){
send_tracking_video(”, ‘none’, 1691764, 0, ”, ‘pc’, ‘error_ERROR_1’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_2zplayer_d98a11 = document.getElementById(“zplayer_d98a11_ga_error2”);
videozplayer_d98a11.player.on(“MEDIA_ERROR_2″, function (name) {
// Gọi GA load video
if(v_err_log_2zplayer_d98a11){
send_tracking_video(”, ‘none’, 1691764, 0, ”, ‘pc’, ‘error_ERROR_2’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_3zplayer_d98a11 = document.getElementById(“zplayer_d98a11_ga_error3”);
videozplayer_d98a11.player.on(“MEDIA_ERROR_3″, function (name) {
// Gọi GA load video
if(v_err_log_3zplayer_d98a11){
send_tracking_video(”, ‘none’, 1691764, 0, ”, ‘pc’, ‘error_ERROR_3’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_4zplayer_d98a11 = document.getElementById(“zplayer_d98a11_ga_error4”);
videozplayer_d98a11.player.on(“MEDIA_ERROR_4″, function (name) {
// Gọi GA load video
if(v_err_log_4zplayer_d98a11){
send_tracking_video(”, ‘none’, 1691764, 0, ”, ‘pc’, ‘error_ERROR_4’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});
var v_err_log_5zplayer_d98a11 = document.getElementById(“zplayer_d98a11_ga_error5”);
videozplayer_d98a11.player.on(“MEDIA_ERROR_5″, function (name) {
// Gọi GA load video
if(v_err_log_5zplayer_d98a11){
send_tracking_video(”, ‘none’, 1691764, 0, ”, ‘pc’, ‘error_ERROR_5’, ‘no’, ‘no’, 1, ‘video_noi_dung’);
}
});

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

“).insertBefore(“#zplayer_d98a11_ga_media_slow_waiting”);

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

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

“).insertBefore(“#zplayer_d98a11_ga_media_slow_waiting”);

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

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

“).insertBefore(“#zplayer_d98a11_ga_media_slow_waiting”);

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

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

“).insertBefore(“#zplayer_d98a11_ga_media_slow_waiting”);

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

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

“).insertBefore(“#zplayer_d98a11_ga_media_slow_waiting”);

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

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

“).insertBefore(“#zplayer_d98a11_ga_media_slow_waiting”);

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

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

“).insertBefore(“#zplayer_d98a11_ga_media_slow_waiting”);

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

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

“).insertBefore(“#zplayer_d98a11_ga_media_slow_waiting”);

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

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

“).insertBefore(“#zplayer_d98a11_ga_media_slow_waiting”);

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

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

“).insertBefore(“#zplayer_d98a11_ga_media_slow_waiting”);

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

videozplayer_d98a11.player.on(“timeupdated”, function () {
if (count_time_update_zplayer_d98a11 < 50) {
count_time_update_zplayer_d98a11++;
// console.log(“AE TIME UPDATE: “+count_time_update_zplayer_d98a11);
}
if(v_load_recommend_boxzplayer_d98a11 && typeof(v_thoi_luong_hien_thi) != “undefined” && v_thoi_luong_hien_thi != “”){
try{
var v_time_current = videozplayer_d98a11.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_d98a11″);
// Gắn HTML vào chuỗi
if(v_html_recomend !=””){
// Nếu tồn tại video highlight
if ($(“#vjs-marker-tableinfo-zplayer_d98a11”).length) {
$(“#vjs-marker-tableinfo-zplayer_d98a11”).after(v_html_recomend);
} else {
if ($(“#zplayer_d98a11_ga_preroll”).length) {
$(“#zplayer_d98a11_ga_preroll”).before(v_html_recomend);
}
}
// Hiển thị dạng slide
if ($(“#box_recommend_zplayer_d98a11”).length) {
$(“#box_recommend_zplayer_d98a11”).show(1000);
setTimeout(function(){
create_slide_page_number_recommend_video_json(“swiper_recommend_v2018zplayer_d98a11”, “swpier_container_zplayer_d98a11″,”swiper_active_slide_zplayer_d98a11”, “pagination-zplayer_d98a11″,”wrapper_zplayer_d98a11”,v_total_page_recommend, “swiper-slide slide_zplayer_d98a11”, “prvVid_recommendzplayer_d98a11”, “nxtVid_recommendzplayer_d98a11”);
$(“#box_recommend_zplayer_d98a11”).css(“height”, “”);
}, 900);
}
}
}
});
}
v_load_recommend_boxzplayer_d98a11 = false;
}
}
}catch(e){
console.log([“Errors”, e]);
}
}
});

videozplayer_d98a11.player.on(“MEDIA_SLOW_WAITING”, function (evt, data) {
//console.log(data.waitTime);
var v_slow_waiting_zplayer_d98a11 = document.getElementById(“zplayer_d98a11_ga_media_slow_waiting”);
if(v_slow_waiting_zplayer_d98a11){
//đổi ms về s
v_so_giay_load = parseInt(data.waitTime/1000);
send_tracking_video(”, ”, 1691764, ”, ”, ”, ‘media_slow_waiting’, ”, ”, 6, v_so_giay_load);
}
//console.log(“listener MEDIA_SLOW_WAITING: “);
});
videozplayer_d98a11.player.on(“MEDIA_SLOW_METADATA”, function (evt, data) {
//console.log(data.waitTime);
var v_slow_metadata_zplayer_d98a11 = document.getElementById(“zplayer_d98a11_ga_media_slow_metadata”);
if(v_slow_metadata_zplayer_d98a11){
//đổi ms về s
v_so_giay_load_metadata = parseInt(data.waitTime/1000);
send_tracking_video(”, ”, 1691764, ”, ”, ”, ‘media_slow_metadata’, ”, ”, 6, v_so_giay_load_metadata);
}
//console.log(“listener MEDIA_SLOW_METADATA: “);
});
videozplayer_d98a11.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(‘NOI_DUNG_NHAY_CAM,NOI_DUNG_NHAY_CAM_AI’, ‘Null’, 1691764, 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_d98a11.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(‘NOI_DUNG_NHAY_CAM,NOI_DUNG_NHAY_CAM_AI’, ‘Null’, 1691764, 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_d98a11.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(‘NOI_DUNG_NHAY_CAM,NOI_DUNG_NHAY_CAM_AI’, ‘Null’, 1691764, 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_d98a11.player.on([
“play”,
“playing”,
“adstart”,
“adplaying”,
], function (evt, data) {

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

});

videozplayer_d98a11.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_d98a11));

videozplayer_d98a11.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_d98a11));

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

});

videozplayer_d98a11.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_d98a11));
videozplayer_d98a11.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_d98a11));
}
videoAdsInitzplayer_d98a11 = true;
}
// Ga video load luôn được chạy
window.addEventListener(“load”, function(){});window.addEventListener(“load”, function(){send_tracking_video(‘NOI_DUNG_NHAY_CAM,NOI_DUNG_NHAY_CAM_AI’, ‘Null’, 1691764, 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_d98a11VpElm = document.getElementById( “zplayer_d98a11” );

var viszplayer_d98a11 = (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_d98a11 = document.getElementById(“v-24hContainer_zplayer_d98a11”);
document.addEventListener(“DOMContentLoaded”, function () {
if(videoAds1Elmzplayer_d98a11){
var videoAdsInitzplayer_d98a11 = false;
var checkTabActivezplayer_d98a11 = setInterval(function () {
if (inViewport(videoAds1Elmzplayer_d98a11) && viszplayer_d98a11() && !videoAdsInitzplayer_d98a11 && typeof(window.videojs) !== “undefined” && (typeof(google) !== “undefined” || adBlockCheckedStatus) && videoObj) {
initvideozplayer_d98a11();
clearInterval(checkTabActivezplayer_d98a11);
}
// 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_d98a11_fix_AdBlockCheck == “undefined”){
setTimeout(function(){
if (typeof adBlockCheckedStatus != “undefined” && !adBlockCheckedStatus){
adBlockCheckedStatus = true;
adBlockEnabled = false;
}
}, 2000);

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

//]]>

//