Intègre TOUS les lecteurs pour Instagram, Facebook, Twitter, TikTok, Webmshare, (et 50 autres) sur JVC.
Salut khey merci pour ton retour. Oui je me suis rendu compte hier en installant tampermonkey que ça affichait un message d'avertissement à chaque fois, je pensais que le "connect *" allait résoudre ça mais ça a pas l'air de marcher
Je m'étais posé la question et je vois pas trop comment résoudre sans mis à part mettre un gros paté avec un "connect" pour chaque domaine
Mais le pb c'est que mon script fait des requêtes génériques pour les liens vers des articles et je peux pas savoir à l'avance quels vont être les domaines de ces articles ça embete pour mettre les connect
Salut khey merci pour ton retour. Oui je me suis rendu compte hier en installant tampermonkey que ça affichait un message d'avertissement à chaque fois, je pensais que le "connect *" allait résoudre ça mais ça a pas l'air de marcherJe m'étais posé la question et je vois pas trop comment résoudre sans mis à part mettre un gros paté avec un "connect" pour chaque domaineMais le pb c'est que mon script fait des requêtes génériques pour les liens vers des articles et je peux pas savoir à l'avance quels vont être les domaines de ces articles ça embete pour mettre les connect
Et avec une iframe ou avec des liens directs ça ne marche pas
.
Si certains de ces liens sont prévus pour être intégrés sur des sites c'est que normalement le module GM et le contournement du Cors n'est pas toujours strictement nécessaire ?
(Vu que c'est un privilège uniquement réservé aux users scripts).
Le souci des iframe c'est qu'il faut que chaque domaine fournisse une URL d'embed, par exemple pour youtube c'est : "https://www.youtube.com/embed/${videoId}"
Sauf que les sites d'actualités fournissent pas des url embed et je peux pas mettre les liens directs à cause de la politique X-Frame-Options, par exemple pour les liens vers lemonde.fr je peux faire une iframe avec le lien direct que si la page parente est aussi sur lemonde.fr
Après ça peut marcher pour les liens vers dès petits sites pas très sécurisé mais je pense pas que ce soit la meilleure solution puisque ça va afficher toute la page du site dans la petite iframe qça serait pas très lisible et niveau performance aussi c'est pas top
Par contre pour les liens directs vers des images ou des vidéos c'est ce que j'ai fait en les intégrants directement dans des balises < img > et < video > et comme il y a pas de règles de sécurité comme les iframe ça fonctionne
du coup, tu vas faire quoi mélange de connect, site qui accepte les iframes + balises < img > et vid ?
Ps : fait des tests pour voir s'il accepte autant de balise connects si jamais tu dois refactorer le script en profondeur sur ces points-là.
histoire de pas faire du code pour rien si jamais de base Tampermonkey à un nombre limite de connects.
J'ai listé les @connect pour les domaines vers lesquels j'ai codé en dur qu'on peut faire des requêtes, la documentation de Tampermonkey disait ça :
If it's not possible to declare all domains a userscript might connect to then it's a good practice to do the following:
- Declare all known or at least all common domains that might be connected by the script to avoid the confirmation dialog for most users.
- Additionally add
@connect *to the script to allow Tampermonkey to offer an "Always allow all domains" button.
Et pour les domaines dont je sais pas à l'avance si je dois faire des requêtes, j'ai laissé le @connect *. Et je ne crois pas qu'il y ait de limite sur le nombre de @connect, mais j'irai vérifier au cas où, oui.
Sinon, j'ai refactorisé et séparé tout mon code pour avoir un mode "librairie" :
https://greasyfork.org/fr/scripts/554422-lecteurmedia-api-library
Comme ça, mon script principal est beaucoup plus court (il fait appel à ma librairie) et si d'autres personnes veulent réutiliser les fonctionnalités d'intégration de médias sans avoir à mettre le @connect *, elles peuvent le faire dans leur propre script.
Il suffit de faire un @require de ma librairie. Et par exemple, s'ils veulent juste YouTube, Twitter et Streamable :
const lecteurMediaInstance = new window.LecteurMedia({
providers: ['YouTube', 'Twitter', 'Streamable']
});
lecteurMediaInstance.initStandalone();Et ensuite c'est à eux d'ajouter uniquement les directives @connect dont ils ont besoin et ils peuvent désactiver mon script à moi
Salut crayon, super ton script.
Par contre, je ne sais pas si c'est lié au manifeste V3. Je sais qu'au niveau des en-têtes c'est moins permissif.
Violentmonkey est plus permissif.
Mais en tout cas sous Tampermonkey Chromium, Avec la balise
Connect *:À noter que les auteurs de scripts utilisateur peuvent éviter cette boîte de dialogue en ajoutant une balise @connect ⬀ à leur script.Alors je me doute bien que t'as pas envie de rajouter 50 domaines mais j'ai testé sur Firefox aussi du coup et ça n'autorise pas ou ça ne détecte pas le Connect global.
La balise connect * => est inefficace dans ma configuration de base sans modification de tamperMonkey .
J'ai les paramètres par défaut si je mets le domaine exact ça marche Mais avec la balise globale ça ne marche pas.