リンクされたフォローボタンを表示するためにこれらのスクリプトをどのように使用できるかを調べようとしています。私はAngular 4を使用していますが、スクリプトを実際に使用すべきではないことを理解しています。私はリンクされた開発者サイトによって与えられたコードを実装しようとしています角4リンクされたボタンが表示されない
<script src="//platform.linkedin.com/in.js" type="text/javascript"> lang: en_US</script>
<script type="IN/FollowCompany" data-id="218698" data-counter="right"></script>
しかし、表示されません。私は他の選択肢があるかどうか試してみましたが、最高のものはng-shareですが、私の理解には、followボタンがなく、共有ボタンしかありません。私は代替案を公開していますが、ボタンをリンクされた開発者サイトが提供するものと同じように見せたいと思っています。
編集:私は、Twitterウィジェットスクリプトが挿入されているインスタンスを使用しています。
import { Component, Input } from '@angular/core';
import { NavigationService } from '../../services/navigation.service';
import { ContentService } from '../../services/content.service';
import { Category } from '../../services/models/category';
import { ShareButtonsModel } from '../../services/models/body-component';
import { BrowserModule, DomSanitizer, SafeHtml } from '@angular/platform-browser';
@Component({
selector: 'share-buttons',
templateUrl: './share-buttons.component.html',
styleUrls: ['./share-buttons.component.css']
})
export class ShareButtonsComponent {
@Input('share-buttons-layout') shareButtonsLayout: ShareButtonsModel;
@Input('share-buttons-data') shareButtonsData;
externalHTML: SafeHtml;
categories: Category[];
constructor(private sanitizer: DomSanitizer, public cService: ContentService, public nService: NavigationService) {
let htmlStr = `<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
`;
this.downloadJS(htmlStr);
this.externalHTML = this.sanitizer.bypassSecurityTrustHtml(htmlStr);
}
ngOnInit() {
this.cService.getLayout().subscribe(res => this.categories = res);
}
downloadJS(string) {
var parser = new DOMParser();
var scripts = parser.parseFromString(string, 'text/html').getElementsByTagName('script');
var head = document.getElementsByTagName('head')[0];
//var result = [];
for (var i = 0; i < scripts.length; i++) {
var src = scripts[i].getAttribute('src');
var script = document.createElement('script');
if (src && src.length) {
script.src = (src);
} else {
script.innerHTML = scripts[i].innerHTML;
}
document.head.appendChild(script);
head.removeChild(script);
}
}
}
そして、私はTwitterのボタンを追加し、HTML
はここにある:<!--Twitter Follow-->
<div *ngIf="button.button==='twitterFollow'">
<a href="https://twitter.com/dummyComp" class="twitter-follow-button" data-show-count="false">Follow @dummyComp</a>
</div>
私が、私のサイトから移動したときに完全に正常に動作するようです。
これらは、あなたの 'index.html'ファイルにありますか?これはスクリプトを含める唯一の場所です。 –
いいえ、これらはindex.htmlファイルには含まれていませんが、私が行った研究から、これらのスクリプトは、ボタンを表示したい領域に配置されます。 – tony67893
悲しいことに、このようなスクリプトをコンポーネントのhtmlテンプレートに直接組み込むことはできません。頭の上からこれに固有の回避策を知りません。 –