Android/Javascript:Uncaught TypeError Object[Object]没有方法'

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

本文关键字:Object 有方法 Android Javascript Uncaught TypeError      更新时间:2023-09-26

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

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

但它不起作用;它给出了以下错误:"Uncaught TypeError Object[Object]在null处没有方法'click':1"。

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

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

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

有人告诉我,getElementsByTagName不支持.click()方法,但它不正确;我在"Try It Yourself编辑器"上尝试了同样的代码,它运行正常。

感谢您的支持。

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

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

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

编辑。。。

如果你想伪造点击,可以创建一个可以从窗口访问的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')");
相关文章: