À l'aide de jQuery à l'intérieur de l'iFrame ne fonctionne pas
J'ai un problème à l'aide de jQuery à l'intérieur d'une iFrame.
Voici ma configuration de test:
index.html:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#A").contents().find('#B').addClass('Z');
});
</script>
</head>
<body>
<iframe id="A" src="test.html" style="width:700px; height: 1000px;" frameborder="0"></iframe>
</body>
</html>
test.html:
<html>
<head>
<title>test</title>
</head>
<body>
<div id="B">testcontent</div>
</body>
</html>
Normalement, lorsque la page est chargée, dans le source de, "Z" doit être ajouté en tant que classe, mais il ne le fait pas. Quelqu'un aurait-il une idée de ce que peut être le problème? Les deux fichiers sont dans le même (locale) dossier.
Il se pourrait que la fonction est exécutée avant que le contenu de l'iframe est chargé. Essayez de faire: $('iframe').ready(function() { }); au lieu de cela et voir si cela fonctionne
.prêt sur l'iframe n'a rien d'utile. .charge sur l'autre main peut aider.
.prêt sur l'iframe n'a rien d'utile. .charge sur l'autre main peut aider.
OriginalL'auteur user63457 | 2013-08-30
Vous devez vous connecter pour publier un commentaire.
essayer cette
CORRECTION: une fois sur un serveur, cela fonctionne!
OriginalL'auteur
Vous devez l'exécuter à partir d'un serveur web avec le protocole HTTP (
http://
ouhttps://
).En utilisant le schéma d'un fichier (
file://
) empêche ce genre de cadre croisée de l'accès à certains navigateurs.OriginalL'auteur Joseph Silber