1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Dúvidas javascript...

Discussão em 'Web Development' iniciada por JPgod, 10 de Maio de 2012. (Respostas: 26; Visualizações: 2286)

  1. JPgod

    JPgod Moderador
    Staff Member

    Boas

    estou a trabalhar num site, a ser feito com recurso à plataforma Google Sites e deparei com algumas exigencias do cliente.

    -> Tenho um menu de navegação customizado (google gadgets), onde se pretende que o link do menu da página activa seja realçado (por exemplo ficar a bold). já andei a investigar soluções com jquery para alterar a classe CSS e tudo e nada... Relembrar que os gadgets são paginas html completas e que ficam dentro de iframes.

    -> Tenho uma caixa de pesquisa que vai para uma página com outro gadget com opções de filtragem (ou pesquisa google personalizada ou pesquisa de imagens do picassa), logo precisava saber de que página iniciei a pesquisa para aplicar o filtro correcto. Tentei usar o o document.referrer mas me devolve a página actual (ou seja a página de resultados da pesquisa).

    Claro que se fosse um site feito com uma linguagem server side, facilitava, mas não é o caso.
     
    Última edição: 10 de Maio de 2012
  2. nfk

    nfk Power Member

    Não percebo nada de Google Sites nem gadgets, mas só uma ideia: se for possível e aceitável para o cliente, considera realçar a página ativa com um elemento visual fora do iframe (uma seta a apontar, um retângulo colorido ao lado do item, etc).

    Como assim realçar "fora do iframe"?

    o menu está dentro do iframe.

    fora do iframe não dá para meter html/js/css avançado.
     
    Última edição pelo moderador: 10 de Maio de 2012
  3. ImAnAlcoholic

    ImAnAlcoholic Power Member

    O objectivo das iframes é criarem uma sandbox… um site dentro de iframe, aceder ao pai é uma total falha de segurança… embora nao impossivel se nao houver violação de cross-domain, tal como o netvibes fazia antigamente…

    JPGod... podes explicar melhor o sistema do google pages, confesso que não estou familiarizado com ele, mas ver o site, ou algo semelhante facilitava a ajuda =|
     
  4. JPgod

    JPgod Moderador
    Staff Member

    O site não posso mostrar... Infelizmente também não conhecia esta plataforma.
     
  5. ImAnAlcoholic

    ImAnAlcoholic Power Member

    E alguma situação equivalente? podes usar o jsbin.com para criar um sistema de iframes http://jsbin.com/oyikac/edit#javascript,html <- (repara que se nao tiveres /preview ou /edit entao aparece o site que fizeste mesmo, em vez da versao de edição)
     
  6. nfk

    nfk Power Member

    Realçar fora do iframe seria por exemplo:

    > item do menu <

    em que os sinais de maior e menor estão fora do iframe. Está longe de ser a solução ideal, e se não dá para meter html/js/css se calhar nem é possível, sugeri só como uma possibilidade se não conseguisses mexer no que está dentro da iframe e tivesses mais controlo fora dela.
     
  7. JPgod

    JPgod Moderador
    Staff Member

    é precisamente o contrário.

    o que está dentro do iframe aka "gadget" é solução à medida com controlo total ;)
     
  8. franklopez

    franklopez Power Member

    deixa-me ver se te percebi:

    tens um menu e um iframe e queres quando o rato estiver emn cima do item de menu ele fike bold? é isso?
     
  9. JPgod

    JPgod Moderador
    Staff Member

    não percebeste.

    o menu está dentro do iframe, que afecta o conteúdo fora (tive que usar target="_parent") para fazer refresh da pagina inteira.

    o ter o ponteiro do rato em cima já está feito é o a:hover ;)

    a questão que clico num item do menu, vou para a página respectiva e quero que este link fique a "bold" (ou outra coisa qualquer), ou seja o link activo.
     
  10. ImAnAlcoholic

    ImAnAlcoholic Power Member

    ja experimentaste descobrir o URL do parent?

    Código:
    parent.document.location.href
    assumindo que funciona, e so fazeres parse ao url e acrescentar a respectiva class ao item do menu (assumindo que percebi o teu problema…)
     
  11. franklopez

    franklopez Power Member

    eu também andei de volta do a:active e nunca consegui que funcionasse.

    Podes ver aqui: www.respostacrucial.pt a resolução para o problema foi ter uma variavel com o nome do link activo e ter cada elemento do menu dentro dum span e alterar as coisas.

    Posso-te enviar o código.
     
    Última edição: 11 de Maio de 2012
  12. JPgod

    JPgod Moderador
    Staff Member

    Pois é isso que pretendo, o menu activo com realce ;)
     
  13. franklopez

    franklopez Power Member

    Mandei-te PM recebeste?
     
  14. JPgod

    JPgod Moderador
    Staff Member

    Resolvi o realce do menu activo. Basicamente vou ver qual é a URL activa e depois por jquery, pimba adiciono uma classe extra:

    Código:
    $('a[href$="' + qs[1] + '"]').addClass('active');
    qs[1] é a link obtido (sim, é um array, porque o URL "interno" do google sites é deveras complexo!).

    Continuo é agarrado com a pesquisa em saber de onde o utilizador iniciou a pesquisa para aplicar o filtro do tipo de pesquisa...
     
  15. JPgod

    JPgod Moderador
    Staff Member

    Bom, mais coisas que preciso de ajuda para me desenrascar:

    1 - Usar um CMS como joomla! serve para fazer formulários básicos para guarda dados? Neste caso o que o cliente quer:

    .

    No fundo o formulário guardava os dados numa BD MySQL (ou outra coisa do tipo), e depois do lado do Google Sites, implementava um gadget para aceder à BD, usando javascript puro (nada de PHP, porque alem de não ter conhecimentos de PHP, o google sites não suporta-o).

    é possível?

    Que CMS seria recomendado? o Joomla! serve? Tb há o wordpress, mas penso que não me serve para tal, visto que não vai existir o conceito de frontoffice/backoffice, é basicamente 1 página com o formulário... (há mais outros formulários a fazer, mas são semelhantes nos requisitos).

    2 - Pesquisa implementada via JS com query SQL: Parece que o cliente quer que pesquisa como "josé" e "jose" retornem exactamente os mesmos resultados. É possível?
     
    Última edição: 29 de Maio de 2012
  16. nfk

    nfk Power Member

    Para a segunda pergunta, é possível se substituires os caracteres acentuados pelos equivalentes sem acento e fizeres a pesquisa com esse string. Não me parece a melhor solução, porque estás a perder informação sem necessidade. Seria preferível a pesquisa por josé retornar primeiros os resultados com "josé" e mais abaixo os resultados de "jose". Nesse caso não fazia diferença, mas noutros pode fazer.
     
  17. JPgod

    JPgod Moderador
    Staff Member

    o problema que a base de dados tem elementos com "josé" e elementos "jose"...
     
  18. amando96

    amando96 Power Member

    O wordpress tem aplicações de criação de formulários, mas sem querer ofender ninguém, não sabes fazer um formulário em html + php e está a fazer sites para clientes?...
     
  19. JPgod

    JPgod Moderador
    Staff Member

    Desde quando fazer sites para clientes implica saber/dominar PHP? A plataforma neste caso (até porque o site já existia quando entrei) nem sequer suporta PHP "as in", nem outra coisa que senão HTML puro (mesmo com javascript é com os tais "gadgets" que são iframes)

    Fora que a minha experiencia principal em web dev é ASP.NET

    De qualquer forma vou ver se avanço para o PHP. Tenho um NAS que suporta MySQL e PHP, por isso posso poupar de instalar a "tralha" no meu PC. Para desenvolver, basta usar um Eclipse ou mesmo editores como notepad++? Para testar, basta colocar os ficheiros no servidor e correr logo?
     

Partilhar esta Página