Я знаю, что функция jQuery .load() имеет "проблему": вы не можете получать страницы которые находятся за пределами текущего домена из-за политики единого происхождения, но я помню, когда мне разработка другой программы, в которой я мог бы без проблем выполнять междоменный AJAX в скомпилированной среде PhoneGap, но будет ли она работать в PhoneGap (как обычный AJAX) или она просто не работает из-за политики?
Будет ли jQuery .load() работать с PhoneGap?
Ответы (2)
Вы можете использовать .load()
или $.ajax()
в приложениях PhoneGap. Большая часть моего опыта связана с получением информации из того же домена, в котором находится приложение. упакован. Например:
Приложение. идентификатор пакета:
com.мой-домен.мое-приложение
Домен сайта для ajax звонков:
www.мой-домен.com
Я только что провел простой тест в эмуляторе iPhone (через Xcode) и смог получить содержимое личного веб-домена, а также http://www.google.com/. Тест был следующим:
$(document).ready(function () {
$.get('http://www.google.com/', function (data) {
alert(data);
});
});
Я пытался сделать это, тестируя на симуляторе ipad, и у меня это не сработало, я продолжал получать междоменные ошибки ajax (т.е. ошибки разрешений).
В конце концов я обнаружил, что мне нужно перейти к [projectName] -> Файлы поддержки -> phonegap.plist В разделе «Внешние хосты» добавить новую строку со значением * Или добавить свой точный домен
(Из этой ссылки благодаря Дрору ' Ицхаков).