SvelteKit
SvelteKit layoutining brauzer hayot siklida embed agentni yuklash va tozalash.
SvelteKit layoutining brauzer hayot siklida embed agentni yuklash va tozalash.
Manbani tayyorlash#
Agent uchun joylashtirishni yoqing va SvelteKitʼning ishlab chiqish, oldindan ko‘rish hamda ishlab chiqarish muhitlaridagi har bir aniq manzilini ruxsat etilganlar ro‘yxatiga kiriting. Agent butun sayt bo‘ylab ko‘rinishi uchun asosiy layoutdan, faqat ayrim yo‘nalishlarda ko‘rinishi uchun ichki layout yoki sahifa komponentidan foydalaning.
Komponent yaratish#
onMount faqat brauzerda ishlaydi. Layout yoki komponent yopilishi mumkin bo‘lsa, tozalash funksiyasini qaytaring.
<script lang="ts">
import { onMount } from "svelte";
const slug = "YOUR_SITE_SLUG";
onMount(() => {
if (document.getElementById(`maf-embed-root-${slug}`)) return;
const script = document.createElement("script");
script.id = "maf-agent";
script.src = "https://makeagent.fast/embed.js?v=20260728-widget-v2";
script.dataset.agent = slug;
script.dataset.position = "right";
script.async = true;
document.body.appendChild(script);
return () => {
script.remove();
document.getElementById(`maf-embed-root-${slug}`)?.remove();
};
});
</script>Butun ilova uchun komponentni src/routes/+layout.svelte ichidan bir marta ulang. Muayyan yo‘nalishlar guruhi uchun uni shu guruhning +layout.svelte fayliga joylang; tashrifchi guruhdan chiqqanda tozalash funksiyasi ishga tushiruvchini olib tashlaydi.
Sozlamalardan xavfsiz foydalanish#
Ochiq sayt slugʼi maxfiy maʼlumot emas, shuning uchun uni SvelteKitʼning ochiq muhit o‘zgaruvchisida saqlash mumkin. MAF API kalitlari, AI provayder kalitlari yoki konnektor sirlarini $env/static/public ichiga yoki brauzer kodiga joylamang. Ularni faqat serverda ishlaydigan modul va yo‘nalishlarda saqlang.
Suhbat holatini saqlash yoki yangilash#
Komponent asosiy layoutda tursa, mijoz tomondagi sahifalar almashganda bir xil iframe saqlanadi. Yo‘nalishga bog‘langan tozalash esa iframe va uning joriy sahifadagi holatini ataylab o‘chiradi. Har sahifada qayta ulash o‘rniga shu ikki usuldan birini tanlang.
Ishlab chiqarish buildini tekshirish#
- SvelteKit ishlab chiqarish adapteri/buildini ishga tushiring.
- Ochiq yo‘nalishni to‘g‘ridan-to‘g‘ri yuklab, faqat bitta ishga tushiruvchi va root borligini tekshiring.
- Komponentga egalik qiluvchi layoutga kirib-chiqing.
- Network/CSP holati va ota sahifaning aniq manzilini tekshiring.
- Haqiqiy xabar, tor ekran va yoqilgan bo‘lsa mikrofonni sinang.
Muammolarni hal qilish#
| Muammo | Yechim |
|---|---|
SSR vaqtida document xatosi | Barcha yuklash kodini onMount ichida saqlang |
| Layoutdan chiqqandan keyin ishga tushiruvchi qolib ketadi | Tozalash funksiyasini qaytaring va yaratilgan rootni olib tashlang |
| Har sahifada suhbat yangidan boshlanadi | Doimiy ota +layout.svelte ichida ulang |
| Takroriy ishga tushiruvchidan himoya yangi ulanishni to‘sadi | Yangi skript qo‘shishdan oldin avvalgi tozalash eski rootni o‘chirganiga ishonch hosil qiling |
| Faqat ishlab chiqarishda ishlamaydi | Yakuniy HTTPS manzilini ruxsat etilganlar ro‘yxatiga qo‘shing va adapter CSP sarlavhalarini tekshiring |
Hozircha npm uchun SvelteKit adapteri chiqarilmagan; rasmiy qo‘llab-quvvatlanadigan usul — joylashtirilgan skript.