这似乎只是 Sitecore 的问题。但是,当我有一个组件(如 slider )在加载时触发 JavaScript,并将其放入组件区域时,它会在客户端执行此操作。因此,在我按下保存按钮或重新加载页面之前,JavaScript 不会触发。这是因为 JavaScript 在文档准备就绪时运行。
有没有人有解决此问题的有效解决方案?我正在考虑在页面处于编辑器模式时触发加载事件,并在非编辑器模式下正常运行。
最佳答案
在 PageEditor 模式下,您需要禁用 slider 的 JavaScript。为此,请检查 JavaScript 属性 Sitecore.PageModes.PageEditor
,这可以通过以下函数完成:
function isPageEditor() {
if (typeof Sitecore == "undefined") {
return false;
}
if (typeof Sitecore.PageModes == "undefined" || Sitecore.PageModes == null) {
return false;
}
return Sitecore.PageModes.PageEditor != null;
}
那么你的 slider 组件的 JavaScript 应该是这样的:
$(document).ready(function() {
if (isPageEditor() == false) {
//slider setup code here
}
}
关于javascript - Sitecore 7.2 在添加到组件区域时在组件上触发 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26678384/