我在vscode上使用了angular6 + typescript。浏览器是IE11。
我的代码写在app.component.html上,无法运行。
html代码是:
<div>
<div >
<object ID="activexFirst" CLASSID="CLSID:xxxxx-xxx" width="300" height="200"></object>
</div>
<div>
<object ID="activeSencod" classid="CLSID:xxxxx-xxx" width="600" height="500"></object>
</div>
</div>
app.component.ts代码为:
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
encapsulation: ViewEncapsulation.None,
})
export class AppComponent implements AfterViewInit {
//todo..
}
但是可以在Index.html上写。 我该如何解决?
答案 0 :(得分:0)
也许是角元素不同的本地html元素,现在可以了。 app.component.ts代码为:
ngAfterViewInit(): void {
ActiveX.SetActiveXHtml(this.tActive1Div);
}
ActiveX.ts是
public static SetActiveXHtml(activeXDiv: ElementRef): void {
let obj = document.getElementById('simplename') as any;
if (obj == null) {
obj = document.createElement('object');
obj.name = 'name';
obj.id = 'name';
obj.classid = 'CLSID:xxxxxxxxxxxxxxxxx';
}
const cloneObj = obj.cloneNode(true);
activeXDiv.nativeElement.appendChild(cloneObj);
}
cloneNode方法非常重要!!!