【问题标题】:Send text into textbox loaded in a website inside WebView将文本发送到 WebView 内网站中加载的文本框
【发布时间】:2014-10-13 06:25:30
【问题描述】:

我有一个WebView,它可以加载一个网站,比如http://www.google.com。假设该网站有一个文本框,当我单击/触摸它时,会弹出默认的 Windows 触摸键盘。

我不想使用默认键盘,因为我正在创建自己的自定义键盘。我想要的是在我的自定义键盘中输入的字符(在相同的UserControlWebView 中实现)将输入的字符发送到WebView 中加载的网页的当前选定文本框中。

我该怎么做呢?

【问题讨论】:

    标签: c# windows-runtime windows-store-apps microsoft-metro


    【解决方案1】:

    如果你想在一些 HTML 元素(输入、文本区域等)中插入文本,你可以使用 DOM 和属性 innerHTML

    【讨论】:

    • 感谢您的提示!我对 HTML 一无所知,所以当我只知道 C# 中 WebView 的名称时,你能给我一个参考或解释我如何访问 DOM 吗?
    • msdn.microsoft.com/en-us/library/… 这是示例,当您在 HTML 页面上有元素的 ID 时,您可以尝试查找具有名称或类的示例
    • WebView 在任何时刻都无法在网页上找到当前被赋予焦点的文本框/其他控件的 ID。
    【解决方案2】:

    您不能覆盖 Windows 应用商店应用中输入元素的默认行为,包括托管在 WebView 中的 Web 应用。 Store 应用中没有用于自定义键盘的 API,当基于文本的输入元素获得焦点时,您将无法阻止键盘弹出。

    【讨论】:

    • 可以通过禁用其服务来防止弹出默认触摸键盘。我知道没有自定义键盘;我正在用插入UserControl 的按钮制作一个。
    • 您打算在商店中分发此应用程序,还是 LOB 应用程序?无论哪种方式,这是一个非常糟糕的方法。
    • a very bad way to go about this 为什么?
    • 因为你不能依赖另一台机器禁用触摸键盘服务。如果他们这样做了,它将使其他需要触摸键盘的应用程序在重新打开之前无法使用。除非这是一个仅供个人使用的应用程序,否则您将面临巨大风险。而且,肯定不会得到店家的认证。
    • 您当然是对的,但这是一个单系统应用程序,不需要经过商店。我想要的是一个非常独特的设置,专为多个用户设计,以便在单个大型触控显示器上一起操作。
    猜你喜欢
    • 1970-01-01
    • 2013-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多