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

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.

328803
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
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: 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 fileclass CMFCTestView : public CHtmlView{...virtual HRESULT OnGetHostInfo(DOCHOSTUIINFO *pInfo);...};// implementation fileHRESULT 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.

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 328803 - Última Revisão: 02/03/2014 21:56:06 - Revisão: 1.5

  • Microsoft Internet Explorer (Programming) 6.0
  • kbnosurvey kbarchive kbmt kbautohotfix kbhotfixserver kbqfe kbwebbrowser kbhtml kbie600sp2fix kbie600presp2fix kbfix kbbug KB328803 KbMtpt
Esta informação foi útil?