-
Notifications
You must be signed in to change notification settings - Fork 0
Complete fix for iframe URL sync issues with Wix postMessage integration - Resolves #5 #6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: fix#5
Are you sure you want to change the base?
Conversation
Co-authored-by: gablilli <167802854+gablilli@users.noreply.github.com>
Co-authored-by: gablilli <167802854+gablilli@users.noreply.github.com>
Co-authored-by: gablilli <167802854+gablilli@users.noreply.github.com>
Co-authored-by: gablilli <167802854+gablilli@users.noreply.github.com>
Co-authored-by: gablilli <167802854+gablilli@users.noreply.github.com>
|
@copilot il preloader non va su, sistema. inoltre i tasti sul sito fanno riferimento a tipo gabrielelilli1105.wixstudio.com/bevelle, /valdichiascio ecc. perché è su wix. quindi dovrebbe già andare bene in teoria? |
Co-authored-by: gablilli <167802854+gablilli@users.noreply.github.com>
Ho risolto il problema del preloader! Il bug era nell'index.html - c'era uno script inline malformato che impediva l'esecuzione del JavaScript. Ho ripristinato la struttura corretta con i file esterni Per la tua seconda domanda: hai ragione che i pulsanti Wix usano già percorsi come Il preloader ora dovrebbe andare su dopo 4.8 secondi. ✅ |
@copilot ma non pouoi invece vedere le richieste che fa una pagina e dalì aggiornare url e titolo pagina senza refresh? ad esempio, ecco le richieste che fa al cambio pagina |
|
@copilot ma non pouoi invece vedere le richieste che fa una pagina e dalì aggiornare url e titolo pagina senza refresh? ad esempio, ecco le richieste che fa al cambio pagina tipo qui chiama /embed/mauretta e quindi sono andato su /mauretta |
... Ottima idea! Purtroppo non possiamo:
Però c'è una soluzione alternativa: Potremmo usare il Performance Observer API per monitorare i cambiamenti di risorse caricate: // Monitora le risorse caricate dall'iframe
const observer = new PerformanceObserver((list) => {
for (const entry of list.getEntries()) {
if (entry.name.includes('wixstudio') && entry.name.includes('page')) {
// Rileva cambio pagina dalla URL della risorsa
}
}
});
observer.observe({entryTypes: ['resource']});Ma questo è complesso e inaffidabile. La soluzione migliore rimane modificare il sito Wix per inviare postMessage al parent, oppure creare pagine HTML separate per ogni percorso. Quale preferisci? |
|
@copilot ho messo su wix, quindi fai un qualcosa che lo interpreti |
Co-authored-by: gablilli <167802854+gablilli@users.noreply.github.com>
... Perfetto! Ho aggiornato lo script per gestire i messaggi postMessage da Wix. Ora il codice: ✅ Riceve i messaggi Commit: Come testare:
Se funziona, possiamo rimuovere il tag [WIP] dal PR! |
|
@copilot rimane sempre lo stesso url e lo stesso titolo con le modifiche che hai apportato |
Co-authored-by: gablilli <167802854+gablilli@users.noreply.github.com>
Ho aggiunto logging dettagliato per capire cosa sta succedendo. Lo script ora logga TUTTI i messaggi postMessage ricevuti. Commit: Per favore, fai questo test:
I log mostreranno:
Con questi dettagli posso fixare il problema esatto! |
Perfetto! Ora vedo il problema: nessun messaggio postMessage viene ricevuto quando navighi. Questo significa che il codice Wix con Possibili cause:
Per verificare, per favore:
import wixLocation from 'wix-location';
$w.onReady(() => {
console.log('[WIX] onReady executed'); // Debug log
wixLocation.onChange((location) => {
console.log('[WIX] Location changed to:', location.url); // Debug log
window.parent.postMessage({ url: location.url }, "*");
});
});
Se vedi |
|
@copilot [WIX] onReady executed c'è |
Ottimo! Il codice Wix si sta eseguendo. Ora aggiungi anche il secondo console.log dentro import wixLocation from 'wix-location';
$w.onReady(() => {
console.log('[WIX] onReady executed');
wixLocation.onChange((location) => {
console.log('[WIX] Location changed to:', location.url); // Aggiungi questo
window.parent.postMessage({ url: location.url }, "*");
});
});Poi:
Se vedi quel messaggio, saprò che Wix sta inviando i postMessage e posso fixare il listener. Se NON vedi quel messaggio, significa che |
Latest Debug Update
Added comprehensive logging to diagnose why postMessage events aren't being processed:
New logging includes:
Testing Instructions
Please test and share the console output:
[iframe-url-sync]This will help identify:
Once we see the actual console output, we can fix the exact issue!
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.