Как сделать запрос JQuery GET / AJAX частному / настраиваемому протоколу URL?

Как на платформах Mac, так и на iOS можно выполнять двусторонний обмен с собственной средой выполнения через пользовательские схемы URI / NSURLProtocol . Например .., чтобы запросить NSImage из собственного метода Objective-C, вы можете зарегистрировать свой пользовательский обработчик (простую строку, здесь я использовал « mycustomprotocol ») с Webkit / вашим WebView NSView и вызывать его из JS, как …

 var theURL = 'mycustomprotocol:///' + (textField.value); img.innerHTML = '<img src="'+theURL+'" id="string"/>'; 

Я хотел бы использовать jQuery для выполнения запросов, так как на данный момент он более известен, чем JS-стиль в стиле 90. Однако, насколько я могу найти в Интернете, $.get и $.ajax только делают http(s) .

Будет что-то вроде

 javascript:document.location = 'mycustomprotocol://' 

переопределить обработку URL jquery? Я уверен, что это легко сделать. Я верю, что так реализована вся инфраструктура jQuery для мобильных устройств (через частные URI). Итак, почему нет ничего в Google или Так об этом, да? Могу ли я получить помощь от друзей моей сестры?

Основные методы ajax и get используют обычные HTTP-запросы браузера. По соображениям безопасности вызовы типа ajax никогда не будут работать с настраиваемым протоколом. Если вы попытаетесь создать веб-сайт, который не находится на сервере, и используйте .ajax, вы заметите, что он ничего не сделает. Вам придется начинать с нуля и создавать собственный обработчик запросов, а не просто изменять что-то в jQuery.

Вот что я сделал для callto: protocol, который работает в Firefox 24 и IE 10 (я не тестировал другие браузеры):

Сначала – ваш протокол уже должен быть зарегистрирован или ваш компьютер не узнает его. Во-вторых создайте скрытую ссылку в своей разметке с вашим протоколом как href. Когда я нажимаю на кнопку ( #calltobutton ), она устанавливает значение скрытой ссылки ( #clicker ), а затем кликает по ней, заставляя браузер выполнять действие.

Затем сделайте следующее:

 $('#calltobutton').click(function () { initCallTo(1234567890); }); function initCallTo(callto) { $('#clicker').attr('href', "callto:" + callto); $('#clicker')[0].click(); } 

Теперь метод нажатия на ссылку callto является, но странным. Вы можете узнать больше об этом в этой теме .

Это немного поздно, но вы можете использовать https://github.com/ded/reqwest для этого:

 reqwest('mycustomprotocol://myaction', function(result) { // ... }); 

Единственный способ, которым я мог заставить это работать, – это сделать переадресацию окна браузера с помощью DOM в JS. Вызов из JQuery или даже библиотеки reqwestJS, упомянутой на этой странице, не работал для меня с мобильным сафари и приложением, которое прослушивает пользовательские схемы URI.

  • iOS 10 Webkit Воспроизведение нескольких видеороликов Inline
  • Что делает <meta name = "viewport" content = "width = device-width"> в ландшафтном режиме на iOS?
  • Быстрый переход в UIWebView и WKWebView
  • Как остановить MPAVItem сбой моего приложения iOS с видео в моем UIWebView?
  • iOS5 -webkit-overflow-прокрутка вызывает остановку работы сенсорных событий
  • Как очистить историю в WKWebView?
  • WKWebView заставляет мой контроллер просмотра протекать
  • Не удалось выполнить команду com.apple.WebKit.WebContent
  • Как прокрутить палец прокрутки прокручиваемого div с помощью "webkit-overflow-scrolling: touch"
  • Сбой: WebThread - EXC_BAD_ACCESS KERN_INVALID_ADDRESS
  • HTML-разбивка на страницы
  • Interesting Posts

    Как удалить объекты в Realm?

    Как переключить музыку из моего приложения на ipod

    Как обмениваться изображениями в Pinterest с использованием последней версии iOS SDK

    UISearchController dimsBackgroundDuringPresentation только тогда, когда текст поиска пуст

    Можно ли программно получить идентификатор базового UIViewController из UIViewController или Storyboard в Swift / Objective-C?

    Нажмите обновление для приложения, которое ожидает релиза разработчика в itunes connect

    Обновление высоты ячейки после загрузки изображений

    Iphone Simulator – выделяет слишком много памяти и работает медленнее по сравнению с устройством

    Кэш-память AlamofireImage не работает

    Добавление маленькой стрелки в правую сторону ячейки в iPhone TableView Cell

    Xcode 8 и Swift 3 NSCalendar

    SPTween зависает при перетаскивании / масштабировании представления внутри UIScrollView

    Как точно знать, когда прокрутка UIScrollView прекратилась?

    Как снова включить кнопку «Использовать для развития» в Xcode?

    Изменение цвета салфетки для удаления фона в Swift

    Давайте будем гением компьютера.