tom: cookie netscape 7

Dieses Script funktioniert nur im ie:

es sollen Künstler als cookie gemerkt werden, eas muß ich ändern um es in netscape 7 funtionstüchtig zu machen???
var field = "artists="
var isIE = false
var isNN = false
var isDOM = false;
var isDomIE = false;
var isDomNN = false;
var layerok = false;
if (parseInt(navigator.appVersion)>=3) {
 var n = navigator.appName
  if (n == "Microsoft Internet Explorer") isIE = true
  if (n == "Netscape") isNN = true
  if (n == "Netscape") isDomNN = true

}

function getArtists() {
 cookie = document.cookie
 var i = cookie.indexOf(field)
 if (i == -1)
  return ''
 var j = cookie.indexOf(";", i)
 if (j == -1)
  j = cookie.length
 return unescape(cookie.substring(i+field.length,j))
}

function setArtist(artist) {
 old_cookie = getArtists()
 if (old_cookie == '') {
  sep = ''
 } else {
  sep = ','
 }
 if (old_cookie.indexOf(artist) != -1)
  return
 old_cookie += sep+artist
 document.cookie = field+old_cookie+";PATH=/";
}

function clearArtists() {
 document.cookie = "artists=;PATH=/";
}

function putArtists() {
 theArtist = getArtists()
 a = theArtist.split(',')
 theArtist = a.join('\n')
 if (isNN) {
  document.LayoutLYR.document.KunstForm1.kuenstlerfeld.value = theArtist
 }
 if (isIE) {
  document.KunstForm1.kuenstlerfeld.value = theArtist
 }
}

#############################################################

Fehlermeldung netcape:

Fehler: [Exception... "'Method not implemented' when calling method: [nsICmdLineHandler::chromeUrlForTask]"  nsresult: "0x80004001 (NS_ERROR_NOT_IMPLEMENTED)"  location: "<unknown>"  data: no]

Vielen vielen Dank Tom

  1. Dieses Script funktioniert nur im ie:

    es sollen Künstler als cookie gemerkt werden, eas muß ich ändern um es in netscape 7 funtionstüchtig zu machen???
    var field = "artists="
    var isIE = false
    var isNN = false
    var isDOM = false;
    var isDomIE = false;
    var isDomNN = false;
    var layerok = false;
    if (parseInt(navigator.appVersion)>=3) {
     var n = navigator.appName
      if (n == "Microsoft Internet Explorer") isIE = true
      if (n == "Netscape") isNN = true
      if (n == "Netscape") isDomNN = true

    }

    Solch eine "Browsererkennung" ist sinnlos, da 'appName' und 'appVersion' nicht aussagen, was der Browser wirklich kann. Sinnvoll, ist es auf das zu testen, was du benutzen möchtest. also z.b.

    if(document.layers) /* arbeite mit document.layers */
    else if(document.all) /* arbeite mit document.all */
    else if(document.getelementById) /* arbeite mit document.getelementById() */

    Fehlermeldung netcape:

    Fehler: [Exception... "'Method not implemented' when calling method: [nsICmdLineHandler::chromeUrlForTask]"  nsresult: "0x80004001 (NS_ERROR_NOT_IMPLEMENTED)"  location: "<unknown>"  data: no]

    Ich glaube diese Fehlermeldung kommt nicht von deinen Skript. Da sind einige Fehler in den Konfigurationsdateien vom Mozilla, was das genau bedeutet, kann ich dir aber nicht sagen.

    Struppi.

    1. Hallo,

      if(document.layers) /* arbeite mit document.layers */
      else if(document.all) /* arbeite mit document.all */
      else if(document.getelementById) /* arbeite mit document.getelementById() */

      könntestDu das mal in mein Script einbauen, es ist Montag.. oder bin wohlk zu blöd..

      danke

      1. Hallo,

        if(document.layers) /* arbeite mit document.layers */
        else if(document.all) /* arbeite mit document.all */
        else if(document.getelementById) /* arbeite mit document.getelementById() */
        könntestDu das mal in mein Script einbauen, es ist Montag.. oder bin wohlk zu blöd..

        Das st in deinem Skript nicht drinne, das ist nur ein Beispiel, da du eine abenteuerliche und nutzlose Browsererkennung in deinem Skript hast hatte ich dir dies als Beispielhaftes Skript mal mitgeschickt.

        Du hast lediglich an einer Stelle eine unterscheidung getroffen:

        function putArtists() {
         theArtist = getArtists()
         a = theArtist.split(',')
         theArtist = a.join('\n')
         if (isNN) {
          document.LayoutLYR.document.KunstForm1.kuenstlerfeld.value = theArtist
         }
         if (isIE) {
          document.KunstForm1.kuenstlerfeld.value = theArtist
         }
        }

        Vermutlich weil dein Formular in einem Layer liegt. Da du aber nur auf den appName und appVersion prüfst, fallen einige darunter die damit einen Fehler erzeugen z.b. MZ

        Du solltest auf die Objekte prüfen, die du verwenden willst. Also document.LayoutLYR.document oder eben nur auf das Formular

        if(document.LayoutLYR.document)
          document.LayoutLYR.document.KunstForm1.kuenstlerfeld.value = theArtist;
        else if (document.KunstForm1)
          document.KunstForm1.kuenstlerfeld.value = theArtist;

        Struppi.

        1. Hallo;

          Vermutlich weil dein Formular in einem Layer liegt. Da du aber nur auf den appName und appVersion prüfst, fallen einige darunter die damit einen Fehler erzeugen z.b. MZ

          Ich habe die Abfrage einfach raus genommen. Es sind gar keine Layer vorhanden....

          Montag halt...
          Danke für Deine Hilfe Tom