Ember模板和Google AdSense

在Ember(把手)模板中添加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>

我是否需要使用预编译模板从代码执行此操作,还是有一种我不知道的方法?


我没有Google AdSense帐户,所以我无法对此进行测试。 但是这里有几个主要的问题:

  • 即使使用CDATA,也不能在Handlebars模板中包含<script>标记。
  • Google AdSense要求AdSense JavaScript在您的信息页中逐字显示,否则将违反TOS。
  • 根据这个StackOverflow答案,目前对AJAX网站上的AdSense支持很差。
  • Google AdSense抓取工具无法看到您网页上的任何内容,因此我怀疑广告定位是否会起作用。 但请参阅下面的一些可能有助于爬虫的事情。
  • 但为了简单起见,我会假设您可以直接与谷歌讨论TOS问题,我将尽力解决技术问题。 首先,基于这个StackOverflow答案,下面是一个可能的解决方案,它允许您逐字提供Google的脚本:

    <script type="text/x-handlebars">
        <h1>Ember AdSense</h1>
        {{outlet}}
        <div id="ads"></div>
    </script>
    
    <script type="text/x-handlebars" data-template-name="index">
        <p>Hello, world!</p>
    </script>
    
    <div id="ads-load" style="display: none">
    
    <!--
      Apparently this needs to appear verbatim, exactly as Google gave it to
      you, or it's a TOS violation.
    -->
    
    <script type="text/javascript"><!--
    google_ad_client = "ca-pub-XXXXXXXXXX";
    /* Test Ad */
    google_ad_slot = "XXXXXX";
    google_ad_width = 250;
    google_ad_height = 250;
    //-->
    </script>
    <script type="text/javascript"
    src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
    </script>
    
    </div>
    

    然后,当我们的主模板加载时,我们使用jQuery将广告移动到我们的应用程序模板中:

    window.App = Ember.Application.create();
    
    // Explicitly declare the view class for our application view.
    App.ApplicationView = Ember.View.extend({
        // Called once the view is rendered.
        didInsertElement: function () {
            $('#ads-load').appendTo("#ads").css("display", "block");
        }
    });
    

    至于允许Google抓取工具查看您的内容,Google对AJAX应用程序提供了官方建议,但我不知道它是否适用于AdSense抓取工具。 或者,如果您使用pushState来更新显示的URL,那么您需要确保每个URL都可以在您的服务器被爬虫请求时呈现。 (Discourse论坛软件正是这样做的。)

    请让我知道,如果它让你更接近。

    链接地址: http://www.djcxy.com/p/12759.html

    上一篇: Ember template and Google AdSense

    下一篇: Viewer extremely slow as webstartable