Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » вопросы по javascript

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119

Открыть новую тему     Написать ответ в эту тему

Vasily_Koshkin



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
что и как вы делаете?

Пытаюсь "обмануть" чувствительный к юзер-агенту сервис.
https://jsbin.com/julelanahu/edit?html,js,output

Всего записей: 1416 | Зарегистр. 07-02-2004 | Отправлено: 19:04 23-01-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vasily_Koshkin
я спрашивал о вашем коде, а не о цели.
и с ajax вы не сможете сделать кроссдоменный запрос.

Всего записей: 15700 | Зарегистр. 20-09-2014 | Отправлено: 19:25 23-01-2019
Vasily_Koshkin



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
я спрашивал о вашем коде, а не о цели.

Код - по вышеуказанной ссылке. Цель озвучена на всякий случай, чтобы меня не подозревали в нехороших делах.

Цитата:
и с ajax вы не сможете сделать кроссдоменный запрос.

Тогда вопрос следующий - как можно сделать кроссдоменный запрос, имея в распоряжении только чистый js и браузер?

Всего записей: 1416 | Зарегистр. 07-02-2004 | Отправлено: 20:21 23-01-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vasily_Koshkin
никак, если другой домен специально не разрешает это
https://ru.wikipedia.org/wiki/Cross-origin_resource_sharing

Всего записей: 15700 | Зарегистр. 20-09-2014 | Отправлено: 20:29 23-01-2019
Vasily_Koshkin



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А как же тогда функционируют плагины к браузерам (типа ForceCORS или CORS Everywhere) и ради чего они написаны?

Всего записей: 1416 | Зарегистр. 07-02-2004 | Отправлено: 21:02 23-01-2019 | Исправлено: Vasily_Koshkin, 21:11 23-01-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vasily_Koshkin

Цитата:
ради чего они написаны

чтобы разработчикам можно было обходить эти ограничения на конкретной машине.

Цитата:
Allows forcing Cross-Origin Resource Sharing headers on any desired URL; helpful when accessing remote services from a local host.
 
ForceCORS is a Google Chrome extension which allows you to selectively apply CORS Headers to any web server responses you choose. This is extremely helpful when developing a web application that makes Ajax/XHR requests.
 
The extension requires you to specify the domains that you wish to monitor and allows you to explicitly define the headers to be added. This is preferable to completely disabling XHR security in your browser, which is a big security hole.

Всего записей: 15700 | Зарегистр. 20-09-2014 | Отправлено: 21:07 23-01-2019
Vasily_Koshkin



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Иными словами, переопределить юзер-агент "на лету", в зависимости от страницы, на которую переходишь, невозможно ни при каких условиях?

Код:
function rewriteUserAgentHeader(e) {
  for (var header of e.requestHeaders) {
    if (header.name.toLowerCase() === "user-agent") {
      header.value = "My own User-Agent";
    }
  }
  return {requestHeaders: e.requestHeaders};
}
 
browser.webRequest.onBeforeSendHeaders.addListener(
    rewriteUserAgentHeader,
    {urls: ["https://httpbin.org/*"]},
    ["blocking", "requestHeaders"]);

Всего записей: 1416 | Зарегистр. 07-02-2004 | Отправлено: 21:26 23-01-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vasily_Koshkin
то, что я вам ранее писал, к этому не относится. более того, этот сайт разрешает кроссдоменные запросы - в ответе сервера есть

Цитата:
Access-Control-Allow-Origin: *

 
насчет же смены UA - я писал, что скорее всего это только для FF выше определенной версии.
и http://jsfiddle.net/p8rjkLme/ показывает, что это так
 

Всего записей: 15700 | Зарегистр. 20-09-2014 | Отправлено: 21:42 23-01-2019
Vasily_Koshkin



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
насчет же смены UA - я писал, что скорее всего это только для FF выше определенной версии.
и http://jsfiddle.net/p8rjkLme/ показывает, что это так  

М-да... С кодом все в порядке и с сайтом тоже. Видимо, я просто ищу не то, не там, не так и не вовремя.   В FF 52.9 работает:
Подробнее...
но я хотел реализовать что-то вроде SimpleModifyHeaders, но не в виде браузерного плагина, а в виде страницы со списком доменов, строк замены юзер-агента и ссылками для перехода.

Всего записей: 1416 | Зарегистр. 07-02-2004 | Отправлено: 15:50 24-01-2019 | Исправлено: Vasily_Koshkin, 18:55 24-01-2019
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vasily_Koshkin
Не мучайся, сейчас все браузеры сильно отличаются, в хроме поддерживается API - chrome.webRequest.onBeforeSendHeaders в расширениях, но для этого требуется разрешение в самом расширении. От изменения UA меняются доступные функции на сайтах и отображение контента, надо быть с этим очень осторожным.

----------
Гомосексуальность среди модераторов не является психическим расстройством, несмотря на синонимы этого понятия в русском языке.

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 16:28 24-01-2019
Vasily_Koshkin



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VVL99

Цитата:
сейчас все браузеры сильно отличаются,

Вот поэтому все и делается. Мне нужно, чтобы любой более менее современный, но далеко не первой свежести браузер (скажем, FF 52.9) или даже какое-то десктопное приложение на Electron или NW.js "прикидывалось" в зависимости от домена самым свежим мобильным Хромом, допустим.  

Цитата:
От изменения UA меняются доступные функции на сайтах и отображение контента, надо быть с этим очень осторожным.

Где-то я такое уже слышал. Неужели приведенное выше расширение нельзя реализовать в виде обычной страницы?

Всего записей: 1416 | Зарегистр. 07-02-2004 | Отправлено: 18:04 24-01-2019 | Исправлено: Vasily_Koshkin, 18:10 24-01-2019
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vasily_Koshkin

Цитата:
Вот поэтому все и делается.  Мне нужно, чтобы любой более менее современный, но далеко не первой свежести браузер (скажем, FF 52.9) или даже какое-то десктопное приложение на Electron или NW.js "прикидывалось" в зависимости от домена самым свежим мобильным Хромом, допустим.

Если браузер не умеет (нет такой функции) это делать, как же ты его научишь.  

Цитата:
Где-то я такое [?] уже слышал. Неужели приведенное выше расширение нельзя реализовать в виде обычной страницы?

Я надеюсь ты понимаешь, что такое UA и откуда он берётся и зачем нужен.
 
Вот если есть ресурсы перенаправления и подмены данных, то возможно, но это внешние устройства, браузер работает так, как его запрограммировали.
 
Добавлено:
Я имею ввиду ссылки с редиектом как - https://clck.ru/Ad6Ai

----------
Гомосексуальность среди модераторов не является психическим расстройством, несмотря на синонимы этого понятия в русском языке.

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 19:18 24-01-2019 | Исправлено: VVL99, 19:52 24-01-2019
Vasily_Koshkin



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VVL99

Цитата:
Если браузер не умеет (нет такой функции) это делать, как же ты его научишь.  

В данном случае речь идет о браузерах, которые умеют подменять параметры заголовка. Согласно приведенной Вами же документации, в Хроме такая функция поддерживается аж с 27-й версии. Уважаемый Mavrikii наглядно показал на примере, что функция доступна и в Firefox, с 43-й версии, если не ошибаюсь. Единственный вопрос в том, почему ни в одном примере кода User-Agent "не держится" в момент обращения к http://httpbin.org/user-agent и нужный эффект достигается только с помощью плагина SimpleModifyHeaders? Что я делаю не так?

Цитата:
Я надеюсь ты понимаешь, что такое UA и откуда он берётся и зачем нужен.  

Ну... Я думаю, из настроек браузера он берется. В заголовке передается на сервер при запросе. Используется, например, для определения функций, поддерживаемых браузером. Это важно для корректного отображения страниц и работоспособности скриптов.

Всего записей: 1416 | Зарегистр. 07-02-2004 | Отправлено: 21:12 24-01-2019
VVL99

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vasily_Koshkin
Цитата:
Что я делаю не так?

Скорее всего, вы не понимаете как и где применять эти API. Касаемо хрома, этот API для расширений, о чём я написал, в первом абзаце документации тоже всё расписано.

----------
Гомосексуальность среди модераторов не является психическим расстройством, несмотря на синонимы этого понятия в русском языке.

Всего записей: 4158 | Зарегистр. 03-02-2011 | Отправлено: 00:07 25-01-2019 | Исправлено: VVL99, 00:13 25-01-2019
Vasily_Koshkin



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VVL99

Цитата:
Скорее всего, вы не понимаете как и где применять эти API. Касаемо хрома, этот API для расширений, о чём я написал, в первом абзаце документации тоже всё расписано.
 

Ну, в общем, да. Расширений я никогда не делал. Интуитивно я, конечно, догадываюсь, что расширение, кроме прочего, имеет доступ к настройкам браузера, а для обычной страницы это невозможно по соображениям безопасности.  

Всего записей: 1416 | Зарегистр. 07-02-2004 | Отправлено: 13:14 25-01-2019
WONDROUS



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Просьба подсказать по этому плагину. Как, используя этот плагин, назначить разные id, если в примере показано так:

Код:
$("#custom").text3d({
    depth: 6,
    angle: 135,
    color: "#aaa",
    lighten: -0.1,
    shadowDepth: 30,
    shadowAngle: 45,
    shadowOpacity: 0.2
});

 
а в самом плагине так:

Код:
// jQuery plugin definition
    $.fn.text3d = function(opts) {
    
        // default configuration
        var config = $.extend({}, {
            depth: 5,
            angle: 100,
            color: "#ddd",
            lighten: -0.15,
            shadowDepth: 10,
            shadowAngle: 80,
            shadowOpacity: 0.3
        }, opts);

Всего записей: 3440 | Зарегистр. 30-06-2002 | Отправлено: 13:39 25-01-2019 | Исправлено: WONDROUS, 13:42 25-01-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
WONDROUS
я же давал вам ссылку на основы jquery, как писать селекторы.
$('#id1, #id2, #id3')

Всего записей: 15700 | Зарегистр. 20-09-2014 | Отправлено: 13:47 25-01-2019
WONDROUS



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Я пробовал так делать, но текст то вообще не виден на странице, то получаются одинаковые настройки для разного текста.
К тому же не понятно, к какому именно $ это писать, к // jQuery plugin definition или для  // default configuration.
 
Если бы всё получалось, не стал бы совета здесь просить.
Тем более, не понятно, как здесь селектор прописывать:

Код:
// shadow
            for (f = 1, i = 1; f <= config.shadowDepth; i++) {
                f = f+i;
                x = Math.round(Math.cos(config.shadowAngle) * f);
                y = Math.round(Math.sin(config.shadowAngle) * f);
                c = config.shadowOpacity - ((config.shadowOpacity - 0.1) * i/config.shadowDepth);
                s += x+"px "+y+"px "+f+"px %id=ddd_shadowcolor_s%,";

Всего записей: 3440 | Зарегистр. 30-06-2002 | Отправлено: 14:26 25-01-2019 | Исправлено: WONDROUS, 14:59 25-01-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
WONDROUS
снова невнятно все спрашиваете.
вам выборку нужно менять или выставлять другие свойства для определенных элементов?
цвет уже есть, задается в color. выбираете по оцереди нужный элемент, задаете ему нужный цвет.

Всего записей: 15700 | Зарегистр. 20-09-2014 | Отправлено: 17:22 25-01-2019
WONDROUS



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Да вроде нормально спрашиваю, вопрос первый был чуть ранее. С селекторами не понятно, куда и как записывать, так как толком не знаю, хоть читал и пробовал.
Здесь, например, где и как указывать?

Код:
// jQuery plugin definition
    $.fn.text3d = function(opts) {
     
        // default configuration
        var config = $.extend({}, {
            depth: 5,
            angle: 100,
            color: "#ddd",
            lighten: -0.15,
            shadowDepth: 10,
            shadowAngle: 80,
            shadowOpacity: 0.3
        }, opts);  

 
И здесь есть изменения, которым нужно указать селектор.

Код:
// shadow
            for (f = 1, i = 1; f <= config.shadowDepth; i++) {
                f = f+i;
                x = Math.round(Math.cos(config.shadowAngle) * f);
                y = Math.round(Math.sin(config.shadowAngle) * f);
                c = config.shadowOpacity - ((config.shadowOpacity - 0.1) * i/config.shadowDepth);
                s += x+"px "+y+"px "+f+"px %id=ddd_shadowcolor_s%,";  

Всего записей: 3440 | Зарегистр. 30-06-2002 | Отправлено: 18:39 25-01-2019
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119

Компьютерный форум Ru.Board » Интернет » Web-программирование » вопросы по javascript


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru