Microsoft Agent auf der Website

simon.saint

Mitglied
Hallo,

kürzlich bin ich zufällig auf die Möglichkeit gestossen den Microsoft Agent im Quelltext einzubinden. Zwar funktioniert er nur mit dem MS Explorer, aber die meisten nutzen den sowieso und solange er nicht notwendig wird um Inhalte zu verstehen ist er eine gute Unterstützung...

Nachdem ich mich ein wenig damit auseinander gesetzt habe bin ich aber auf ein paar Probleme gestossen:
Zur Zeit (noch) haben wir "nur" 255 Seiten - eine Menge Arbeit. Lohnen kann es sich weil ich sowieso noch alle Meta-Tags überarbeiten muss. Es stehen vier Agents zur Auswahl, das hiesse also 255 x 4 = 1020 Seiten erstellen / überarbeiten... (Wenn ich alle vier nähme, was ich gerne wollte..)

Kann ich einen Basistext einfügen und (z.B. mit PHP) die Variablen (Name Agent) einfach austauschen?

Der Agent wird mittels Java-Script auf dem Client ausgeführt. Ist es möglich ein Java-Script mittels PHP erstellen und ausgeben zu lassen, oder kippt da der Interpreter?

Wenn dies ginge könnte der User mittels Eingabe sich für einen (oder keinen) Agent entscheiden der ihn durch die Seiten begleitet. Eine ähnliche Funktion habe ich schon mit einem .css gesehen mit dem der User aufgefordert wird sich für ein Site-Design zu entscheiden. Nur wie das funktioniert hab ich noch nicht verstanden... (Arbeite mich grad durch ein Tutorial mit Basis-Übungen Form, Action usw...)

Vielleicht habt Ihr ja Ideen - ansonsten bleibt es bei einem Agent den ich in einen Sub-Ordner verbannen muss, denke mal nicht jeder User wird's haben wollen
wink.gif


Danke schonmal,

Michael
 
QUOTE kürzlich bin ich zufällig auf die Möglichkeit gestossen den Microsoft Agent im Quelltext einzubinden


@simon.saint
Was ist denn das für ein Agent?
Was macht der und welchen Sinn hat er?
 
Das ist eine Art Assistent so wie Du sie vom MS-Office kennst.
Ein Beispiel habe ich mal unter
Merlin
oder den Vogel:
Peedy
Genie hab ich noch auf die schnelle gemacht, ist aber glaub nicht richtig geworden:
Genie
Die Bilder der Navigation werden nicht angezeigt, hab ich verschwitzt
unsure.gif


Die benötigten Daten werden vom Client direkt von MS runtergeladen. Serverseitig sind keine Dateien notwendig.

Der Code ist praktisch immer der selbe:
CODE <OBJECT ID="AgentControl_b" width=0 height=0 CLASSID="CLSID:D45FD31B-5C6E-11D1-9EC1-00C04FD7081F"
CODEBASE="#VERSION=2,0,0,0">
</OBJECT>
<script>
var genie;
AgentControl_b.Connected = true; // necessary for IE3
AgentControl_b.Characters.Load("genie", "http://agent.microsoft.com//agent2//chars//genie//genie.acf");
genie = AgentControl_b.Characters.Character("genie");
genie.LanguageID = 0x0409;
genie.Get("state", "Showing, Speaking,Moving,Hiding");

genie.Show(); ...usw.


Interessant wäre die Variable zu ändern, in diesem Fall nicht

CODE ... var genie; ...

sondern

CODE ... var peedy; ...


Und das eben je nachdem welchen sich der User ausgesucht haben möge. Bzw. den gesamten Code komplett wegzulassen falls der User keinen Agent sehen möchte.

Klar, es ist ein Gimmick, total Sinnlos. Aber ich glaube ich kann etwas sinniges daraus machen, indem ich durch den Agent dem User einen Link zeige oder zusätzliche Erklärungen gebe deren Ausführungen mir auf der Seite einfach zu viel sind.
Super schön wäre wenn ich die volle Funktion des Agent haben könnte, mit einer Knowledge-Base die nach Antworten durchsucht werden kann. Ich fürchte nur das wird arg zu viel...
Ein Link auf unsere FAQ wird reichen müssen
tongue.gif


Ich hoffe ich hab proper erklären können was ich mir vorstelle, wenn Du noch Fragen hast, posten oder PM's, bitte.
 
Also,

Vorläufig hab ich es mit dem 'include 'xy.html';' Befehl hinbekommen.
So hab ich wenigstens etwas mehr Freiheiten meinen Agent auszutauschen.
Meine 'agent.html' liegt in einem extra Verzeichnis, der Übersicht halber.

Nach wie vor möchte ich aber gerne den User entscheiden lassen welchen Assistenten er haben möchte - oder keinen (schliesslich kann der auch ganz schön nerven
tongue.gif
).

Von PHP hab ich keinen blassen schimmer. Alles was bei mir funktioniert hab ich mir aus dem Index von Handbüchern zusammenkopiert, und so lange versucht bis ich (eine / die) richtige Lösung gefunden hatte.

Ich hatte mir etwas vorgestellt in der Art wie das hier:
CODE <?
$agent = 'keine Ahnung';
chdir ("agent/");
include '$agent.'.'.html';
chdir ("..")
?>



Muss ich für eine solche Aktion ('keine Ahnung') ein User-Cookie anlegen, oder Userdaten auf dem Server speichern?
Ich habe ähnliches gesehen mit .css Auswahl, aber keinen Source gefunden den ich studieren könnte...

Wichtig wäre mir vor allem das es funktioniert. Wenn der User bei seiner nächsten Sitzung noch einmal festlegen muss welchen Agent er möchte, wäre nicht so schlimm. Wenn einer den Agent gar nicht sehen kann weil er keine Cookies akzeptiert, wär es nicht so toll...

Hat jemand von Euch Ideen?
Wenn ja wär ich froh über jede Anregung!

Danke!

Michael
 
Mal anders herum gefragt:

Hat jemand Erfahrungen mit Cookies setzen (eigener Code)?
Dann könnte eine Lösung folgendermaßen aussehen:
CODE <?
/***COOKIECHECK***
If cookie = '1'
{
include '1agent.html';
}
elseif cookie = '2'
{
include '2agent.html';
}
elseif cookie = '3'
{
include '3agent.html';
};
?>


Mir fehlt also noch dieser Cookie-Check, bzw. das Cookie setzen.
Wäre das ÜBERHAUPT ein gangbarer Weg? Entschuldigt bitte wenn ich damit etwas nerve, aber das liegt mir echt am Herzen und es scheint auch gar nicht arg tragisch zu coden zu sein...?

Vielleicht ein Tipp? Ein Link zum durchlesen? Hab lange gesucht, aber immer noch nichts passendes gefunden
sad.gif


Danke auf jeden Fall für Eure Hilfe!

Michael
 
Danke, das Cookie kann ich nun setzen.
Das mache ich über eine weitere Seite in der ich in der ersten Zeile den Parameter gesetzt hab von dem Link den Du mir genannt hast.

Nun bastel ich noch an dem 'include' herum:
CODE <?
if ($HTTP_COOKIE_VARS = "merlin")
{
include 'merlin.html';
}
elseif ($HTTP_COOKIE_VARS = "peedy")
{
include 'peedy.html';
}
?>


Aus irgendeinem Grund gibt er mir IMMER die 'merlin.html' aus. Ich hab es schon versucht mit dem 'peedy'-Cookie und auch ganz ohne Cookie...
Ich hab gelesen das die erste zutreffende Bedingung ausgeführt wird, unabhängig ob eine weitere zutreffen könnte. Wenn ich irgendein Cookie hätte würde ich es verstehen (quasi Cookie > 0 -> include 1. Möglichkeit). Aber wenn ich OHNE Cookie öffne...?
blink.gif


Achja, mein Cookie heisst "agent", hat den Wert "merlin", "peedy", usw., Gültigkeit sind 30 Tage, Verzeichnis ist Root "/", und die Domain ist meine Domain.
Auslesen kann ich es proper. Dazu hab ich eine Seite erstellt um zu sehen welche Cookies auf meinem Rechner sind. Es wird immer nur eines angezeigt, und auch nur das mit dem jeweiligen Wert.
Ich kann mir höchstens noch denken das er die Bedingung auch dann ausführt wenn er keine Anhaltspunkte dagegen findet. Ergo: Kein Cookie -> auch gut. Vielleicht muss ich das Cookie noch "namentlich" auslesen damit es da keine Verwechslungen gibt
wink.gif


Hmpf. Ich werd dann mal weiterbasteln - blöd wenn man zuwenig Ahnung hat und zu viele Wünsche...
huh.gif


Grüße

Michael
 
Es ist geschafft!
Und für alle die das Board später mal besuchen und eine solche Lösung brauchen gibt es hier einen der möglichen Ansätze:

Für meinen Zweck habe ich vier Seiten erstellt auf denen der User sein Cookie bekommt, eine fünfte Seite auf der er seinen Cookie wieder löschen kann. Die Unterschiedlichen Value-Werte in den Cookies sind jeweils 'merlin', 'peedy', 'genie' und 'rooby'.

Auf jeder Seite in der einer der Agents dem Besucher etwas erklären soll ist folgender Code hinterlegt:
CODE <?
if(isset($_COOKIE['agent']))
{
$agentangabe = $_COOKIE['agent'];
chdir ("agent/");
include ("$agentangabe-shop.html");
chdir("..");
}
?>

das -shop.html eben für die 'Shop' Seite, -index.html für Startseite, usw.
Das wechseln des Verzeichnisses habe ich nur der Ordnung halber gemacht, bisher sind es immerhin 24 Seiten, weitere 12 sollen wenigstens noch hinzu kommen - also schon sinnig...

So funktioniert alles perfekt, wer will kann sich das Ergebnis ab sofort auf meiner Seite ansehen.
Nur noch zwei kleine Problemchen plagen mich:

1. Auf der Startseite wird zwar allen die noch kein Cookie haben eines verpasst (leider auch denen die EIGENTLICH keinen Agent wollen und uns wiederholt besuchen), trotzdem wird die geforderte Seite nicht sofort eingefügt. Erst wenn der User die nächste Seite besucht funktioniert das ganze. ??? Hierfür suche ich noch eine Lösung...

2. Wenn ein User sein Cookie gelöscht hat und unsere Seiten ohne Agent ansehen will, bekommt er immer die Fehlermeldung:
"KONNTE STREAM NICHT ÖFFNEN; SEITE '-XYZ.html' NICHT VORHANDEN"
Das XYZ.html ist auch hier nur ein Platzhalter für das jeweilige
Auch hier suche ich noch eine Lösung, denn EIGENTLICH sollte er die Seite NUR dann einfügen wenn er ein Cookie lesen kann. Das seltsamste an dem ganzen ist das dieser Fehler nur Zeitweise auftritt. Heute Nachmittag passierte es nicht, 15 min. später war es doch wieder so, und das obwohl ich an dem Code nicht verändert hatte
blink.gif


Vielleicht erbarmt sich noch jemand mir zu antworten... (außer denen die geantwortet hatten natürlich
rolleyes.gif
)

Ich finde diese Lösung brauchbar und denke man könnte sie ganz vielfältig einsetzen, z.B. um die Seiten zu personalisieren (statt der .html eine .css einfügen, ein zusätzliches Menü einzubinden (für eingeloggte User) oder was man sonst eben noch alles so einfügen und ändern kann...

Nochmals danke für Eure bisherigen Antworten, vielleicht fällt jemand noch ein warum auf der Startseite die Einbindung nicht sofort funktioniert (erst nach aktualisieren) und warum der Interpreter die 'if'-Anweisung durchführt wenn kein Grund dazu besteht (sporadisch auch nicht).

Grüße

Michael
 
Zurück
Oben