1
0

Refactor and enhance various HTML pages with updated links, improved styles, and optimized JavaScript functionality

- Updated badge styles in culture.html for better visual consistency and added backdrop-filter support.
- Introduced a fallback panel for the map in index.html with enhanced styles and responsive design.
- Changed links in product_ecommerce_freight_booking.html, product_full_logistics_chain_cargo_agent.html, product_full_logistics_chain_platform.html, product_full_logistics_chain_ship_agent.html, product_port_cdi_container.html, product_shipping_boat.html, product_shipping_company.html to point to new URLs with query parameters.
- Improved scroll reveal functionality in solution_inland_river_shipping.html, solution_logistics_chain.html, solution_port_supply_chain.html, and solution_supply_chain.html by replacing forEach with a traditional for loop for better performance.
This commit is contained in:
2026-04-20 15:59:09 +08:00
parent 8200b1f948
commit 9938e484bd
31 changed files with 1438 additions and 1964 deletions

47
assets/js/map3d-loader.js Normal file
View File

@@ -0,0 +1,47 @@
(function () {
"use strict";
function supportsModuleScripts() {
var script = document.createElement("script");
return "noModule" in script;
}
function supportsWebGL() {
try {
var canvas = document.createElement("canvas");
return !!(window.WebGLRenderingContext && (canvas.getContext("webgl") || canvas.getContext("experimental-webgl")));
} catch (err) {
return false;
}
}
function bootstrapMapModule() {
var map = document.getElementById("map");
var script;
if (!map || map.getAttribute("data-map-module-loaded") === "true") {
return;
}
if (!supportsModuleScripts() || !supportsWebGL() || typeof Promise === "undefined" || typeof fetch === "undefined") {
return;
}
map.setAttribute("data-map-module-loaded", "true");
script = document.createElement("script");
script.type = "module";
script.src = "assets/js/map3d.js";
script.onerror = function () {
map.removeAttribute("data-map-module-loaded");
};
document.body.appendChild(script);
}
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", bootstrapMapModule);
} else {
bootstrapMapModule();
}
}());