簡體   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