У меня есть сценарий добавления в iFrame, который находится в другом домене. Я пытаюсь отправить файл загрузки data
на страницу, на которой встроен iFrame.Как отправить данные через домен через postMessage?
У меня есть следующий код в плавающем фрейме (Uploadify скрипт):
$('#file_upload').uploadify({
//JS CODE
'onUploadSuccess' : function(file, data, response) {
data //data is what must be passed from the iFrame to the script on another site
}
});
data
является то, что должно быть передано следующему сценарию на другом домене:
var myframe, nestedFrame;
myFrame = $('#editorf').contents().find('body');
nestedFrame = myFrame.find('#re_contentIframe').contents().find('body');
nestedFrame.append('data'); //data should be replaced with the information from the iFrame
Я попытаться следующее код:
Код iFrame - Страница B
$('#file_upload').uploadify({
//JS CODE for UPLOADIFY
'onUploadSuccess' : function(file, data, response) {
window.postMessage('http://iframe-domain.net/uploads/' + data,'http://iframe-domain.net');
}
});
Прием кодовой страницы - Страница A
$(function() {
window.addEventListener('message', receiver, false);
function receiver(e){
if (e.origin == 'http://iframe-domain.net'){
var myframe, nestedFrame;
myFrame = $('#editorf').contents().find('body');
nestedFrame = myFrame.find('#re_contentIframe').contents().find('body');
nestedFrame.append(e.data);
}
}
});
Это не работает. Я это сообщение об ошибке:
Error: Permission denied to access property 'toString'
...a);if(Z){var Y=0;(function(){if(typeof Z.GetVariable!=D){var ab=Z.GetVariable("$...
jquery.uploadify.js (line 17)
Uploadify Скрипт работает, как файл будет загружен, но он не появляется, чтобы передать данные на страницу. Я не уверен, что эта ошибка является причиной того, что страница не работает.
Как это сделать?
EDIT
Чтобы лучше объяснить, вот пример:
Человек идет на страницу А (главная страница). На странице A iFrame встроен на эту страницу. Внутри iFrame есть скрипт uploadify, позволяющий пользователям загружать файл.
Пользователь загружает файл, который сценарий uploadify возвращает имя файла. Пример: 528050f030522.jpg
. После того, как скрипт uploadify получит эту информацию, он должен отправить его на скрипт страницы, который затем запускает и вставляет имя файла на страницу.
Можете ли вы показать пример данных, которые вы проходите через postmessage? –
простой: просто используйте top.postMessage вместо window.postMessage – dandavis
@ KristofDegrave - прочитайте мое редактирование. Я привел пример. – L84