Pergunta

Eu criei um novo cinética fase, e no Chrome funciona bem.No iPad, quando eu uso o Safari developer tools e ligar para o iPad, e verifique o DOM que é criado, as dimensões da nova fase NÃO são o que eu tinha especificado.

OBSERVE TAMBÉM:não importa se eu especificar números reais em largura e altura.Mesmo problema, o palco vai ser SEMPRE 768 x 361 no iPad.

 //////    STAGE    /////////

  var stage = new Kinetic.Stage({
        width: window.innerWidth,
        height: window.innerHeight - 200,
        container: 'kineticStage',
        draggable: true
      });

// nota:a seguinte linha relatórios em um navegador de desktop console, um palco altura de exatamente o que eu esperaria.

console.log(stage.getHeight()); // reports (screenheight - 200)

No entanto, o Safari dev ferramentas de relatórios a seguir no DOM no iPad ...

tela largura="768" height="361" style="padding:0px;margem:0px;fronteira:0px;cor de fundo:transparente;posição:absoluta;superior:

Mais uma coisa...se eu adicionar esta função...

function resize() {

    stage.setWidth(window.innerWidth);
    stage.setHeight(window.innerHeight-200);
    stage.draw();

};

window.addEventListener('resize', resize, false);

Em seguida, gire o iPad, em SEGUIDA, a tela é redimensionada CORRETAMENTE.mas, nunca no primeiro tempo carregando...

Qualquer idéias?

Foi útil?

Solução

OK, eu postei isso depois de 2 dias a tentar encontrar o problema, e de repente eu descobri que é esta:

<meta name="viewport" content="width=device-width">

Excluir a linha corrigido o problema.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top