Jump to content
Sign in to follow this  
Omar~

jQuety links simultâneos

Recommended Posts

Olá venho aqui porque já pesquisei bastante e nada de resolver esse assunto.

É o seguinte quero usar uma requisição por jquery para abrir várias páginas de acordo com cada link dentro de uma div específica, o que até aí tudo bem.

Porém queria habilitar esse link para ser aberto também em nova guia exemplo clicar com o botão direito e tal...

Bem vamos ao código.

Index.php: Onde incluir o arquivo switchPg.php na div assim validado caso clicar em abrir em nova guia

<div id="getPage"><?php include './switchPg.php'; ?></div>
<hr>
<br><br>
<div style="float: right">
    <a name="?pg=teste" class="btn_link">[ TESTE ]</a>
    <a href="?pg=teste2" class="btn_link">< TESTE 2 ></a>
</div>

O switchPg.php: Que faz a filtragem pelo link selecionado

<?php
$pg = isset($_GET['pg']) ? $_GET['pg'] : null;
switch ($pg) {
    case "teste":
        include "./teste.php";
    break;
    case "teste2":
        echo "fazendo teste";
    break;
    default :
        echo "Não carregou";
    break;
}

A função: Não coloquei as loadings porque acho que não precisa.

function GetLinks() {
    $('a[class="btn_link"]').click(LinkOptions);
    function LinkOptions() {
        var str = $(this).attr('href');
        var Link = 'switchPg.php' + str;
        $.ajax({
            method: 'get',
            url: Link,
            beforeSend: loadingShow,
            complete: loadingHidden,
            success: function (html) {
                $('#getPage').html(html).fadeIn("slow");
            }
        });
    }
    return false;
}

Mas meu problema é o seguinte: Ao selecionar o link capturado pelo attr o função carrega normalmente e abre por exemplo o teste.php, mas o navegador também abre esse link independente do javascript também, sendo carregado o mesmo link duas vezes simultaneamente. Isso por eu ter usado o include no arquivo PHP que vai gerenciar as páginas, porém se eu remover ele ou usar outra função para carregar o switchPg.php na div o caso de abrir o link em nova guia não funciona.

Tudo bem eu posso também remover o href e capturar a identificação de qual página abrir por um atributo name, mas aí sem o link não dar para abrir em nova guia.

Em outras palavras é permitir que o navegador somente abra a página pela função javascript quando clicado no link, mas que também permita abrir o mesmo link em nova guia

A questão é tem como fazer com esse código otimizando ele?

Outra maneira?

Contudo quero usar dessa forma ou de outra parecida para pegar vários links a partir de um menu "<nav><ul><li>......."


Share this post


Link to post
Share on other sites

Pocha consegui resolver. Podem fechar o tópico.

A muito tempo não usava um evento de retorno a função em um button que havia me esquecido da função, não sei se é mais correto mas funcionou desse jeito para quem futuramente possa ter esse mesmo de dúvida.

<a href="?pg=teste" class="btn_link" onclick="return GetLinks(); return false;">[ TESTE ]</a>

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.