【发布时间】:2016-11-20 19:37:17
【问题描述】:
我正在尝试在 WebView 中加载 javascript 以进行一些计算并以字符串形式获取输出。我尝试使用以下代码
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);
};
更新 我现在可以根据答案中提供的帮助轻松加载简单的 javascript。但是现在当javascript中有多个函数时我遇到了问题,我遇到了一个异常。我正在尝试以下代码
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>";
请提出建议。
【问题讨论】:
-
@Kinani 我也用过,但不知道为什么它的值是空的。
-
您需要摆脱 window.external.notify 并实际返回您的值
标签: javascript c# webview uwp windows-10-universal