Como desmarcar “Adicionar como uma nova versão aos arquivos existentes” na caixa de diálogo “Adicionar um documento”
-
29-09-2020 - |
Pergunta
Estou trabalhando em um conjunto de sites de publicação usando o modelo wiki corporativo.Atualmente, quando os usuários desejam inserir uma imagem dentro do editor de rich text, eles serão solicitados com o seguinte: –
E se o usuário inserir uma imagem que já existe ela substituirá a existente, o que poderá fazer com que a imagem seja exibida dentro de uma página Wiki à qual não pertence!!
Então, existe uma maneira de fazer o seguinte: -
- Dê à nova imagem um nome exclusivo gerado automaticamente?
- Para desmarcar “Adicionar como uma nova versão aos arquivos existentes” por padrão?
- Ou evitar sempre a substituição de imagens, pois isso pode causar muitos conflitos!!
tentei atualizar o Upload.aspx, alterando o
<asp:CheckBox id="OverwriteSingle" Checked="true" Text="<%$Resources:wss,upload_document_overwrite_file%>" runat="server" />
ser Checked="false" em vez de Checked="true" ,, mas não mudou nada?Alguém pode aconselhar sobre isso, por favor?
Alguém pode aconselhar? Por favor?
Editaradicionei o seguinte ao meu upload.aspx: -
<SharePoint:ScriptBlock runat="server">
$(document).ready(function() {
_spBodyOnLoadFunctionNames.push('DefaultUploadOverwriteOff');
$(document).ready(function () {
if (document.title == "Upload Document") {
$("input[id$='OverwriteSingle']").attr("checked", false);
$("input[id$='OverwriteMultiple']").attr("checked", false);
}
if (document.title == "Upload Image") {
$("input[id$='OverwriteSingle']").attr("checked", false);
$("input[id$='OverwriteMultiple']").attr("checked", false);
}
});
});
mas não desmarcou a caixa de seleção, você pode aconselhar?
Solução
Eu fiz isso antes, mas foi para o Sharepoint 2010 (veja minha postagem no blog).
O código que usei é o abaixo.Ela deve ser inserida na sua masterpage, logo antes da tag </head>:
<script type="text/javascript">
function DefaultUploadOverwriteOff() {
if (document.title.indexOf("Upload Document") > -1) {
var input=document.querySelectorAll("input");
for (var i=input.length; i--;) {
if (input[i].id.search(/\_OverwriteSingle$|\_OverwriteMultiple$/) > -1) input[i].checked=false
}
}
}
_spBodyOnLoadFunctionNames.push('DefaultUploadOverwriteOff');
</script>
</head>
É JavaScript puro, então não há necessidade de jQuery.E deve ser inserido na masterpage, portanto não é necessário ter acesso ao servidor.
Outras dicas
Acho que desmarcar a caixa de seleção resolverá todo o seu problema.Como se esta caixa de seleção estivesse desmarcada, o usuário que carrega o arquivo duplicado receberá um erro sobre o mesmo nome do arquivo.E para desmarcar a caixa de seleção, veja os comentários abaixo.
Escrever um javascript diretamente no arquivo upload.aspx presente na pasta layouts/15, mas isso não é recomendado.
Portanto, nesse caso, você pode escrever um recurso personalizado com um controle delegado "AdditionalPagehead" para injetar javascript para tornar a caixa de seleção "desmarcada".
> <script>
> _spBodyOnLoadFunctionNames.push('DefaultUploadOverwriteOff');
> $(document).ready(function() {
> if (document.title == "Upload Document") {
> $("input[id$='OverwriteSingle']").attr("checked",false);
> $("input[id$='OverwriteMultiple']").attr("checked",false);
> }});
> </script>
Para sua referência, você pode ver os links abaixo: -
Experimente este código:Insira JavaScript usando controle delegado via recurso.Não aplique manualmente o javascript diretamente na página de upload, pois isso causará muitos problemas de compilação.Siga Link2
function DefaultUploadOverwriteOff()
{
var inputs = document.getElementsByTagName('input');
var i=0;
for (i=0;i<inputs.length;i++)
{
var input = inputs[i];
if (input.type == 'checkbox' && (input.id.indexOf('OverwriteSingle')>-1 || input.id.indexOf('OverwriteMultiple')>-1))
input.checked = false;
}
}
_spBodyOnLoadFunctionNames.push('DefaultUploadOverwriteOff');