TYPO3 Neos:重新加载后 运行 内联 Javascript
TYPO3 Neos: Run inline Javascript after reload
如果模板中有内联JavaScript,应用内容更改后,如何再次执行?
举个简单的例子:
<head>
<script type="text/javascript">
console.log('hello world');
</script>
</head>
第一次加载页面时你得到 'hello world'。现在更改一些内容并单击 "Apply"。没有任何反应。
我能做什么?
我认为问题在于,一旦页面最初加载(和您的脚本 运行),所有其他操作都不会重新加载页面,因为这些请求是异步的。当你导航到一个页面时,它的内容被加载并插入。脚本不会这样执行。
幸运的是,TYPO3 Neos 会触发一些 JavaScript 事件(例如,当加载页面或创建节点时),您可以监听这些事件以调用您的函数。请参阅 offical documentation 以获取所有已触发事件和提示的列表。
例如:
function sayHelloWorld() {
console.log('hello world');
}
document.addEventListener('Neos.PageLoaded', function(event) {
//This will fire whenever the page reloads by Ajax
sayHelloWorld();
}, false);
如果模板中有内联JavaScript,应用内容更改后,如何再次执行?
举个简单的例子:
<head>
<script type="text/javascript">
console.log('hello world');
</script>
</head>
第一次加载页面时你得到 'hello world'。现在更改一些内容并单击 "Apply"。没有任何反应。
我能做什么?
我认为问题在于,一旦页面最初加载(和您的脚本 运行),所有其他操作都不会重新加载页面,因为这些请求是异步的。当你导航到一个页面时,它的内容被加载并插入。脚本不会这样执行。
幸运的是,TYPO3 Neos 会触发一些 JavaScript 事件(例如,当加载页面或创建节点时),您可以监听这些事件以调用您的函数。请参阅 offical documentation 以获取所有已触发事件和提示的列表。
例如:
function sayHelloWorld() {
console.log('hello world');
}
document.addEventListener('Neos.PageLoaded', function(event) {
//This will fire whenever the page reloads by Ajax
sayHelloWorld();
}, false);