6
votes

Comment puis-je utiliser Ajax pour apporter des PDF dans un DIV?

D'accord, dans mon premier saut dans un comportement ressemblant à Ajax ...

Je veux charger une div avec un PDF en fonction d'un utilisateur, cliquez sur un lien. Si l'utilisateur clique sur un deuxième lien, la DIV doit être écrasée avec le nouveau PDF.

J'ai donc figuré sur le test avec quelque chose comme: xxx

Toutefois, cela ne fonctionne pas.

Je suppose que je suis probablement en train de définir le innerhtml, mais cela ne récupère pas réellement le fichier. Je pense que j'ai besoin de quelques connaissances Ajaxy pour forcer cette nouvelle demande après la charge de la page. Quelqu'un peut-il me signaler au bon objet pour commencer à explorer?


5 commentaires

Le chemin est-il correct? mon.pdf existe-t-il sur le même niveau de répertoire?


@Pekka: C'est juste un faux nom de fichier. Pour le vrai, j'utilise un chemin absolu comme "/topdir/middledir/bottomdir/my.pdf".


"/ topdir / middledir ..." étant un chemin absolu vers une ressource Web qui fonctionne lorsque vous l'ouvrez directement dans votre navigateur, non? (Juste pour en être certain.)


@Pekka: bonne pensée ... double vérifie toujours les hypothèses. Oui, cela montre bien si je viens de le coller dans le champ URL.


Hmm. Et si vous insérez la balise objet comme pure HTML, cela fonctionne comme prévu?


3 Réponses :


0
votes

Avez-vous essayé d'utiliser un iframe? Le tout "document" ne doit-il pas être l'URL PDF?


2 commentaires

Pourquoi? Il utilise un . Pas besoin d'un iframe en soi.


Je n'ai pas essayé d'utiliser un iframe ... Ne pensez pas que cela devrait être nécessaire. (Mais là encore, je ne sais pas grand chose à ce sujet, encore.)



2
votes

Vous pouvez essayer d'utiliser quelque chose comme Ce ...


0 commentaires

2
votes

J'essaierais quelque chose de plus facile: utilisez le service Google PDF Viewer. Il vous suffit de créer un iframe et de changer SRC:

<iframe src="http://docs.google.com/gview?url=http://infolab.stanford.edu/pub/papers/google.pdf&embedded=true" style="width:600px; height:500px;" frameborder="0"></iframe>


1 commentaires

Cela ne fonctionnera pas pour moi, car notre site d'entreprise ne veut probablement pas compter sur un service externe. Cependant, j'ai voté cela parce que je pense que cela serait utile pour beaucoup de gens.