Oh mon cher, je pense que la solution que vous cherchez est avec IFRAMEs. Cependant, l'approche iframe est à la fois une entreprise mentale et technique. Je vous suggère de commencer avec ce guide:
Cross-Domain Communication with IFrames
L'approche alternative est d'obtenir des données d'une autre balises de script serveur en utilisant de manière asynchrone et JSON:
<script src="http://remotesite.com/path/to/script/blah.js"></script>
Vous pouvez créer un nouvel élément de balise SCRIPT pour passer et charger des données et ajouter à DOM ou insérer le balisage dans un élément innerHTML.
Je suis sûr que vous pouvez trouver quelques exemples détaillés et les moyens de mettre en œuvre, mais une chose que vous devriez garder une trace de la nouvelle méthode SCRIPT est d'en ajouter autant qu'il DOM. Cela pourrait aider et fournir un point de départ pour vous:
function require (url, callback) {
if (!isScriptLoaded(url)) {
document.write('<script src="' + url + '" type="text/javascript" charset="utf-8"><\/script>');
if (callback) {
callback();
}
}
}
function isScriptLoaded(src) {
var scriptsLoaded = {};
var scriptTags = document.getElementsByTagName("script");
for (var i = 0, script; script = scriptTags[i]; i++) {
if (script.src) {
scriptsLoaded[script.src] = 1;
}
};
if (scriptsLoaded[src]) {
return true;
}
return false;
}
De toute façon - plus de chance (non testé, mais devrait travail!).
oui. iframe charge une page externe, et certains javascript doivent être exécutés dessus. Toutefois, en raison de la politique originale unique, cela n'est pas autorisé. Par conséquent, en s'appuyant sur proxy qui n'est pas optimal ou efficace. – dooli
Malheureusement sans précision, je ne peux pas répondre correctement à cela.Dans mon esprit, ce n'est pas un problème mais ma solution de travail dépend de votre configuration de backend, etc. Pour suivre votre commentaire: - iframe charge la page externe - l'URL iframe peut inclure des paramètres pour indiquer le rappel JS et les arguments - local iframe JS interprète cela et continue Évidemment, cela ne fonctionnera pas si vous parlez de JS dynamique ou de beaucoup de valeurs étant passées ... J'ai l'impression que cela ne vous aide pas car vous avez plus profond besoins mais cela pourrait aider les autres. – donohoe