JQuery().html(), содержащий тег сценария с type="module", включая внешний файл jsJquery

Программирование на jquery
Ответить
Anonymous
 JQuery().html(), содержащий тег сценария с type="module", включая внешний файл js

Сообщение Anonymous »

Когда я пытаюсь установить содержимое div с помощью jQuery("#some-div").html("Бла-бла-блаalert("OK");");, тогда alert(); запускается нормально.
Если я попытаюсь включить внешний js-файл, содержащий только предупреждение (); вот так jQuery("#some-div").html("Бла-бла-бла" );, тогда он запускается нормально.
Но если я попытаюсь вместо этого включить внешний js-файл, содержащий alert(); сразу после импорта такие строки jQuery("#some-div").html("Бла-бла-бла"); , тогда он не запускается - почему?
В качестве теста, если я удалю эти 3 строки импорта из внешнего js, показанного ниже, то это alert(); появится, но тогда, конечно, сам код не будет работать, если не будет этих трех важных строк. :-)
Кстати, ребята, этот alert(); на самом деле просто простой пример, позволяющий проверить, загружен/включен ли скрипт или нет, НО на самом деле внешний js Файл - это МОДУЛЬ, который должен выводить QR-код платежа в этот динамически созданный div "Бла-бла-бла" - просто чтобы прояснить ситуацию, поскольку я вижу, что вы можете ввести в заблуждение то, что я здесь делаю!
Если это поможет, вот содержимое этого фактического внешнего js-файла, который я пытаюсь заставить работать (конечно, все значения в этом примере вымышленные), то есть выводит QR-код платежа в этот app-bysquare:
ссылка на источник: github.com/xseman/bysquare/
import { CurrencyCode, encode, PaymentOptions } from "https://esm.sh/bysquare@2.7.1/";
import { html, LitElement } from "https://esm.sh/lit@3.0.0/";
import { qrcanvas } from "https://esm.sh/qrcanvas@3.1.2/";

alert();

/**
* @extends {LitElement}
*/
class Bysquare extends LitElement {
static properties = {
_qrstring: { state: true },
_ammount: { state: true },
_variable: { state: true },
_iban: { state: true }
};

constructor() {
super();
this._qrstring = "";
this._ammount = 10;
this._variable = "0026548";
this._iban = "SK9611000000002918599669";
}

firstUpdated() {
this.#generateQrstring();
}

get #canvas() {
return this.shadowRoot?.querySelector("canvas");
}

render() {
return html`



`;
}

#generateQrstring() {
alert(_test);
const qrstring = encode({
invoiceId: new Date().toLocaleDateString("sk"),
payments: [
{
type: PaymentOptions.PaymentOrder,
amount: this._ammount,
bankAccounts: [{ iban: this._iban }],
currencyCode: CurrencyCode.EUR,
variableSymbol: this._variable,
paymentNote: "Some text here"
}
]
});

this._qrstring = qrstring;
this.#setCanvas();
}

#setCanvas() {
if (this.#canvas) {
const ctx = this.#canvas.getContext("2d");
if (ctx) {
ctx.clearRect(0, 0, this.#canvas.width, this.#canvas.height);
qrcanvas({
data: this._qrstring,
canvas: this.#canvas
});
}
}
}
}

customElements.define("app-bysquare", Bysquare);


Подробнее здесь: https://stackoverflow.com/questions/786 ... ernal-js-f
Ответить

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

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

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

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

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