繁体   English   中英

如何使用打字稿在 typo3 中显示全局 javascript 变量?

[英]How to display a global javascript variable in typo3 using typoscript?

我想 output 一个由 typo3 中的 javascript 创建的全局变量“elemenId”。

javascript 将被触摸的 html 元素的 ID 写入全局变量 elementId 中:

document.addEventListener("touchstart", (e) => {
                // get elementId of touched element and save as global variable elementId for further processing
                window.elementId = e.target.id;
                });

我想在 typo3 中显示 elementId 值。 有没有机会使用打字稿访问 typo3 中的这个变量? 就像是:

lib.global_variable = COA_INT
lib.global_variable {
    20 = TEXT
    20.data = GP : elementId
    }

还有其他方法可以实现吗? 非常感谢你的帮助!

global variable elementId是什么意思?
全球在什么情况下? PHP? javascript? TYPO3?

您需要区分服务器(使用 PHP/TYPO3 的网络服务器)和客户端(使用 javascript 的浏览器)。

如何交换数据?

PHP 中的任何内容都可以在渲染过程中写入。 output为HTML,包括CSS和javascript。 或者,TYPO3/PHP 可以生成其他格式,如 JSON、XML、PDF 或 ZCC8D68C3301C4A9ADEZ5D。
通过这种方式,PHP 可以通过生成一段 javascript 将值分配给(全局)ZDE9B9ED78D7E2E1E1DC 变量,将一些信息传递给 Javascript:

 $output = '<script>js_var = "' . $php_var . '";</script>';
 echo $output;

现在客户端/浏览器可以通过执行此 javascript 代码来使用该值。


另一方面,来自客户端/浏览器的任何值只能通过执行新的服务器请求来传输到服务器/PHP。 这可以通过使用 arguments(POST 或 GET)的新页面请求来完成,并且服务器可以以适当的反应进行响应。
或者您执行 AJAX 调用,您将获得适当的响应,并且某些 javascript 可以将响应插入到当前文档中。


另一种选择是 javascript 仅在浏览器中本地运行,并使用可用信息来生成或修改当前 HTML 文档。 这可能会在特殊的 HTML object 中显示任何单击的 HTML 元素的 ID。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM