2013-04-18 2 views
2

J'ai besoin de code javascript pour télécharger toutes les images dans une page Web. Y a-t-il un moyen de le faire?Code HTML5/Javascript pour télécharger une image depuis le navigateur de la page?

Lorsque le navigateur charge la page, il peut y avoir des images dans cette page, comment les lister et les télécharger? Je veux dire que cela ne devrait pas impliquer d'envoyer une requête au serveur. Comme, le navigateur a chargé les images, j'ai besoin de télécharger les images du navigateur et non du serveur. Comment ceci peut être fait?

+0

La méthode standard est de charger le navigateur à télécharger à partir du serveur, et de laisser le navigateur voir que les images sont en cache donc il ne fait pas vraiment une demande. –

+0

http://stackoverflow.com/about – Xotic750

Répondre

0

Vous pouvez obtenir toutes les images et les dessiner sur des canevas, puis utiliser getImageData pour obtenir du contenu. Voir cette link

+0

Non, l'image provient toujours du serveur uniquement. –

+0

Je reçois cette erreur en même temps Erreur de sécurité: DOM Exception 18. Pourquoi donc ? –

+0

@AbhiRamA jeter un coup d'oeil à cet article: http://stackoverflow.com/questions/2704929/uncaught-error-security-err-dom-exception-18-when-i-try-to-set-a-cookie – karaxuna

0

Vous pouvez obtenir une liste de tous les urls ou itérer à travers les images comme celle-ci

var images = document.getElementsByTagName("img"); 

var urls = []; 

Array.prototype.forEach.call(images, function (image) { 
    if (image.src.length > 0) { 
     urls.push(image.src); 
    } 
}); 

console.log(urls); 

Un exemple en direct est disponible sur jsfiddle

Il est également possible d'enregistrer des images sur le disque , voir t his example, mais pas quand ils proviennent d'un autre domaine.

Voici un updated fiddle qui affiche l'erreur de sécurité inter-domaines.

Same Origin Policy
Same-origin policy

+0

Il donne une erreur comme Erreur Uncaught: SecurityError: DOM Exception 18. Pourquoi est-ce et comment peut-il être résolu? –

+0

C'est une fonctionnalité. Mise à jour avec quelques liens – Xotic750

+0

Donc, vous dites qu'il n'y a aucun moyen de télécharger des images d'un autre domaine par programmation? –

Questions connexes