help за редирект с javascript

Stanki4

Member
търся скрипт за редирект спрямо езика на браузера, нещо от сорта на
if различно от БГ да се зарежда english.htm

но ако все пак посетителя желае да разгледа БГ варианта, като кликне на "бг" да не зарежда отново на english.htm

намерих три скрипта и нито един не сработи :(
OFF. тъпото е, че 95% от сайтовете за javascript в интернет линкват към javascriptkit :mad:
HEEEELP :cry:
 
От: help за редирект с javascript

Няма ли да е по - добре да не се прави с java script понеже в голям част от браузърите няма да работи заради забраната на JS.
Потърси php скрипт за това нещо.

поздрави, айбиемчо
 
От: help за редирект с javascript

А да чекваш ип-то от коя държава е и ако е не е българия тогава да е на английски ? Имаше нещо от рода на geoip ...
 
От: help за редирект с javascript

И аз не ти препоръчвам JavaScript redirect, освен ако не целиш doorway. Всъщност, като се замисля не ти трябва никакъв redirect.
Ето как според мен можеш да го направиш нещата:
1. Посещаваш http://ip.ludost.net и си взимаш данните за които държави ти трябват в някакъв сравнително удобен формат (можеш дори да си направиш периодичен авто-get за обновяване на данните за мрежите)
2. Правиш си mysql таблица със следните полета (колони):
id int(4) auto_increment unique - това поле не е чак толкова задължително
ip1 int(4) - Тук е мястото за началото на мрежата, но IP-то трябва да не е изписано като четири еднобайтови числа, а като едно четирибайтово
ip2 int(4) - Тук пишеш същото, но за края на конкретната мрежа
country varchar(2) - Тук с двубуквено съкращение записваш в коя държава е конкретната мрежа
3. Преобразуваш данните от споменатия сайт и ги вкарваш в споменатата таблица.
4. Когато ти трябва да провериш дадено IP от коя държава е правиш следното
4.1. Превръщаш IP-то на посетителя в четирибайтово число
4.2. Правиш следната mysql заявка (ip - IP на посетителя; location - името на таблицата с данните)
select country from location where ip>=ip1 and ip<=ip2;
Пробвал съм с текстов файл, но лагва много. Ето защо е добре да се прави с mysql, тъй като при потърсването на данните правиш само една заявка.
4. Споменах, че не е нужен redirect, защото просто можеш да бутнеш английското/българското съдържание в страницата чрез променливи, ако е наистина динамична тази страница.

А ако си на обикновен html хостинг, трябва ръчно да си играеш да събираш данните за ip мрежите. Този може да доведе до лаг на посетителите на сайта, тъй като тук проверката ще е бая лагава, а и ще се изпълнява на клиентската машина. Естествено, може да се пробва и нещо с ajax, но по тази тема не съм достатъчно компетентен.

Ако имаш възможност да ползваш php на конкретния хост, но не можеш да реализираш гореспоменатото от мен, срещу скромно възнаграждение мога да ти свърша работата. Тази система си е моя разработка, но нямам нищо против да я споделя, като естествено я попреработя за конкретния случай.

П.П.:
Всъщност е добре да се направи и ръчно задаване на езика чрез get променлива в url-то. От страницата без такова задаване трябва да има линкове към всички езикови версии. Така ще има възможност за ръчно превключване, а и ще помогнеш на търсачките да индексират всичките ти страници във всичките ти езикови версии.
 
Последно редактирано:
От: help за редирект с javascript

вж тук http://en.kioskea.net/faq/sujet-596-change-the-language-of-your-website#option-1

не съм го пробвал

ето една добавка

Код:
<?php 
 
 
/************************************************************************/ 
/* PHP-NUKE: Web Portal System                                          */ 
/* ===========================                                          */ 
/*                                                                      */ 
/* Copyright (c) 2002 by Francisco Burzi                                */ 
/* http://phpnuke.org                                                   */ 
/*                                                                      */ 
/* This program is free software. You can redistribute it and/or modify */ 
/* it under the terms of the GNU General Public License as published by */ 
/* the Free Software Foundation; either version 2 of the License.       */ 
/************************************************************************/ 
/* This block is modifyed by Truden, to change the language without living the page.          */ 
/* http://www.truden.com                                                                                                     */ 
/************************************************************************/ 
 
if (eregi("block-Languages.php", $_SERVER['PHP_SELF'])) { 
    Header("Location: index.php"); 
    die(); 
} 
 
    global $useflags, $currentlang; 
    $content = "<center><br>"; 
    $langdir = dir("language"); 
    while($func=$langdir->read()) { 
   if(substr($func, 0, 5) == "lang-") { 
       $menulist .= "$func "; 
   } 
    } 
    closedir($langdir->handle); 
    $menulist = explode(" ", $menulist); 
    sort($menulist); 
    for ($i=0; $i < sizeof($menulist); $i++) { 
   if($menulist[$i]!="") { 
       $tl = ereg_replace("lang-","",$menulist[$i]); 
       $tl = ereg_replace(".php","",$tl); 
       $altlang = ucfirst($tl); 
       $imge = "images/language/flag-$tl.png"; 
           if (!eregi("/modules.php", $_SERVER['PHP_SELF'])) {        
               $content .= "<a href=\"index.php?newlang=$tl\">"; 
                  }else{ 
            $content .= "<a href=\"{$_SERVER[PHP_SELF]}?{$_SERVER[QUERY_STRING]}&newlang=$tl\">"; 
             
            } 
            $content .= "<img src=\"$imge\" align=\"middle\" border=\"0\" alt=\"$altlang\" title=\"$altlang\" hspace=\"3\" vspace=\"3\"></a>"; 
        } 
    } 
 
?>
цялата дискусия около тоя код тук http://www.karakas-online.de/forum/viewtopic.php?t=2353

надявам се, че това ще свърши работа - поне на сайта на автора му изглежда работи


ПП. по повод забележката на Unwise долу този код НЕ чете настройките на браузъра
 
Последно редактирано:
От: help за редирект с javascript

До колкото разбирам, това засича езика нагласен в браузъра на посетителя, но от опит ви казвам, че това не е добро решение (пробвал съм го), тъй като повечето често оставят браузъра си с езика по подразбиране, т.е. английски.

Допълнение (след допълнението на писалия преди мен):
Това второто така и не разбрах защо го спомена, като няма нищо общо с проблема на човека. Той търси как автоматично да се разпознава от къде е дадения човек и на какъв език да му пусне страницата (или към коя нейна езикова версия да се пренасочи). Това, което ти даваш е нещо специализирано само за phpNuke, което просто позволява РЪЧНА смяна на езика (поне аз това разбрах от написания код).
 
Последно редактирано:
От: help за редирект с javascript

А защо просто не оставиш потребителите сами да избират какъв език искат :) Например можеш да разделиш сайта си на под домейни според езика. Например: bg.domein.com
en.domein.com
и така нататък :) И после правиш една начална страница, която да е в domain.com със флагчетата на страните :) Мисля, че така и гугъл ще те индексира по-добре :)
 
От: help за редирект с javascript

И това съм го виждал, но е факт, че човек когато посещава конкретен сайт за първи път очаква да види нещо. Когато още на първата страница не вижда съдържание се увеличава вероятността да затвори страницата. Също така, от гледна точка вътрешно SEO не добре главната страница да е толкова елементарна (с две флагчета). Най-много външни линкове по принцип се насочват към главната страница и не е добре тя да е без съдържание (контент).
 
От: help за редирект с javascript

Сложил съм му флагчета на всяка страница. Трябва ми някакво лесно и бързо решени на въпроса ако посетителя не от бг да зарежда "енглиш". Знам, че с PHP е най-удачният вариянт, ама в момента нямам време да се занивам с него, още повече че съм на ниво HELLO WORLD. Щото съм на вълна добавяне в англоезични директории, и не знам дали ще удобрят сайта като началната страница не е на английски. А и вътрешни линкове май не може да се добавят (освен платени, което не ме устройва :)
 
От: help за редирект с javascript

Може да го направиш като влезне в началната страница да кажем тя ще е на български (ще видиш в брояча от къде са ти повечето посетители) и ще сложиш едно поп-ъп прозорче допълнително да изберат като са в началната страница.

поздрави, айбиемчо
 
От: help за редирект с javascript

То и това изисква малко познания, но не е лоша идея. Само дето този pop-up трябва да се появява само веднъж в началото, т.е. след това трябва да се лепи cookie с предпочитанието за език на посетителя. И все пак повечето браузъри (включително и моя в момента) блокират pop-up-ите.
 
От: help за редирект с javascript

Аве гледал съм на някви сайтове много интересни идей с тези точно поп ъпи и не може да се блокират но не си спомням сайтовете вече.
Малко въображение и ще стане

поздрави, айбиемчо
 
От: help за редирект с javascript

То изобретателност винаги ще има, но не си струва да гониш муха с чук. Моделът, който представих в най-първото си мнение в темата, съм си го измислил и го ползвам. Отклоненията са минимални (при необновена база данни), а и дори да се обърка системата и да ти пусне английската версия вместо българската, има си ръчно превключване. Тук най-важно е да има някаква автоматика при началното разпознаване, за да не стресираш за първи път дошлия посетител. Той си влиза в сайта с очакване за нещо. Много би се зарадвал ако не го занимават с флагчета и мистериозно изскачащи прозорци. Вместо това той просто би могъл да си влезе и от раз сайтът да започне да му дава нужната информация на удобен за него език.
 

Горе