cookie netscape 7
tom
- javascript
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
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.
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
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.
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