【问题标题】:Display javascript alert as toast将 javascript 警报显示为 toast
【发布时间】:2019-03-12 00:43:55
【问题描述】:

我确定以前有人问过这个问题,但我发现的解决方案不适用于我的情况...

(要知道的一点:我是 java/android 的初学者)

正如标题所说,我正在尝试将 javascript 警报显示为敬酒,但我发现的所有解决方案都使用 WebChromeClientOnJsAlert 问题是,我使用 WebViewClient 并且我已经覆盖了很多它的东西......一些东西,chrome one 不支持......所以,我的问题是:是否有可能从页面获取 javascript 警报,以便我可以使用普通的WebViewClient 处理它们?谢谢!

【问题讨论】:

    标签: javascript java android events


    【解决方案1】:

    这是一个适用于您的 html 页面的示例代码

    <!-- Compiled and minified CSS -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
    
    <!-- Compiled and minified JavaScript -->
    <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>
    
    <script>
       function clickFunction() {
            M.toast({html: 'I am a toast!'});
       }
    </script>
    <body>
     <a onclick="clickFunction()" class="btn">Toast!</a>
    </body>
    

    参考:https://materializecss.com/toasts.html

    【讨论】:

    • 感谢您的回复!问题是:我无法编辑页面的 javascript 和/或 html
    • 这取决于您使用的是什么,您使用的是android studio还是html或其他东西?请注意,java 和 javascript 是完全不同的语言
    • 我知道我目前正在制作游戏,我在 js/html 中制作了整个东西,但代码现在已上传到托管它的服务器,我现在无法编辑它......我' m 使用 android studio 尝试将其转换为应用程序。我刚开始学习 java 以及 android 开发的工作原理……据我所知,webviewclient 和 webchromeclient 是两个不同的东西,只有 webchromeclient 有一个东西可以在网站发送警报时执行代码。但我正在使用 webviewclient 并且我已经覆盖了它的很多东西,因此我不想将它更改为 webchrome 客户端,
    • 这有点hacky,取决于javascript在客户端的结构方式,某些结构如局部变量不能被覆盖;你可以做的是首先加载html文件,将它保存在一个文件中,编辑文件,然后将它加载到你的webView中
    • 哈哈对于一个简单的警报来说似乎工作量太大了哈哈......我能做些什么来捕捉像 webchromview 的 OnJsAlert() 这样的警报吗?
    【解决方案2】:

    我建议你使用这个轻量级的 ToastMaker 库,它的大小只有 1KB

    $('#mybutton').click(()=&gt;{ToastMaker("This is a toast notification!")});
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    
    <link rel="stylesheet" type="text/css" href="https://unpkg.com/toastmaker/dist/toastmaker.min.css">
    
    <script type="text/javascript" src="https://unpkg.com/toastmaker/dist/toastmaker.min.js"></script>
    
    
    <button id="mybutton">Show Toast</button>

    查看documentation 了解更多示例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-21
      • 2018-06-26
      • 1970-01-01
      相关资源
      最近更新 更多