Bản code chính, view tổng quan, thuyết trình tự động, copy đoạn code HTML bên dưới và paste vào module HTML trên trang mong muốn.
<div id=”vr360_container”>
<style>
/* =============================
WRAPPER
============================= */
#vr360_container{
position:relative;
width:100%;
height:100vh;
min-height:400px;
overflow:hidden;
}
/* =============================
VR360 IFRAME
============================= */
#vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
border:none;
}
</style>
<!– =============================
VR360 VIEWER
============================= –>
<iframe id=”vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01″
src=””
frameborder=”0″
scrolling=”no”>
</iframe>
<script>
/* =============================
AUTO LANGUAGE FOR IFRAME
============================= */
(function(){
let baseURL=”https://vr360.thanhagency.com/viewer/index.php?code=6364d3f0f495b6ab9dcf8d3b5c6e0b01″;
const url=window.location.href.toLowerCase();
if(url.includes(“/vi”)){
baseURL+=”&lang=vi_VN”;
}else if(url.includes(“/ko”)){
baseURL+=”&lang=ko_KR”;
}else if(url.includes(“/zh-cn”) || url.includes(“/cn”)){
baseURL+=”&lang=zh_CN”;
}else{
baseURL+=”&lang=en_GB”;
}
document.getElementById(“vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01”).src=baseURL;
})();
/* =============================
VR360 API CONTROL
============================= */
var id_iframe=”vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01″;
var iframe_svt=document.getElementById(id_iframe).contentWindow;
window.addEventListener(“message”,function(evt){
if(evt.data.payload==”initialized”){
document.querySelectorAll(“button”).forEach(btn=>btn.disabled=false);
}
},false);
window.goto_room=function(id_room){
iframe_svt.postMessage({payload:”goto_room”,id_room:id_room},”*”);
};
function goto_next_room(){
iframe_svt.postMessage({payload:”goto_next_room”},”*”);
}
function goto_prev_room(){
iframe_svt.postMessage({payload:”goto_prev_room”},”*”);
}
function goto_room_coordinates(){
const lat=document.getElementById(“latitude”).value;
const lon=document.getElementById(“longitude”).value;
iframe_svt.postMessage({
payload:”goto_room_coordinates”,
coordinates:[lat,lon]
},”*”);
}
window.addEventListener(“message”,function(evt){
if(evt.data.payload===”initialized”){
const params=new URLSearchParams(window.location.search);
const roomParam=params.get(“room”);
if(roomParam) goto_room(roomParam);
document.querySelectorAll(‘a[href*=”?room=”]’).forEach(link=>{
link.addEventListener(‘click’,e=>{
const url=new URL(link.href,window.location.origin);
const menuRoom=url.searchParams.get(“room”);
if(window.location.pathname===url.pathname){
e.preventDefault();
goto_room(menuRoom);
}
});
});
}
},false);
</script>
</div>
Xem demo cách hoạt động tại đây: https://xelo360.com/en/the-grand-ho-tram-360-demo/
Tiếng Anh: https://thegrandhotram.com/360
Tiếng Việt: https://thegrandhotram.com/vi/360
Tiếng Hàn: https://thegrandhotram.com/ko/360
Tiếng Trung: https://thegrandhotram.com/zh-cn/360
(360 Tự động nhận diện ngôn ngữ theo URL có chứa /vi /ko /zh-cn, Nếu URL không chứa 1 trong 3 ngôn ngữ vi ko zh-cn thì 360 mặc định sẽ là tiếng Anh.)
360 https://thegrandhotram.com/360/
-Ixoar Beach Villa https://thegrandhotram.com/360/?room=275
-Ixoar Penthouse https://thegrandhotram.com/360/?room=286
-Ixoar 1 Bedroom Balcony Residences https://thegrandhotram.com/360/?room=291
-Holiday Standard Room Oceanview https://thegrandhotram.com/360/?room=296
-Holiday Standard Cabana SMK Oceanview https://thegrandhotram.com/360/?room=299
-Holiday 2 Bedroom Suite Marine Theme Oceanview https://thegrandhotram.com/360/?room=302
-InterCon 1 King 2 Single Royal Suit https://thegrandhotram.com/360/?room=307
-InterCon 1 Kingbed Classic OceanView https://thegrandhotram.com/360/?room=311
-InterCon One King 1 Bedroom Golf View https://thegrandhotram.com/360/?room=318
Quy tắc tạo link là link trang được gắn 360 + mã phòng tương ứng.
Ví dụ khi visitor click menu có title là Ixora Beach Villa có link là https://thegrandhotram.com/360/?room=275 thì trang https://thegrandhotram.com/360/ sẽ hiển thị và tự chuyển cảnh đến Ixora Beach Villa.
Khi Visitor đang ở trang 360 và click vào 1 trong các dòng menu trên thì trang 360 sẽ ko reload mà chỉ chuyển cảnh.
Chỉ cần gắn HTML vào trang https://thegrandhotram.com/360/ là được, không cần tạo ra 9 page con tương ứng.
360 https://thegrandhotram.com/vi/360/
-Ixoar Beach Villa https://thegrandhotram.com/vi/360/?room=275-Ixoar Penthouse https://thegrandhotram.com/vi/360/?room=286
-Ixoar 1 Bedroom Balcony Residences https://thegrandhotram.com/vi/360/?room=291
-Holiday Standard Room Oceanview https://thegrandhotram.com/vi/360/?room=296
-Holiday Standard Cabana SMK Oceanview https://thegrandhotram.com/vi/360/?room=299
-Holiday 2 Bedroom Suite Marine Theme Oceanview https://thegrandhotram.com/vi/360/?room=302
-InterCon 1 King 2 Single Royal Suit https://thegrandhotram.com/vi/360/?room=307
-InterCon 1 Kingbed Classic OceanView https://thegrandhotram.com/vi/360/?room=311
-InterCon One King 1 Bedroom Golf View https://thegrandhotram.com/vi/360/?room=318
360 https://thegrandhotram.com/ko/360/
-Ixoar Beach Villa https://thegrandhotram.com/ko/360/?room=275
-Ixoar Penthouse https://thegrandhotram.com/ko/360/?room=286
-Ixoar 1 Bedroom Balcony Residences https://thegrandhotram.com/ko/360/?room=291
-Holiday Standard Room Oceanview https://thegrandhotram.com/ko/360/?room=296
-Holiday Standard Cabana SMK Oceanview https://thegrandhotram.com/ko/360/?room=299
-Holiday 2 Bedroom Suite Marine Theme Oceanview https://thegrandhotram.com/ko/360/?room=302
-InterCon 1 King 2 Single Royal Suit https://thegrandhotram.com/ko/360/?room=307
-InterCon 1 Kingbed Classic OceanView https://thegrandhotram.com/ko/360/?room=311
-InterCon One King 1 Bedroom Golf View https://thegrandhotram.com/ko/360/?room=318
360 https://thegrandhotram.com/zh-cn/360/
-Ixoar Beach Villa https://thegrandhotram.com/zh-cn/360/?room=275
-Ixoar Penthouse https://thegrandhotram.com/zh-cn/360/?room=286
-Ixoar 1 Bedroom Balcony Residences https://thegrandhotram.com/zh-cn/360/?room=291
-Holiday Standard Room Oceanview https://thegrandhotram.com/zh-cn/360/?room=296
-Holiday Standard Cabana SMK Oceanview https://thegrandhotram.com/zh-cn/360/?room=299
-Holiday 2 Bedroom Suite Marine Theme Oceanview https://thegrandhotram.com/zh-cn/360/?room=302
-InterCon 1 King 2 Single Royal Suit https://thegrandhotram.com/zh-cn/360/?room=307
-InterCon 1 Kingbed Classic OceanView https://thegrandhotram.com/zh-cn/360/?room=311
-InterCon One King 1 Bedroom Golf View https://thegrandhotram.com/zh-cn/360/?room=318
Link demo: https://xelo360.com/en/the-grand-ho-tram-360-demo-room/
Tạo 1 module HTML trong từng trang hạng phòng và copy paste code HTML tương ứng (không cần để ý ngôn ngữ).
<!– viewer embed code Ixora Beach Villa !–>
<style>
/* Mặc định cho máy tính (desktop) */
#vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01 {
width: 100%;
height: 100vh;
border: none;
max-width: 100%;
}
/* Mobile (màn hình nhỏ hơn 768px) */
@media (max-width: 768px) {
#vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01 {
height: 80vh;
}
}
</style>
<iframe id=”vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01″
src=””
frameborder=”0″
marginwidth=”0″
marginheight=”0″
scrolling=”no”>
</iframe>
<script>
(function() {
let baseURL = “https://vr360.thanhagency.com/viewer/index.php?code=6364d3f0f495b6ab9dcf8d3b5c6e0b01&room=275”;
const url = window.location.href.toLowerCase();
if (url.includes(“/vi”)) {
baseURL += “&lang=vi_VN”;
} else if (url.includes(“/ko”)) {
baseURL += “&lang=ko_KR”;
} else if (url.includes(“/zh-cn”) || url.includes(“/cn”)) {
baseURL += “&lang=zh_CN”;
} else {
// Ngôn ngữ mặc định
baseURL += “&lang=en_GB”;
}
document.getElementById(“vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01”).src = baseURL;
})();
</script>
<script>
var id_iframe = “vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01”;
var iframe_svt = document.getElementById(id_iframe).contentWindow;
window.addEventListener(“message”, function(evt) {
if(evt.data.payload==”initialized”) {
//Tour initialized -> enable buttons
document.querySelectorAll(“button”).forEach(btn => btn.disabled = false);
}
}, false);
// =============================
// PHẦN XỬ LÝ ROOM
// =============================
window.goto_room = function(id_room) {
iframe_svt.postMessage({ payload: “goto_room”, id_room: id_room }, “*”);
};
function goto_next_room() {
iframe_svt.postMessage({ payload: “goto_next_room” }, “*”);
}
function goto_prev_room() {
iframe_svt.postMessage({ payload: “goto_prev_room” }, “*”);
}
function goto_room_coordinates() {
const lat = document.getElementById(“latitude”).value;
const lon = document.getElementById(“longitude”).value;
iframe_svt.postMessage({ payload:”goto_room_coordinates”, coordinates:[lat,lon] }, “*”);
}
// =============================
// AUTO-RUN ROOM FROM URL
// =============================
window.addEventListener(“message”, function(evt) {
if (evt.data.payload === “initialized”) {
const params = new URLSearchParams(window.location.search);
const roomParam = params.get(“room”);
if (roomParam) goto_room(roomParam);
// Hook menu items ?room=xxx
document.querySelectorAll(‘a[href*=”?room=”]’).forEach(link => {
link.addEventListener(‘click’, e => {
const url = new URL(link.href, window.location.origin);
const menuRoom = url.searchParams.get(“room”);
if (window.location.pathname === url.pathname) {
e.preventDefault();
goto_room(menuRoom);
}
});
});
}
}, false);
</script>
<!– viewer embed code Ixora Penthouse !–>
<style>
/* Mặc định cho máy tính (desktop) */
#vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01 {
width: 100%;
height: 100vh;
border: none;
max-width: 100%;
}
/* Mobile (màn hình nhỏ hơn 768px) */
@media (max-width: 768px) {
#vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01 {
height: 80vh;
}
}
</style>
<iframe id=”vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01″
src=””
frameborder=”0″
marginwidth=”0″
marginheight=”0″
scrolling=”no”>
</iframe>
<script>
(function() {
let baseURL = “https://vr360.thanhagency.com/viewer/index.php?code=6364d3f0f495b6ab9dcf8d3b5c6e0b01&room=286”;
const url = window.location.href.toLowerCase();
if (url.includes(“/vi”)) {
baseURL += “&lang=vi_VN”;
} else if (url.includes(“/ko”)) {
baseURL += “&lang=ko_KR”;
} else if (url.includes(“/zh-cn”) || url.includes(“/cn”)) {
baseURL += “&lang=zh_CN”;
} else {
// Ngôn ngữ mặc định
baseURL += “&lang=en_GB”;
}
document.getElementById(“vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01”).src = baseURL;
})();
</script>
<script>
var id_iframe = “vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01”;
var iframe_svt = document.getElementById(id_iframe).contentWindow;
window.addEventListener(“message”, function(evt) {
if(evt.data.payload==”initialized”) {
//Tour initialized -> enable buttons
document.querySelectorAll(“button”).forEach(btn => btn.disabled = false);
}
}, false);
// =============================
// PHẦN XỬ LÝ ROOM
// =============================
window.goto_room = function(id_room) {
iframe_svt.postMessage({ payload: “goto_room”, id_room: id_room }, “*”);
};
function goto_next_room() {
iframe_svt.postMessage({ payload: “goto_next_room” }, “*”);
}
function goto_prev_room() {
iframe_svt.postMessage({ payload: “goto_prev_room” }, “*”);
}
function goto_room_coordinates() {
const lat = document.getElementById(“latitude”).value;
const lon = document.getElementById(“longitude”).value;
iframe_svt.postMessage({ payload:”goto_room_coordinates”, coordinates:[lat,lon] }, “*”);
}
// =============================
// AUTO-RUN ROOM FROM URL
// =============================
window.addEventListener(“message”, function(evt) {
if (evt.data.payload === “initialized”) {
const params = new URLSearchParams(window.location.search);
const roomParam = params.get(“room”);
if (roomParam) goto_room(roomParam);
// Hook menu items ?room=xxx
document.querySelectorAll(‘a[href*=”?room=”]’).forEach(link => {
link.addEventListener(‘click’, e => {
const url = new URL(link.href, window.location.origin);
const menuRoom = url.searchParams.get(“room”);
if (window.location.pathname === url.pathname) {
e.preventDefault();
goto_room(menuRoom);
}
});
});
}
}, false);
</script>
<!– viewer embed codeIxora 1 Bedroom Balcony Residences !–>
<style>
/* Mặc định cho máy tính (desktop) */
#vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01 {
width: 100%;
height: 100vh;
border: none;
max-width: 100%;
}
/* Mobile (màn hình nhỏ hơn 768px) */
@media (max-width: 768px) {
#vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01 {
height: 80vh;
}
}
</style>
<iframe id=”vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01″
src=””
frameborder=”0″
marginwidth=”0″
marginheight=”0″
scrolling=”no”>
</iframe>
<script>
(function() {
let baseURL = “https://vr360.thanhagency.com/viewer/index.php?code=6364d3f0f495b6ab9dcf8d3b5c6e0b01&room=291”;
const url = window.location.href.toLowerCase();
if (url.includes(“/vi”)) {
baseURL += “&lang=vi_VN”;
} else if (url.includes(“/ko”)) {
baseURL += “&lang=ko_KR”;
} else if (url.includes(“/zh-cn”) || url.includes(“/cn”)) {
baseURL += “&lang=zh_CN”;
} else {
// Ngôn ngữ mặc định
baseURL += “&lang=en_GB”;
}
document.getElementById(“vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01”).src = baseURL;
})();
</script>
<script>
var id_iframe = “vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01”;
var iframe_svt = document.getElementById(id_iframe).contentWindow;
window.addEventListener(“message”, function(evt) {
if(evt.data.payload==”initialized”) {
//Tour initialized -> enable buttons
document.querySelectorAll(“button”).forEach(btn => btn.disabled = false);
}
}, false);
// =============================
// PHẦN XỬ LÝ ROOM
// =============================
window.goto_room = function(id_room) {
iframe_svt.postMessage({ payload: “goto_room”, id_room: id_room }, “*”);
};
function goto_next_room() {
iframe_svt.postMessage({ payload: “goto_next_room” }, “*”);
}
function goto_prev_room() {
iframe_svt.postMessage({ payload: “goto_prev_room” }, “*”);
}
function goto_room_coordinates() {
const lat = document.getElementById(“latitude”).value;
const lon = document.getElementById(“longitude”).value;
iframe_svt.postMessage({ payload:”goto_room_coordinates”, coordinates:[lat,lon] }, “*”);
}
// =============================
// AUTO-RUN ROOM FROM URL
// =============================
window.addEventListener(“message”, function(evt) {
if (evt.data.payload === “initialized”) {
const params = new URLSearchParams(window.location.search);
const roomParam = params.get(“room”);
if (roomParam) goto_room(roomParam);
// Hook menu items ?room=xxx
document.querySelectorAll(‘a[href*=”?room=”]’).forEach(link => {
link.addEventListener(‘click’, e => {
const url = new URL(link.href, window.location.origin);
const menuRoom = url.searchParams.get(“room”);
if (window.location.pathname === url.pathname) {
e.preventDefault();
goto_room(menuRoom);
}
});
});
}
}, false);
</script>
<!– viewer embed code Holiday Standard Room Oceanview !–>
<style>
/* Mặc định cho máy tính (desktop) */
#vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01 {
width: 100%;
height: 100vh;
border: none;
max-width: 100%;
}
/* Mobile (màn hình nhỏ hơn 768px) */
@media (max-width: 768px) {
#vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01 {
height: 80vh;
}
}
</style>
<iframe id=”vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01″
src=””
frameborder=”0″
marginwidth=”0″
marginheight=”0″
scrolling=”no”>
</iframe>
<script>
(function() {
let baseURL = “https://vr360.thanhagency.com/viewer/index.php?code=6364d3f0f495b6ab9dcf8d3b5c6e0b01&room=296”;
const url = window.location.href.toLowerCase();
if (url.includes(“/vi”)) {
baseURL += “&lang=vi_VN”;
} else if (url.includes(“/ko”)) {
baseURL += “&lang=ko_KR”;
} else if (url.includes(“/zh-cn”) || url.includes(“/cn”)) {
baseURL += “&lang=zh_CN”;
} else {
// Ngôn ngữ mặc định
baseURL += “&lang=en_GB”;
}
document.getElementById(“vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01”).src = baseURL;
})();
</script>
<script>
var id_iframe = “vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01”;
var iframe_svt = document.getElementById(id_iframe).contentWindow;
window.addEventListener(“message”, function(evt) {
if(evt.data.payload==”initialized”) {
//Tour initialized -> enable buttons
document.querySelectorAll(“button”).forEach(btn => btn.disabled = false);
}
}, false);
// =============================
// PHẦN XỬ LÝ ROOM
// =============================
window.goto_room = function(id_room) {
iframe_svt.postMessage({ payload: “goto_room”, id_room: id_room }, “*”);
};
function goto_next_room() {
iframe_svt.postMessage({ payload: “goto_next_room” }, “*”);
}
function goto_prev_room() {
iframe_svt.postMessage({ payload: “goto_prev_room” }, “*”);
}
function goto_room_coordinates() {
const lat = document.getElementById(“latitude”).value;
const lon = document.getElementById(“longitude”).value;
iframe_svt.postMessage({ payload:”goto_room_coordinates”, coordinates:[lat,lon] }, “*”);
}
// =============================
// AUTO-RUN ROOM FROM URL
// =============================
window.addEventListener(“message”, function(evt) {
if (evt.data.payload === “initialized”) {
const params = new URLSearchParams(window.location.search);
const roomParam = params.get(“room”);
if (roomParam) goto_room(roomParam);
// Hook menu items ?room=xxx
document.querySelectorAll(‘a[href*=”?room=”]’).forEach(link => {
link.addEventListener(‘click’, e => {
const url = new URL(link.href, window.location.origin);
const menuRoom = url.searchParams.get(“room”);
if (window.location.pathname === url.pathname) {
e.preventDefault();
goto_room(menuRoom);
}
});
});
}
}, false);
</script>
<!– viewer embed code Holiday Standard Cabana SMK Ocean View !–>
<style>
/* Mặc định cho máy tính (desktop) */
#vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01 {
width: 100%;
height: 100vh;
border: none;
max-width: 100%;
}
/* Mobile (màn hình nhỏ hơn 768px) */
@media (max-width: 768px) {
#vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01 {
height: 80vh;
}
}
</style>
<iframe id=”vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01″
src=””
frameborder=”0″
marginwidth=”0″
marginheight=”0″
scrolling=”no”>
</iframe>
<script>
(function() {
let baseURL = “https://vr360.thanhagency.com/viewer/index.php?code=6364d3f0f495b6ab9dcf8d3b5c6e0b01&room=299”;
const url = window.location.href.toLowerCase();
if (url.includes(“/vi”)) {
baseURL += “&lang=vi_VN”;
} else if (url.includes(“/ko”)) {
baseURL += “&lang=ko_KR”;
} else if (url.includes(“/zh-cn”) || url.includes(“/cn”)) {
baseURL += “&lang=zh_CN”;
} else {
// Ngôn ngữ mặc định
baseURL += “&lang=en_GB”;
}
document.getElementById(“vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01”).src = baseURL;
})();
</script>
<script>
var id_iframe = “vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01”;
var iframe_svt = document.getElementById(id_iframe).contentWindow;
window.addEventListener(“message”, function(evt) {
if(evt.data.payload==”initialized”) {
//Tour initialized -> enable buttons
document.querySelectorAll(“button”).forEach(btn => btn.disabled = false);
}
}, false);
// =============================
// PHẦN XỬ LÝ ROOM
// =============================
window.goto_room = function(id_room) {
iframe_svt.postMessage({ payload: “goto_room”, id_room: id_room }, “*”);
};
function goto_next_room() {
iframe_svt.postMessage({ payload: “goto_next_room” }, “*”);
}
function goto_prev_room() {
iframe_svt.postMessage({ payload: “goto_prev_room” }, “*”);
}
function goto_room_coordinates() {
const lat = document.getElementById(“latitude”).value;
const lon = document.getElementById(“longitude”).value;
iframe_svt.postMessage({ payload:”goto_room_coordinates”, coordinates:[lat,lon] }, “*”);
}
// =============================
// AUTO-RUN ROOM FROM URL
// =============================
window.addEventListener(“message”, function(evt) {
if (evt.data.payload === “initialized”) {
const params = new URLSearchParams(window.location.search);
const roomParam = params.get(“room”);
if (roomParam) goto_room(roomParam);
// Hook menu items ?room=xxx
document.querySelectorAll(‘a[href*=”?room=”]’).forEach(link => {
link.addEventListener(‘click’, e => {
const url = new URL(link.href, window.location.origin);
const menuRoom = url.searchParams.get(“room”);
if (window.location.pathname === url.pathname) {
e.preventDefault();
goto_room(menuRoom);
}
});
});
}
}, false);
</script>
<!– viewer embed code Holiday 2 Bedroom Suite Marine Theme Ocean View !–>
<style>
/* Mặc định cho máy tính (desktop) */
#vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01 {
width: 100%;
height: 100vh;
border: none;
max-width: 100%;
}
/* Mobile (màn hình nhỏ hơn 768px) */
@media (max-width: 768px) {
#vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01 {
height: 80vh;
}
}
</style>
<iframe id=”vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01″
src=””
frameborder=”0″
marginwidth=”0″
marginheight=”0″
scrolling=”no”>
</iframe>
<script>
(function() {
let baseURL = “https://vr360.thanhagency.com/viewer/index.php?code=6364d3f0f495b6ab9dcf8d3b5c6e0b01&room=302”;
const url = window.location.href.toLowerCase();
if (url.includes(“/vi”)) {
baseURL += “&lang=vi_VN”;
} else if (url.includes(“/ko”)) {
baseURL += “&lang=ko_KR”;
} else if (url.includes(“/zh-cn”) || url.includes(“/cn”)) {
baseURL += “&lang=zh_CN”;
} else {
// Ngôn ngữ mặc định
baseURL += “&lang=en_GB”;
}
document.getElementById(“vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01”).src = baseURL;
})();
</script>
<script>
var id_iframe = “vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01”;
var iframe_svt = document.getElementById(id_iframe).contentWindow;
window.addEventListener(“message”, function(evt) {
if(evt.data.payload==”initialized”) {
//Tour initialized -> enable buttons
document.querySelectorAll(“button”).forEach(btn => btn.disabled = false);
}
}, false);
// =============================
// PHẦN XỬ LÝ ROOM
// =============================
window.goto_room = function(id_room) {
iframe_svt.postMessage({ payload: “goto_room”, id_room: id_room }, “*”);
};
function goto_next_room() {
iframe_svt.postMessage({ payload: “goto_next_room” }, “*”);
}
function goto_prev_room() {
iframe_svt.postMessage({ payload: “goto_prev_room” }, “*”);
}
function goto_room_coordinates() {
const lat = document.getElementById(“latitude”).value;
const lon = document.getElementById(“longitude”).value;
iframe_svt.postMessage({ payload:”goto_room_coordinates”, coordinates:[lat,lon] }, “*”);
}
// =============================
// AUTO-RUN ROOM FROM URL
// =============================
window.addEventListener(“message”, function(evt) {
if (evt.data.payload === “initialized”) {
const params = new URLSearchParams(window.location.search);
const roomParam = params.get(“room”);
if (roomParam) goto_room(roomParam);
// Hook menu items ?room=xxx
document.querySelectorAll(‘a[href*=”?room=”]’).forEach(link => {
link.addEventListener(‘click’, e => {
const url = new URL(link.href, window.location.origin);
const menuRoom = url.searchParams.get(“room”);
if (window.location.pathname === url.pathname) {
e.preventDefault();
goto_room(menuRoom);
}
});
});
}
}, false);
</script>
<!– viewer embed code InterCon 1 King 2 Single Royal Suit !–>
<style>
/* Mặc định cho máy tính (desktop) */
#vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01 {
width: 100%;
height: 100vh;
border: none;
max-width: 100%;
}
/* Mobile (màn hình nhỏ hơn 768px) */
@media (max-width: 768px) {
#vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01 {
height: 80vh;
}
}
</style>
<iframe id=”vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01″
src=””
frameborder=”0″
marginwidth=”0″
marginheight=”0″
scrolling=”no”>
</iframe>
<script>
(function() {
let baseURL = “https://vr360.thanhagency.com/viewer/index.php?code=6364d3f0f495b6ab9dcf8d3b5c6e0b01&room=307”;
const url = window.location.href.toLowerCase();
if (url.includes(“/vi”)) {
baseURL += “&lang=vi_VN”;
} else if (url.includes(“/ko”)) {
baseURL += “&lang=ko_KR”;
} else if (url.includes(“/zh-cn”) || url.includes(“/cn”)) {
baseURL += “&lang=zh_CN”;
} else {
// Ngôn ngữ mặc định
baseURL += “&lang=en_GB”;
}
document.getElementById(“vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01”).src = baseURL;
})();
</script>
<script>
var id_iframe = “vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01”;
var iframe_svt = document.getElementById(id_iframe).contentWindow;
window.addEventListener(“message”, function(evt) {
if(evt.data.payload==”initialized”) {
//Tour initialized -> enable buttons
document.querySelectorAll(“button”).forEach(btn => btn.disabled = false);
}
}, false);
// =============================
// PHẦN XỬ LÝ ROOM
// =============================
window.goto_room = function(id_room) {
iframe_svt.postMessage({ payload: “goto_room”, id_room: id_room }, “*”);
};
function goto_next_room() {
iframe_svt.postMessage({ payload: “goto_next_room” }, “*”);
}
function goto_prev_room() {
iframe_svt.postMessage({ payload: “goto_prev_room” }, “*”);
}
function goto_room_coordinates() {
const lat = document.getElementById(“latitude”).value;
const lon = document.getElementById(“longitude”).value;
iframe_svt.postMessage({ payload:”goto_room_coordinates”, coordinates:[lat,lon] }, “*”);
}
// =============================
// AUTO-RUN ROOM FROM URL
// =============================
window.addEventListener(“message”, function(evt) {
if (evt.data.payload === “initialized”) {
const params = new URLSearchParams(window.location.search);
const roomParam = params.get(“room”);
if (roomParam) goto_room(roomParam);
// Hook menu items ?room=xxx
document.querySelectorAll(‘a[href*=”?room=”]’).forEach(link => {
link.addEventListener(‘click’, e => {
const url = new URL(link.href, window.location.origin);
const menuRoom = url.searchParams.get(“room”);
if (window.location.pathname === url.pathname) {
e.preventDefault();
goto_room(menuRoom);
}
});
});
}
}, false);
</script>
<!– viewer embed code InterCon 1 Kingbed Classic OceanView !–>
<style>
/* Mặc định cho máy tính (desktop) */
#vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01 {
width: 100%;
height: 100vh;
border: none;
max-width: 100%;
}
/* Mobile (màn hình nhỏ hơn 768px) */
@media (max-width: 768px) {
#vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01 {
height: 80vh;
}
}
</style>
<iframe id=”vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01″
src=””
frameborder=”0″
marginwidth=”0″
marginheight=”0″
scrolling=”no”>
</iframe>
<script>
(function() {
let baseURL = “https://vr360.thanhagency.com/viewer/index.php?code=6364d3f0f495b6ab9dcf8d3b5c6e0b01&room=311”;
const url = window.location.href.toLowerCase();
if (url.includes(“/vi”)) {
baseURL += “&lang=vi_VN”;
} else if (url.includes(“/ko”)) {
baseURL += “&lang=ko_KR”;
} else if (url.includes(“/zh-cn”) || url.includes(“/cn”)) {
baseURL += “&lang=zh_CN”;
} else {
// Ngôn ngữ mặc định
baseURL += “&lang=en_GB”;
}
document.getElementById(“vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01”).src = baseURL;
})();
</script>
<script>
var id_iframe = “vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01”;
var iframe_svt = document.getElementById(id_iframe).contentWindow;
window.addEventListener(“message”, function(evt) {
if(evt.data.payload==”initialized”) {
//Tour initialized -> enable buttons
document.querySelectorAll(“button”).forEach(btn => btn.disabled = false);
}
}, false);
// =============================
// PHẦN XỬ LÝ ROOM
// =============================
window.goto_room = function(id_room) {
iframe_svt.postMessage({ payload: “goto_room”, id_room: id_room }, “*”);
};
function goto_next_room() {
iframe_svt.postMessage({ payload: “goto_next_room” }, “*”);
}
function goto_prev_room() {
iframe_svt.postMessage({ payload: “goto_prev_room” }, “*”);
}
function goto_room_coordinates() {
const lat = document.getElementById(“latitude”).value;
const lon = document.getElementById(“longitude”).value;
iframe_svt.postMessage({ payload:”goto_room_coordinates”, coordinates:[lat,lon] }, “*”);
}
// =============================
// AUTO-RUN ROOM FROM URL
// =============================
window.addEventListener(“message”, function(evt) {
if (evt.data.payload === “initialized”) {
const params = new URLSearchParams(window.location.search);
const roomParam = params.get(“room”);
if (roomParam) goto_room(roomParam);
// Hook menu items ?room=xxx
document.querySelectorAll(‘a[href*=”?room=”]’).forEach(link => {
link.addEventListener(‘click’, e => {
const url = new URL(link.href, window.location.origin);
const menuRoom = url.searchParams.get(“room”);
if (window.location.pathname === url.pathname) {
e.preventDefault();
goto_room(menuRoom);
}
});
});
}
}, false);
</script>
<!– viewer embed code InterCon One King 1 Bedroom Golf View !–>
<style>
/* Mặc định cho máy tính (desktop) */
#vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01 {
width: 100%;
height: 100vh;
border: none;
max-width: 100%;
}
/* Mobile (màn hình nhỏ hơn 768px) */
@media (max-width: 768px) {
#vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01 {
height: 80vh;
}
}
</style>
<iframe id=”vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01″
src=””
frameborder=”0″
marginwidth=”0″
marginheight=”0″
scrolling=”no”>
</iframe>
<script>
(function() {
let baseURL = “https://vr360.thanhagency.com/viewer/index.php?code=6364d3f0f495b6ab9dcf8d3b5c6e0b01&room=318”;
const url = window.location.href.toLowerCase();
if (url.includes(“/vi”)) {
baseURL += “&lang=vi_VN”;
} else if (url.includes(“/ko”)) {
baseURL += “&lang=ko_KR”;
} else if (url.includes(“/zh-cn”) || url.includes(“/cn”)) {
baseURL += “&lang=zh_CN”;
} else {
// Ngôn ngữ mặc định
baseURL += “&lang=en_GB”;
}
document.getElementById(“vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01”).src = baseURL;
})();
</script>
<script>
var id_iframe = “vt_iframe_6364d3f0f495b6ab9dcf8d3b5c6e0b01”;
var iframe_svt = document.getElementById(id_iframe).contentWindow;
window.addEventListener(“message”, function(evt) {
if(evt.data.payload==”initialized”) {
//Tour initialized -> enable buttons
document.querySelectorAll(“button”).forEach(btn => btn.disabled = false);
}
}, false);
// =============================
// PHẦN XỬ LÝ ROOM
// =============================
window.goto_room = function(id_room) {
iframe_svt.postMessage({ payload: “goto_room”, id_room: id_room }, “*”);
};
function goto_next_room() {
iframe_svt.postMessage({ payload: “goto_next_room” }, “*”);
}
function goto_prev_room() {
iframe_svt.postMessage({ payload: “goto_prev_room” }, “*”);
}
function goto_room_coordinates() {
const lat = document.getElementById(“latitude”).value;
const lon = document.getElementById(“longitude”).value;
iframe_svt.postMessage({ payload:”goto_room_coordinates”, coordinates:[lat,lon] }, “*”);
}
// =============================
// AUTO-RUN ROOM FROM URL
// =============================
window.addEventListener(“message”, function(evt) {
if (evt.data.payload === “initialized”) {
const params = new URLSearchParams(window.location.search);
const roomParam = params.get(“room”);
if (roomParam) goto_room(roomParam);
// Hook menu items ?room=xxx
document.querySelectorAll(‘a[href*=”?room=”]’).forEach(link => {
link.addEventListener(‘click’, e => {
const url = new URL(link.href, window.location.origin);
const menuRoom = url.searchParams.get(“room”);
if (window.location.pathname === url.pathname) {
e.preventDefault();
goto_room(menuRoom);
}
});
});
}
}, false);
</script>
Build skills for today, tomorrow, and beyond. Education to future-proof your career.
Please enter keywords