2015-02-11 46 views
1

您好我正在尝试建立一些角度,你可以提交推文的URL,它会嵌入推文。我以为我可以将嵌入式的叽叽喳喳小部件里的把手粘住,但它不起作用。这可能与事件发生的顺序有关。在Embed.ly Twitter Widget不工作的角度数据绑定

这是代码

<section data-ng-controller="ArticlesController"> 

{{article.title}}<p> 

<a class="embedly-card" href="{{article.title}}">hi</a><p> 

<a class="embedly-card" href="https://twitter.com/jashkenas/status/563803426107449347">bye</a> 

<a class="embedly-card" ng-href="{{article.title}}">why</a> 

</section> 

这是result

正如你可以看到我尝试了几种不同的方式和它的作品时,它只是贴在那里,但不与网址角度数据。虽然当你点击嗨,他们为什么会把你带到正确的地方。

这是inspecting the page

这工作创造了这个整体的iframe一个其他的都只是普通的链接。

也应该说那里有我放在头

<script async src="//cdn.embedly.com/widgets/platform.js" charset="UTF-8"></script> 

任何帮助的embedly脚本是非常赞赏。我并不知道角度,我只是想玩弄一下,并且学习一点。我想也许我现在是。谢谢。

+0

似乎Twitter的插件渲染角DOM渲染之前,也许这就是为什么Twitter的插件无法理解属性'href' – Rebornix 2015-02-11 04:49:54

+0

是的,我在想同样的事情,我想知道是否有任何方法来延迟小部件脚本运行。 – j1mmy 2015-02-11 05:05:20

+0

你可以参考这些项目[1](https://github.com/Urigo/angular-embedly)[2](https://github.com/lithiumtech/angular-embedly)了解如何处理渲染问题,希望它的工作。 – Rebornix 2015-02-11 05:27:09

回答

1

您遇到的问题是在Angular呈现DOM元素之前嵌入呈现元素,这意味着嵌入可能不知道href实际上是什么,它会停止呈现并且不会留下任何东西。

您可以参考这些项目12了解如何处理渲染顺序。

+0

没有任何运气让那里运行必须有一个更简单的方法 – j1mmy 2015-02-11 21:28:12

+0

喜欢不能我延迟嵌入脚本运行,直到DOM加载 – j1mmy 2015-02-11 21:50:41

0

所以我最终只是延缓embedly脚本与此加载的js

setTimeout(function() { 
    var headID = document.getElementsByTagName("head")[0];   
    var newScript = document.createElement('script'); 
    newScript.type = 'text/javascript'; 
    newScript.src = 'http://www.somedomain.com/somescript.js'; 
    headID.appendChild(newScript); 
}, 5000); 

我发现这里https://stackoverflow.com/a/9611751/927591