Der Link sagt, verwenden Sie die Methode "ReadAndExecute" oder "DownloadAndExecute", aber ich konnte diese Methoden in keiner der Klassen der ChakraBridge-Bibliothek finden.
Die beiden Methoden sollten vom Coder definiert werden. Sie sind in ChakraBridge GitHub Site dokumentiert. Und sie sehen aus wie folgt:
async Task ReadAndExecute(string filename)
{
//"js" is the folder name of your javascript library.
var script = await CoreTools.GetPackagedFileContentAsync("js", filename);
host.RunScript(script);
}
async Task DownloadAndExecute(string url)
{
var script = await CoreTools.DownloadStringAsync(url);
host.RunScript(script);
}
So registrieren * JS-Dateien in ChakraBridge Kontext. Rufen Sie einfach diese beiden Methoden wie unten:
string url = @"http://cdnjs.cloudflare.com/ajax/libs/mathjs/3.2.1/math.js";
await DownloadAndExecute(url);//load math.js from remote source.
await ReadAndExecute("math.js");//load math.js from local source.
await ReadAndExecute("main.js");//main.js is the custom js codes. You can utilize math.js here.
Und hier ist der Link zu einer grundlegenden Demo ich gemacht: ChakraBridgeSample
Hinweise:
- Newtonsoft.Json sollte in Ihrem Projekt verwiesen werden Vor der Arbeit. Es kann entweder über die Suche im Nuget Package Manager oder über die Nuget Package Manager Console installiert werden: "Install-Package Newtonsoft.Json".
Das Verhalten beim Registrieren des CommunicationManager.OnObjectReceived-Ereignisses unterscheidet sich etwas von der GitHub-Dokumentation. Es gibt kein Type-Argument mehr (nur Datenargument). So in Javascript-Seite sollte sendToHost Funktion wie folgt aussehen:
var data = math.atan2(3, -3)/math.pi;
// "Double" should match the typeof(Double) in C# side. Capitalizing is necessary.
sendToHost(JSON.stringify(data), "Double");