[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Platform feststellen (win oder mac?)

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Platform feststellen (win oder mac?)

fabiantheblind
Beiträge gesamt:

23. Nov 2012, 10:29
Beitrag # 1 von 10
Bewertung:
(4522 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Leute,
ich könnte mal wieder eure Hilfe gebrauchen.

Ich möchte feststellen auf welchem Betriebsystem der Nutzer meines Skriptes arbeitet. Da ich leider nur eine Betriebssystem benutze bin ich mir nicht sicher ob dieses Skript richtig ist. Ich würde mich freuen wenn ihr es kurz laufen lassen würdet und mir sagt ob es das richtige Ergebnis ausspuckt. Oder vielleicht hat ja jemand noch eine bessere Lösung.
Beste Grüsse
Fabian

Code
var res = checkOS(); 
if(res == true){
alert("WIN");
}else if(res == false){
alert("MAC");
}else{
alert("ERROR");
}

/*
* a function to check the operating system
*
* @returns true if the OS is windows
*/

function checkOS(){
var os_string = $.os;
var os_char = os_string.charAt(0);
var bool = null;
if (os_char == "w" || os_char == "W") {
bool = true;
}
else {
bool = false;
}
return bool;
}


Auf OSX 10.8.2 funktioniert es.

(Dieser Beitrag wurde von fabiantheblind am 23. Nov 2012, 10:44 geändert)
X

Platform feststellen (win oder mac?)

Martin Fischer
  
Beiträge gesamt: 12783

23. Nov 2012, 10:51
Beitrag # 2 von 10
Beitrag ID: #504574
Bewertung:
(4505 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Fabian,

im Prinzip liefert Dein Code das richtige Ergebnis.
Solange ein 'Mac'-OS ein 'Macintosh' ist und nicht etwa ein 'Wac'.

Eine Alternative (so lange Windows 'Windows' zurückgibt):
Code
var str_os = ($.os.search(/windows/i) != -1) ? 'Win' : 'Mac' 



als Antwort auf: [#504569]

Platform feststellen (win oder mac?)

fabiantheblind
Beiträge gesamt:

23. Nov 2012, 10:58
Beitrag # 3 von 10
Beitrag ID: #504576
Bewertung:
(4495 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Cool danke. Ich bin die ganze Zeit am überlegen und suchen ob es eine Variante gibt die sicherer ist. Deine und meine bauen drauf auf, dass der String aus $.os win beinhaltet.
Gibt es eine sicherere Variante?
Cheers
:F


als Antwort auf: [#504574]

Platform feststellen (win oder mac?)

Martin Fischer
  
Beiträge gesamt: 12783

23. Nov 2012, 11:35
Beitrag # 4 von 10
Beitrag ID: #504585
Bewertung:
(4468 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf: Gibt es eine sicherere Variante?


[Scherz ein]

Baue drauf, dass der String aus $.os macintosh beinhaltet. ;-)
Code
var str_os = ($.os.search(/macintosh/i) != -1) ? 'Mac' : 'Win' 

[/Scherz ein]

Nein, mir ist keine sicherere Alternative bekannt.
Welche realistischen Risiken siehst Du in dieser Abfrage?


als Antwort auf: [#504576]

Platform feststellen (win oder mac?)

fabiantheblind
Beiträge gesamt:

23. Nov 2012, 11:41
Beitrag # 5 von 10
Beitrag ID: #504586
Bewertung:
(4463 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hehe. Scherzbold. ;)

Zitat Welche realistischen Risiken siehst Du in dieser Abfrage?

Bisher keine. Ich wollte nur sichergehen das ich nichts übersehe.

Cheers
:fab


als Antwort auf: [#504585]

Platform feststellen (win oder mac?)

WernerPerplies
Beiträge gesamt: 2762

23. Nov 2012, 12:00
Beitrag # 6 von 10
Beitrag ID: #504592
Bewertung: ||
(4434 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Fabian,
Warum fragst Du nicht beide (Mac/Win) Versionen ab und verweigerst die Ausführung (Meldung mit Ergebnis), wenn kein Treffer erzielt wurde?


als Antwort auf: [#504586]

Platform feststellen (win oder mac?)

fabiantheblind
Beiträge gesamt:

23. Nov 2012, 12:33
Beitrag # 7 von 10
Beitrag ID: #504596
Bewertung:
(4387 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielleicht so. Das wirkt sicher.
Code
 
var res = checkOS();
if((res[0] == true)&&(res[1]== false)){
alert("This is windows");
}else if((res[0] == false)&&(res[1]== true)){
alert("This is macintosh");
}else{
alert("ERROR");
}

/*
* a function to check the operating system
*
* @returns array of boolean
*/

function checkOS(){
var os_w = null;
var os_m = null;
os_w = ($.os.search(/windows/i) != -1) ? true : false;
os_m = ($.os.search(/macintosh/i) != -1) ? true : false;
return [os_w,os_m];

}



als Antwort auf: [#504592]

Platform feststellen (win oder mac?)

Gerald Singelmann
  
Beiträge gesamt: 6269

25. Nov 2012, 16:19
Beitrag # 8 von 10
Beitrag ID: #504681
Bewertung:
(4315 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wenn die Frage nur "Mac oder Win" ist, greife ich immer auf die File-Klasse zurück.
Code
if (File.fs == "Macintosh") { 
alert("Das ist wohl ein Mac");
} else if (File.fs == "Windows") {
alert("Ach was, Windows...");
} else {
alert("Huch! Unix?");
}

Es gibt wie meistens keine weitere Dokumentation, unter welchen Umständen es sein kann, dass ein Windows-Rechner ein Unix-Filesystem sieht.

Bisher bin ich aber noch nicht auf den Bauch gefallen damit.


als Antwort auf: [#504596]

Platform feststellen (win oder mac?)

fabiantheblind
Beiträge gesamt:

27. Nov 2012, 17:39
Beitrag # 9 von 10
Beitrag ID: #504788
Bewertung:
(4224 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Gerald.


als Antwort auf: [#504681]

Platform feststellen (win oder mac?)

Uwe Laubender
Beiträge gesamt: 5316

11. Mai 2017, 13:39
Beitrag # 10 von 10
Beitrag ID: #557384
Bewertung:
(2729 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

das ist zwar ein älterer Beitragsfaden, aber ich denke, das passt ganz gut hier herein.

Bei $.os hat sich ein Bug eingeschlichen, wenn es um die genaue Abfrage der Windows-Version geht.

Siehe u.a. hier:
Incorrect value of $.os on Windows 10
antosuv Feb 12, 2016
https://forums.adobe.com/message/8490942#8490942

Soweit ich mitbekommen habe, geschieht das bereits auf Windows 8 und nicht erst auf Windows 10.

Unser Mitforist Werner bietet nun eine Lösung basierend auf ExtendScript an.
Hier der verlinkte Artikel:

Windows-Version ermitteln
https://www.weepee.de/...c.php?f=62&t=130

Ich kann's nicht testen, bin auf Mac OSX unterwegs, aber soweit ich das verstanden habe, basiert die Lösung auf das Abfragen der Windows Management Instrumentation Command-line, kurz wmic:
https://msdn.microsoft.com/...31%28v=vs.85%29.aspx


als Antwort auf: [#504788]
X