ID do artigo: 933823 - Última revisão: terça-feira, 15 de maio de 2007 - Revisão: 1.2

Como criar uma página separada que baixa o arquivo Core.js mas que não referência ao arquivo Core.js em um site do SharePoint Server 2007

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Recolher tudo

Sumário

Este artigo descreve um procedimento de otimização para Microsoft Office SharePoint Server 2007. O artigo descreve como criar uma página separada que baixa o arquivo Core.js mas que não faz referência o arquivo Core.js em um site. Quando você usa esse método, você pode atrasar o download do arquivo de usuários anônimos Core.js até que os usuários podem exibir a página. Dessa forma, a página é processada mais rapidamente.

INTRODUÇÃO

Este artigo descreve como usar o Microsoft Office SharePoint Designer 2007 para criar uma página separada que baixa o arquivo Core.js mas que não referência ao arquivo Core.js em um site do SharePoint Server 2007.

Em um site com a Internet, os usuários que estão em conexões de baixa largura de banda ou em conexões de alta latência podem enfrentar desempenho lento quando eles primeiro procura um site. Por exemplo, ele pode levar muito tempo para a primeira página de um site para carregar devido os recursos adicionais que às vezes devem ser baixados. Embora os recursos com freqüência são compartilhados entre as páginas em um site, e embora esses recursos são armazenados em cache no cliente, primeira página de um site pode ser lenta para carregar.

Este artigo descreve um procedimento de otimização para o SharePoint Server 2007. Por padrão, todas as páginas em um site do SharePoint Server 2007 contém uma referência ao arquivo Core.js. O arquivo Core.js, em sua forma compactada, é 54 KB. Em muitas áreas, esse arquivo é crucial para a operação do site. No entanto, há algumas áreas em que este arquivo não é necessário.

No procedimento a otimização, você criar um novo layout de página. Em seguida, você criar uma nova página usando esse layout de página. Na nova página, o arquivo Core.js é removido da lista de recursos que devem ser baixadas para que a página é processada por um usuário anônimo. Quando o conteúdo na página é legível, o arquivo Core.js é descarregado no plano de fundo.

importante Não há suporte para o procedimento de otimização descrita neste artigo.

Mais Informações

Antes de executar este procedimento, certifique-se que os seguintes critérios forem atendidos:
  • A página mestra do site difere da página mestra do sistema.

    Para verificar isso, localize a seguinte página:
    http:// ServerName /_layouts/ChangeSiteMasterPage.aspx
    Em seguida, determine se a página mestra do site e a página mestra do sistema referência o mesmo arquivo. Se eles referência o mesmo arquivo, a otimização neste procedimento não funcionará. Para a otimização de trabalho, a página mestra do site e a página mestra do sistema devem usar diferentes arquivos.

    Páginas que a página mestra do sistema usa normalmente estão na pasta "_layouts". Por exemplo, uma página que usa a página mestra do sistema pode ser chamada de "/ _layouts/Settings.aspx" página.
  • A página mestra do site não contém os seguintes controles:
    • Controles que são visíveis aos usuários anônimos
    • Controles que exigem o arquivo Core.js, mas que não registram o arquivo Core.js
    A otimização neste procedimento suprime o arquivo Core.js em uma página, e ele suprime o arquivo somente para usuários anônimos. Para usuários anônimos, o arquivo Core.js não é descarregado para a página até depois que a página for legível. Para usuários autenticados, o arquivo Core.js é descarregado para a página antes que a página seja legível.

    Você pode modificar o código que é mencionado na etapa 2 do procedimento otimização para suprimir o arquivo Core.js para usuários diferentes de usuários anônimos. Se você fizer isso, você deve considerar também a página mestra do site.
  • Certifique-se de que a página mestra do site não contém controles ScriptLink que registre o arquivo Core.js. O objetivo deste procedimento é criar uma página que suprime o arquivo Core.js.

    Observação Em circunstâncias normais, o arquivo Core.js é registrado pelo controle SPWebPartManager.
Para criar uma nova página que baixa o arquivo Core.js mas que não faz referência o arquivo Core.js, siga estas etapas:
  1. No SharePoint Designer 2007, crie um novo layout de página. Para fazer isso, copie um layout de página existente e colá-lo para a mesma pasta.

    Por exemplo, copie ArticleLeft.aspx e nomeie o novo layout de página "ArticleLeftNoCore.aspx."

    Observação Para distinguir entre os dois layouts de página, você pode querer especificar uma nova descrição para o novo layout de página que você criou.

    Depois de criar o novo layout de página, siga estas etapas:
    1. Clique duas vezes o novo layout de página. Por exemplo, clique duas vezes em ArticleLeftNoCore.aspx . Em seguida, na parte inferior da página, clique em código .
    2. Localize a marca PlaceHolderAdditionalPageHead e adicione o código a seguir para a marca.
      <SharePointWebControls:ScriptLink runat="server"/>  
      
      quando você fizer isso, o servidor não faz referência o arquivo Core.js, a menos que o arquivo Core.js é registrado por um controle.

      Outras páginas mestres podem usar uma marca diferente para referenciar o controle ScriptLink. Por exemplo, a página Default.master usa a marca "SharePoint:ScriptLink" em vez da marca "SharePointWebControls:ScriptLink".

      A marca que faz referência ao controle ScriptLink faz referência o namespace Microsoft.SharePoint.WebControls. A seguinte marca é um exemplo de como uma marca.
      <%@ Register Tagprefix="SharePointWebControls" 
      Namespace="Microsoft.SharePoint.WebControls" 
      Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, 
      PublicKeyToken=PublicKeyToken" %> 
  2. Crie um novo binário que se baseia o código a seguir. Por exemplo, criar um novo binário é chamado de "PerfTools.dll."
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Text;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using Microsoft.SharePoint;
     
    namespace WebControls
    
    {
        [DefaultProperty("Text")]
        [ToolboxData("<{0}:RegisterCoreWhenAuthenticatedControl runat=server></
    {0}:RegisterCoreWhenAuthenticatedControl>")]
        public class RegisterCoreWhenAuthenticatedControl : WebControl
        {
            protected override void OnInit(EventArgs e)
            {
                if (HttpContext.Current.Request.IsAuthenticated)
                {
                    Microsoft.SharePoint.WebControls.ScriptLink.RegisterCore(this.Page, true);
                }
                base.OnInit(e);
            }
        }
    }
    esse código informa ao servidor para fazer referência o arquivo Core.js se o usuário não for anônimo. Esta operação é executada porque o menu Ações do site requer o arquivo Core.js. Por padrão, muitos usuários autenticados têm acesso ao menu Ações do site no site.

    Seu ambiente pode exigir que você suprimir o arquivo Core.js em diferentes circunstâncias. Nesse ambiente, use o código que é apropriado às suas necessidades.

    Esteja ciente de que o método OnInit é executado sempre que a página é carregada. Por isso, certifique-se que você não adicionar código que afeta negativamente a taxa de transferência no servidor. Por exemplo, se você adicionar código que acessa o componente SpListItem atual, é provável de ocorrer um round trip para o banco de dados do Microsoft SQL Server.

    Depois de criar o novo binário, execute estas etapas:
    1. Defina a versão do binário para 1.0.0.0.
    2. Adicionar o binário para o cache global de assemblies no servidor.
  3. Abra o arquivo Web.config no servidor e adicione o seguinte código para o conjunto de controles SafeControls.
    <SafeControl Assembly="PerfTools, Version=1.0.0.0, Culture=neutral, PublicKeyToken=PublicKeyToken" Namespace="WebControls" TypeName="*" Safe="True" />
  4. No novo layout de página que você criou na etapa 1, execute estas etapas:
    1. Adicione uma marca para registrar o binário. A seguinte marca é um exemplo de como um tag.
      <%@ Register TagPrefix="PerfTools" Namespace="WebControls" 
      Assembly="PerfTools, Version=1.0.0.0, Culture=neutral,
      PublicKeyToken=PublicKeyToken" %>
    2. Na linha após o código que você adicionou na etapa 1b, adicione o seguinte código.
      <PerfTools:RegisterCoreWhenAuthenticatedControl runat="server"/>
  5. Criar uma nova página é chamada de "CorePreLoad.aspx" e copie-lo para a pasta "_layouts" no servidor.

    Use o código a seguir para criar a página.
    <%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" 
    Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, 
    PublicKeyToken=71e9bce111e9429c" %>
    <html>
    <head>
    <title>Pre-Load Core.js</title>
    </head>
    <body>
    <SharePoint:ScriptLink name="core.js" runat="server" />
    
    <script language="javascript">
     DisableRefreshOnFocus();
    </script>
    
    </body>
    </html>
    
    esta página faz referência a uma função no arquivo Core.js. Além disso, a página baixa o arquivo Core.js antes de executar o arquivo.
  6. Abra a página mestra e, em seguida, adicione o seguinte código após a </form> marca e antes do </body> marca.
    <asp:ContentPlaceHolder id="PlaceHolderBottomIFrame" 
    runat="server" />
  7. No novo layout de página que você criou na etapa 1, adicione o seguinte código ao final da página.
    <asp:Content ContentPlaceholderID="PlaceHolderBottomIFrame" 
    runat="server">
                    <iframe 
    src="http://blogs.msdn.com/_layouts/CorePreLoad.aspx" 
    style="display:none"/>
    </asp:Content>
    
    esse código permite que o novo layout de página fazer referência a página CorePreLoad.aspx. Todos os itens na página são exibidos antes que o arquivo CorePreLoad.aspx é carregado para executar sua função.
  8. Check-in o novo layout de página e, em seguida, publicá-lo.
  9. Use o novo layout de página para criar uma nova página.

    Quando os usuários anônimos pesquisam a nova página, o arquivo Core.js não precisa ser baixado antes do usuário pode exibir a página ou antes do usuário pode interagir com a página.

    Por exemplo, você usar ArticleLeft.aspx para criar uma nova página e, em seguida, você usar ArticleLeftNoCore.aspx para criar outra nova página. Embora as duas novas páginas forem idênticas, uma nova página faz referência ao arquivo Core.js e não a nova página.
  10. Teste a nova página que você criou para certificar-se que todos os controles funcionam corretamente.

    Se controles não funcionarem quando a página de procura de usuários anônimos, remova os controles da página nova. Como alternativa, remova os controles do novo layout de página. A otimização neste procedimento pressupõe que a nova página não requer o arquivo Core.js porque não há itens na página requerem o arquivo Core.js.
  11. Verifique se o arquivo Core.js ainda aparece em outras páginas no site. Procure outras páginas no site para verificar que o arquivo Core.js aparece nessas páginas.
Para verificar se a otimização neste procedimento funciona corretamente, procure a nova página como um usuário anônimo e exibir o código-fonte na página. Confirme que uma referência ao arquivo Core.js não existe. Em seguida, exibir o cache. Confirme que o arquivo Core.js é baixado para o servidor. Apenas a página que você criou do novo layout de página não faz referência o arquivo Core.js. Outras páginas no site continuará a fazer referência ao arquivo Core.js.

Referências

Para obter mais informações sobre esse procedimento, visite o seguinte site:
http://blogs.msdn.com/ecm/archive/2007/02/21/building-a-new-page-layout-which-does-not-reference-core-js-but-downloads-it-while-the-page-is-being-viewed-thereby-optimizing-response-time.aspx (http://blogs.msdn.com/ecm/archive/2007/02/21/building-a-new-page-layout-which-does-not-reference-core-js-but-downloads-it-while-the-page-is-being-viewed-thereby-optimizing-response-time.aspx)
Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação para uma finalidade específica. Este artigo presume que você está familiarizados com a linguagem de programação que está sendo demonstrada e com as ferramentas que são usadas para criar e depurar procedimentos. Engenheiros de suporte podem ajudar a explicar a funcionalidade de um determinado procedimento. No entanto, eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades.

A informação contida neste artigo aplica-se a:
  • Microsoft Office SharePoint Server 2007
  • Microsoft Office SharePoint Designer 2007
Palavras-chave: 
kbmt kbhowto kbexpertiseinter kbinfo KB933823 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 933823  (http://support.microsoft.com/kb/933823/en-us/ )