Android/Javascript:Uncaught TypeError Object[Object]没有方法'
Android/Javascript: Uncaught TypeError Object [object] has no method 'click' at null:1
我正在一个网页(在网络视图中打开)中注入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')");
相关文章:
- Android/Javascript:Uncaught TypeError Object[Object]没有方法'
- angular ui下拉切换[object object]没有方法父级
- jqxGrid失败并出现错误“;Object[Object Object]没有方法'jqGrid'&”;
- 未捕获的类型错误:Object[Object Object]没有方法'fancybox'
- javascript中的Object.create方法
- jQuery令牌输入轨道获取错误Uncaught TypeError:Object[Object Object]没有方法
- 为什么dijit.form.Select有方法setStore(),而dijit.fform.FilteringSele
- 重写JavaScript中的Object.create方法
- 未捕获的类型错误:Object[Object Object]没有方法'滑块'
- jquery autocomplete组合框错误:未捕获类型错误:Object[Object Object]没有方法
- JQuery Object[Object Object]没有方法'滑块'当尝试使用滑块演示时
- jquery Object 没有方法 'xyz'
- Javascript TypeError: Object 没有方法
- Object.Prototype 方法和 IIFE(立即调用的函数表达式)中的“use strict”
- 使用 $().trigger() 并获取 TypeError: Object [object Object] 没有方法“
- SAPUI5 setTimeout() --> Object 没有方法
- 创建一个具有 3 个方法的 JavaScript 对象抛出 Object 没有方法
- Jquery:Uncatch TypeError:Object #
- Azure 节点.js脚本:TypeError:Object #
没有方法“toQueryObject” - jQuery uncatch TypeError Object 没有方法