hotti: Auslesen src-Attribut, nur pathname

Moin,

zum Prüfen, ob eine JS-Ressource über <script>-Tag geladen ist, gehe ich durch "document.getElementsByTagName("script").length" mit einer kleinen Schleife, erhalte jedoch anstelle "/myscript.js" (so ist es dort eingetragen), den voll qualifizierten URL like "http://example.com/myscript.js".

Gibt es eine Parser in JS, der mir nur "pathname" liefert?

Hotti

  1. Gibt es eine Parser in JS, der mir nur "pathname" liefert?

    Hat mich "genau" 30 Sekunden gekostet, das in der Suchmaschine meiner Wahl mit dem Suchbegriff "url parser javascript" zu finden.

    http://blog.stevenlevithan.com/archives/parseuri

    Schäm' dich :p

    1. hi,

      Hat mich "genau" 30 Sekunden gekostet, das in der Suchmaschine meiner Wahl mit dem Suchbegriff "url parser javascript" zu finden.

      http://blog.stevenlevithan.com/archives/parseuri

      Schäm' dich :p

      Wegen einer Bastellösung, die ich nicht ergoogelt habe? Basteln kann ich auch selber ;-)

      Hotti

  2. Gibt es eine Parser in JS, der mir nur "pathname" liefert?

    über die Eigenschaften von location, die auch für links gelten:

    function pfadname(wovon) {  
    var a=document.createElement(a);  
    a.href=wovon;  
    return a.pathname;  
    }
    
  3. Hi,

    zum Prüfen, ob eine JS-Ressource über <script>-Tag geladen ist, gehe ich durch "document.getElementsByTagName("script").length" mit einer kleinen Schleife, erhalte jedoch anstelle "/myscript.js" (so ist es dort eingetragen), den voll qualifizierten URL like "http://example.com/myscript.js".

    fragst Du scriptElement.src ab oder scriptElement.getAttribute("src")?

    Ersteres ergibt im Firefox/Opera/IE die volle Url, zweiteres den Attributwert wie im Quelltext angegeben.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
    1. hi Andreas,

      fragst Du scriptElement.src ab oder scriptElement.getAttribute("src")?

      Ersteres ergibt im Firefox/Opera/IE die volle Url, zweiteres den Attributwert wie im Quelltext angegeben.

      Spitze, das isses! Pathname erweist sich als Sackgasse. Natürlich brauche ich genau den String, der im src-Attribut eingetragen ist, .getAttribute('src') liefert mir den.

      Danke Dir,
      viele Grüße an Alle,
      Horst Ratlos

      1. Spitze, das isses! Pathname erweist sich als Sackgasse. Natürlich brauche ich genau den String, der im src-Attribut eingetragen ist, ..

        Bist du sicher?

        Damit ist der Umgang wesentlich schwieriger, als wenn du den tatsächlichen Ort des Skriptes weißt.

        Struppi.

        1. Spitze, das isses! Pathname erweist sich als Sackgasse. Natürlich brauche ich genau den String, der im src-Attribut eingetragen ist, ..

          Bist du sicher?

          Bis zu Deinem Post war ich es ;-)

          In meiner Testumgebung ist FQ => 'http://example/ressource.js', auf dem Webserver jedoch ist FQ => 'http://example.com/ressource.js'. Mein Script muss davon unabhängig sein, es soll daher nur auf '/ressource.js' prüfen; ob eine "/ressource.js" geladen wurde, bevor eine bestimmte Funktion aufgerufen wird, die in "/ressource.js" definiert ist.

          Damit ist der Umgang wesentlich schwieriger, als wenn du den tatsächlichen Ort des Skriptes weißt.

          Schreib bitte maln bischen mehr dazu. Vielleicht ergibt sich noch eine elegantere und produktivere Lösung.

          Horsti

          1. In meiner Testumgebung ist FQ => 'http://example/ressource.js', auf dem Webserver jedoch ist FQ => 'http://example.com/ressource.js'. Mein Script muss davon unabhängig sein, es soll daher nur auf '/ressource.js' prüfen; ob eine "/ressource.js" geladen wurde, bevor eine bestimmte Funktion aufgerufen wird, die in "/ressource.js" definiert ist.

            Warum prüfst du nicht einfach auf die Funktion? Mit typeof f kannst du das Gefahrlos machen.

            Struppi.

            1. In meiner Testumgebung ist FQ => 'http://example/ressource.js', auf dem Webserver jedoch ist FQ => 'http://example.com/ressource.js'. Mein Script muss davon unabhängig sein, es soll daher nur auf '/ressource.js' prüfen; ob eine "/ressource.js" geladen wurde, bevor eine bestimmte Funktion aufgerufen wird, die in "/ressource.js" definiert ist.

              Warum prüfst du nicht einfach auf die Funktion? Mit typeof f kannst du das Gefahrlos machen.

              Das trifft ins Herz der Sache, mach ich dann auch so!

              Vielen Dank,
              Grüße an Alle,

              Oppenheimer

              PS: Ist doch schön, mal wieder viel zu kompliziert gedacht und herauskommt eine Zeile Code ;-)

              1. @@hotti:

                nuqneH

                PS: Ist doch schön, mal wieder viel zu kompliziert gedacht und herauskommt eine Zeile Code ;-)

                Und du hast nicht daran gedacht, dein Problem zu beschreiben.

                Qapla'

                --
                Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                (Mark Twain)
                1. hi,

                  PS: Ist doch schön, mal wieder viel zu kompliziert gedacht und herauskommt eine Zeile Code ;-)

                  Und du hast nicht daran gedacht, dein Problem zu beschreiben.

                  Ja, stimmt. Soll ich mal alles zusammenfassen und hier aufschreiben? Vielleicht ergibt sich daraus nochn bischen mehr Stoff zum Diskutieren.

                  Hotti