我正在使用Cordova 2.2.0框架中的
Android应用程序,而且在使用基于GPT的广告进行点击时遇到了很多麻烦. (当然我不是第一个尝试这个的人.)
GPT使用广告素材呈现友好的IFRAMES,主要包含< a href =“http://www.example.com/clickthrough/yadayadayada”target =“_ blank”>(广告素材)< / a>
在浏览器和iOS上,点击广告将在新的浏览器窗口中打开点击,这就是我想要在这里发生的事情.但是在我的Kindle Fire HD和Droid 4上的本机应用程序中,点击广告会在IFRAME空间中打开clicktrough页面,因此您可以在我的其他页面中显示页面的左上角320×50.
我已经尝试过编辑白名单,但这不是一个选项,因为广告可以来自任何地方(我们使用多个广告网络来填充我们的补余广告),并且因为广告呈现在我无法控制的IFRAME中我没有能够在javascript:window.open()中包装HREF,我还没有找到让Android Java代码拦截这些点击的方法.
我也调查了AdMob,但我的老板不想改变我们的移动网站的广告体验,该网站有一到三个广告与页面滚动.
编辑能够在广告所在的页面上呈现AdMob视图,以便视图随网站滚动,可以正常工作.
如何在新窗口中打开这些点击次数?
谢谢你的帮助.
解决方法
我将此
JavaScript代码添加到加载或刷新广告的函数中:
$('.advertisement iframe').each(function() { $(this).one('load',function() { makeOpenWindowHref(this); }); });
功能:
function makeOpenWindowHref(element) { if (isNativeApp){ $(element).contents().find('a[href^="http"]').each(function() { $(this).click(function(event){ event.preventDefault(); navigator.app.loadUrl($(this).attr("href"),{ openExternal:true }); }); }); } }
这实质上修改了IFRAME内容,使用Cordova navigator.app.loadUrl()函数将点击打开到一个新窗口.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。