JQuery accès à des éléments iframe
Google est sorti avec un nouveau logo, quelques minutes auparavant, et son très très lag sur mon ordinateur.
Je veux continuer à utiliser le google style, mais sans le logo.
Le courant id de l'élément de logo est "hplogo'.
J'ai donc fait une page web qui contient de google dans une iframe et je veux supprimer cet élément à l'aide de jquery.
<head>
<script src="jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#google").height($(window).height());
setTimeout(function(){
$("#google").contents().find("#hplogo").remove());
}, 3000);
});
</script>
</head>
<body style="margin:0px;">
<iframe id="google" style="border:none;width:100%;overflow:auto;" src="http://www.google.com/">
</iframe>
</body>
</html>
Je crois que sa ne fonctionne pas car ce n'est pas le même domaine. Est-il un moyen de contourner cela?
- Comme par jQuery documentation : "L' .contenu() la méthode peut également être utilisée pour obtenir le document à contenu d'une iframe, si l'iframe est sur le même domaine que la page principale."
- Ce fut répondu dans un autre post. Vérifier stackoverflow.com/questions/364952/...
<iframe width="100%" height="500" src="http://www.google.com/custom?q=&btnG=Search"></iframe>
ou tout simplement les cliquez ici.
Vous devez vous connecter pour publier un commentaire.
Comme Micheal a déclaré la réponse à votre question est non. J'ai eu le même problème quand j'ai voulu inviter tous les amis" avec un script et facebook ont commencé à utiliser des iframes. Regardez cette question Cocher toutes les cases à l'intérieur d'une iframe (lorsque vous invitent à un facebook de l'événement). J'ai résolu mon problème en utilisant greasemonkey qui a beaucoup moins de restriction que la norme de parcourir, de sorte que vous pouvez essayer de vérifier il
Vous ne pouvez vraiment pas. N'utilisez pas les iframes sauf si vous devez absolument. Si vous voulez tirer une certaine distance du contenu dans votre site web, vous devriez envisager d'utiliser ajax, vous pouvez modifier le DOM autant que vous le souhaitez.
Habituellement, lorsque vous effectuez cette opération, vous utilisez quelque chose comme -
Mais, en considérant les problèmes de sécurité, des fonctions comme
.contents()
.maps()
sont restreintes lorsque l'iframe charge un tiers de domaine. Dans ce cas, Google n'est pas votre domaine local, et, par conséquent, ce que vous essayez d'accomplir ne peut pas être atteint.Espérons que cette aide!
Vous ne pouvez pas faire cela avec un iframe en raison de problèmes de sécurité. Mais vous pouvez le faire avec une extension chrome ou autre chose qui fournit moins de restrictions. À l'aide d'une extension chrome, vous pouvez injecter un script que vous voulez à l'intérieur google.com pages à supprimer le logo.