锚点标记点击事件在使用webview的android jellybean 4.2.2中不起作用,在上面的版本中它工作正常。
function sendGAMP(tid, url){
var data = {'v': '1',
'tid': tid, // TrackingID Google Analytics
'cid': Utilities.getUuid(), // ClientID / UserID --> Session.getTemporaryActiveUserKey()
'z': Math.floor(Math.random()*10E7),
't':'pageview',
'dl': url }; var payload = Object.keys(data).map(function(key) {
return encodeURIComponent(key) + '=' + encodeURIComponent(data[key]);
}).join('&');
var options = {'method' : 'POST',
'payload' : payload };UrlFetchApp.fetch('http://www.google-analytics.com/collect', options);
这是我的锚标签,我无法改变它。
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("javascript:(function(){document.getElementById('Accounts').click();})()");
得到解决方案: 如果没有使用android js接口实现click(),我们必须使用HTML DOM Event Object,如下所示:
<a href="Finacle;jsessionid=0000AT9YD5vrnOS9NJzIjdjJ4PD:1a33q40b7?bwayparam=j%2B2uf%2FBHaNA0ZGWt4ROCCTymgTzXQqv11%2Bfo1g9Jr8Zb1X2StMH26Jd%2FQ0EiE794ALKyEOjpbxhCm3IPgN61zCmWB5ZhKo2OiZRnAsRFLde2n56Kv4yz8ENMvTFzO6T8%0D%0AtXQFDgFsZMbGS28KN44DLVBb%2FQGDyNdvWhqaDSd5aqZEjDO0l1B%2F6x6RovcROwnJSFAG3awM%2FmbNHLvuSTcrwYeETC8B7UVmQBproSd7%2BC0%3D"
id="Accounts" name="HREF_Accounts">Accounts</a>
答案 0 :(得分:0)
这里的问题是EventBinding。当您在webView.loadUrl中调用该函数时,它在dom中找不到具有该id的元素且无法绑定。要防止出现此问题,您必须使用.on()
功能。例如
$('#Accounts').on('click',function(){
//...
});
现在使用此方法,具有此id的任何元素都将与此事件绑定。