在我的手机网站上。我一直在尝试加载Adsense Mobile广告,但是在页面加载后,它们继续占据整个页面。
我确实发现,如果我禁用了ajax,则该页面将与广告一起很好地加载。这仅在我加载的第二页上有效,因为我单击了带有标签的链接…
data-ajax="false"
这样可以使下一页完美加载。
问题 :由于启用了Ajax,我认为adsense广告会覆盖加载的第一页。
基本上我页面的第一部分是这样的…
<html> <head> <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0rc3/jquery.mobile-1.0rc3.min.css" /> <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script> <script src="http://code.jquery.com/mobile/1.0rc3/jquery.mobile-1.0rc3.min.js"></script> <script language="text/javascript"> $(document).bind("mobileinit", function () { $.mobile.ajaxEnabled = false; }); </script> </head> <body> <div data-role="header"> <h1>Angry Birds Cheats</h1> </div> <div data-role="content"> <div> <script type="text/javascript"><!-- // XHTML should not attempt to parse these strings, declare them CDATA. /* <![CDATA[ */ window.googleAfmcRequest = { client: '', format: '', output: '', slotname: '', }; /* ]]> */ //--></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_afmc_ads.js"></script> </div>
我确实尝试禁用代码中的Ajax,但是我不认为这是因为广告仍然占据了整个页面…
我在想,也许我可以在某个页面上启动访问者,然后将他们重定向到非ajax页面。
签出与mobileinit事件绑定的文档:http : //jquerymobile.com/demos/1.0/docs/api/globalconfig.html
mobileinit
具体来说:
由于mobileinit事件是在执行后立即触发的,因此您需要在加载jQuery Mobile之前绑定事件处理程序。
这是绑定到mobileinit事件的正确格式:
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0rc3/jquery.mobile-1.0rc3.min.css" /> <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script> <script type="text/javascript"> $(document).bind("mobileinit", function () { $.mobile.ajaxEnabled = false; }); </script> <script src="http://code.jquery.com/mobile/1.0rc3/jquery.mobile-1.0rc3.min.js"></script>
首先是jQuery Core(因此.bind()将可用),然后是mobileinit事件处理程序,然后是jQuery Mobile js文件(这是最后一个,因此mobileinit将在触发事件之前设置事件处理程序)。
.bind()
您可以mobileinit通过alert在函数中放入来测试当前事件处理程序是否未触发。
alert