2017-06-06 46 views
2

我有一个JavaScript脚本,在加载的WebView中使用jQuery寻找页面中元素的位置。有没有办法将JavaScript注入WebView以供后期使用?

出于某种原因,此脚本仅在有时会起作用,我怀疑它与加载脚本或页面所需的时间有关。 我试图评估WebViewClient接口的onPageFinished上的脚本,所以我不认为页面的加载与它有关,但也许我错了。

我是一名Android开发人员,对JavaScript和jQuery的理解非常有限,但我知道这个脚本的工作原理,因为在iOS平台中使用相同的脚本并始终返回良好的结果。

加载脚本本身的机会有一些时间问题。

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

+2

如果您希望脚本在页面加载完成时运行,请在标记之前的html中添加一个带有此代码的脚本标记:$(document).ready(function(){ }); – Juan

+0

@Juan问题是我加载到WebView中的页面不是我的页面。我无法控制在WebView中加载的HTML或JavaScript内容,除了我添加/评估的脚本,它包含有关在页面中查找指定元素的一些逻辑。 –

+0

你有没有试过这个:https://stackoverflow.com/questions/21552912/android-web-view-inject-local-javascript-file-to-remote-webpage – Juan

回答

0

无论何时调用脚本标记,都会加载脚本。 他们保持加载,直到该页面被销毁。 它们可以通过任何页面访问。

如果我的想法是正确的,我相信你的问题的直接答案是YES。但是你想知道的是如何。

在如果脚本加载使用jQuery你可以检查一个网页,把这段代码在你的

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

末如果你想在你没有一个页面来执行一个JavaScript有它的来源的控制权,恐怕你不能做你想做的事,因为网络标准的安全规则......你将不得不破解它我无法帮助。

相关问题