【问题标题】:Script only executing on Edit Mode-Sharepoint Page仅在编辑模式共享点页面上执行的脚本
【发布时间】: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


【解决方案1】:

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

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

我意识到这是一篇较旧的帖子,但我刚刚遇到了类似的问题,并找到了我认为我会分享的问题的解决方案。希望它对未来的 Google 搜索者有所帮助。

【讨论】:

  • 也解决了我的问题。花了3个小时。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多