处理 Webview 上的 HTML onClick 函数。 shouldOverrideUrlLoading() 未调用
Handling HTML onClick function on Webview. shouldOverrideUrlLoading() not called
我想从加载到我的 WebView 的 HTML 页面拦截 'onclick' 函数。
<div class='button' onclick="location.href='http://do_something';">
<span>
Click Here
</span></div>
这是我感兴趣的 HTML 页面上的点击事件,但不幸的是我的 WebClient 的 'shouldOverrideUrlLoading()' 方法根本没有为这次点击触发。
当我像这样(如下)更改上面的 HTML 按钮时,它的工作正常。
<a href="http://do_something">Click Here</a>
但是我真的不想对HTML做任何改动。有什么想法可以在不修改 HTML 内容的情况下处理这个点击事件吗?
由于 onclick
属性 executes JavaScript (location.href
),您需要在 WebView
:
中启用 JavaScript
val myWebView: WebView = findViewById(R.id.webview)
myWebView.settings.javaScriptEnabled = true
请注意,此 should be used carefully 因为它可能会在您的应用程序中引入 XSS 漏洞。
我想从加载到我的 WebView 的 HTML 页面拦截 'onclick' 函数。
<div class='button' onclick="location.href='http://do_something';">
<span>
Click Here
</span></div>
这是我感兴趣的 HTML 页面上的点击事件,但不幸的是我的 WebClient 的 'shouldOverrideUrlLoading()' 方法根本没有为这次点击触发。
当我像这样(如下)更改上面的 HTML 按钮时,它的工作正常。
<a href="http://do_something">Click Here</a>
但是我真的不想对HTML做任何改动。有什么想法可以在不修改 HTML 内容的情况下处理这个点击事件吗?
由于 onclick
属性 executes JavaScript (location.href
),您需要在 WebView
:
val myWebView: WebView = findViewById(R.id.webview)
myWebView.settings.javaScriptEnabled = true
请注意,此 should be used carefully 因为它可能会在您的应用程序中引入 XSS 漏洞。