ScaleDent Logo
ScaleDent · Vergütungsrechner
Wirtschaftskompetenz für Zahnarztpraxen.

Vergütungsrechner für die Zahnarztpraxis

Bidirektional: Vom Umsatz zum Brutto – oder vom Zielgehalt zum nötigen Bemessungsumsatz. Für angestellte Zahnärzt:innen und Praxisinhaber:innen, in einem Tool. Ohne Anmeldung, ohne Download.

Einbettung per iframe

Der Rechner meldet seine Höhe automatisch an die Elternseite perpostMessage. Origin-Check empfohlen, damit nur dieser Frame Höhen setzen darf.

React / Next.js

// src/components/ScaleDentCalculator.tsx
"use client";
import { useEffect, useState } from "react";

const SRC = "https://rechner.scaledent.de/rechner?embed=1";

export function ScaleDentCalculator() {
  const [height, setHeight] = useState(1400);

  useEffect(() => {
    const onMessage = (e: MessageEvent) => {
      // Origin-Check verhindert Manipulation durch andere Frames.
      if (e.origin !== "https://rechner.scaledent.de") return;
      if (e.data?.type === "scaledent:resize" && typeof e.data.height === "number") {
        setHeight(e.data.height);
      }
    };
    window.addEventListener("message", onMessage);
    return () => window.removeEventListener("message", onMessage);
  }, []);

  return (
    <iframe
      src={SRC}
      title="ScaleDent Vergütungsrechner"
      loading="lazy"
      style={{
        width: "100%",
        border: 0,
        height,
        display: "block",
        transition: "height 200ms ease",
      }}
    />
  );
}

Plain HTML (WordPress, Webflow, statische Seite)

<iframe
  id="scaledent-calculator"
  src="https://rechner.scaledent.de/rechner?embed=1"
  title="ScaleDent Vergütungsrechner"
  loading="lazy"
  style="width:100%;border:0;height:1400px;display:block;transition:height 200ms ease"
></iframe>
<script>
  window.addEventListener("message", function (e) {
    if (e.origin !== "https://rechner.scaledent.de") return;
    if (e.data && e.data.type === "scaledent:resize" && typeof e.data.height === "number") {
      var f = document.getElementById("scaledent-calculator");
      if (f) f.style.height = e.data.height + "px";
    }
  });
</script>