0

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

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

但我想要一些代码,比如在国家/地区执行这个 js 文件,就像这样

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

var country= geoip_country_code();

如果(国家==“GB”)

4

2 回答 2

1

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

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

于 2012-04-23T09:22:07.667 回答
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

于 2012-04-23T10:30:07.067 回答