Internet Explorer não é aplicável uma folha de estilos global actualizado através de GetHostInfo

Traduções de Artigos Traduções de Artigos
Artigo: 328803 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Quando especifica uma folha de estilos globais utilizando a implementação IDocHostUIHandler::GetHostInfo numa aplicação que hospeda o controlo do browser, a folha de estilos globais não pode ser alterada após foi aplicada a primeira vez.

Causa

MSHTML só actualiza a folha de estilos globais interna quando a folha de estilos é criada.

Resolução

Está disponível a partir da Microsoft uma correcção suportada. No entanto, esta correcção destina-se a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham este problema específico. Esta correcção poderá submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pela próxima actualização de software que contenha esta correcção.

Se a correcção está disponível para transferência, existe uma secção "denominada transferência de correcção disponível" na parte superior deste artigo da base de dados de conhecimento. Se esta secção não for apresentado, contacte o serviço de cliente do Microsoft e suporte para obter a correcção.

Nota Se ocorram problemas adicionais ou se for necessária qualquer resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem esta correcção específica. Para obter uma lista completa dos números de telefone do suporte de cliente do Microsoft ou para criar um pedido serviço separado, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota O formulário "Transferência de correcção disponível" apresenta os idiomas para a qual a correcção está disponível. Se não vir o idioma, é porque uma correcção não está disponível para esse idioma.

A versão inglesa desta correcção tem os atributos de ficheiro (ou posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas no formato de universal hora (UTC) coordenada Coordinated. Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário na ferramenta Data e hora no painel de controlo.
   Date      Time     Version       Size       File name
   -------------------------------------------------------
   03-Oct-02 13:14    6.0.2722.300  2,763,264  Mshtml.dll
				

Ponto Da Situação

A Microsoft confirmou que este é um problema no Microsoft Internet Explorer 6.

Mais Informação

Este problema ocorre apenas depois de MSHTML é inicializado. Isto significa que se abrir um documento não MSHTML (tal como um documento do Microsoft Word ou qualquer outro tipo de documento de servidor do documento activo), da próxima vez que abre um ficheiro HTML, MSHTML reinicializa a folha de estilo global com a fornecida na implementação do IDocHostUIHandler::GetHostInfo .

Passos para reproduzir o problema

  1. No Visual Studio. NET, crie um Microsoft Foundation Classes (MFC) interface de documentos simples (SDI) CHtmlView aplicação.
  2. Adicionar uma variável de membro à classe de vista que irá conter a folha de estilo global actual:
    class CMFCTestView : public CHtmlView
    {
    ...
    	LPWSTR m_pZoom;
    ...
    };
    
  3. Iniciar a variável de membro à folha de estilo inicial que pretende adicionar o construtor:
    CMFCTestView::CMFCTestView()
    {
    	m_pZoom = L"BODY{Zoom:200%;}";
    }
    
  4. Substitua a função virtual OnGetHostInfo CHtmlView para implementar o código para aplicar a folha de estilos globais através do método GetHostInfo . IDocHostUIHandler::GetHostInfo é implementado em CHtmlControlSite e chama o método utilizado pelo OnGetHostInfo na vista.
    // header file
    class CMFCTestView : public CHtmlView
    {
    ...
    virtual HRESULT OnGetHostInfo(DOCHOSTUIINFO *pInfo);
    ...
    };
    
    // implementation file
    HRESULT CMFCTestView::OnGetHostInfo(DOCHOSTUIINFO *pInfo)
    {
    	pInfo->pchHostCss = (LPWSTR)::CoTaskMemAlloc((lstrlenW(m_pZoom)+1)*2);
    	lstrcpyW(pInfo->pchHostCss, m_pZoom);
    	return S_OK;
    }
  5. Adicionar um menu item e a respectiva rotina de tratamento de CHTMLView classe derivada. No processador de menu, chame o método IWebBrowser2::Refresh() . IWebBrowser2::Refresh() aplica-se a nova folha de estilos globais a página Web activa.
    void CMFCTestView::OnActionTest()
    {
    	m_pZoom = L"BODY{Zoom:50%;}";
    	m_pBrowserApp->Refresh();
    }
    
  6. Actualize o método OnInitialUpdate da vista para apontar para a página de teste HTML:
    void CMFCTestView::OnInitialUpdate()
    {
    	CHtmlView::OnInitialUpdate();
    	Navigate2(_T("http://myserver/mytestpage.htm"),NULL,NULL);
    }
  7. Criar e executar a aplicação. Quando é apresentada a página pela primeira vez, tudo o que aparece ampliado 200 por cento.
  8. Utilize a acção de menu que adicionou a aplicar o novo estilo. Sem a correcção, as actualizações de página, mas a ampliação permanece a mesma. Depois de aplicar a correcção, a página actualiza e é apresentada com a ampliação de 50 por cento.

Propriedades

Artigo: 328803 - Última revisão: 3 de fevereiro de 2014 - Revisão: 1.5
A informação contida neste artigo aplica-se a:
  • Microsoft Internet Explorer (Programming) 6.0
Palavras-chave: 
kbnosurvey kbarchive kbmt kbautohotfix kbhotfixserver kbqfe kbwebbrowser kbhtml kbie600sp2fix kbie600presp2fix kbfix kbbug KB328803 KbMtpt
Traduçã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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 328803

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com