diff --git a/frontend/dcViewer.css b/frontend/dcViewer.css
index 2d05245..974bab9 100644
--- a/frontend/dcViewer.css
+++ b/frontend/dcViewer.css
@@ -182,6 +182,10 @@ header {
height: 32px;
}
+html.is-embedded-viewer .logo-btn {
+ display: none;
+}
+
.main {
position: relative;
diff --git a/frontend/dcViewer.js b/frontend/dcViewer.js
index 92f08d3..ee9f525 100644
--- a/frontend/dcViewer.js
+++ b/frontend/dcViewer.js
@@ -13,6 +13,22 @@ import "./theme.js?v=3";
import { TransformGizmo } from "./transformGizmo.js";
import { createObjectModal } from "./src/ui/objectModal.js";
+const detectEmbeddedViewer = () => {
+ const params = new URLSearchParams(window.location.search || "");
+ const embeddedParam = params.get("embed") || params.get("embedded") || params.get("iframe");
+ const explicitEmbedded = embeddedParam !== null && !/^(0|false|no|standalone)$/i.test(embeddedParam);
+ let framed = false;
+ try {
+ framed = window.self !== window.top;
+ } catch (_) {
+ framed = true;
+ }
+ return explicitEmbedded || framed;
+};
+
+const embeddedViewer = detectEmbeddedViewer();
+document.documentElement.classList.toggle("is-embedded-viewer", embeddedViewer);
+
const dropZone = document.getElementById("dropZone");
const viewerWrapper = document.querySelector(".viewer-wrapper");
const headerEl = document.querySelector("header");
@@ -5595,7 +5611,7 @@ const initViewer = async () => {
sdkRef = sdk;
const { Viewer, NavCubePlugin, DistanceMeasurementsPlugin, DistanceMeasurementsMouseControl, SectionPlanesPlugin } = sdk;
mathUtil = sdk.math;
- if (headerEl && homeButton && !homeButton.querySelector(".ue-logo")) {
+ if (!embeddedViewer && headerEl && homeButton && !homeButton.querySelector(".ue-logo")) {
const logoEl = createLogo();
homeButton.appendChild(logoEl);
homeButton.title = "Открыть NODE.DC Hub";
diff --git a/frontend/index.html b/frontend/index.html
index 73d95cb..c58a0bf 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -20,6 +20,22 @@
}
}());
+
+