新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> Google AdSense用户交流区。如何发布Google广告,如何加入AdSense,如何增加AdSense收入。
    [返回] 中文XML论坛 - 专业的XML技术讨论区Android开发论坛『 Google 广告(AdSense/AdWords) 』 → [转帖]使Google广告AdSense在XHTML中工作 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 7007 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: [转帖]使Google广告AdSense在XHTML中工作 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     admin 帅哥哟,离线,有人找我吗?
      
      
      
      威望:9
      头衔:W3China站长
      等级:计算机硕士学位(管理员)
      文章:5255
      积分:18406
      门派:W3CHINA.ORG
      注册:2003/10/5

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给admin发送一个短消息 把admin加入好友 查看admin的个人资料 搜索admin在『 Google 广告(AdSense/AdWords) 』 的所有贴子 点击这里发送电邮给admin  访问admin的主页 引用回复这个贴子 回复这个贴子 查看admin的博客楼主
    发贴心情 [转帖]使Google广告AdSense在XHTML中工作

    转载自:http://neoone.51.net/tech/adsense.php

    [URL=http://neoone.51.net/]主页[/URL] > [URL=http://neoone.51.net/tech/]设计与技术[/URL] > [URL=http://neoone.51.net/tech/adsense.php]使Google广告AdSense在XHTML中工作[/URL]

    翻译手记
    我开始使用XHTML 1.1的时候,发现Google的AdSense广告在IE上正常,在Firefox和Opera中则一片空白,纳闷,对着代码检查了良久,终究无法得知问题于何处。幸亏还有Google,我终于找到这个解决方案。我也不能不说,推广标准,还真的是任重道远,连Google都无法保证它的代码会在任何的(X)HTML上工作。

    这其实是一个JavaScript的问题,假如你发现你在XHTML 1.0 Stric或者XHTML 1.1中无法使用JavaScript的调用,或许,这篇文章对你也有启示。

    为什么AdSense不能在真正的XHTML中工作?
    Google的AdSense使用JavaScript生成一个iframe来动态地发送广告。如果页面是使用常规的HTML或者不严格版本的XHTML,以text/html来伺服的话,没有任何问题。这个JavaScript如你所愿地生成iframe,任何事情都工作得很好。不幸的是,对于站长以application/xhtml+xml来伺服的XHTML,Google的方法不能工作。

    主要问题出在JavaScript。Document.Write()不会在正确伺服的由一个XML解析器处理的XML页面中工作。Ian Hickson给出了为什么会这样的[URL=http://ln.hixie.ch/?start=1091626816&count=1]理由[/URL](中文版本站已经翻译:[URL=http://neoone.51.net/tech/dw_not_work.php]为什么document.write在XML中不工作[/URL])。就如我们所觉察到的,Document.Write()用来生成iframe,因此,Google的广告永远不会出现。

    第二个问题在于iframe本身。这个元素没有出现在任何严格的XHTML版本中,所以尽管JavaScript可以生成,iframe会使这个页面的XHTML不合法。

    怎么才能使它工作呢?
    解决这些问题的一条途径是,简单地以text/html来伺服AdSense代码。为达到目的,有必要创建一个独立的网页,使用text/html的MIME类型,然后以object的形式插入到需要的页面中。下面是一个独立的文档的样例:

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html lang="en"><head><title>Sponsorship</title><style type="text/css">body { margin: 0; padding: 0; }</style></head><body><script type="text/javascript">这里是Google AdSense的参数</script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></body></html>
    对于使用这个[URL=http://neoone.51.net/tech/mime_type.php]分离内容和MIME内容脚本[/URL]来同时伺服application/xhtml+xml和text/html的站长,最好能够利用已经存在的代码来决定这两种不同的方法的采用。在原始的分离内容和MIME内容脚本中,MIME类型由$mime变量来保存。如果该变量的值是“application/xhtml+xml”,则可以在文档中使用object。否则,则把标准AdSense的JavaScript包含进来。下面的脚本演示这是如何做到的:

    <div class="ads"><?phpif($mime == "application/xhtml+xml") { print " <object data=\"/includes/google.php\" type=\"text/html\"></object>\n";} else {?><script type="text/javascript"> 这里是Google AdSense的参数 </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script><?php}?></div>
    这个解决方案业已在IE 6, [URL=http://www.spreadfirefox.com/?q=affiliates&id=38491&t=72]Firefox[/URL] 0.92和Opera 7.0中测试通过。

    延伸阅读
    [URL=http://neoone.51.net/tech/dw_not_work.php]为什么document.write在XML中不工作[/URL],这是AdSense不工作的根本原因。
    [URL=http://neoone.51.net/tech/mime_type.php]使用正确的MIME类型伺服XHTML[/URL]
    原文:[URL=http://keystonewebsites.com/articles/adsense.php]Making AdSense work with XHTML[/URL],[URL=http://keystonewebsites.com/]Keystone Websites[/URL]
    除非特别声明,本站所有翻译文章都以[URL=http://www.creativecommons.cn/licenses/by-nc-sa/1.0/]创作共用[/URL]授权。原文版权归作者所有,如有转摘请注明原作者以及译者信息。
    [URL=http://neoone.51.net/tech/adsense.php#header]跳到头部[/URL]


       收藏   分享  
    顶(0)
      




    ----------------------------------------------

    -----------------------------------------------

    第十二章第一节《用ROR创建面向资源的服务》
    第十二章第二节《用Restlet创建面向资源的服务》
    第三章《REST式服务有什么不同》
    InfoQ SOA首席编辑胡键评《RESTful Web Services中文版》
    [InfoQ文章]解答有关REST的十点疑惑

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/9 0:03:00
     
     myha.net 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:13
      积分:105
      门派:XML.ORG.CN
      注册:2005/3/10

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给myha.net发送一个短消息 把myha.net加入好友 查看myha.net的个人资料 搜索myha.net在『 Google 广告(AdSense/AdWords) 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看myha.net的博客2
    发贴心情 
    真的可以吗?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/10 15:33:00
     
     alpar 帅哥哟,离线,有人找我吗?双子座1982-6-19
      
      
      等级:大一新生
      文章:4
      积分:71
      门派:XML.ORG.CN
      注册:2005/3/17

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给alpar发送一个短消息 把alpar加入好友 查看alpar的个人资料 搜索alpar在『 Google 广告(AdSense/AdWords) 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看alpar的博客3
    发贴心情 
    高!又学了一招了!!

         


        


      
       

    按此在新窗口浏览图片

    ----------------------------------------------
    [url=http://www.fz0132.com]我的博客 我的生活[/url] [img]http://www.fz0132.com/logo.gif[/img]

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/3/17 11:33:00
     
     zdream001 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:0
      积分:54
      门派:XML.ORG.CN
      注册:2005/4/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给zdream001发送一个短消息 把zdream001加入好友 查看zdream001的个人资料 搜索zdream001在『 Google 广告(AdSense/AdWords) 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看zdream001的博客4
    发贴心情 
    今天才看到这个,晚了,唉。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2005/4/8 23:18:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Google 广告(AdSense/AdWords) 』 的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/15 15:49:34

    本主题贴数4,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    78.125ms