Как запустить внешний код JS в угловомJavascript

Форум по Javascript
Ответить
Anonymous
 Как запустить внешний код JS в угловом

Сообщение Anonymous »

Следуя этой ссылке я смог загрузить внешние файлы JS следующим образом: < /p>
import { Component, OnInit, Renderer2 } from "@angular/core";
import { ScriptService } from "@app/element-types/_services/script.service";

const scriptPath = 'https://apis.google.com/js/api.js';
declare let gapi: any;

@Component({
selector: 'app',
templateUrl: './app.component.html',
standalone: true
})
export class AppComponent implements OnInit {
constructor(
private renderer: Renderer2,
private scriptService: ScriptService
) {}

ngOnInit() {
const scriptElement = this.scriptService.loadJsScript(this.renderer, scriptPath);
scriptElement.onload = () => {
console.log('Google API Script loaded');
gapi.load('client', 'init');
}
}
}
< /code>
и scriptservice.ts < /p>
import {Inject, Injectable, Renderer2} from "@angular/core";
import { DOCUMENT } from "@angular/common";

@Injectable({
providedIn: 'root'
})

export class ScriptService {
constructor( @Inject(DOCUMENT) private document: Document) {}

public loadJsScript(renderer: Renderer2, src: string): HTMLScriptElement {
const script = renderer.createElement('script');
script.type = 'text/javascript';
script.src = src;
renderer.appendChild(this.document.body, script);
return script;
}
}

< /code>
Пока все хорошо, но я хотел бы изменить код и вместо того, чтобы давать URL, я предоставляю код сценария и запускаю его непосредственно следующим образом: < /p>
const scriptPath = 'https://apis.google.com/js/api.js';
---> change to
const scriptPath = "alert('Hello world');";

< /code>
Ошибка, которую я получаю сейчас: < /p>
Uncaught SyntaxError: expected expression, got '

Подробнее здесь: https://stackoverflow.com/questions/796 ... in-angular
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»