Linuchs: JS: Abfragen, ob eine function vorhanden?

Moin,

wie fragt man (externe .js Datei) ab, ob bestimmte functions (im Hauptprogramm) vorhanden sind?

Wenn ja, müssen die aufgerufen werden. Wenn nein, soll keine Fehlermeldung kommen.

Gruß, Linuchs

  1. Hallo,

    wie fragt man (externe .js Datei) ab, ob bestimmte functions (im Hauptprogramm) vorhanden sind?

    https://stackoverflow.com/questions/1042138/how-to-check-if-function-exists-in-javascript

    Einen schönen Tag noch
     Martin

    --
    Wer kennt ein schönes Autofahrer-Märchen? - Radkäppchen und der böse Golf
    1. Hallo Martin,

      so einfach.

      alert ( typeof initAudioVideoTags );

      antworted mit function oder undefined

      Danke

  2. Hallo Linuchs,

    lerne, vernünftig zu programmieren. Auch wenn's schon spät für Dich ist.

    Wenn Du solche Abhängigkeiten im System hast, schreit das nach Modularisierungssystemen. Entweder ES2015 Module mit import, oder ein Modularisierungstreiber wie require.js.

    Damit kannst Du sicherstellen, dass Abhängigkeiten bekannt sind und im Zweifelsfall Schnittstellenobjekte in Module injizieren.

    Ein Script, dass sich sein Umfeld "anschaut" und abhängig davon Dinge aufruft oder nicht, ist ein Unfall auf dem Weg zum Krach. Auch als "Modulspaghetti" bekannt.

    Rolf

    --
    sumpsi - posui - obstruxi
    1. Hallo Rolf,

      danke. Ich bin noch nicht bei der Serienreife, sondern im Versuchslabor.

      Dieses Chor-Audio Projekt will ich nicht so hoch aufhängen, im Moment ist es noch Selbstbefriedigung. Ob Hobbychorsänger überhaupt zuhause üben wollen, ist die Frage. Aber um DIE zu fragen, muss ich ja erstmal ein möglichst attraktives Beispiel anbieten.

      Die ganzen Audio- und Video-Events sollen in einer .js zusammengefasst werden. Da dort auch die Taktung (currentTime) läuft, soll das Hauptprogramm angestoßen werden, wenn dort eine function zum Weiterschieben der Notenrolle vorhanden ist.

      Pfiffig wäre noch, wenn man nur einmal fragen müsste und nicht 50 mal die Sekunde - das ist die Taktung, um rollende Noten und Texte lesen zu können. Bei 25 „springen“ sie und wirken verschwommen.

      Ja, bei jedem Test eine neue Frage, bei jeder Antwort zwei neue Fragen.

      Gruß, Linuchs.

      1. Hallo Linuchs,

        die Frage kostet keine relevante Zeit, aber ergibt die ganze Aktion überhaupt Sinn, wenn die "weiterschieben" Funktion nicht vorhanden ist? Sprich: reicht es nicht, einmal zu prüfen und bei Nichtvorhandensein einfach die Events nicht zu registrieren?

        Timingrelevante Dinge macht man übrigens mit requestAnimationFrame, das ist mit der Bildwiederholrate synchronisiert und dürfte das Verschwimmen verbessern. Bekannt?

        Rolf

        --
        sumpsi - posui - obstruxi
        1. Hallo Rolf,

          requestAnimationFrame

          Danke für den Tipp, nun läuft es konstant ohne zu springen (Firefox)

          (Hoffentlich) letztes Problem: Weil ich die Takte der Partitur nicht gleich breit bekomme (Problem des Notationprogramms, das die Grafik erzeugt) und somit die Prozentzahl der mp3 currentTime ungleich ist mit der Prozentzahl der Grafik-Breite, läuft die Grafik versetzt (zu weit links) unter dem Marker durch.

          Gruß Linuchs

          1. Hallo Linuchs,

            ja, siehe meinen anderen Beitrag. Ich bin auch nicht mehr vom transform überzeugt - aber guck Dir mal an was ich da schrieb.

            Start- und Endeoffset gibt's auch zu beachten.

            Im übelsten Fall musst Du die Startoffsets jedes Takts ausmessen und die Scrollposition taktweise bestimmen. Was zugegebenermaßen nicht so ganz einfach ist.

            Rolf

            --
            sumpsi - posui - obstruxi