-
10-12-2019 - |
题
考虑以下代码:
var options = {
title: 'Create a new Post'
autoSize: true,
url: url
}
SP.UI.ModalDialog.showModalDialog(options);
.
代码从ECB自定义操作和Web部件执行。它在IE中工作正常,但是当我从Google Chrome中的WebPart调用它时,它会给它提供以下错误:
未捕获的typeerror:对象#没有方法'showmodaldialog'
奇怪的是,当我从ecb自定义操作拨打完全相同的代码(它的图书馆的一部分)时,它现在在Google Chrome中工作!
我试过用打电话给它
ExecuteOrDelayUntilScriptLoaded
_spBodyOnLoadFunctionNames.push("funcname")
LoadSodByKey("sp.ui.dialog.js", null);
任何想法或帮助?它让我疯狂!
解决方案
这是一个Chrome问题,它的缓存模型。
请确保打电话
LoadSodByKey("SP.UI.Dialog.js", null);
.
以确保装入文件。
其他提示
在Chrome浏览器中遇到的这种指定错误,可以通过使用 sp.sod.execute(key,functionname,args)方法。
更换行
SP.UI.ModalDialog.showModalDialog(options);
.
与
SP.SOD.execute('sp.ui.dialog.js', 'SP.UI.ModalDialog.showModalDialog', options);
.