如何在不使用windows.script.Notify()的情况下将多个参数从javascript传递到windowsp
How to pass multiple parameters from javascript to windows phone methods without using windows.script.Notify()?
这里我想将多个参数从javascript传递到windowsphone方法。我需要在script_notify完成后执行此操作。
以下是C#-Windows手机代码:
private void Browser_ScriptNotify(object sender, NotifyEventArgs e)
{
flyersInfos = "[{'"app_user_id'": '"" + thisapp.AppId + "'",'"flyer_user_id'": '"" + thisapp.FlyersId + "'",'"device_id'": '"" + thisapp.DeviceId + "'",'"device_info'": '"" + thisapp.DeviceInfo + "'",'"Latitude'": '"" + thisapp.Latitude + "'",'"Longitude'": '"" + thisapp.Longitude + "'"}]";
if (e.Value == "getMemoryUsage")
Browser.InvokeScript("renderForm", flyersInfos);
return;
}
Onload()中的javascript Notify函数,
function onload()
{
window.external.notify("getMemoryUsage");
}
快速方式:
它是一个void事件处理程序,因此您可以使其异步并延迟:
private async void Browser_ScriptNotify(...)
{
...
await Task.Delay(1);
...
// everything here will execute after the original ScriptNotify event
// was completely finished, as it continues on the same (UI) thread.
}
正确的方法是使用队列或一些消息传递实现。
只能将单个参数作为string
从javascript
传递给C#
类。但如果您需要发送多个参数,我建议用特定的分隔符连接参数
例如,从javascript:
window.external.notify("parameter1+parameter2+parameter3");
在这里,我使用了一个字符串作为参数来发送所有三个字符串。最后解析字符串并重建C#
代码中原来的三个参数。
相关文章:
- 在url参数javascript中存储键值对列表
- 可选参数 JavaScript 技巧
- 如何计算参数 JavaScript 中的条件
- 未定义的变量作为函数参数 javascript
- 使用带有参数 Javascript 的函数更改全局变量
- 如何在参数JavaScript中更改对象属性
- 如何使用参数(javascript)调用Date构造函数
- 作为参数(javascript)传递的函数的系统唯一id
- Backbone.BabySiter内部参数-Javascript Scope
- 未定义函数参数-Javascript
- 谷歌地图api v3-IE7-main.js错误-无效参数(javascript)
- 通过onclick函数发送参数-Javascript
- 传递属于对象的匿名方法作为参数-Javascript
- 未捕获类型错误:没有足够的参数Javascript游戏
- 缺少)参数Javascript错误
- 在函数参数Javascript上使用toSentenceCase
- 跳过函数参数javascript
- 如何在调用不带括号的函数时传递参数 [Javascript]
- 如何传递多个参数javascript
- Foreach键和值输入参数javascript