Следуя этой ссылке я смог загрузить внешние файлы 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
Как запустить внешний код JS в угловом ⇐ Javascript
Форум по Javascript
1746370283
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 '
Подробнее здесь: [url]https://stackoverflow.com/questions/79605730/how-to-run-an-external-js-code-in-angular[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия