2011-05-02 6 views
0

J'utilise un script jquery pour redimensionner automatiquement un iframe. Cela fonctionnait bien jusqu'à maintenant, mais j'ai fait beaucoup de changements au site et soudainement il a cessé de fonctionner et j'ai trouvé avec les outils de développement de Chrome que le JS donnait ce message d'erreur:iFrame jquery redimensionnement automatique ne fonctionne pas

Impossible de lire la propriété de "body" undefined.

j'ai enlevé tout du code et juste à gauche un appel à jquery et le script de redimensionnement dans la tête:

<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js" type="text/javascript"></script> 
<script type="text/javascript" src="js/iframe.js"></script> 
</head> 

et l'iframe dans le corps.

<body> 
<iframe src="http://chusmix.com" scrolling="no" frameborder="0"></iframe> 
</body> 

Cependant, cela ne fonctionne toujours pas. Je ne sais pas quoi faire d'autre. Je teste ici:

http://www.chusmix.com/game/testframe.php

Qu'est-ce que je fais mal? Merci

Répondre

1

C'est un problème de sécurité. L'URL que vous allez voir est http: // www .chusmix.com et le iframe est http://chusmix.com (pas de www) donc le navigateur ne vous permet pas d'accéder au document de l'iframe (donc il est indéfini).

Passez à http://chusmix.com/game/testframe.php et vous verrez que cela fonctionne.

+0

grâce, il est vrai qu'il fonctionne sans www. Cependant, j'ai ajouté www. au chemin de l'iframe et encore il ne fonctionne que dans http: // chusmix. Avez-vous des idées pourquoi? Je peux faire une correction brute mais je préférerais l'avoir ok depuis le départ. Merci – lisovaccaro

+0

Aller à www.chusmix.com avant de chusmix.com (pas de www). Donc, même si vous mettez www dans le src, il est transmis au non-www. À cause de cela, c'est toujours une discordance. –

0

Sinon, vous pouvez ajouter l'attribut suivant à l'élément iFrame qui tout simplement faire le travail pour vous:

onload="$(this).height($(this.contentWindow.document.body).height());" 
Questions connexes