我正在使用Angular 2应用程序,该应用程序在我的应用程序中显示新闻项。新闻项目保存在数据库中,并使用Angular的[innerHTML]绑定加载到模板中。

当新闻项内容中包含嵌入式内容(例如Tweet)时,会出现问题,这需要加载javascript文件(例如//platform.twitter.com/widgets.js)。问题在于,即使在解析页面后,浏览器也不会下载文件。

有谁知道如何解决这个问题?
谢谢!

最佳答案

我认为,如果您有类似的东西,它将下载文件。
因此,当您获得新闻提要项时,如果新闻提要项上有任何数据,可以确定它是否嵌入了twitter,则可以对其进行检查,然后获取所需的js文件。

loadedURLs = {
// to hold a cache so you wont download more than once.
};

this.service.fetchDataFromDB()
.subscribe(data =>{
   if(data.url.indexOf('twitter') != -1 && loadedURLs[data.url] == undefined){
     loadedURLs[fileURL] = fileURL;
     // send the file name you want or need.
     this.downloadJS(JSFileURL);
   }
});
downloadJS(fileURL){
   var script = document.createElement('script');
   script.src = (fileURL);
   document.head.appendChild(script);
}

关于javascript - 在Angular 2 innerHTML绑定(bind)中下载脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37347612/

10-10 23:09