Object#<オブジェクト>メソッド 'showmodaldialog'がありません
-
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:Object#にはメソッド '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);
.
でp>
SP.SOD.execute('sp.ui.dialog.js', 'SP.UI.ModalDialog.showModalDialog', options);
. 所属していません sharepoint.stackexchange