【发布时间】:2019-02-26 03:36:31
【问题描述】:
我有一个附加到 CEWP 的脚本,该脚本仅在我处于编辑模式时执行,而在我保存页面时不执行任何操作。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
function openDialogBox(Url)
{
var ModalDialogOptions = { url:Url, width: 600, height: 500, showClose: true, allowMaximize: true};
SP.SOD.execute('sp.ui.dialog.js', 'SP.UI.ModalDialog.showModalDialog', ModalDialogOptions);
}
(function($){
$('.ms-acal-month').ready(function () {
setTimeout(function() {
$('a[href*="DispForm.aspx"]').each(function() {
$(this).attr('onclick', 'openDialogBox("' + $(this).attr('href') + '")');
//$(this).attr('onclick', ' ');
//alert($(this).attr('href'));
});
$('a[href*="DispForm.aspx"]').each(function() {
$(this).attr('href','javascript:openDialogBox("' + $(this).attr('href') + '")');
});
}, 3000);
});
})(jQuery);
</script>
如果它是相关的,这就是我试图用 then 脚本实现的目标:
我在 SharePoint Online 2013 上。我有一个表单,其中有一个显示在日历视图中的事件日历。如果用户想要编辑日历上显示的已添加事件,我会遇到一些问题。 - 显示事件的单元格显示事件的标题,并带有超链接。如果用户双击单元格(在空白处),他会按照我希望的方式转移到默认显示页面。但是,如果他碰巧点击了超链接标题,则默认显示页面不是打开而是实际整个项目
我希望始终打开默认显示表单的原因是因为我有一个自定义脚本可以隐藏/显示字段
非常感谢提前 伊拉尔
【问题讨论】:
-
如果您的脚本仅在您编辑页面时运行,最可能的原因是您的 CEWP 被隐藏。验证这一点的一种方法是在不编辑页面时查看页面的源代码并搜索您的代码。是这样吗?如果是这样,与其隐藏您的 CEWP,不如将其标题和边框设置为 none 并保持其不隐藏。
-
感谢反馈 Aron..我刚刚检查了我的 CEWP 并且默认选择了隐藏选项并显示为灰色,我无法更改它..还有其他方法可以在页面上插入上面的脚本吗?
-
您可以使用 SharePoint Designer 更改可见性,可以使用 Web 部件功能区或直接在 aspx 代码中。您也可以尝试创建一个新页面并将活动日历和 CEWP 添加到该页面。
-
它也可能有帮助,SharePoint Script Editor only works in Edit Mode 它显示了此问题的所有常见解决方案!
标签: javascript jquery sharepoint calendar