Comment un javascript lien de téléchargement travail?
J'ai été en utilisant le site Technet de Microsoft et vous pouvez télécharger les fichiers ISO en cliquant sur un lien sur la page. L'élément est comme ceci:
<a href="javascript:void(0)" onmouseout="HideToolTip()"
onmouseover="ShowToolTip(event,'Click here to download.')"
onclick="javascript:RunDownload('39010^313^164',event)"
class="detailsLink">Download</a>
Je n'ai pas pu trouver le RunDownload()
méthode dans les scripts. Et je me demandais ce qu'il est susceptible de faire. Je veux dire, d'habitude quand je donne un lien pour quelqu'un de télécharger je fournir un point d'ancrage:
<a href="www.foo.com/mymp3.mp3">download</a>
Mais c'est de travailler différemment, qu'est-ce que le script? Parce que même quand j'ai couru 'un violon" je n'étais pas capable de voir le réel de l'emplacement de téléchargement.
Il y a beaucoup de façons, par exemple, une chose qui pourrait fonctionner.
L'ancre ne fonctionne que si vous avez stockées dans un fichier sur votre serveur et par la suite un chemin d'accès n'existe que vous pouvez utiliser pour accéder directement (comme www.foo.com/mymp3.mp3 dans votre exemple). Si, par exemple, vous pouvez stocker le contenu binaire de votre fichier à l'intérieur d'une base de données sur votre serveur, vous ne pouvez pas le faire de cette façon parce que pas un tel chemin existe.
"un tel chemin existe" n'ont de sens que dans certains cas, par exemple, si vous avez quelques règles de réécriture d'url. Ensuite, ce qui est disponible sur le téléchargement n'a pas à être un fichier sur votre serveur web, il peut être généré dynamiquement le contenu(ce pourrait être une base de données).
L'ancre ne fonctionne que si vous avez stockées dans un fichier sur votre serveur et par la suite un chemin d'accès n'existe que vous pouvez utiliser pour accéder directement (comme www.foo.com/mymp3.mp3 dans votre exemple). Si, par exemple, vous pouvez stocker le contenu binaire de votre fichier à l'intérieur d'une base de données sur votre serveur, vous ne pouvez pas le faire de cette façon parce que pas un tel chemin existe.
"un tel chemin existe" n'ont de sens que dans certains cas, par exemple, si vous avez quelques règles de réécriture d'url. Ensuite, ce qui est disponible sur le téléchargement n'a pas à être un fichier sur votre serveur web, il peut être généré dynamiquement le contenu(ce pourrait être une base de données).
OriginalL'auteur Exitos | 2011-02-01
Vous devez vous connecter pour publier un commentaire.
il n'y a pas une telle chose comme un "javascript télécharger". Javascript permet d'ouvrir une nouvelle fenêtre, ou de simuler un clic sur un lien.
Ce que vous avez à trouver qui est l'url de la fonction déclenchée par ce clic à la.
voici un exemple de comment le faire:
Supposons que nous avons une:
puis ce jQuery code:
sera redirigé vers l'URL http://example.org/download/ISO.ISO. Si cette url lance un téléchargement ou pas ne dépend pas des en-têtes HTTP et de votre navigateur, et non pas sur ce que javascript n'.
OriginalL'auteur BiAiB
Emplacement de téléchargement peut être une url réécrite chemin. Cela signifie que peut-être certains paramètres sont donnés par HTTP Post et certains HTTP gestionnaire dans le serveur Web ou une application web peut être l'obtention de certains arguments de la requête HTTP et écrire des octets du fichier à HTTP de la réponse, qui absolument se cache où se trouve le fichier dans le système de fichiers du serveur.
C'est peut-être ce qui est derrière les coulisses et vous empêche de connaître l'emplacement du fichier.
Par exemple, nous pouvons avoir ceci:
http://mypage.com/downloads/1223893893
Et vous avez demandé un exécutable comme "whatever.exe" pour le télécharger sur votre disque dur. Où est la "http:/mypage.com/downloads/whatever.exe"? En fait, il n'existe pas. C'est un tableau d'octets enregistrés dans une base de données long dans certains dossier, et "mypage" application web traite une requête pour un fichier qui est identifié comme "1223893893" qui peuvent être une combinaison d'un identifiant, la date, l'heure ou n'importe quel argument.
Désolé pour la très profondément stupide et dum question, je n'ai pas lu l'ensemble des commentaires, j'étais pressé de trouver une réponse. Merci beaucoup
OriginalL'auteur Matías Fidemraizer
Ce que je pense que la fonction RunDownload pourrait faire est que peut-elle éclairer le serveur à l'aide de requête get au serveur qu'un autre de téléchargement est sur le point de se produire , ou il pourrait avoir besoin pour exécuter le téléchargement de fond en définissant l'attribut cible d'une iframe de sorte que l'utilisateur n'aura pas besoin d'ouvrir un autre onglet et téléchargez le fichier sur la même page.
JS
OriginalL'auteur Waqas Tahir