2011-04-30 5 views
0

Je voudrais utiliser un bookmarklet pour rassembler quelques ressources de différentes pages Web.
i.e, au lieu d'utiliser des extensions de navigateur pour obtenir les éléments html à partir des pages, je voudrais utiliser quelques javascript bookmarklet pour capturer le code des sites. [Edit] Comment obtenir les éléments html de la page avec bookmarklet JavaScript?
La question est d'obtenir le code interne html avec bookmarklet, pas sur bookmarklet en général.Web grattage avec bookmarklet?

+0

Quel est le problème avec le lien que vous avez donné? – alex

+0

@alex: voir mon édition - Je suis intéressé par le code html avec bookmarklet. –

Répondre

1

Vous n'avez besoin d'aucune bibliothèque pour cela. Il suffit de créer votre fonctionnalité dans Firebug ou Chrome Inspecteur, puis formatez sur une ligne comme celle-ci:

javascript:(function(){alert(1);})();

Copiez et collez ce à la barre d'adresse et appuyez sur Entrée pour l'exécuter. Remplacer l'alerte (1); avec votre code. Nous l'enveloppons dans une fonction anonyme auto-exécutable, sinon la réponse de ce que vous exécutez remplacerait la page Web.

Si votre code est vraiment long, vous pouvez tout écrire dans un fichier javascript externe et lorsque vous voyez l'alerte ci-dessus, il suffit de créer une balise de script avec votre src et l'ajouter à la page.

+0

@ Mauvis-Ledford: Voir ma modification. –

+1

Je vous ai donné la bonne réponse à votre question initiale. La réponse à votre deuxième question est d'utiliser document.body.innerHTML. Pour envoyer le texte à votre serveur Web, vous devez soit créer une balise d'image et l'attribuer à votre serveur (une balise image est après tout un appel GET), soit créer dynamiquement un formulaire, un cadre iFrame caché et avoir la forme POST/GET à cette iframe cachée en utilisant l'attribut target. –

1

Vous pourriez envisager loading code javascript qui effectuera grattage quand quelqu'un clique sur votre bookmarklet, à cause de bookmarklet length limitation. Lors de l'accès aux éléments DOM, voir le reference.

Veuillez noter que le grattage ne sera possible que pour les FRAME/IFRAME provenant du même domaine que la fenêtre principale, en raison de cross frame security.