0

如果模板中有内联 JavaScript,并且在对内容应用更改后,如何再次执行它?

只是一个简单的例子:

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

第一次加载你会得到“hello world”的页面。现在更改一些内容并单击“应用”。什么都没发生。

我能做些什么?

4

1 回答 1

0

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

幸运的是,TYPO3 Neos 会触发一些 JavaScript 事件(例如,当页面加载或创建节点时),您可以监听这些事件以调用您的函数。有关所有触发事件和提示的列表,请参阅官方文档

例如:

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

于 2015-02-03T19:08:47.997 回答