TYPO3 Neos:重新加载后运行内联Javascript

时间:2015-01-24 18:20:42

标签: typo3 neoscms

如果模板中有内联JavaScript,并且在对内容应用更改后,再次执行该操作会怎么做?

只是一个简单的例子:

<head>
  <script type="text/javascript">
    console.log('hello world');
  </script>
</head>

第一次加载页面时,你会得到“你好世界”#39;现在更改一些内容并单击&#34; Apply&#34;。没有任何事情发生。

我该怎么办?

1 个答案:

答案 0 :(得分:0)

我认为问题在于,一旦页面被初始加载(并且您的脚本运行),所有其他操作都不会重新加载页面,因为这些请求是异步的。导航到页面时,会加载并插入其内容。脚本不会以这种方式执行。

幸运的是,TYPO3 Neos会激活一些JavaScript事件(例如,当加载页面或创建节点时),您可以监听它们来调用您的函数。请参阅offical documentation以获取所有已触发事件和提示的列表。

e.g:

function sayHelloWorld() {
  console.log('hello world');
}
document.addEventListener('Neos.PageLoaded', function(event) {
  //This will fire whenever the page reloads by Ajax
  sayHelloWorld();
}, false);