首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在WebView中填充HTML表单

在WebView中填充HTML表单
EN

Stack Overflow用户
提问于 2019-01-11 15:23:30
回答 1查看 525关注 0票数 0

我有一个NativeScript-5应用程序(TypeScript风格),它有一个简单的页面,如下所示:

代码语言:javascript
复制
<Page class="page">
   <StackLayout>
      <WebView id="webView" loaded="onWebViewLoaded" src="http://google.com" />
   </StackLayout>
</Page>

在加载网页(onWebViewLoded())之后,我希望我的应用程序填充特定的HTML字段(通过id或名称访问),最后发布周围的HTML。这能办到吗?

我知道有一个Nativescript-WebView-接口插件,但是它要求我在加载的页面中嵌入一个脚本(而且我不能这样做,因为我并不拥有正在加载的页面)。所以我想我需要另一种方法。

如果有人有至少能在Android上工作的解决方案,那就太好了。谢谢你们!

更新:为了避免误解:提交页面是可选的。重要的部分是加载网页并自动填充我的应用程序已经知道的一些值(这样用户就不必自己在HTML表单中输入这些值)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-11 17:41:42

您可以轻松地在Android的网页上下文中执行JavaScript。

代码语言:javascript
复制
export function onLoadFinished(args: EventData) {
    const webView = (<WebView>args.object).nativeView;

    if (isAndroid) {
        // Make sure the element index is valid
        const javaScript = `document.getElementsByTagName("input")[2].value = "It works!"`;
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
            webView.evaluateJavascript(javaScript, null);
        } else {
            webView.loadUrl(`javascript:${javaScript}`);
        }
    }
}

这是操场样本

使用iOS也是可能的,但是在创建本机视图时,您可能必须重写/扩展现有的{N} WebView注入JavaScript。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54149388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档