2010-03-02 7 views
0

C'est un grand désordre ...comment inclure le contenu d'un site externe?

Je sais que je pourrais utiliser un iframe, mais le problème est qu'il y a quelques limitations inter-site qui finissent par abîmer ce que j'essaie de faire. A savoir, le contenu de la source est une div fixe hauteur qui permet le défilement, mais sans la barre de défilement. Si je charge ça dans un iframe, ça n'aura pas le même effet. Il insiste soit sur une barre de défilement, soit ne défile pas du tout. J'ai essayé de trouver un moyen de contourner cela, mais le serveur de destination n'a pas PHP disponible, donc je suis à plat sur comment faire ceci ...

Sur le serveur source, J'ai essayé d'écrire tout le contenu à une variable php comme ceci:

<script type="text/javascript"> 
var mycontent = '<?php print $content; ?>'; 
</script> 

puis appeler cette variable dans mon fichier test.js et quand j'utilise une alerte, je reçois le texte (également sur le serveur source) , comme ceci:

var content = mycontent; 
alert(content); 

Cela fonctionne, mais, pas de e serveur de destination. Ainsi, sur le serveur de destination, si je l'utilise:

<script src="http://mysite.com/test.js"></script> 

et essayez d'utiliser:

<script type="text/javascript">document.write('content');</script> 

Il n'imprime pas quoi que ce soit ... Je suppose en raison des limitations intersites ? Je suis désespéré pour une solution de contournement ... Quelqu'un peut-il aider?

Répondre

0

Effectuez une demande côté serveur XHR, récupérez le contenu et incluez-le lors de la mise à disposition de votre page.

0

Il devrait être parfaitement possible de faire une

<script type="text/javascript" src="http://mysite.com/test.js"></script> 

et dans le Javascript, sans<script type...., ne

document.write('blah'); 
document.write('blah'); 
document.write('blah'); 
document.write('blah'); 
document.write('blah'); 

cela va fonctionner correctement à travers les domaines. Je pense que votre problème est que vous intégrez des balises <script> dans le fichier js, ce qui est faux. De telles choses apparaîtront comme des erreurs de syntaxe dans la console d'erreur de Firefox, un outil inestimable pour le développement de JavaScript. D'ailleurs, il y a un inconvénient à cette approche: Si votre serveur cible desservant le JS est en panne, le rendu du document qui incorpore le script sera retardé.

+1

sauf que vous voulez probablement la variable 'content', pas la chaîne littérale' 'content''. – nickf

+0

Le js n'a pas