UserVoice 等托管服务如何将其内容嵌入其他网站?
我看到它是通过在您自己的页面上包含来自服务提供商的 JavaScript 文件,但是,我感兴趣的是创建这样的服务的构建块。
例如,他们是否使用 jQuery、mooTools 或prototypejs 之类的库,以及如何避免命名空间冲突?
还想知道是否有任何书籍、文章、博客文章讨论了 JavaScript 的这种特定用途(不是在寻找有关 JavaScript 的一般资源)。
提前致以问候和感谢,
艾略特
UserVoice 等托管服务如何将其内容嵌入其他网站?
我看到它是通过在您自己的页面上包含来自服务提供商的 JavaScript 文件,但是,我感兴趣的是创建这样的服务的构建块。
例如,他们是否使用 jQuery、mooTools 或prototypejs 之类的库,以及如何避免命名空间冲突?
还想知道是否有任何书籍、文章、博客文章讨论了 JavaScript 的这种特定用途(不是在寻找有关 JavaScript 的一般资源)。
提前致以问候和感谢,
艾略特
Here is a great tutorial I found on How to build a web widget (using jQuery)
通常,您所描述的称为“Javascript 小部件”(UserVoice 恰好出现在页面的一侧)。
有一个很好的关于创建 Javascript 小部件的教程,您可以查看。
这种可嵌入服务的基本结构是:
EDT:通常您会让您的客户/客户/朋友在他们的页面中包含一个脚本,然后通过该脚本您可以执行以下操作:
在纯 JS 中,您可以从远程位置(或不那么远程)动态加载脚本
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 body = document.getElementsByTagName('body')[0]; var aDiv = document.createElement('script'); /* 在这里你可以修改你的 div 属性并查看 */ body.appendChild(aDiv); // $('').appendTo('body'); 对于 jQuery
要深入了解 JavaScript,您可以阅读例如Javascript: The Good Parts或Definitive Guide To Javascript。