我有一个用ember制作的单页应用程序。js和我在实现社交共享方面有一些问题。
我需要在hbs模板中实现如下内容:
<a href="http://someaddres.com?u={{model.url}}&title={{model.title}}">Link</a>
然而,当它呈现到浏览器中时,href
字符串中会连接其他脚本标记,最终链接会起作用,我会被重定向,但标题会改为如下:
<script id='metamorph-190-start' type='text/x-placeholder'></script>
MyTitle
<script id='metamorph-19...
我只需要MyTitle。
更具体地说,我使用以下hbs模板进行facebook共享,模型初始化到路由器中:
<a href="https://www.facebook.com/login.php?next=http%3A%2F%2Fwww.facebook.com%2Fsharer%2Fsharer.php%3Fs%3D100%26p%255Btitle%255D%3D{{model.title}}%26p%255Burl%255D%3D{{model.url}}%26p%255Bsummary%255D%3D{{model.summary}}%26p%255Bimages%255D%255B0%255D%3D%2540Model.EventImage%2527%253EShare&display=popup"
target="_blank">
<img src="http://www.simplesharebuttons.com/images/somacro/facebook_img.png" alt="Facebook" />
</a>
我还尝试了第三方库,如janrain、ShareThis或AddThis,但对于它们,我遇到了初始化问题,按钮在放入模板时根本没有显示,而且模型中的消息定制也有问题。
谢谢,伊戈尔
2条答案
按热度按时间mtb9vblg1#
方法1-使用未绑定
要去除模型值周围的变形标记,请尝试使用
unbound
选项,该选项正是这样做的:方法2-计算URL
如果您需要在模型更改时绑定和重新评估模型属性,那么另一种方法可能更好,例如在备份模板的控制器中生成URL。
假设您的控制器是
ApplicationController
,并且链接位于相应的application
模板中,那么您可以执行以下操作:然后在模板中使用计算的
url
属性,如下所示:希望能有所帮助。
prdp8dxp2#
这实际上并不能很好地工作,因为这将打开一个新的浏览器选项卡\窗口,而不是使用建议的js代码形式facebook@https://developers.facebook.com/docs/plugins/share-button/时所需的弹出窗口
不幸的是,您还需要在Ember中创建一个“action”。例如,调用window.open(url,“blah”,“width=300,height=500”)的视图