脚本仅在编辑模式 - 共享点页面上执行

Script only executing on Edit Mode-Sharepoint Page

本文关键字:执行 共享 编辑 模式 脚本      更新时间:2023-09-26

>我有一个附加到 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>

如果它是相关的,这就是我试图通过然后脚本实现的目标:

我在 SharePoint Online 2013 上。我有一个表单,该表单在日历视图中显示事件日历。如果用户想要编辑日历上显示的已添加的事件,我遇到了一些问题。-显示事件的单元格显示事件的标题,并且带有超链接。如果用户双击单元格(在空白区域),他将按照我希望的方式传输到默认显示页面。但是,如果他碰巧单击超链接标题,则默认显示页面不会打开,而是实际的整个项目

我希望始终打开默认显示表单的原因是因为我那里有一个隐藏/显示字段的自定义脚本

提前非常感谢伊拉尔

type="text/javascript"添加到引用库的第一个脚本标记中,它应该可以工作。它为我做到了。

事实证明,type="text/javascript"属性非常重要。我把它排除在引用我正在使用的javascript库的<script>标签之外(在我的例子中是Angular,在你的例子中是jQuery),并且经历了完全相同的行为 - 当页面处于编辑模式时,角度代码正在执行,但当页面处于查看模式时甚至没有被调用。

我意识到这是一个较旧的帖子,但我只是遇到了类似的问题,并找到了我想我会分享的问题的解决方案。希望它能帮助未来的谷歌搜索者。