Я создал приложение hta с iframe для запросов crossdomain, потому что я не могу запустить свой собственный сервер, чтобы проксимизировать их.Загрузите jQuery в iframe и используйте ajax из него
На главной странице я вставил JQuery скрипт и IFRAME «жертвы» сайта, например: google.com
<iframe name="iframe" src="http://google.com" application="yes"></iframe>
Теперь я должен сделать запрос AJAX POST через этот IFRAME, вот код:
var frame = document.frames.iframe;
frame.$ = $
frame.$.ajax({
type : 'post'
url : 'http://google.com'
data : 'blablabla'
});
Но iframe дает мне ошибку «Нет транспорта». Но когда я делаю элемент сценария на странице жертвы, все в порядке, например:
var frame = document.frames.iframe.document;
var el = frame.createEelement('SCRIPT');
el.src = "file://urlToJs.js";
frame.appendChild(el);
И в этом примере все работает отлично, но я не интернет на работе (мы работаем с местными сайтами) .. И создать другой файл js для загрузки, который я тоже не хочу.
Помогите мне, пожалуйста!
Что я пробовал:.
- взять элемент сценария текст (document.scripts [0] .innerHTML) и создать скрипт с текстом в IFRAME [Error]
- document.frames.iframes $ = parent. $ [Также не работает, No Transport error]
Кажется, что jQuery ajax всегда использует главную страницу для создания запроса, как я могу это исправить?
Если iframe имеет разный домен, вы ничего не можете ему поделать. –
В hta с атрибутом: application = "yes" можно получить доступ также к crossdomain. Найден ответ, ответ: $ .support.cors = true и в ajax crossDomain: true. – giarmul