gpt4 book ai didi

javascript - 页面重新加载 (Webview.loadUrl) 导致 Javascript 未被(完全)处理

转载 作者:行者123 更新时间:2023-11-30 04:39:42 25 4
gpt4 key购买 nike

以下用于在呈现 javascript 后获取页面 HTML 内容的技巧在 WebViewPictureListener 的 onNewPicture() 中工作得很好:

browser.loadUrl("javascript:window.HTMLOUT.showHTML('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');"); 

但是,出于某种原因,它仅在页面第一次加载时起作用。也就是说,应用程序的第一个此类 WebView.loadUrl() 调用会获得页面的完整呈现版本。

此后,如果我重新加载/刷新页面(相同的确切 URL),HTMLOUT.showHTML() 的输出似乎是原始 HTML+javascript 之前页面已呈现。

奇怪的是,在视觉上,在 WebView 本身上,所有内容都在那里! (尽管经过了很长一段时间的延迟……我可以看到 WebView 的沙漏在旋转,也许重新处理 Javascript 的时间太长了?)

这似乎暗示了初始化问题(在我的代码中)、WebView 中的错误,或者是经验丰富的 Web 程序员众所周知但我还不熟悉的一些缓存原理。

但随后它变得更加有趣:随后调用 WebView.loadUrl() 导致上述失败多次 (3-10) 直到......页面奇迹般地 完全再次呈现! (然后又多次失败,依此类推)

哪个可能提示时间问题?

关于如何调试或解决此问题的任何建议?

最佳答案

您必须在页面加载后注入(inject) javascript!我花了很长时间才弄明白

关于javascript - 页面重新加载 (Webview.loadUrl) 导致 Javascript 未被(完全)处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6207093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com