我正在用 C# 和 XAML 编写一个 Windows 8 应用程序,它在 WebView 中托管一个网页。网页调用alert() 和confirm(),但WebView 抛出异常,说“'alert' 未定义”或“'confirm' 未定义”。可以启用警报()和确认(),还是我需要编写代码来模拟它们的正常功能?如果我需要自己写,我应该如何开始这样的工作?谢谢你。
问问题
6588 次
3 回答
5
警报和确认在 WebView 中不起作用。您可以使用WebView.ScriptNotify从页面上的脚本接收事件,并使用该事件显示使用MessageDialog 类的对话框。
在您想要警报的脚本中...
window.external.notify('foo');
并在您的 C# 中使用 WebView.ScriptNotify 方法中的示例。
于 2012-08-08T16:16:41.573 回答
3
你需要做一些解决方法。我这样做了,它对我有用。
window.alert = function(__msg){window.external.notify(' + __msg + ');};
在这里参考我的一个类似的 windows phone问题
于 2012-11-22T09:14:25.077 回答
2
您将需要编写代码来启用它们。请注意,在 HTML5 Win8 应用程序和 XAML 中都是如此。
对于可以访问 WinRT 的脚本,可以使用 Windows.UI.Popup.MessageDialog:
(new Windows.UI.Popup.MessageDialog("Hello!", "Welcome")).showAsync().done(dismissedHandler)
请注意,这些是异步的,不会阻止执行。
为了从用户那里获取信息——例如用户输入的文本,没有任何标准,您需要为此创建一组新的标记。
于 2012-08-08T16:15:55.430 回答