Ich versuche, ein JavaScript in WebView zu laden, um einige Berechnungen durchzuführen und die Ausgabe in einer Zeichenfolge zu erhalten. Ich habe versucht, folgenden Code leichtWie Javascript in WebView Windows 10 UWP aufrufen?
string htmlFragment = "<html><head><script type='text/javascript'>" +
"function doubleIt(incoming){ " +
" var intIncoming = parseInt(incoming, 10);" +
" var doubled = intIncoming * 2;" +
" document.body.style.fontSize= doubled.toString() + 'px';" +
" return doubled.toString());" +
"};" +
"</script></head><body>" +
"<div id = 'myDiv'>I AM CONTENT</div></body></html>";
htmlView.NavigateToString(htmlFragment);
htmlView.LoadCompleted += async(s1,e1) =>
{
string result = await htmlView.InvokeScriptAsync("eval", new string[] { "doubleIt(25)" });
Debug.WriteLine(result);
};
aktualisieren Ich bin in der Lage einfache Javascript verwenden jetzt in der Antwort zur Verfügung gestellt, basierend auf Hilfe zu laden. Aber jetzt habe ich Probleme, wenn es mehr als eine Funktion in Javascript gibt, ich bekomme eine Ausnahme. Ich versuche den folgenden Code
string htmlFragment = @"<html><head><script type='text/javascript'>" +
"function a(){return 10;};" +
"function b(){return 20;};" +
"function c(){return 30;};" +
"return (a()*b()*c());" +
"</script></head><body>" +
"<div id = 'myDiv'>I AM CONTENT</div></body></html>";
Bitte schlagen Sie vor.
Mögliches Duplikat von [So rufen Sie JavaScript-Funktionen in einem WebView in Universal Windows App auf] (http: // stackoverflow.com/questions/36286761/how-to-invoke-javascript-funktionen-in-einem-webview-in-universal-windows-app) – Kinani
@Kinani Ich verwendete die gleiche, aber nicht sicher, warum es Wert leer gibt. –
Sie müssen die window.external.notify loswerden und tatsächlich eine Rückgabe Ihres Wertes –