如何在 Ember .js模板中注入第三方 JavaScript
How to inject 3rd party javascript in Ember.js template?
我正在尝试在网站上使用两个第三方小部件,但无法完全弄清楚如何让Ember.js合作。 我在视图上找到了很多,发现它们现在已经弃用了,组件似乎是要走的路,但我不确定如何使其工作......
我有各种基于城市的模板,需要:
<script type="text/javascript" src="http://www.topix.net/iframe/city/atco-nj?js=1"></script>
另一个看起来像这样:
<script>document.write('<script src="... + Math.random() + ..."></script>');</script>
我将如何使用组件或更好的替代方案来做到这一点!?
为此,您实际上不需要组件,只需创建一个模板并将其注入到需要的地方即可。但是我不是 100% 什么是基于城市的模板,但只是为了输出 html,您只需使用模板模板/助手:
使用模板(称为部分(:运行(如果使用 Ember CLI ,如果不是只是在某处创建模板文件,再次假设您有某种方式在服务器上编译模板(。
ember g partial inject_city
然后:
//inject_city.hbs
<script type="text/javascript" src="http://www.topix.net/iframe/city/atco-nj?js=1"></script>
然后在主模板中:{{partial 'inject_city'}}
延伸阅读: http://guides.emberjs.com/v1.10.0/templates/writing-helpers/
使用帮助程序(请注意,要返回 HTML,您必须使用安全字符串(
Ember.Handlebars.helper('injectScript', function(value, options) {
return new Ember.Handlebars.SafeString("<script>document.write('<script src="... + Math.random() + ..."></script>');</script> );
});
在版本 1.13.0 及更高版本中,语法不同:
import Ember from "ember";
export default Ember.Helper.helper(function(params) {
return Ember.String.htmlSafe(`<b>${params[0]}</b>`);
});
(请注意,您应该生成一个帮助程序,用 Helper.helper 包装它并返回 Ember.String.htmlSafe(。
延伸阅读: http://guides.emberjs.com/v1.10.0/templates/writing-helpers/
但是,最好的方法是使用构建块在余烬构建/构建自己的组件中包含库,而不仅仅是包含整个脚本。余烬文档很好地解释了组件,ember-cli文档解释了如何包含第三方库。祝你好运!
我通过制作一个组件来解决这个问题。我遇到了同样的问题,我想在页面加载时使用图表绘制一些饼图.js
所以我定义了图表并运行 js 在组件中创建它们。下面是组件"JS-charts":
export default Ember.Component.extend({
didInsertElement: function() { insert script and or methods to run }
});
这将始终由于 didInsertElement 而触发。
在页面的模板中,您的渲染只需添加 {{js-charts}} 组件
- 使用Objective-C的JavaScript注入方法
- 正在注入包含JS的HTML
- 迷你$provider注入茉莉花和角
- Angularjs工厂注入错误
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- 与运行长作业(javascript,node.js)的第三方API同步的最佳实践
- 如何检测第三方广告服务器请求
- 如何在Ionic Android中将Javascript注入到web视图中
- Android Webview通过Javascript注入CSS
- 将下载链接从web浏览器传递给第三方应用程序
- 在iOS和Android上使用React native时,我还能使用本机第三方lirbraries吗
- Meteor:在启动时将html注入客户端文件
- 在页面中注入第三方 HTML(带有脚本)
- 如何在 Ember .js模板中注入第三方 JavaScript
- 计算类的实例——使用Firebug将jQuery注入第三方网站
- 确保脚本在第三方iframe上的注入和执行
- 如何将第三方依赖项注入Angularjs中的Directive控制器
- 第三方页面上的JavaScript注入
- 如何将第三方库注入angular.js服务
- 为第三方api构建和注入脚本标记的好处是什么?