我能够在我的Sencha Touch应用中显示Google DFP广告,但是当我点击这些广告时,该应用内的链接会打开,使该应用无法使用,因为它现在是一个网页。无论如何我可以强制该应用程序使用浏览器或应用程序浏览器? Google DFP广告管理系统使用了iframe,我假设它可以使事情变得复杂。
谢谢。
答案 0 :(得分:0)
我能够使用这样的脚本解决这个问题,它改变iframe内部的hrefs指向goto函数,该函数用InAppBrowser打开url。但必须首先将inappbrowser添加到项目中,我将在下面介绍。
function goto(url){
var ref = window.open(url, '_blank', 'location=yes');
}
window.onload = function() {
var link = window.frames['iframeName'].document.getElementsByTagName('a');
for(i=0;i<link.length;i++) {
link[i].href="javascript:window.top.goto('"+link[i].href+"');";
}
}
我还必须按照位于此处的InAppBrowser文档的“访问功能”部分中的简单说明进行操作:https://cordova.apache.org/docs/en/3.0.0/cordova_inappbrowser_inappbrowser.md.html
答案 1 :(得分:0)
@ EvWill的回答适用于只是图片的广告。当广告是HTML5时,它不会起作用,因为hrefs
可以位于多个位置,也可以使用Javascript打开。
在这种情况下,您无法拦截加载以将其定向到InAppBrowser或本机浏览器。
一种解决方法是使用支持DFP https://github.com/floatinghotpot/cordova-admob-pro
的AdMob插件但这也有其局限性,因为您只能在某些位置显示广告。它们会叠加在您的应用上,而不是嵌入到应用中(因此您无法将广告滚动内嵌到您的内容中)