Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 2
            [id] => 545911
            [titulo] => HTML - Links dentro do iframe não funcionam
            [dataCadastro] => DateTime Object
                (
                    [date] => 2016-02-16 16:34:14
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 418027
            [status] => A
            [isExample] => 
            [NomeUsuario] => Jothaz
            [Apelido] => 
            [Foto] => 418027_20150313165406.jpg
            [Conteudo] => Não é um boa prática usar Iframe para layouts. Ele é de grande ajuda, mas usado no escopo correto.

Se quer mesmo criar sites mais robustos pesquise e tente aprender sobre tabless, layout responsivo, layout dinâmico e layout fluido. ) )

HTML - Links dentro do iframe não funcionam

PHP
Iago Melo
   - 16 fev 2016

Boa tarde,
Estou trabalhando em uma página HTML para sair da mesmisse do wordpress porém não sou muito bom com HTML.
Fiz ela com um index que possui um iFrame onde são abertas todas as páginas, até aí tudo bem funciona perfeitamente, porém nas páginas abertas tentro do iFrame seus links não funcionam.
***Se eu abrir a página fora do iFrame funcionam todos os links.
***Se eu abrir a página dentro do iFrame nenhum link funciona, fica como se fosse somente leitura.
Estou utilizando o Dreamweaver CS4 para desenvolver o site, se alguém puder me ajudar ficarei extremamente grato.
Se quiserem olhar upei ele aui, se abrirem as páginas em nova aba vão ver que os links funcionam.

Post mais votado

Jothaz
   - 16 fev 2016

Não é um boa prática usar Iframe para layouts. Ele é de grande ajuda, mas usado no escopo correto.

Se quer mesmo criar sites mais robustos pesquise e tente aprender sobre tabless, layout responsivo, layout dinâmico e layout fluido.

Marcelo Pastore
   - 19 fev 2016

Realmente não é uma boa, leia um pouco sobre esse assunto.

http://www.maujor.com/blog/2006/12/21/inserindo-pagina-html/

Gabriela Monte
   - 19 fev 2016

Tem como ter essa funcionalidade sem o uso do iframes? Como?

Jothaz
   - 20 fev 2016

É complicado de explicar sem mostrar exemplos ou criar um post monstro.

Respondendo a sua pergunta o indicado é criar um layout básico usando div´s com topo, conteúdo e rodapé e carregar as páginas no conteúdo. Usando um linguagem back-end é só usar "includes", masterpage ou partial, dependendo da tecnologia usada, que permite incluir as partes do layout (top e rodapé) de forma dinâmica.

Se for usar somente HTML acaba que você terá de repetir a parde do tipo e rodapé em todas as páginas que é trabalhoso e mata na hora de dar manutenção, pois se alterar qualquer coisa tem de alterar em todas a páginas.

Usando somente HTML fica dicidil utilizar os "includes", então para contorna usa-se das gambiarras frameset e iframe. Assim pode-se simular o include de partes de páginas só que frameset foi descontinuada (uma pesquisa no Google vai explicar o porque) e Iframe não foi criado para layouts e sim para ser usada em cados específicos.

No HTML5 exist a tag:

#Código

<object  nome = "foo"  tipo = "text / html"  dados = "foo.inc" />


mas usá-la para criar layout vai contra a especificação do W3C e não é crossbrowser.

Em servidores que utilizam SSI (server side includes) você pode usar:

#Código
<!--#include file="same_path_file.html" -->


mas é um solução instável que não é crossbrowser. Tudo isto são apenas gambiarras para contornar a incapacidade de utilizar um linguagem back-end.

Quer mesmo ser profissional e criar páginas robustas e funcionais, saia da idade das trevas e aprenda um linguagem back-end. Esta estória de programador fornt-end não leve ninguém a lugar nenhum. HTML é algo trivial destina-se apenas a ser um sistema para interligar documentos, não é uma linguagem de programação é um linguagem de marcação.

Considero HTML tão simples que se você se dedicar uma semana ao estudo consegue aprender tudo o que é preciso. Agora se quer mesmo desenvolver se dedique a uma linguagem back-end ai sim você terá mais ferramentas para dar forma as sua criatividade.

Gabriela Monte
   - 20 fev 2016

Não estava cogitando o uso de uma linguagem back-end, bem lembrando, vou atrás de saber desses detalhes, obrigada.

Jothaz
   - 21 fev 2016

Grabriela,

Dê uma olhada neste vídeo que fiz com um exemplo prático para responder este post, acho que vai ficar mais fácil de entender a questão.

Espero que com um exemplo prático suas dúvidas sejam sanadas.

Lá também mostro uma forma simples de criar-se um lay out usando somente HTML.

Mas continuo com o mesmo conselho aprenda uma linguagem back-end.

Cleyton Caetano
   - 21 fev 2016

Ao invés do IFRAME não seria mais útil usar o include do PHP?

Gabriela Monte
   - 21 fev 2016

Deve ajudar sim Jothaz, muito obrigada e peço desculpas por "entrar" no post.