Android/Javascript:未捕获的 TypeError 对象 [object] 在 null:1 处没有方法 'click'

Android/Javascript: Uncaught TypeError Object [object] has no method 'click' at null:1

我在网页(在网络视图中打开)中注入 Javascript 代码,以便让应用点击 URL link 并打开该页面。 我正在使用以下代码:

myBrowser.loadUrl("javascript:document.getElementsByTagName('a')[0].click();");

但是它不起作用;它给出了以下错误:"Uncaught TypeError Object [object] has no method 'click' at null:1".

我不明白问题出在哪里,因为我通过 getElementsByID("word").click() 在同一页面(代码的另一部分)注入其他 Javascript 和它正常工作。

我尝试了不同的用户代理,但没有任何改变。

目标SDK为14,最小SDK为9。

有人告诉我 .click() 方法不受 getElementsByTagName 支持,但这是不正确的;我在“Try It Yourself editor”上尝试了相同的代码,它工作正常。

感谢您的支持。

对触发本机点击事件的支持在浏览器中不稳定,尤其是移动浏览器。

由于您只是想打开 window,请使用 window.open()

https://developer.mozilla.org/en-US/docs/Web/API/Window/open

编辑...

如果您想伪造点击,请创建一个可从 window 访问的 js 函数,并从 android 应用程序调用它。

window.fakeClick = function(anchorSelector){
    var el = document.querySelector(anchorSelector);
    el.style.color = "red"; // fake active state
    ga.post(...) // send click to analytics somehow
    window.open(anchorSelector.href); // open the link
}

在android...

myBrowser.loadUrl("javascript:window.fakeClick('a.someclass')");