質問

次のコードを考慮してください。

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);
.

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top