运行js文件geo目标

时间:2012-04-23 08:27:08

标签: php javascript html

我想运行一个js文件。目前我正在使用此代码

addScript("http://domain.com/file.js");

但我想要一些像这样的代码执行这个js文件国家明智的事情,比如这个

http://j.maxmind.com/app/geoip.js

var country = geoip_country_code();

if(country ==“GB”)

2 个答案:

答案 0 :(得分:1)

您想提供由PHP生成的.js,其内容取决于请求所在的国家/地区?

如果是这样,您可以使用PHP的GeoIP扩展:http://www.maxmind.com/app/php

答案 1 :(得分:1)

除了Jack的答案(+1)之外,如果您使用GeoIP PHP模块,这里有一些代码可以使用:

addScript("http://domain.com/javascriptgenerator.php");

然后在javascriptgenerator.php中,你只需:

<?php 
header("Content-type: application/javascript"); //Tell the browser we're sending JS

require_once "Net/GeoIP.php"; //Path to GeoIP PHP module

$geoip = Net_GeoIP::getInstance("/path/to/geoipdb.dat");

try {
   switch ($geoip->lookupCountryCode($_SERVER['REMOTE_ADDR'])) { 
        case "CA":
           //Generate JS for Canadian users
        break;
        case "FR":
           //Generate JS for French users
        break;
        //Any number of case statements goes here
        default:
           //Show default JS code 
    }
} catch (Exception $e) {
   //Handle exception
   //You probably want to show the default JS code if the geo-location is unsuccesful
}
?>

另见http://pear.php.net/manual/en/package.networking.net-geoip.lookupcountrycode.php