代码之家  ›  专栏  ›  技术社区  ›  Eliot Sykes

像UserVoice这样的托管服务如何将其内容嵌入其他网站?

  •  1
  • Eliot Sykes  · 技术社区  · 16 年前

    像UserVoice这样的托管服务如何将其内容嵌入其他网站?

    我看到它是通过在您自己的页面上包含来自服务提供商的JavaScript文件实现的,然而,我感兴趣的是创建这样一个服务的构建块。

    例如,他们是否使用jQuery、mooTools或prototypejs之类的库,以及如何避免名称空间冲突?

    还想知道是否有任何书籍、文章和博客文章讨论了JavaScript的这种特定用法(不寻找JavaScript的一般资源)。

    提前致以问候和感谢,

    艾略特

    4 回复  |  直到 12 年前
        1
  •  3
  •   zvikara    15 年前

    这是我在网上找到的一个很棒的教程 How to build a web widget (using jQuery)

        2
  •  2
  •   Mike Buckbee    16 年前

    有一个很好的教程 creating Javascript Widgets 你可以去看看。

        3
  •  2
  •   Ates Goral    16 年前

    这种可嵌入服务的基本结构是:

    1. 向文档中注入新的HTML元素。HTML代码最有可能作为字符串文本内联到脚本中,因为在单个注入元素上设置innerHTML比使用一连串函数调用直接进行DOM操作更容易、更快。
    2. 整个脚本应该位于闭包中,以避免名称冲突。
    3. JS框架可以使用,也可以不使用;在包含框架时需要谨慎,因为它可能与预先存在的不同框架或同一框架的不同版本发生冲突。
        4
  •  2
  •   Mushegh A.    16 年前

    EDT:通常,您会让您的客户/客户/朋友在其页面中包含一个脚本,然后通过该脚本,您可以执行以下操作:

       var script = document.createElement('script');
       script.type = 'text/javascript';
       script.src = 'your/remote/scripts/path.js';
       document.getElementsByTagName('body')[0].appendChild(script);
    

    //$.getScript('your/remote/scripts/path.js');在jquery中,但您将确保jquery已加载到远程站点

    然后,加载的脚本可以执行不同的操作,如创建如下元素

    var aDiv=document.createElement('script'); /*在这里,您可以修改divs属性并查看*/ 附肢儿童(aDiv); //$('')。附于('正文');对于jQuery

    要深入了解JavaScript,您可以阅读例如 Javascript: The Good Parts Definitive Guide To Javascript

    推荐文章