Bağlantı yeni bir çerçeve içinde, açık tıklandığında Algılama

5 Cevap php

Ben çerçeveler kullanarak temel bir URL yeniden yazma oluşturmak istiyorum. Ben mod_rewrite yapmak için. Htaccess erişimi yok. Hangi URL tıkladım ve yeni bir çerçeve içinde daha sonra açık adres olmuştur algılamak için PHP, jQuery, JavaScript vb kullanarak bir yolu var mı? Örnek: /index.php?12345 çerçeveli pencerede açılacaktır /pages/12345/index.html ve onlar üzerinde tıklarsanız /index.php?54321 URL çerçeveli pencerede açılacaktır kullanıcı tıkladığında /pages/54321/index.html

5 Cevap

I don't think I really understand what you mean. Usually url rewrite works like this:
User clicks on http://example.com/content/example
Which is the rewritten to http://example.com/index.php?cat=content&page=example

Eğer biraz sahte http://example.com/index.php/content/example webserver hala ile daha sonra index.php sonra bölümünü okumak (ancak bir sorgu dizesi önce) hangi sayfa index.php, ister içine bağlantıları yaparak bu etkiyi yapabilirsiniz

$_SERVER['PATH_INFO']

ve o zaman neye ihtiyacınız olsun ki ayrıştırmak.

$ _SERVER ['PATH_INFO'] üzerine PHP.net

Contains any client-provided pathname information trailing the actual script filename but preceding the query string, if available. For instance, if the current script was accessed via the URL http://www.example.com/php/path%5Finfo.php/some/stuff?foo=bar, then $_SERVER['PATH_INFO'] would contain /some/stuff.

Bir PHP çözüm bu satırlar boyunca bir şey olacaktır:

if (!empty($_REQUEST)) {
    $page = array_pop($_REQUEST);
    if (is_numeric($page)) {
        header("Location: pages/$page/index.html");
        exit;
    }
}

Ben gerçekten ne istediğinizi anlamak ettiyseniz, bunun kolay olduğunu düşünüyorum.

Kullanıcı tıkladığında o AJAX ile PHP bağlantının içeriğini gönderir bir JQuery işlevini çağırır. Bundan sonra, PHP, bağlantı analizi (() dahil) ile sayfanın içeriğini alır ve JQuery için JSON yoluyla gönderir.

Böyle jquery yardımcı olabilir,

jQuery(function($){
  //this prevents all link elments' default behaviour 
  //when you click they won't navigate the page
  $("a").click(function(){
    //you get the links href
    var actual_url = $(this).attr("href");
    var new_url = "";
    //[write your code here for converting actual url to new one]
    //and open the new url in the frame you want
    window.parent.yourFrameName.location = new_url;
    //necessary for preventing default behaviour
    return false;
  });
});

Sinan.

En iyi çözüm linki ziyaret edildi olmadığını kontrol edin ve sonra _blank için bağlantının hedefini değiştirmek için jquery kullanmaktır.

You could use plugin from this site: link text and then execute such code:

 $('a').visited(function () {
  $(this).attr('target','_blank');
});

Ben size aradığınızı olduğunu düşünüyorum.