【问题标题】:Is there a way to inject JavaScript into WebView for latter use?有没有办法将 JavaScript 注入 WebView 以供以后使用?
【发布时间】:2023-04-09 21:53:01
【问题描述】:

我有一个 JavaScript 脚本,它使用 jQuery 在加载的 WebView 中查找页面中元素的位置。

由于某种原因,此脚本仅在某些时候有效,我怀疑它与加载脚本或页面所需的时间有关。 我正在尝试仅在WebViewClient 接口的onPageFinished 上评估脚本,所以我认为页面的加载与它无关,但也许我错了。

我是一名 Android 开发人员,对 JavaScript 和 jQuery 的了解非常有限,但我知道该脚本可以工作,因为在 iOS 平台中使用相同的脚本并且总是返回良好的结果。

加载脚本本身可能存在一些时间问题。

所以问题是:有没有办法在使用之前加载脚本,或者加载它并确保它加载到 WebView 中。

【问题讨论】:

  • 如果您希望脚本在页面加载完成后运行,请在 html 中的

标签: javascript android jquery webview evaluate


【解决方案1】:

每当您调用 script 标签时,就会加载脚本。 它们保持加载状态,直到该页面被销毁。 任何页面都可以访问它们。

如果我的想法是正确的,我相信您的问题的直接答案是肯定的。然而你想知道的是HOW。

在网页中,您可以检查脚本是否加载了 jQuery,将那段代码放在您的末尾

$(function() { 
  //anything here is executed after page is loaded 
});

如果您尝试在无法控制其来源的页面上执行 javascript,恐怕您无法做您想做的事情,因为 Web 标准的安全规则...您会以某种方式破解它我无能为力。

【讨论】:

    猜你喜欢
    • 2018-04-08
    • 1970-01-01
    • 2015-08-20
    • 1970-01-01
    • 1970-01-01
    • 2013-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多