Blomm: Конечно, дискуссионная идея, но, как мне кажется, ютубу пора вводить абонентку для авторов, пусть даже это будет символическая сумма в пару баксов в месяц за один канал или полбакса за видео. Получится что-то типа хостинга для видео, но с возможностью заработка.
Скорее уж тогда за кол-во подписчиков. Например до 1000 - 2$ в месяц. От 1000 до 10000 5$ и т.д. Но уж никак не 0,5$ за каждое видео.
demiux: Я так понимаю их много, в каждом своя цена? Опишите подробней.
Этих тегов <span class="currency"></span> несколько на странице. Но цена у них одна. Та стоимость, которая присвоена в зависимости от страны с помощью уже этой рабочей версии скрипта.
Если к примеру страна определилась как Казахстан, то везде в <span class="currency"></span> должно быть 5000 тенге. Но проблема в том, что отображается эта стоимость только одни раз на странице, там где тег span указан первым. Как если бы вместо class бул указан id, и при этом продублирован. Я так понимаю проблема в этой части когда:
И все-таки этот span со стоимостью <span class="currency"></span> отображается только первый указанный на странице. Все остальные не выводят содержимое. Помогите, пожалуйста, исправить проблему.
demiux: Лишние } стоят. Загляните в консоль браузера в хроме и FF: ctrl+shift+i. Там увидите ошибки.
Вот так должно работать. default не обязателен, по умолчанию будет 1000 рублей.
var currency = '1000 рублей';
switch (ymaps.geolocation.country) {
case 'Казахстан':
currency = '5000 тенге';
break;
case 'Беларусь':
currency = '1000 бел. рублей';
break;
}
document.querySelector('span.currency').innerHTML = currency;
Спасибо огромное, теперь все почти заработало. Почему-то только не получается выводить все теги span в одном div. Отображается только значение первого указанного span тега.
smbbws: Имхо делать перерасчет в джаваскрипте неудобно, поэтому лучше воспользоваться sypexgeo.net там есть пхп файл с примером определения страны.
В пхп скрипте смотрите из какой страны пользователь, выводите ему цены в своих валютах со своим курсом.
Не думаю, что мне это будет проще. Во-первых он платный. А во-вторых в нем также придется, все это дописывать под себя. И опять же не факт, что я разберусь сам.
Возможно вы меня не правильно поняли. Или может я вас. Зачем там что-то пересчитывать? Ведь новые данные можно сказать произвольные. Мне же не нужно конвертировать валюты или что-то подобное. По сути в место 1000 рублей можно задать что угодно. Мне необходимо чтобы скрипт проверял значение user-country. И в случае нахождения в значении той или иной страны присваивал новой переменой то или иное значение. Что-то на подобии оператора switch в php.
---------- Добавлено 08.02.2017 в 22:27 ----------
Подскажите хотя бы кто-нибудь как передать значение .user-country в переменную php. А там уж я дальше сам разберусь.
Конечно, дискуссионная идея, но, как мне кажется, ютубу пора вводить абонентку для авторов, пусть даже это будет символическая сумма в пару баксов в месяц за один канал или полбакса за видео. Получится что-то типа хостинга для видео, но с возможностью заработка.
Скорее уж тогда за кол-во подписчиков. Например до 1000 - 2$ в месяц. От 1000 до 10000 5$ и т.д. Но уж никак не 0,5$ за каждое видео.
Document.querySelector() - Возвращает первый элемент внутри документа. Вам нужен Document.querySelectorAll()
Для IE 9 и выше
document.querySelectorAll('span.currency').forEach(function(span){span.innerHTML = currency;
});
или на jquery
$('span.currency').each(function(){this.innerHTML = currency;
});
Еще бы порекомендовал, для правильной индексации, значение по умолчанию сразу выводить в span на сервере.
А js поменять на такой:
Благодарю вас. А в мобильных браузерах все это будет нормально работать?
Я так понимаю их много, в каждом своя цена? Опишите подробней.
Этих тегов <span class="currency"></span> несколько на странице. Но цена у них одна. Та стоимость, которая присвоена в зависимости от страны с помощью уже этой рабочей версии скрипта.
Если к примеру страна определилась как Казахстан, то везде в <span class="currency"></span> должно быть 5000 тенге. Но проблема в том, что отображается эта стоимость только одни раз на странице, там где тег span указан первым. Как если бы вместо class бул указан id, и при этом продублирован. Я так понимаю проблема в этой части когда:
document.querySelector('span.currency').innerHTML = currencyНо что именно не так, мне не понятно.
И все-таки этот span со стоимостью <span class="currency"></span> отображается только первый указанный на странице. Все остальные не выводят содержимое. Помогите, пожалуйста, исправить проблему.
Думаю из-за того, что теги незакрыты.
<span>...</span>
http://htmlbook.ru/html/span
Да, точно :). Я уже сплю наполовину. Еще раз спасибо. Вы мне очень помогли.
Лишние } стоят. Загляните в консоль браузера в хроме и FF: ctrl+shift+i. Там увидите ошибки.
Вот так должно работать. default не обязателен, по умолчанию будет 1000 рублей.
Спасибо огромное, теперь все почти заработало. Почему-то только не получается выводить все теги span в одном div. Отображается только значение первого указанного span тега.
Попробовал я сегодня все это реализовать. Но, к сожалению, ничего не получилось.
Не одно из значений в html вывести не получается.
Подскажите, пожалуйста, правильный вариант.
Так switch фактически такой же как в php.
switch (ymaps.geolocation.country) {
case 'Россия':
// делаем что нам нужно
break;
default:
// тут значение по умолчанию
}
На сервер можно отправить так
$.ajax({type: "POST",
url: "some.php",
data: "country=" + ymaps.geolocation.country,
success: function(msg){
alert( "Прибыли данные: " + msg );
}
});
Тут все подробно расписано.
Спасибо большое, завтра попробую разобраться. Надеюсь получится.
Имхо делать перерасчет в джаваскрипте неудобно, поэтому лучше воспользоваться sypexgeo.net там есть пхп файл с примером определения страны.
В пхп скрипте смотрите из какой страны пользователь, выводите ему цены в своих валютах со своим курсом.
Не думаю, что мне это будет проще. Во-первых он платный. А во-вторых в нем также придется, все это дописывать под себя. И опять же не факт, что я разберусь сам.
Возможно вы меня не правильно поняли. Или может я вас. Зачем там что-то пересчитывать? Ведь новые данные можно сказать произвольные. Мне же не нужно конвертировать валюты или что-то подобное. По сути в место 1000 рублей можно задать что угодно. Мне необходимо чтобы скрипт проверял значение user-country. И в случае нахождения в значении той или иной страны присваивал новой переменой то или иное значение. Что-то на подобии оператора switch в php.
---------- Добавлено 08.02.2017 в 22:27 ----------
Подскажите хотя бы кто-нибудь как передать значение .user-country в переменную php. А там уж я дальше сам разберусь.
А вы наоборот сделайте, фрейм в popupе.
Грузите модальное окно ваше, внутри вставляете:
Спасибо большое, все получилось.