Просто подумал, что выложу слегка измененную версию очень полезной функции Джейсона Бантинга .
Во-первых, я упростил первое утверждение, указав второй параметр для slice () . Оригинальная версия работала нормально во всех браузерах, кроме IE.
Во-вторых, я заменил этот на контекст в операторе возврата; в противном случае этот всегда указывал на окно , когда выполнялась целевая функция.
function executeFunctionByName(functionName, context /*, args */) {
var args = Array.prototype.slice.call(arguments, 2);
var namespaces = functionName.split(".");
var func = namespaces.pop();
for (var i = 0; i < namespaces.length; i++) {
context = context[namespaces[i]];
}
return context[func].apply(context, args);
}
Типичное распределение IPv6 - это / 32 (четыре октета) для Интернета. провайдер (который может быть транснациональной компанией), затем / 48 (шесть октетов) на конечный сайт (обычно это организация-клиент). Вы можете получить начальная точка в списке делегированных блоков IANA .
Это только для
регистрации найдены в базах данных RIR. Назначение до конца
пользователи обычно не записываются, поэтому мой текущий адрес
2a01: e35: 8bd9: 8bb0: 92b: 8628: 5ca5: 5f2b
сообщит вам только то, что мой
штаб-квартира провайдера находится в Париже (так как это национальная компания,
the clients can be anywhere in France).
Another exception is the PI (Provider-Independent) assignements, which are typically /48.
Also, there exists many databases of geolocation for IPv4 and, to my knowledge, none for IPv6. You will have to do everything yourself.
To summary: more work than you apparently believe.
Поскольку пока не представляется простой способ сделать это, возможно, мы получим возможность сделать что-то, чего не было сделано в случае IPv4 (*)
Мы могли бы остановиться и спросить себя, хорошая ли это идея.
(*) Или, если это было сделано, это не сработало!
Службы геолокации и библиотеки maxmind.com обрабатывают IPv6 нормально. Может быть, их вещи - вариант для вас. (Я не имею к ним никакого отношения.)
Дружественная поправка к комментарию Ноя (3 июня, 7:57) -
Согласно отделу клиентских служб MaxMind (выделено мной): «IPv6 в настоящее время НЕ поддерживается. В какой-то момент в будущем мы действительно планируем реализовать это, но в настоящее время у нас нет даты ».