我正在开发一个iOS应用,用于显示具有MRAID兼容性的横幅广告。我对此进行了研究,几乎没有样品可以使用。我已经成功地将mraid.js文件链接到我的HTMl代码中。我在这里面临的问题是广告加载后不久,我没有触发任何Statechange事件。这是我的示例HTML代码。我在同一文件夹中也有mraid.js文件。
在下面的代码中,我正在侦听StateChange事件。但是即使在广告加载后,也不会触发该事件。我是编码HTML / J的新手。有什么地方我错了吗?如果我在某个地方错了,谁能请我纠正。
谢谢,
<!DOCTYPE html>
<html>
<body>
<script type="text/javascript" src="mraid.js"> </script>
<script>
if (mraid.getState() != 'ready') {
mraid.addEventListener("stateChange", function(state) {
if (state == 'default') {
alert ("State Changed");
startAd();
}
});
} else {
startAd();
}
var startAd = function() {
alert ("Start Ad");
mraid.useCustomClose(true);
}
</script>
<iframe src="http://files.bannersnack.com/iframe/embed.html?hash=bd1ksct1&bgcolor=%23000000&wmode=opaque&clickTag=http%3A%2F%2Fwww.somewebsite.com&t=1369101780" width="728" height="90" seamless="seamless" scrolling="no" frameborder="0" allowtransparency="true"></iframe>
</body>
</html>
最佳答案
您可能正在经历一场失败的比赛。
可能未定义mraid,但这没关系。
此外,我建议检查状态===“正在加载”,而不是!=“就绪”或规格说明。
实际上,尽管事件已准备就绪,但“准备就绪”并不是官方状态。这很可能是您的问题。