7
votes

Cliquez sur un bouton à partir de div avec JavaScript?

dans Google+, le bouton utilisé pour poster un commentaire est fabriqué à partir d'un DIV:

document.getElementById(":1vq.post").click(); 


5 commentaires

Qu'est-ce que $ ? Prolly, vous l'utilisez mal. Je doute que Google ait des identités persistantes sur les éléments d'interface, de toute façon.


Ils utilisent probablement déjà JQuery pour l'activer. J'essaierais de regarder l'élément dans Chrome Dev Outils, je pense que cela montre le code comme terminé. Peut aider. (J'aimerais regarder mais n'a pas encore Google+)


@katspaugh je pense que Google définit: $ lié: fonction () {retour document.getelementbyid.apply (document, arguments)}


@Drazisil c'est ce que le code $ (": 1vq.post") montre:

post commentaire


Il y a probablement un bloc de code qui applique des choses à diviser en fonction de «rôle» alors, je la chercherais.


3 Réponses :


2
votes

Cliquez () S'applique uniquement aux éléments tels que Entrée et . .

http: //www.w3. org / tr / dom-niveau-2-html / html.html # ID-2651361

onclick apparaîtrait en 1990 et non chez Google. Ils devraient utiliser AddeventListener .

Essayez de définir un point d'arrêt et de voir ce que fonction est appelé le clic. Appelez ensuite la fonction directement.


Pour déclencher un gestionnaire d'événements clic One peut utiliser CreateEeventer Plus DispatTatEvent .

Voir exemple: http://jsfiddle.net/dzvg9/

Remarque, que Google Plus peut réellement utiliser MouseDown ou MouseUp événements.


4 commentaires

Ensuite, comment puis-je cliquer avec JavaScript? J'ai remarqué que l'extension Vimium pourrait faire cela.


@ Wong2, installez Firefox et Firebug, sur l'onglet "Script" Appuyez sur "Break ON NEXT" et cliquez sur le bouton en question.


Ils utilisent réellement addeventlistener . Les questions sont, pouvez-vous déclencher un auditeur?


Oui, vous pouvez - via CreateEeVantage / DispatTatTevent , une personne doit avoir déjà mentionné cela.



0
votes

Êtes-vous sûr que vous sélectionnez avec acuramement le bouton avec $ (": 1vq.post") ? Peut-être avez-vous besoin de le changer en $ ("#: 1vq.post") ou quelque chose comme ça (je ne sais pas comment JQuery gère le : et et et . caractères).


3 commentaires

Non, ce n'est pas jQuery, il semble que Google définit $ en fonction de fonction () {retour document.getelementByid.apply (document, arguments)}


Ensuite, peut-être utiliser l'intégralité jQuery (...) au lieu de $ (...) devrait être suffisant?


Il semble que Google+ n'a pas utilisé JQuery



4
votes

EDIT: Après une conversation avec Wong2 qui a débuté cette question et beaucoup d'hypothèses échouées pour ce que cette question est vraiment à propos (la question est assez écrite), ce qu'ils essaient de faire est d'écrire un wondscript Greasemonkey pour faire La touche ENTER appuyez sur la touche Post Commenter dans Google+ Streams. Puisque je n'ai pas encore d'invitation à Google+, je ne peux même pas voir le code pertinent, donc pas beaucoup que je puisse faire. Cette question ne consiste pas à ne rien mettre lié à Google+ dans votre propre site - il s'agit d'essayer d'utiliser GreasemonKey pour modifier le comportement du site de Google dans votre propre navigateur.

Tentative antérieure d'aide:

ID = ": 1vq.post" n'est pas un nom d'identification de CSS légal. Vous ne pouvez pas utiliser le caractère ":" dans un nom de sélecteur. Cela provoque plusieurs problèmes car non seulement n'est pas un caractère légal, mais il s'agit également d'un caractère significatif dans la syntaxe sélecteur CSS. Donc, je vois que vous avez deux problèmes.

Premièrement, votre logique de sélecteur ne fonctionne pas. Deuxièmement, comme d'autres l'ont dit, vous ne pouvez pas simplement affecter à cliquer de cette manière avec JavaScript uni (par exemple, aucun cadre).

Si vous modifiez votre logique de sélecteur pour fonctionner correctement, vous pouvez le faire fonctionner correctement. Correctement (en utilisant jQuery) comme ceci: xxx

et, vous pouvez le voir en action dans ce jsfiddle: http://jsfiddle.net/jfriend00/yfnc7/ . Cliquez sur Exécuter, puis cliquez sur le commentaire POST.


5 commentaires

Si vous pouvez me signaler où vous avez reçu ce code de Google, je vais jeter un coup d'oeil. Je ne trouve aucun code de Google qui ressemble à celui-là et le moteur de recherche Google ne peut pas non plus.


J'ai dit qu'il s'agissait d'un bouton Google + S post-commentaire de Google +


Et je ne trouve pas que sur leur site. Si vous postez un lien avec cela, je vais déterminer pourquoi vos affaires ne fonctionnent pas. Si vous ne voulez pas me signaler, je ne pourrai plus aider. C'est illégal HTML / CSS et je ne crois pas que Google le recommande directement, il y a probablement une mauvaise communication quelque part. Si vous voulez que je puisse trier ça, veuillez me pointer là où vous l'avez eu.


Peut-être que je suis dense, mais je ne trouve pas le code que vous avez posté n'importe où sur la page plus.google.com Et je ne vois pas une page "index" que vous parlez. Un lien direct vers la page me ferait tout de suite. Le code plus-un, je trouve est ici: Google.com/webmasters/+1/ Bouton et ça ne ressemble pas à la vôtre du tout.


@ jfriend00 Continuez cette discussion en chat