Script front non trouvé sur objet externe

Request description

Bonjour,

J’ai un objet externe avec une ressource SCRIPT, mais elle n’est pas trouvée quand j’affiche mon objet externe.

J’ai essayé de debugger un peu, je vois que script = void(0)

try {
                        let reader = new FileReader();
                        reader.onload = evt => {
                            let r, result = evt.target.result;
                            result = result ? result.replace(/^[\t\n\r ]*/, "") : "";
                            try {
                                r = JSON.parse(result);
                            } catch (e) {}
                            if (r && r.type == "topredirect" || result.length > 12 && result.substring(0, 12).toUpperCase() == "TOPREDIRECT:")
                                self.loadURL(ctn, r && r.url ? r.url : result.substring(12), {
                                    target: "_top"
                                });
                            else if (r && r.type == "redirect" || result.length > 9 && result.substring(0, 9).toUpperCase() == "REDIRECT:")
                                self.loadURL(ctn, r && r.url ? r.url : result.substring(9));
                            else if (r && r.type == "javascript" || result.length > 11 && result.substring(0, 11).toLowerCase() == "javascript:") {
                                external(r ? r.script : result.substring(11), r);
                                return;
                            } else if (r && ext == "json")
                                download(res, ext, filename);
                            else {
                                content(result);
                                return;
                            }
                            cbk && cbk();
                        }
                        ;
                        reader.onerror = evt => {
                            throw "Reader error = " + evt.target.error.message;
                        }
                        ;
                        reader.readAsText(res);
                    } catch (e) {
                        $app.error("Error reading " + url + " response as text: " + e.message);
                    }

Dans Network

Y a-t-il un changement avec la 6.1 ?
J’ai essayé aussi avec la ressource CLASS mais j’obtiens le même résultat.

Merci d’avance pour votre aide

[Platform]
Status=OK
Version=6.1.15
BuiltOn=2024-11-22 11:40

Non rien de nouveau à ce niveau.

Quel est le contenu du JS SCRIPT ?
Quel est le type de l’objet externe
etc.

Cf. les exemples de la démo qui fonctionnent

PS: il y a eu un changement sur le typage des objets externes quand le user connecté est SYSTEM_ADMIN=yes (ex: designer). On est revenu en arrière car ça posait pb. Ce retour arrière sera poussé dans la prochaine révision 6.1

En attendant il faut s’assurer que les objet externe de type UI sont configurés comme suit:

D’accord en effet j’avais laissé “Basic”, avec ce paramétrage mon script est bien trouvé.
Merci !

Oui l’inclusion auto des ressources c’est fait pour le type spécialisé composant UI (avec un basique il faudrait l’écrire à l’ancienne)

De manière générale il ne faut plus utiliser le type basique mais un des types spécialisés (c’est déjà le cas en v5).

Sauf pour des cas vraiment très spécifiques (il y a des cas comme ça dans la démo = des objets externes qui peuvent s’utiliser à la fois comme composant UI dans la UI standard ou en page standalone zone publique, mais c’est presque un exercice de style car ce genre d’objets externe “polyvalent” est rarissime)

1 Like

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.