Installer erstellen ...



  • Wie kann man mit JavaScript oder JQuery, den Pfad zum lokalen Download-Ordner bestimmen ? Wenn man den vom Client verwendeten Browser bestimmen will, geht auch: if($.browser.chrome) alert('Chrome'); Wird aber ab Version 1.9 nicht mehr unterstützt. geht da aber: if (navigator.userAgent.indexOf("Chrome") != -1 ) ....? soll laut Buch nicht immer gehen ...jetzt befasse ich mich mit $.fileDownload. hustbaer: jeder Produktanbieter, bietet mit einem Button den Download an. Irgendwie muss man das doch stricken können, nur wie ?



  • @biter sagte in Installer erstellen ...:

    Wie kann man mit JavaScript oder JQuery, den Pfad zum lokalen Download-Ordner bestimmen ?

    Na ich hoffe mal gar nicht. Was geht das dich/deine Webseite/das JavaScript von deiner Seite an?

    Wenn du dem User einfach nur den Download-Folder aufmachen willst, das geht wohl: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/downloads/showDefaultFolder
    Dazu musst du aber nicht wissen wo der liegt. Und wie gesagt: geht dich (dein Script) auch gar nichts an.

    hustbaer: jeder Produktanbieter, bietet mit einem Button den Download an. Irgendwie muss man das doch stricken können, nur wie ?

    Mit einem <button> Element? Das sieht man wirklich nicht oft. Die "Buttons" die man überall sieht sind oft bloss Image-Tags wo im Image halt ein Button reingemalt ist.
    Wenn du deinen Usern nicht unnötig Steine in den Weg legen willst, lass die Finger von irgendwelchen JavaScript-getriggerten Downloads oder Button-Tags.

    Verwende nen guten alten <a> mit Text oder von mir aus auch einem Bild drinnen.

    ps: "Save as..." geht zwar mit meinem Browser auch auf einem Button-Element, aber ich weiss nicht ob alle Browser das unterstützen, und ich weiss nicht ob es viele Benutzer wissen. Daher: lieber keine "Button" Elemente für Downloads verwenden.



  • Also gleich vorweg, ich kenne mich mit Webzeugs nicht besonders gut aus, die Idee war die, ein Client öffnet meine Webanwendung, clickt auf einen Image-Button, oder Text-Link, und JavaScript bzw jQuery lädt den Installer vom Server, und speichert den Installer, im Downloadverzeichnis des Clienten. Dazu muss JavaScript doch den Pfad zum Downloadverzeichnis kennen, das war die Idee. Aber das geht heute wohl ganz anders. Wenn das so nicht gemacht wird, zeige mir nur ganz kurz wie das geht ...



  • Gibt es denn irgendwo Literatur, oder einen Link, der einem die heutige Technologie, kurz und genau erklärt. wie man einen Installer erstellt, den ins Netz stellt, und den Download erklärt.



  • Dazu brauchst du weder JavaScript noch JQuery.
    @hustbaer sagte in Installer erstellen ...:

    Ich würde einfach keinen Button für den Download verwenden sondern einen ganz normalen Link. Also statt des Button-Elements einfach Text in dein <a> Element reinschreiben:

    <a href="GeorgsBild.png" download>Trallala das Bild lala blabla</a>
    

    Dann ist es auch kein Problem wenn ein Browser das "download" Attribut nicht kennt und ignoriert. Dann kann der User nämlich einfach im Kontext-Menu für den Link auf "Save link as..." klicken -- falls der Browser meint beim anklicken des Links etwas anderes machen zu müssen.

    Oder für deinen (Windows)Installer:

     <a href="Installer.exe" download>Download Installer</a>
    

    bzw. als Bild

     <a href="Installer.exe" download><img src="Installer.png" alt="Installer" /></a>
    

    Den Rest erledigt der Browser (bzw. über die entsprechende Benutzereinstellung, d.h. ob automatisch im Download-Verzeichnis gespeichert wird oder aber der "Speichern unter"-Dialog angezeigt wird).



  • Ok, dann geht das einfach, mehr brauche ich nicht wissen, Danke !!!



  • Jetzt doch noch, wenn ich Chrome als Standardbrowser festlege, geht der Download, wenn Internet-Explorer, erscheint anstelle des oben genannten Save-As Dialogs, nur die Graphik-Datei, "GeorgsBild.png" selber, auch bei:

    <a href="GeorgsBild.png" download>Trallala das Bild lala blabla</a>



  • Ja Sorry, erst das Kontextmenu ...



  • function IE_is_garbage(fileName) {
      let myInstaller = `$installer`
    
      let blob = new Blob([myInstaller])
      if (window.navigator.msSaveBlob) {
        // IE legacy shitshow detected, welcome to 21st century
        window.navigator.msSaveOrOpenBlob(blob, fileName)
      }/*
      else if { // other browser specific shit, eg. firefox, chrome, whatnot }
      */
    }
    

    Optional gibts noch andere wege den rotz zu supporten. Allerdings wuerde ich dazu raten, deine Kunden freundlich darauf hinzuweisen einen blick auf den kalender zu werfen und IE ggf. durch ein modernes stueck software zu ersetzen.

    Edit:

    @biter sagte in Installer erstellen ...:

    [...] HTML, CSS, JavaScript, Bootstrap, JQuery, ASP, PHP, MVC, Core, WebAPI, SignalR, Razor, RabbitMQ, Angular, Blazor, MS Azure, Knockout.js [...]

    Ist ja nett, dass du da oben Buzzword-Bingo gespielt hast, aber random frameworks/libs zu listen ist in etwa so effektiv, wie 20 modules von boost aufzuzaehlen. Zeigt letztendlich nur das du keine Ahnung davon hast, was du tust :^)



  • Was Webzeugs anbelangt, habe ich wirklich keine Ahnung. Mir ist es nur wichtig, ein Vorhaben, mit dem geringsten Energieaufwand zu realisieren. Und ob diese Flut von Frameworks gut ist, glaube ich nicht. Auch wegen Inkompatibilitäten untereinander ! Es sollte einen guten Weg zwischen Universalität und Spezialisierung geben ...



  • Es gibt beliebig viele Möglichkeiten das Umzusetzen. Ich bin mir nicht ganz sicher, ob alles über IE dir jetzt reicht, oder nicht.

    Wir verwenden für ähnliches php. Keine Ahnung warum, ich habe das von meinem Vorgänger übernommen und das ist echt nicht mein Fachgebiet. Aber es geht genau darum, Links bereit zu stellen, mit denen Software heruntergeladen werden kann. Guck mal hier: https://www.tutorialrepublic.com/php-tutorial/php-file-download.php



  • In PHP müsste ich mich noch einarbeiten. Darum verwende ich ASP:NET weil ich C#.NET schon kenne. Leider finde ich für das moderne ASP keine gute Literatur, bzw Tutorials. Und für simples Download bzw Upload habe ich noch nichts lehrreiches gesehen ...



  • @biter

    Falls Englisch kein Problem für Dich ist: https://www.thalia.de/shop/home/artikeldetails/ID145962985.html
    Gibt es bestimmt auch auf Amazon (ggf. sogar günstiger).

    Als ich im Frontend während des Abendgymnasiums tätig war, wurde die letzten zwei Jahre immer weniger ein Sche*ß auf Legacy-IE-Unterstützung gegeben.
    Falls Du doch unbedingt das letzte Jahrhundert mitnehmen möchtest, würde ich Dir empfehlen, sofern Du Dir wirklich sicher bist, was Du in JavaScript treibst, den entsprechenden Code via "Conditional comments" vom restlichen zu trennen, damit man sich auch anschließend besonders einfach davon trennen kann.
    So wurde es in den letzten beiden Klitschen, in denen ich tätig war, gehandhabt.

    Um nochmal das zu wiederholen, was Dir hier schon mehrfach nahegelegt wurde: Verwende so wenig JavaScript wie möglich. Keiner hat Lust darauf, sich von tausend Event-Listeners bei jedem Klick überraschen zu lassen.



  • @biter wenn ein Download schon Probleme bereitet, scheinst du damit auch nicht so viel gemacht zu haben 😉

    Sonst habe ich dazu das gefunden: https://forums.asp.net/t/1204802.aspx?How+to+Download+a+file+with+a+hyperlink



  • Ein a-Tag. Fertig. Sonst Nichts. Vergiss den IE.



  • @Swordfish Genau. Wobei das über's Kontext-Menu sogar mit älteren IE Versionen funktionieren sollte.



  • So jetzt noch was, gehört auch ins Webzeugs, bei Visual Studio 2019 Community Edition, ASP.NET Menüpunkt: "Veröffentlichung", kommt die Meldung, dass man Komponenten nachinstallieren muss, ohne Angabe, um welche es sich dabei handelt. Habe bei Google lange gesucht ...Habt Ihr eine Idee, welche Komponenten es da sein könnten ?



  • Und ASP.net-Webbereitstellung mithilfe von Visual Studio: Bereitstellung zum Testen (s. bes unter "Installieren von IIS") nicht gefunden? Stichwort: IIS bzw. WebDeploy.

    Empfohlen wird jedoch Web Platform Installer (bzw. die WIki dazu: Web Platform Installer).



  • Bei Visual Studio 2019, kann man Komponenten nachinstallieren, dachte dass das eine Möglichkeit wäre. Wenn das geht, wüsste ich gerne wie ...



  • Weil es bei der oben genannten Fehlermeldung hiess, dass man Visual Studio 2019 neu installieren sollte, was ich als Nachinstallation interpretiere ....


Anmelden zum Antworten