Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.06.2012, 19:15
Интересующийся
Отправить личное сообщение для see613 Посмотреть профиль Найти все сообщения от see613
 
Регистрация: 20.04.2011
Сообщений: 24

Расширение метода ядра
Здесь http://james.padolsey.com/javascript...s-with-jquery/ есть статья о неплохой штуке - простой реализации кросс-доменнных аяксов. Здесь https://github.com/padolsey/jQuery-P...xdomainajax.js автор этой статьи расширил метод .ajax, чтобы если в адресе есть http(s), то выполнялся бы кроссдоменный запрос.
Нужно засунуть данный код не в .ajax, а в отдельный метод .ajaxAdvanced. У меня выдает ошибку что параметр _ajax не определен. И вообще както я не до конца понимаю что здесь происходит, похоже единственный аргумент _ajax - это функция(или метод), в конце выполняется код
return _ajax.apply(this, arguments);
но что это за функция?

Последний раз редактировалось see613, 19.06.2012 в 19:18.
Ответить с цитированием
  #2 (permalink)  
Старый 19.06.2012, 19:29
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

see613,
Там нужно поставить плагин, https://github.com/padolsey/jQuery-P...xdomainajax.js
Который похоже хакает через прокси yahooapis.com
Ответить с цитированием
  #3 (permalink)  
Старый 19.06.2012, 19:49
Интересующийся
Отправить личное сообщение для see613 Посмотреть профиль Найти все сообщения от see613
 
Регистрация: 20.04.2011
Сообщений: 24

так это ж вроде не плагин, а как раз расширение метода .ajax. Мне просто нужно вместо этого сделать новый метод ajaxAdvanced.
Ответить с цитированием
  #4 (permalink)  
Старый 19.06.2012, 20:06
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

see613,
Там два плагина нужны (Или расширения
https://github.com/padolsey/jQuery-P...main-ajax/test

+ За Темку!

Сообщение от see613
Мне просто нужно вместо этого сделать новый метод
ajaxAdvanced.
Собственно Вам тогда слегка править xdomainajax.js

*Имхо на русско-сайтах притормаживает от 3 до 20 сек загрузка
Ответить с цитированием
  #5 (permalink)  
Старый 19.06.2012, 20:44
Интересующийся
Отправить личное сообщение для see613 Посмотреть профиль Найти все сообщения от see613
 
Регистрация: 20.04.2011
Сообщений: 24

возможно я просто не совсем удачно объяснил в чем суть.
Цитата:
Собственно Вам тогда слегка править xdomainajax.js
В том то и штука, что у меня не получается корректно править xdomainajax.js, он выдает ошибку что параметр _ajax не определен. Я как бы не новичок в jQuery, но это мне не далось. Был бы крайне признателен, если б показали правильный код.
Вообще я предполагал, что все изменения сводятся к изменению названия метода в начале
jQuery.ajax = (function(_ajax){

и в конце
})(jQuery.ajax);

но увы
Ответить с цитированием
  #6 (permalink)  
Старый 19.06.2012, 21:52
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от see613 Посмотреть сообщение
.
Вообще я предполагал, что все изменения сводятся к изменению названия метода в начале
jQuery.ajax = (function(_ajax){

и в конце
})(jQuery.ajax);

но увы
А в конце зачем-только в начале
Мы же переопределяем метод
jQuery.ajaxAdvanced= (function(_ajax)
...)(jQuery.ajax)

Последний раз редактировалось vadim5june, 19.06.2012 в 22:00.
Ответить с цитированием
  #7 (permalink)  
Старый 19.06.2012, 22:21
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от vadim5june
А в конце зачем-только в начале
Если вы метод переопределили то и вызов тож переопределите
Вызов как начальный setter идёт
Ответить с цитированием
  #8 (permalink)  
Старый 19.06.2012, 22:24
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Сообщение от Deff Посмотреть сообщение
Если вы метод переопределили то и вызов тож переопределите
Вызов как начальный setter идёт
нет это же расширение стандартного
метода-если переопределите в конце то у Вас вообще неработающий код получится

Последний раз редактировалось vadim5june, 19.06.2012 в 22:26.
Ответить с цитированием
  #9 (permalink)  
Старый 20.06.2012, 07:29
Интересующийся
Отправить личное сообщение для see613 Посмотреть профиль Найти все сообщения от see613
 
Регистрация: 20.04.2011
Сообщений: 24

vadim5june, мне как раз нужно не меняя стандартный .ajax, сделать новый метод .ajaxAdvanced. И подскажите в чем смысл последней строки?
})(jQuery.ajax);
Ответить с цитированием
  #10 (permalink)  
Старый 20.06.2012, 08:45
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

see613,
А стандартный разве меняецо ?
Там анализ - если localhost - то все по старому - если адрес не с текущего домена - тады функция идет по пути вызова API c yahooapis.com
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Узнать расширение файл maximus Общие вопросы Javascript 3 17.05.2014 16:47
Как определить расширение файла по содержимому? exvion Firefox/Mozilla 1 15.04.2012 22:16
Проверка существования метода alex1covo Общие вопросы Javascript 6 27.03.2012 16:46
Добавление кнопки через расширение Diablos Общие вопросы Javascript 7 16.12.2011 18:54
Как узнать Расширение монитора? sukubba Общие вопросы Javascript 2 11.12.2010 06:19