Objeto #<Object> não tem nenhum método showModalDialog'
-
10-12-2019 - |
Pergunta
Considere o seguinte código:
var options = {
title: 'Create a new Post'
autoSize: true,
url: url
}
SP.UI.ModalDialog.showModalDialog(options);
O código é executado a partir de um BCE ação personalizada e a partir de uma web part.Ele funciona bem no IE, no entanto, quando eu a chamo de peça web no Google Chrome, ele dá o seguinte erro:
Não Identificada TypeError:Objeto # não tem nenhum método showModalDialog'
O estranho é que quando eu chamar o exato mesmo código (faz parte da minha biblioteca) do BCE ação personalizada que agora funciona no Google Chrome!
Eu já tentei ligar ele com
ExecuteOrDelayUntilScriptLoaded
_spBodyOnLoadFunctionNames.push("funcname")
LoadSodByKey("sp.ui.dialog.js", null);
Quaisquer ideias ou de ajuda?Ele está me deixando louco!
Solução
Este é um Cromo problema com o cache de modelo.
Por favor, certifique-se de que você chamar
LoadSodByKey("SP.UI.Dialog.js", null);
Para garantir que o arquivo é carregado.
Outras dicas
Este erro especificado que é encontrado no navegador Chrome, poderiam ser eliminados por meio de SP.A GRAMA.executar(tecla de functionName, args) Método.
Substituir a linha
SP.UI.ModalDialog.showModalDialog(options);
com o
SP.SOD.execute('sp.ui.dialog.js', 'SP.UI.ModalDialog.showModalDialog', options);