Aufrufen von C-Funktionen in javascript
Den javascript
ist Ausdruck des HTML
auf der Seite unten aufgeführten Beispiel ist es möglich, den Anruf zu einem C
Funktion auf, die es zum Beispiel in C
konvertieren etwas auf einer anderen Sprache gibt es eine Funktion LANG_Str("text")
wandelt den text in der angegebenen Sprache. Wäre es möglich diese Funktion zu verwenden bei den folgenden text in Javascript?.
"<tr><th>Service</th><th>Target Allocation (%)</th><th></th>"
EDIT:
Ich bin im Grunde tun zu wollen in einer menschlichen Sprache übersetzung. Die Website bereits unterstützt multi-Sprache, das problem ist auf dem eigenen Bildschirm, wie oben dargestellt, die generiert wird, die in Javascript nicht die Funktion, text zu übersetzen die Weise, die es durchgeführt normalerweise in C.
Wie ist diese Zeichenfolge generiert? Wenn Sie die Erzeugung von
C
, dann ja, Sie können es tun. Wenn Sie die Generierung von JavaScript, dann nicht.Tun Sie implementieren müssen, um die i18n-von Ihrer app? Es sollte auf jeden Fall durchgeführt werden, in anderer Weise...
Das Skript lief in C mit HTML_WriteToCgi
Ist die Wurzel Ihrer Frage "wie kann ich eine multi-language (Deutsch, Englisch, Spanisch, Mandarin) Website?"
InformationsquelleAutor ahmet | 2012-06-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn es im browser ausgeführt wird: Nein. Sorry.
Könnten Sie in der Lage sein, es zu tun in server-side-code (z.B. Python oder PHP, die rufen kann, C) bei der Zusammenstellung der Inhalte auf der Seite. Alternativ kann man eine AJAX-Anfrage an einen server, welche macht die C-Funktion als eine HTTP-API/Endpunkt (via, GCI, FCGI oder Python/PHP/Perl). Aber nicht im browser.
Dies ist, weil die JS läuft in einer virtuellen Sandbox-Umgebungen, die keinen Zugriff auf die system-Aufrufe oder etwas außerhalb der Laufzeit.
BEARBEITEN
Antwort auf deinen Kommentar "Das Skript lief in den C mit HTML_WriteToCgi", dies deutet darauf hin, dass Sie setzen gemeinsam den HTML-Code in C auf dem server. Wenn dies richtig ist, geht für meine option 1 oben, durch die Injektion die Werte direkt in der JS-Quellcode, wenn alle Werte kommen aus dem einige Daten bekannt durch den server.
Könnten Sie Erwägung ziehen einige Funktionen out-of-browser-JS und zurück in den server-side-code, um Ihr problem zu lösen.
Das ist sicherlich möglich, ja. Alternativ, wenn Sie anrufen, eine Lokalisierung der Funktion in JS, und Sie kennen alle die Werte, die verwendet werden, können Sie erstellen eine JavaScript-map von strings zu übersetzten Werte und simulieren die Eingabe/Ausgabe von der C-Funktion.
Diese Antwort ist nicht ganz korrekt: es ist möglich, kompilieren von C-zu-client-side JavaScript mit EngScripten.
InformationsquelleAutor Joe
JavaScript keinen Zugriff auf andere Prozesse direkt, aber es kann machen eine server-Anfrage für die Informationen. Der server kann eine C-Funktion aufrufen, wenn es sein muss.
In das Ende, es ist nicht JavaScript-Aufruf der C-Funktion, die es dem server (und welche Sprache es ist, mit: Python, PHP, ASP.NET, JSP, etc) , wäre das aufrufen der C-Funktion.
InformationsquelleAutor zzzzBov
Können Sie einen speziellen Wunsch, so wird dem webserver verwenden können, die Anfrage und senden Sie es an die Webseite.
InformationsquelleAutor
Könnten Sie erwägen, eine RESTful-web-service auf Ihrem server zum empfangen von Ausgangstext und Zielsprache-id, dann den übersetzten text. Dann könnten Sie es von Ihrer Webseite über eine ajax-call.
InformationsquelleAutor Jonathan M
Meine interpretation ist, dass Ihr Ziel ist der Aufruf einer C-Funktion innerhalb von HTML /Javascript und erfassen Sie die Ausgabe.
Was Sie tun können, ist eine VM. Im Grunde, Sie haben eine riesige Auswahl "Speicher", ein paar "Register", etc... Der schwierigste Teil ist, um sicherzustellen, dass Sie Befehlssatz und den Bytecode der VM spiegelt einen gemeinsamen Befehlssatz, es ist ein C-compiler für. Sie kompilieren von C-code, der VM auf Ihrem computer, speichern Sie es in eine Datei, und führen Sie es auf der VM. Wenn Sie tun, ist zu schwer, Sie konnte nur eine C-assembly-Konverter, und man definiert einfach ein paar Montage-Anleitung statt. Es ist ein Linux-emulator in reinem javascript ohne server-Aufrufe, die macht genau das.
InformationsquelleAutor ndrewxie