#javascript #python #html #svg #cloudflare-workers
#javascript #python #HTML #svg #cloudflare-рабочие
Вопрос:
Я создаю worker, который отображает svg
файл, сгенерированный с использованием кода Python triangles.py
. В этом коде Python у меня есть функция:
getSVGCode(vw, vh):
⋮
callingOtherFunction(inThisFile)
⋮
return svgCode
Эту функцию необходимо вызвать из javascript, который выполняется на Cloudflare Workers (используя их метод, приведенный ниже). SVG-код вставляется в html
строку, которую JavaScript возвращает браузеру.
const html = `<!DOCTYPE html>
<body>
<h1>Hello World</h1>
<svg>My svg here</svg>
<p>This markup was generated by a Cloudflare Worker.</p>
</body>`
async function handleRequest(request) {
return new Response(html, {
headers: {
"content-type": "text/html;charset=UTF-8",
},
})
}
addEventListener("fetch", event => {
return event.respondWith(handleRequest(event.request))
})
Итак, я хочу знать способ заставить код Javascript передавать размеры окна просмотра ( vh
и vw
) в функцию python, чтобы svg мог быть сгенерирован с использованием этого размера. Если эта опция невозможна, мне придется изменить размер svg, который может выглядеть растянутым. Я также хочу знать, как заставить Worker запускать код python из javascript.
Я новичок в кодировании, и особенно в JavaScript. Пожалуйста, укажите полную информацию, чтобы я мог понять ваши ответы. Спасибо!
Ответ №1:
Итак, я решил, что могу использовать <script></script>
внутри html
переменной. Я использовал что-то вроде следующего.
<script>
const vw = document.documentElement.clientWidth;
const vh = document.documentElement.clientHeight;
var svgHref = "https://your.url.here/using?height=vhamp;ampwidth=vw";
document.getElementById("triangles-svg").src = svgHref;
</script>
Это сопровождалось телом с,
<body>
<img id="triangles-svg">
</body>
Виола. 🙂