这个HTML标签是什么类型的技术?

时间:2013-05-22 21:50:59

标签: html dom

Facebook like button(XFBML)使用了这个

<fb:like send="true" width="450" show_faces="true"></fb:like>
  1. 显然<fb></fb>是一个标签,XML会接受它,但它不是HTML。浏览器将其保留在文档中是否正常?
  2. 这叫什么样的编程技巧?这是正确的方法吗?或者只是另一种创建隐藏元素并替换id="fb"
  3. 的方法
  4. :something中的<fb:like>代表什么?如何使用javascript访问它?

1 个答案:

答案 0 :(得分:0)

这是XHP!

XHP是PHP extension created by Facebook。 它让PHP理解XML节点,所以你可以写这样的东西(来自他们自己的例子):

<?php
  $href = 'http://www.facebook.com';
  echo <a href={$href}>Facebook</a>;
?>

XHP还允许您创建可在标记中使用的PHP类。所以<fb:like />节点实际上在编译时变成了PHP类。该类的定义可能如下所示:

<?php
  class :fb:like extends :x:element {
    ...
  }

您可以在上面的Github链接和creators blog上了解更多相关信息。

所以回答你的问题:

  1. 不会被浏览器处理,而是由XHP处理。 XHP将其转换为PHP对象,最后将其转换为有效的HTML标记。使用XHP时也是如此,但我们也可以在没有XHP的情况下使用相同的标签。我猜这只是在javascript中解析标签并将变量发送到API的问题,它可能使用API​​来重新创建结构,然后发回HTML。
  2. 不是一种技术,而是Facebook开发的一种独特的东西,可以让他们的生活更容易使用PHP。
  3. 同样,当它返回浏览器时,它已被XHP转换(通过javascript发送到Facebook后)。尝试查看呈现的版本 - 它看起来与简单的<fb:like>标记不同。