在Ember(Handlebars)模板中包含Google AdSense横幅的适当方式是什么?假设我有一个视图的模板,看起来像这样:
<script type="text/x-handlebars" data-template-name="myPageWithBanner">
<div id="mainContent">
Lorem ipsum main content
</div>
<div id="banner">
//Normally I would insert a script tag here, but that is not possible
</div>
</script>
我是否需要使用预编译模板从代码中完成此操作,或者是否有一种我不知道的方法?
1条答案
按热度按时间vc6uscn91#
我没有Google AdSense帐户,所以无法测试此功能。但这里有几个主要问题:
1.不能在Handlebars模板中包含
<script>
标记,即使使用CDATA也不行。1.根据this StackOverflow answer, AJAX 网站上的AdSense支持很差。
但为了简单起见,我假设您可以直接与Google讨论TOS问题,我将尝试解决技术问题。首先,基于this StackOverflow answer,这里有一个可能的解决方案,允许您逐字提供Google的脚本:
然后,当我们的主模板加载时,我们使用jQuery将广告移动到我们的应用程序模板中:
至于允许谷歌爬虫看到你的内容,谷歌有official advice for AJAX applications,但我不知道是否与AdSense爬虫工程。或者,如果您使用
pushState
更新显示的URL,则需要确保当爬虫请求时,服务器可以呈现这些URL中的每一个。(Discourse论坛软件does exactly this。)请让我知道如果它让你更接近。