我正在编写一个Meteor应用程序,该应用程序利用嵌入式嵌入向用户显示某些数据(链接,pdf)等。我想跟踪应用程序生成的嵌入调用次数。要做到这一点,embedly有自己的分析(http://embed.ly/docs/analytics/install)。
<script>
(function(w, d){
var id='embedly-platform', n = 'script';
if (!d.getElementById(id)){
w.embedly = w.embedly || function() {(w.embedly.q = w.embedly.q || []).push(arguments);};
var e = d.createElement(n); e.id = id; e.async=1;
e.src = ('https:' === document.location.protocol ? 'https' : 'http') + '://cdn.embedly.com/widgets/platform.js';
var s = d.getElementsByTagName(n)[0];
s.parentNode.insertBefore(e, s);
}
})(window, document);
// This is the important line. You will need to insert your API KEY here.
embedly('analytics', {key: '<Your Embedly Key>'});
</script>
我想帮助我如何编写这个脚本来处理meteor,因为它似乎不能作为辅助函数。我已经尝试使用此脚本创建一个.js文件,并使用Wait-on-Lib包加载它,也不会那样。
答案 0 :(得分:3)
我只是将嵌入式集成到Meteor应用程序中,并认为他们的文档是垃圾。但是,经过深入挖掘后,我发现有几种方法可以使用它们的API。
最简单的方法是使用上面显示的platform.js代码,让他们的DOM观察者自动呈现card。您可以通过仅在页面上显示类embedly-card
的标记来完成此操作,例如只需渲染模板即可。这将导致模板在渲染时变为iframe
。
<template name="urlEmbed">
<a href="{{url}}"
class="embedly-card"
data-card-controls="0"
data-card-chrome="0"
data-card-height="200"
data-card-width="100%">
{{url}}
</a>
</template>
然而,这基本上忽略了Meteor的渲染管道。如果您想要更多控制权,可以使用他们的jQuery plugin来控制呈现的时间和方式,可能会挂钩到模板的rendered
回调中。这里有一些如何使用它的示例:http://embed.ly/docs/tutorials/inline
一般来说,您可以使用的命令和功能记录很少,在查询API时我甚至收到以下(非常混乱)消息:
没有platform.js的公共API。最相关的文档是我们的卡片文档:http://embed.ly/docs/products/cards,它将向您展示如何自定义卡片的使用。
然而,嵌入似乎是目前最好的服务,所以我会坚持一点,看看它是怎么回事。具有免费OSS组件的良好潜在替代方案是iframely。